| |  | Copyright |
| |  | The Eclipse Series |
| |
|  | Titles in the Eclipse Series |
| |  | Foreword |
| |  | Preface |
| |
|  | Contributing to SWT |
| |
|  | Conventions |
| |
|  | Acknowledgments |
| |  | Introduction |
| |
|  | SWT Overview |
| |
|  | Using SWT |
| |  | Part I.
Widgets |
| |
|  |
Chapter 1.
Widget Fundamentals |
| |
|  |
Section 1.1.
What Is a Widget? |
| |
|  |
Section 1.2.
Widget Hierarchy |
| |
|  |
Section 1.3.
Events and Listeners |
| |
|  |
Section 1.4.
Application Data |
| |
|  |
Section 1.5.
Querying the Display |
| |
|  |
Section 1.6.
Summary |
| |
|  |
Chapter 2.
The Keyboard |
| |
|  |
Section 2.1.
When a Key Is Typed, Where Does It Go? |
| |
|  |
Section 2.2.
Keyboard Events and the Focus Control |
| |
|  |
Section 2.3.
Traversal |
| |
|  |
Section 2.4.
Accelerators |
| |
|  |
Section 2.5.
Window System Keys |
| |
|  |
Section 2.6.
Summary |
| |
|  |
Chapter 3.
The Mouse |
| |
|  |
Section 3.1.
Mouse Events |
| |
|  |
Section 3.2.
Selection |
| |
|  |
Section 3.3.
Summary |
| |
|  |
Chapter 4.
Control Fundamentals |
| |
|  |
Section 4.1.
Bounds |
| |
|  |
Section 4.2.
Client Area |
| |
|  |
Section 4.3.
Moving and Resizing |
| |
|  |
Section 4.4.
Visibility |
| |
|  |
Section 4.5.
Z-Order |
| |
|  |
Section 4.6.
Enabling and Disabling |
| |
|  |
Section 4.7.
Preferred Size |
| |
|  |
Section 4.8.
Painting |
| |
|  |
Section 4.9.
Repainting and Resizing |
| |
|  |
Section 4.10.
Filling the Background |
| |
|  |
Section 4.11.
Summary |
| |
|  |
Chapter 5.
Display |
| |
|  |
Section 5.1.
Naming Your Application |
| |
|  |
Section 5.2.
Display Life Cycle |
| |
|  |
Section 5.3.
Events and Listeners |
| |
|  |
Section 5.4.
Event Filters |
| |
|  |
Section 5.5.
Runnable "Execs" |
| |
|  |
Section 5.6.
The Event Loop |
| |
|  |
Section 5.7.
Multithreaded Programming |
| |
|  |
Section 5.8.
Timers |
| |
|  |
Section 5.9.
Putting It All Together: Multithreading, Timers, Events, and the Event Loop |
| |
|  |
Section 5.10.
Monitors, Bounds, and Client Area |
| |
|  |
Section 5.11.
The Active Shell, All Shells, and Focus Control |
| |
|  |
Section 5.12.
Cursor Control and Location |
| |
|  |
Section 5.13.
Display Depth and DPI |
| |
|  |
Section 5.14.
Updating the Display |
| |
|  |
Section 5.15.
Application Data |
| |
|  |
Section 5.16.
Coordinate Mapping and Mirroring |
| |
|  |
Section 5.17.
Miscellaneous |
| |
|  |
Section 5.18.
Summary |
| |
|  |
Chapter 6.
Native Widgets |
| |
|  |
Section 6.1.
Native Widgets Summary |
| |
|  |
Chapter 7.
Basic Controls |
| |
|  |
Section 7.1.
Class Label |
| |
|  |
Section 7.2.
Class Button |
| |
|  |
Section 7.3.
Class Text |
| |
|  |
Section 7.4.
Class List |
| |
|  |
Section 7.5.
Class Combo |
| |
|  |
Section 7.6.
Summary |
| |
|  |
Chapter 8.
Tool Bars and Menus |
| |
|  |
Section 8.1.
Classes ToolBar and ToolItem |
| |
|  |
Section 8.2.
Classes Menu and MenuItem |
| |
|  |
Section 8.3.
Summary |
| |
|  |
Chapter 9.
Advanced Controls |
| |
|  |
Section 9.1.
Classes Tree and TreeItem |
| |
|  |
Section 9.2.
Classes Table, TableItem, and TableColumn |
| |
|  |
Section 9.3.
Classes TabFolder and TabItem |
| |
|  |
Section 9.4.
Summary |
| |
|  |
Chapter 10.
Range-Based Controls |
| |
|  |
Section 10.1.
Class ProgressBar |
| |
|  |
Section 10.2.
Class Scale |
| |
|  |
Section 10.3.
Classes ScrollBar and Slider |
| |
|  |
Section 10.4.
Summary |
| |
|  |
Chapter 11.
Controls, Composites, Groups, and Shells |
| |
|  |
Section 11.1.
Class Control |
| |
|  |
Section 11.2.
Class Composite |
| |
|  |
Section 11.3.
Class Group |
| |
|  |
Section 11.4.
Class Shell |
| |
|  |
Section 11.5.
Summary |
| |
|  |
Chapter 12.
Canvas and Caret |
| |
|  |
Section 12.1.
Class Canvas |
| |
|  |
Section 12.2.
Class Caret |
| |
|  |
Section 12.3.
Summary |
| |
|  |
Chapter 13.
Draggable Controls |
| |
|  |
Section 13.1.
Classes CoolBar and CoolItem |
| |
|  |
Section 13.2.
Class Sash |
| |
|  |
Section 13.3.
Class Tracker |
| |
|  |
Section 13.4.
Summary |
| |
|  |
Chapter 14.
Dialogs |
| |
|  |
Section 14.1.
Creation |
| |
|  |
Section 14.2.
Opening a Dialog |
| |
|  |
Section 14.3.
Setting the Title |
| |
|  |
Section 14.4.
MessageBox |
| |
|  |
Section 14.5.
FileDialog |
| |
|  |
Section 14.6.
DirectoryDialog |
| |
|  |
Section 14.7.
ColorDialog |
| |
|  |
Section 14.8.
FontDialog |
| |
|  |
Section 14.9.
Summary |
| |
|  |
Chapter 15.
Layout |
| |
|  |
Section 15.1.
When Are Layouts Invoked? |
| |
|  |
Section 15.2.
Class Layout |
| |
|  |
Section 15.3.
Layout Data |
| |
|  |
Section 15.4.
Class FillLayout |
| |
|  |
Section 15.5.
Classes RowLayout and RowData |
| |
|  |
Section 15.6.
Class GridLayout |
| |
|  |
Section 15.7.
Defining the Grid |
| |
|  |
Section 15.8.
Class FormLayout |
| |
|  |
Section 15.9.
Assigning Width and Height Hints |
| |
|  |
Section 15.10.
Which Layout Should I Use? |
| |
|  |
Section 15.11.
Forcing a Layout |
| |
|  |
Section 15.12.
Forcing Controls to Wrap |
| |
|  |
Section 15.13.
Summary |
| |  | Part II.
Graphics |
| |
|  |
Chapter 16.
Graphics Fundamentals |
| |
|  |
Section 16.1.
Points and Rectangles |
| |
|  |
Section 16.2.
Class Point |
| |
|  |
Section 16.3.
Class Rectangle |
| |
|  |
Section 16.4.
The Graphics Context |
| |
|  |
Section 16.5.
Graphics and Threads |
| |
|  |
Section 16.6.
Line and Figure Drawing |
| |
|  |
Section 16.7.
Clipping and Regions |
| |
|  |
Chapter 17.
Colors |
| |
|  |
Section 17.1.
Class RGB |
| |
|  |
Section 17.2.
Class Color |
| |
|  |
Section 17.3.
System Colors |
| |
|  |
Chapter 18.
Fonts |
| |
|  |
Section 18.1.
Class FontData |
| |
|  |
Section 18.2.
Class Font |
| |
|  |
Section 18.3.
Drawing Text |
| |
|  |
Section 18.4.
Class FontMetrics |
| |
|  |
Chapter 19.
Images |
| |
|  |
Section 19.1.
Class ImageData |
| |
|  |
Section 19.2.
Class Image |
| |
|  |
Section 19.3.
Animation |
| |
|  |
Section 19.4.
Loading Images |
| |
|  |
Chapter 20.
Cursors |
| |
|  |
Section 20.1.
System Cursors |
| |
|  |
Section 20.2.
Custom Cursors |
| |  | Part III.
Applications |
| |
|  |
Chapter 21.
Minesweeper |
| |
|  |
Section 21.1.
How to Play |
| |
|  |
Section 21.2.
Implementation Notes |
| |
|  |
Chapter 22.
FileExplorer |
| |
|  |
Section 22.1.
Features |
| |
|  |
Section 22.2.
Implementation Notes |
| |  | Part IV.
Next Time |
| |  | Index |