Contents

Preface
1 Introduction
 1.1 What is Scout?
  1.1.1 End User Perspective
  1.1.2 Management Perspective
  1.1.3 Developer Perspective
 1.2 Why Scout?
 1.3 What should I read?
  1.3.1 I know Java
  1.3.2 I know tons of both Java and Eclipse
  1.3.3 I am a manager
2 ”Hello World” Tutorial
 2.1 Installation and Setup
 2.2 Create a new Project
 2.3 Run the Initial Application
 2.4 The User Interface Part
 2.5 The Server Part
 2.6 Add the Rayo Look and Feel
 2.7 Exporting the Application
 2.8 Deploying to Tomcat
3 ”Hello World” Background
 3.1 Create a new Project
 3.2 Walking through the Initial Application
  3.2.1 Desktop
  3.2.2 Form
  3.2.3 Form Handler
  3.2.4 Form Services and Form Data Objects
 3.3 Run the Initial Application
  3.3.1 The Launcher Boxes
  3.3.2 Eclipse Product Files
  3.3.3 Eclipse Configuration Files
  3.3.4 Scout Desktop Client Applications
  3.3.5 Scout Web, Tablet and Mobile Clients
 3.4 The User Interface Part
 3.5 The Server Part
  3.5.1 Scout Services
  3.5.2 Scout Proxy Services
 3.6 Add the Rayo Look and Feel
 3.7 Exporting the Application
 3.8 Deploying to Tomcat
4 Shared Components
 4.1 Texts / i18n / NLS Support
 4.2 Icons
 4.3 Code Types and Codes
  4.3.1 A Simple Example
  4.3.2 Hierarchical Code Types
  4.3.3 Loading Codes Dynamically
 4.4 Lookup Calls and Services
 4.5 Permissions
 4.6 Form Data Objects
  4.6.1 Data Binding
  4.6.2 Automatic Updates by the Scout SDK
  4.6.3 Manual Form Data Updates
5 Client components
 5.1 Client Model
 5.2 Splash Screen
 5.3 Login Box
 5.4 Client Session
 5.5 Desktop
  5.5.1 Info Dialog
  5.5.2 Toolbar
  5.5.3 Status Line
 5.6 Menus
 5.7 Outlines
 5.8 Tools
 5.9 Forms
 5.10 Form Fields
  5.10.1 Common Aspects
 5.11 Trees
 5.12 Pages
 5.13 Search Forms
 5.14 Tables
  5.14.1 Image Columns
  5.14.2 HTML inside Table Cells
  5.14.3 Table Status Bar
  5.14.4 Injecting Columns at Runtime
 5.15 Workflows and Wizards
6 The Widgets Demo Application
 6.1 The User Interface
 6.2 Client Only Architecture
7 Simple Widgets
 7.1 Label Fields
 7.2 String Fields
 7.3 Number Fields
 7.4 Decimal Fields
 7.5 Date and Time Fields
 7.6 Checkbox Fields
 7.7 Radio Button Fields
 7.8 Buttons and Links
 7.9 Message Boxes
8 Advanced Widgets
 8.1 List Box
 8.2 Tree Box
 8.3 Smart Field
  8.3.1 Menus
 8.4 Tree Field
 8.5 Table Field
 8.6 Image Field
 8.7 SVG Field
 8.8 HTML Field
 8.9 Browser Field
 8.10 Calendar Field
9 Layout Widgets
 9.1 Group Box
 9.2 Tab Box
 9.3 Sequence Box
 9.4 Split Box
 9.5 Page Field
 9.6 File Chooser Field
 9.7 Master Slave Fields
10 Custom Fields
11 Template Fields
12 Layouting
 12.1 The Desktop
 12.2 Form Layout
13 Bookmarks
14 Client Notification
15 File Upload and Download
16 Application Branding
 16.1 Rayo Look and Feel
 16.2 Branding the Swing Client
 16.3 Branding the SWT Client
 16.4 Branding the Webclient
17 Advanced Topics
 17.1 Modifying the UI at Runtime
 17.2 Focus Handling
 17.3 Keyboard Control
 17.4 Master Detail Pages
 17.5 Client Only Applications
 17.6 Headless Client
 17.7 Client Startup
  17.7.1 Config.ini File
 17.8 Client Shutdown
 17.9 Threading and Jobs
 17.10 Caching
I  Appendices
A Licence and Copyright
 A.1 Licence Summary
 A.2 Contributing Individuals
 A.3 Full Licence Text
B Scout Installation
 B.1 Overview
 B.2 Download and Install a JDK
 B.3 Download and Install Scout
 B.4 Add Scout to your Eclipse Installation
 B.5 Verifying the Installation
C Apache Tomcat Installation
 C.1 Platform Specific Instructions
 C.2 Directories and Files
 C.3 The Tomcat Manager Application
D Scout Utilities
 D.1 StringUtility
 D.2 DateUtility
 D.3 FileUtility
E Java Basics
 E.1 Java SE Basics
  E.1.1 Learning Java
  E.1.2 Advanced Java SE Concepts
  E.1.3 JAR Files
 E.2 Java EE Basics
  E.2.1 Servlets
  E.2.2 Servlet Filters
  E.2.3 WAR Files
F Eclipse Basics
 F.1 Eclipse as an IDE
  F.1.1 Project Workspace
  F.1.2 Perspectives
 F.2 OSGi and Equinox
 F.3 Eclipse
 F.4 Eclipse Plugins
Bibliography
Index