Part I. Developer's Guide

Table of Contents

1. Introduction
1.1. Overview
1.1.1. Goals and Philosophy
1.1.2. Background
1.1.3. Changes in IT Mill Toolkit Release 5
1.2. Example Application Walkthrough
1.2.1. Hello World!
1.2.2. Calculator
1.3. What's Inside the IT Mill Toolkit Package?
1.3.1. Installing
1.3.2. Package Contents
1.3.3. Starting the Content Browser
1.3.4. Running the Demo Applications
1.4. Getting Development Environment Up and Running
1.4.1. Installing Java SDK
1.4.2. Installing Eclipse IDE
1.4.3. Installing Apache Tomcat
1.4.4. Firefox and Firebug
1.5. QuickStart with Eclipse
1.5.1. Importing IT Mill Toolkit as a Project
1.5.2. How to Run the Demo Applications in Eclipse?
1.5.3. How to Debug the Demo Applications in Eclipse?
1.5.4. Using QuickStart as a Project Skeleton
1.6. Your First Project with IT Mill Toolkit
1.6.1. Creating the Project
1.6.2. Including IT Mill Toolkit Libraries
1.6.3. Writing the Code
1.6.4. Defining Deployment Descriptor
1.6.5. Ready to Go!
1.6.6. Starting the Web Server
1.6.7. Running and Debugging
2. Architecture
2.1. Overview
2.2. Technological Background
2.2.1. AJAX
2.2.2. Google Web Toolkit
2.2.3. JSON
2.3. Client-Side Engine
2.4. Events and Listeners
3. Writing a Web Application
3.1. Overview
3.2. Managing the Main Window
3.3. Child Windows
3.3.1. Opening and Closing a Child Window
3.3.2. Window Positioning
3.3.3. Modal Windows
3.4. Application-Level Windows
3.4.1. Creating New Application-Level Windows
3.4.2. Creating Windows Dynamically
3.4.3. Caveats in Using Multiple Windows
3.5. Referencing Resources
3.5.1. Resource Interfaces and Classes
3.5.2. File Resources
3.5.3. Class Loader Resources
3.5.4. Theme Resources
3.5.5. Stream Resources
3.6. Error Handling
3.6.1. Error Indicator
3.7. Application Environment
3.7.1. Creating Deployable WAR in Eclipse
3.7.2. Web Application Contents
3.7.3. Deployment Descriptor web.xml
3.8. Embedding Applications in Web Pages
3.8.1. Embedding Inside a <div> Element
3.8.2. Embedding Inside an <iframe> Element
4. User Interface Components
4.1. Overview
4.2. Label
4.3. Link
4.4. TextField
4.5. Date and Time Input
4.5.1. Calendar
4.5.2. DateField Locale
4.6. Button
4.7. Check Box
4.8. Selecting Items
4.8.1. Basic Select Component
4.8.2. Native Selection Component NativeSelect
4.8.3. Radio Button and Check Box Groups with OptionGroup
4.8.4. Twin Column Selection with TwinColSelect
4.8.5. Allowing Adding New Items
4.8.6. Multiple Selection Mode
4.9. Table
4.9.1. Scrollable Tables
4.9.2. Paging Tables
4.9.3. List Tables
4.10. Tree
4.11. Embedded
4.12. Upload
4.13. Progress Indicator
4.13.1. Doing Heavy Computation
4.14. Custom Composite Components
4.14.1. CustomComponent
4.15. Common Component Features
4.15.1. Sizing Components Through Sizeable
5. Managing Layout
5.1. Background for Layout
5.2. Layout Components
5.2.1. Ordered Layout
5.2.2. Grid layout
5.2.3. Panel
5.2.4. Tab Sheet
5.2.5. Expanding Layout
5.3. Controlling Layout Formatting
5.3.1. Layout Cell Alignment
5.3.2. Layout Cell Spacing
5.3.3. Layout Margins
5.4. Custom Layouts
6. Themes
6.1. Overview
6.2. Introduction to Cascading Style Sheets
6.2.1. Basic CSS Rules
6.2.2. Matching by Element Class
6.2.3. Matching by Descendant Relationship
6.2.4. Notes on Compatibility
6.3. Creating and Using Themes
6.3.1. Styling Standard Components
6.3.2. Using Themes
6.3.3. Theme Inheritance
7. Data Model
7.1. Overview
7.2. Properties
7.3. Holding properties in Items
7.4. Collecting items in Containers
8. Developing Custom Components
8.1. Overview
8.2. Google Web Toolkit Widgets
8.2.1. Extending an IT Mill Toolkit Widget
8.2.2. Example: A Color Picker GWT Widget
8.2.3. Styling GWT Widgets
8.3. Integrating a GWT Widget
8.3.1. Deserialization of Component State from Server
8.3.2. Serialization of Component State to Server
8.3.3. Example: Integrating the Color Picker Widget
8.4. Defining a Widget Set
8.4.1. GWT Module Descriptor
8.5. Server-Side Components
8.5.1. Server-Client Serialization
8.5.2. Client-Server Deserialization
8.5.3. Extending Standard Components
8.5.4. Example: Color Picker Server-Side Component
8.6. Using a Custom Component
8.6.1. Example: Color Picker Application
8.6.2. Web Application Deployment
8.7. GWT Widget Development
8.7.1. Creating a Widget Project in Eclipse
8.7.2. Importing GWT Installation Package
8.7.3. Creating a GWT Module
8.7.4. Compiling GWT Widget Sets
8.7.5. Ready to Run
8.7.6. Hosted Mode Browser
9. Advanced Web Application Topics
9.1. Special Characteristics of AJAX Applications
9.2. Resources
9.2.1. URI Handlers
9.2.2. Parameter Handlers
9.3. Java Servlet Parameters
9.4. Shortcut Keys
10. User Interface Definition Language (UIDL)
10.1. API for Painting Components
10.2. JSON Rendering
10.3. UIDL Syntax
Bibliography