|
SWT/JFace in Action GUI Design with Eclipse 3.0 Matthew Scarpino, Stephen Holder, Stanford Ng, and Laurent Mihalkovic 2004 | 496 pages ISBN: 1932394273 |
|||
![]() |
$22.50 | PDF ebook | |
![]() |
$44.95 | Softbound print book | |
Index
 
A
 
AbstractConnectionAnchor 380
AbstractConnectionRouter 383
AbstractGraphicalEditPart 390
AbstractHintLayout 372
AbstractTextEditor 286
AbstractTreeViewer 172
accelerator keys 72, 201, 203
accessibility 459
accessor 408
ActionBarContributor 394, 444446
ActionContributionItem 62, 64, 66, 68, 70
ActionRegistry 441444, 446, 451
Actions 20, 49, 62, 66, 70, 77, 102, 154, 204, 261, 285, 389
     and Menus 204205, 209
     GEF and Draw2D Actions 397399, 402, 441442, 444445, 447, 459
ActiveX 10
adapters 20, 54
add() 368
addAncestorListener() 368
addChild() 411
addEditorAreaTransfer() 293
addFigureListener() 368
addFocusListener() 367
addKeyListener() 367
addListener() 368
addMenuBar() 24
addMouseListener() 53, 367
addMouseMotionListener() 368
addPoint 375
addPropertyChangeListener() 73, 368
addStatusLine() 24
addToolBar() 24
addView() 295296
AlignmentRetargetAction 445
animation 160
Ant 321322
Apple 322
application class 290
application directory 307
Application Programming Interface 17
ApplicationWindow 20, 2223, 42, 63, 68
ArmEvents 63
array 37
AS_CHECK_BOX 66
AS_PUSH_BUTTON 66
AS_RADIO_BUTTON 66
AutomaticRouter 383
 
B
 
BANNER_FONT 152
Bendpoint 403
BendpointConnectionRouter 383
BendpointRequest 403
BookmarkNavigator 287
Browser 280281
browser
     dependencies 281
     supported platforms 280
Button 34, 299, 304
ButtonGroup 370, 372
ButtonModel 370
Buttons 370
 
C
 
C programming language 17
Canvas 135137, 139140, 164165, 364, 400, 451452
CDLC 10
CellEditor 197, 199200
CellModifier 210
CFBundleExecutable 322
check button 36
child widgets 15
ClassPath 322
Classpath Variables 314, 318, 365
Clickable 369370
client area 39
Clipboard 254, 261262
clipping 139
Color 141
ColorDialog 144, 213
colors 140, 145, 164
     choosing 214
     depth 157
     RGB 213
     system 140
ColorSelector 144145
ColumnLayout 301302
ColumnWeightData 193194
CombinedTemplateCreationEntry 402
Combo 100
     drop-down 100
     read-only 100
     simple 100
     styles 100
     styles demonstrated 100
ComboBoxCellEditor 197, 200
Command 391394, 404, 418420, 422426, 434435, 437441, 445450, 458
CommandStack 394, 419, 441442, 452, 457458
Common Public License 9
compilation 318
ComponentEditPolicy 436, 438
ComponentPolicy 439
Composite 2223, 38, 40, 4244, 164165, 293295, 299301, 364, 368, 372, 451, 453
Computer Aided Design 363
computeSize() 31
computeTrim() 40
Configure Variables 318
configureEditorAreaDropListener() 293
Connection 373, 377, 380, 382, 387, 401, 403, 414, 416, 418, 420, 422, 426, 434, 439, 448, 450
ConnectionAnchor 377, 380381, 393, 426, 430, 432, 440, 449450
ConnectionBendpointTracker 403
ConnectionCreationTool 403404, 448450
ConnectionCreationToolEntry 401, 448
ConnectionEditPart 427, 432, 434, 448
ConnectionEndpointLocator 382
ConnectionLayer 383
ConnectionRouter.NullConnectionRouter 383
Connections 366
Connector 363
containers 15, 38, 41, 372373, 389, 393
containsPoint() 373
content providers 172, 177, 196
     advantages of 179
ContentAssistant 92, 9697, 99
ContentProvider 173, 181, 184, 194
ContentViewer 168170, 172
Context menu 444
ContextMenuProvider 394, 443, 456
ContributionItem 6466, 70
ContributionManager 64, 66, 68, 70
contributions 20, 49, 63, 67, 285
contributors 77
Control 28, 30, 32, 134135, 138139, 286, 363364, 367
ControlAdapter 55
ControlContribution 102
Controller 390392
control-relative coordinates 32
convertAccelerator() 72
CoolBar 103104
     vs. ToolBar 103
CoolItem 103104
copy 255
CopyRetargetAction 445
CPL See Common Public License
createAndRunWorkbench() 291
CreateCommand 419420, 422, 437438
CreateConnectionRequest 404, 439440, 448449
createContents() 2223, 68, 165
createEditPart() 427
createEditPolicies() 426, 429431, 434, 447
createFigure() 433
createMenuManager() 68
createPartControl() 301, 304
CreateRequest 403
createToolBarManager() 68
CreationEntryTool 405
CreationFactory 402, 405
CreationTool 403
custom components 363
custom dialogs 213
custom layouts 124125, 128
     calculating size 125
     positioning widgets 126
     when to use 124
 
D
 
data formats 255
data persistence 294
DecoratingLabelProvider 277, 279
decorators 277
DEFAULT_FONT 152
DelegatingLayout 372
DeleteAction 442, 447, 458
DeleteCommand 422423, 438439, 448
DeleteRequest 447448
DeleteRetargetAction 445
DIALOG_FONT 152
DIALOG_TRIM 19
DialogPage 269
dialogs 1921, 213, 228, 230
     custom 218, 228230
     error 220
     input 222
     JFace 218, 228
     JFace compared to Swing 218
     JFace hieararchy 218
     message 219
     modal 219
     multipage 236
     parent window 219
     preferences 268
     progress 224
     SWT 213
     validating input 223
DialogSettings 245
direct palette 156
DirectedGraphLayout 380
DirectEditRequest 435
directory
     choosing 214
DirectoryDialog 214
Display 1416, 18, 23, 52, 63, 135, 153, 290291, 364
display-relative coordinates 32
dispose() 8, 22, 29, 144, 150, 158
disposeColors() 144
Document 89, 99
drag and drop 254257, 383, 393
     implementing 257, 259
     types 256
DragEvent 403, 426, 453
DragSource 259, 383
DragSourceEvent 260
DragSourceListener 259260
DragTracker 403, 426
DRAW_DELIMITER 147
DRAW_MNEMONIC 147
DRAW_TAB 147
DRAW_TRANSPARENT 147
Draw2D 362365, 367, 370374, 380, 382383, 389, 393, 400
Drawable 135, 138
drawArc() 137
drawFocus() 137
drawing 374
drawLine() 137
drawOval() 137
drawPolygon() 137, 375
drawPolyline() 137
drawRectangle() 137138
drawRoundRectangle() 138
drawString() 147
drawText() 147, 150
DropTarget 257, 383
DropTargetEvent 257258, 453
DropTargetListener 257
 
E
 
Eclipse 312
Eclipse Forms 285, 294, 297, 299303, 308
Eclipse IDE 317
Eclipse in Action 312
Eclipse SDK 312, 316
Eclipse Workbench 285, 287288, 306
Eclipse.app 321
Eclipse.org 312
Edge 380
EditDomain 404, 447, 452453
editing text
     SWT vs. JFace 108
     with JFace 91
EditorPart 286, 393, 399, 441, 447, 450451
EditorPartAction 441
editors 285288, 291, 293295, 308
EditPart 391394, 399, 403, 408, 422, 426428, 430, 446
EditPartFactory 427428, 457
EditPolicy 394
Environmental Variables 316, 320
error dialogs 216
     detailed messages 220
error handling 196, 200
ErrorDialog 220, 222
     dependencies 222
event handling 49, 63, 367
event model 49, 77
event responses 363
EventObject 52
events 4, 15, 49, 58, 62, 368
     typed 50, 60
execute() 404
ExpandableComposite 301
Export 306
ExtendedModifyListener 8485, 87, 97
 
F
 
factory 384, 394
FieldEditor 270271
     provided by JFace 271
FieldEditorPreferencePage 270
Figure 364368, 370374, 377, 380384, 387, 390, 392393, 399, 434
FigureListener 368
file extensions
     filtering 216
file handling 294
FileDialog 215
     styles 215
files
     choosing 215
fill layout 110
     styles 112
fill() 69
fillArc() 137
fillGradientRectangle() 138
fillOval() 137
fillPolygon() 137
fillRectangle() 138
Filters 174
filters 173
findFigureAt() 369, 373
findKeyCode() 72
findKeyString() 72
findModifier() 72
FindMouseEventAt() 369
fireChangeEvent() 370
firePropertyChange() 73, 368, 409
firePropertyChangeEvent() 370
FlowFigureLayout 372
focus behavior 140
FocusAdapter 55
Font 145, 150
FontData 146
FontDialog 150, 216
FontMetrics 148
FontRegistry 4, 150151, 163
fonts 20, 134, 145146, 148, 150152, 164, 166
     choosing 216
     management 145
Form 300302
form layout 119, 122
FormAttachment 120121, 123
     constructors 121
FormData 120, 123
FormEditor 286
FormLayout 120
FormPage 286
FormText 300302
FormToolkit 299301, 303304
FreeformLayer 373
FreeformLayeredPane 372373
FreeformViewport 374
 
G
 
GC 364365, 369, 374
GC See graphic context
GCJ 308
GEF 363, 365, 387, 389391, 393394, 400, 403
getAccelerator() 72
getActionDefinitionID() 73
getAlignment() 34
getAscent() 148
getAverageCharWidth() 148
getBannerBackground() 144
getBounds() 31
getChildren() 39, 368369, 411
getClientArea() 40
getColorValue() 144
getCurrent() 18
getData() 29
getDescent() 148
getDescription() 71
getDisabledImageDescriptor() 7374
getDisplay() 29, 143
getErrorBorder() 144
getFontMetrics() 148
getHeight() 148
getHelpListener() 73
getHorizontalBar() 40
getHoverImageDescriptor() 74
getImage() 34
getImageDescriptor() 71
getInitialWindowPerspectiveId() 292
getItemCount() 45
getLayout() 39
getLeading() 148
getLocale() 146
getLocation() 31, 381
getMaximizedControl() 43
getMenuCreator() 7374
getNewObject() 406
getOwner() 381
getPaletteRoot() 401
getParent() 369
getPropertyDescriptors() 414415
getResourceAsStream() 153
getRGBs() 158
getSelection() 36, 45
getSeparator() 24
getSize() 31
getStyle() 29
getSystemColor() 141, 143
getTabList() 39
getText() 34
getTextBounds() 369
getTextLocation() 369
getToolTipText() 71
getTransparencyMask() 159
getVerticalBar() 40
GIF 160, 163
graphic context 134137, 139140, 143, 147148, 150, 154155, 165
Graphical Editing Framework 363
graphical editors 363, 389
GraphicalEditor 286, 441442, 451, 453
GraphicalEditPolicy 436
GraphicalNodeEditPolicy 436, 439, 449
GraphicalViewer 393394, 400, 428, 450, 452453, 457, 459
GraphicalViewerWithPalette 453
Graphics 365, 369, 374375
graphics 134, 136
graphs 380
grid layout 116
GridData 117, 119
     size attributes 117
     styles 117
GridLayout 116, 231
Group 38, 40
GTK 16, 308, 316
GUIs 3, 7, 285
 
H
 
handleEvent() 59
handleFocusGained() 367
handleFocusLost() 367
handleKeyPressed() 367
handleKeyReleased() 367
handleMouseDoubleClicked() 367
handleMouseDragged() 368
handleMouseEntered() 368
handleMouseExited() 368
handleMouseHovered() 368
handleMouseMoved() 368
handleMousePressed() 367
handleMouseReleased() 367
Hashtable 382
HEADER_FONT 152
heavyweight 364
heavyweight components 7
HelloSWT 14
HelloSWTJFace 14, 21
helper classes 20
HREF 303
HTML 300303
Hyperlink 299, 302305
HyperlinkAdapter 303
HyperlinkEvent 303
HyperlinkGroup 304305
HyperlinkListener 303
 
I
 
IAutoIndentStrategy 90
IBaseLabelProvider 170171, 278
ICellModifier 197198
ICompletionProposal 92
IContentAssistProcessor 9192, 99
     getCompletionProposalAutoActivationCharacters 92
IContributionManager 204
IDialogPage 236237, 248, 269
IDocument 89, 99
     regions 89
IDocumentPartitioner 89
IInputValidator 223
ILabelDecorator 276, 278
ILabelProvider 171, 179, 276
     default implementation See LabelProvider
Image 152, 154, 158, 390
ImageData 153155, 157159, 161, 166
ImageDescriptor 163, 166
ImageLoader 159160, 163, 166
ImageRegistry 4, 163, 277, 279
images 20, 152, 164
indexed palette 156157
InputDialog 222223
InputStream 153
InterruptedException 226
IPageLayout 295296
IPerspectiveFactory 295296
IPlatformRunnable 290291
IPreferencePage 268
IPreferencePageContainer 268, 273274
IPreferencePageNode 273
IPreferenceStore 274, 291
IProgressMonitor 225226
IPropertyChangeListener 72
IPropertySource 412, 415
IRunnableContext 224226
IRunnableWithProgress 224
isDirect() 156
isDisposed() 29
IStatus 220222
     severity 221
IStructuredContentProvider 172, 177, 181, 187, 196
IStructuredSelection 181
     retrieving items 181
ITableLabelProvider 171, 198
ITextDoubleClickStrategy 90
ITextHover 90
ITextListener 97
ITextViewer 8990
     plug-ins 90
ITreeContentProvider 177178, 185
ITypedRegion 89
IUndoManager 90
IWizard 235, 239, 242
IWizardContainer 241
IWizardNode 244
IWizardPage 235, 237
IWorkbench 291
IWorkbenchWindowConfigurer 291293
 
J
 
J2EE 309
J2ME 10
Java Build Path 314315, 318
Java compiler 314
Java Native Interface 17
Java SDK 287, 312
Java Web Start 308
java.library.path 316, 320, 322
JavaBeans 197, 389, 408
JFace 144, 150, 163, 285, 312, 314316, 318, 389, 405
     ApplicationWindows 23
     event model 63
     origin 3
JFace text packages
     obtaining 88
JFaceColors 144
JFaceResources 151
JNI 7, 17
JOptionPane 218219, 222
JVM 5
 
K
 
KDE 10
key code 56
KeyAdapter 55
keyCode 57
KeyEvent 5657, 60, 447
KeyHandler 394, 447, 453, 456458
KeyListener 50, 59, 84, 87
 
L
 
Label 32, 299300, 369, 382
label decorators in Eclipse 280
Label providers 170171, 198, 210, 277
Layer 373374
LayeredPane 373, 453
LayerPanes 372
Layers 366
Layout 302, 372
LayoutData 115
LayoutManager 364, 372373
LayoutPolicy 394
layouts
     overview 110
     SWT compared to Swing 110
LEFT_TO_RIGHT 135
libraries 14, 314
lightweight components 5
LightweightSystem 364365, 371, 387, 400
LineStyleListener 83
Linux 3, 16, 316
List 180, 369, 392
     on Motif 180
     styles 180
listeners 18, 49, 52, 54, 364, 367
     typed 52, 5859
     typed listeners 50
     untyped 5859
lists
     JFace 181
     SWT 180
ListViewer 20, 181
     styles 181
LocationRequest 403404
long-running tasks 224
     cancelling 226
 
M
 
Macintosh 3, 321
MainClass 322
ManhattanConnectionRouter 383
marquee selection 393
MarqueeSelectionTool 402403
MenuAdapter 55
MenuItem 103, 201203
     styles 202
MenuListener 201
MenuManager 6566, 101, 204205, 210
menus 23, 191, 200202
     events 201
     JFace 204
     styles 201
     SWT 201
message dialogs
     types 220
MessageBox 216
     styles 217
MessageDialog 219220
Model 389, 391392, 394, 400, 406407, 409, 426
Model-Delegate See Swing
Model-View-Controller 168, 170, 172
ModifyListener
     vs. ExtendedModifyListener 85
modular 389
MouseAdapter 55
mouseDoubleClick() 53
mouseDown() 53
MouseEvent 52, 62, 150, 204, 403
MouseListener 50, 53, 59, 203, 384
MouseMotionListener 384
MouseMotionListener.Stub 384
MOUSEOVER_PROPERTY 370
MouseTrackAdapter 55
mouseUp() 53
MultiEditor 286
MultiPageEditorPart 286
MultiStatus 222
mutator 408, 411412, 418419, 424
MVC 6, 8, 389, 391, 416
 
N
 
native 17
native graphics 316, 320, 322
native graphics library 17, 316
native methods 16
NO_MERGE_PAINTS 139
Node 380
NodeEditPart 426, 430
 
O
 
Object 390
ObjectInputStream 457
offset 156
Open file dialog 215
open() 150
OpenGL 309
OS class 16
OS X 321
OSGi 67
OutputStream 160
 
P
 
pack() 15, 31
packages 398
paint() 369
paintBorder() 369
paintChildren() 369
paintClientArea() 369
PaintEvent 138140, 142, 149150, 154155, 164, 374
paintFigure() 369, 375
painting 138
PaintListener 138139, 142, 149, 154, 164
palette 393, 399, 402
PaletteData 156157
PaletteGroup 401402
PaletteRoot 400, 402, 404
PaletteViewer 393394, 400, 404, 457458
Pareto Rule 77
paste 255
PATH variable 316
PathFigure 382
perspective 285, 288, 290, 292, 294296, 298
Platform 196
PlatformUI 290291
plug-in 285286, 288289, 296, 306308, 393, 396397
Plug-in Manifest Editor 289, 299, 396
plugin.xml 289290, 295296, 298, 307, 393, 396
Pocket PC 10
Point 376, 380381
PointList 375
Polygon 376
PolylineConnection 382, 393, 439, 450
PolylineDecoration 382
Position 89
PrecisionDimension 380
PrecisionPoint 380
PrecisionRectangle 380
PreferenceConverter 275
PreferenceManager 274
PreferencePage 269
PreferencePageDialog 273274
Preferences 318
PreferenceStore 275
preferred size 30
PRESSED_PROPERTY 370
preStartup() 292
preWindowOpen() 292293
Printer 135
ProgressBar 106, 227228
     when to use 107
ProgressIndicator 106107, 227228
     animated mode 108
ProgressMonitor 226
ProgressMonitorDialog 224228
project 312313, 395
Property View 415
propertyChange() 409, 426, 430, 448
PropertyChangeEvent 72, 391392, 394, 408409, 411, 416, 418, 427430, 448, 450, 458
PropertyChangeListener 271, 368
PropertyChangeSupport 409410
providers 170
 
R
 
RadialLayout 128
radio buttons 3738
RadioGroupFieldEditors 37
Ray 380
RCP 284285, 287288, 291, 294, 296299, 306
readAndDispatch() 16, 18, 49
Rectangle 153, 375376, 380, 382
Redo stack 419
RedoRetargetAction 445
redraw 139, 149150
refID 296
refresh() 392
refreshChildren() 430
registries 21
removeChild() 411
removePropertyChangeListener() 73
repaint() 369
repeatCount 161
Request 391393, 403404, 419, 434435, 441
ResizableEditPolicy 436, 438
ResizeTracker 403
ResourceNavigator 287, 294
RetargetAction 394, 444445
RGB 140, 142, 144, 146, 156, 159
Rich Client Platform 284285, 293, 306, 308
RIGHT_TO_LEFT 135
RootEditPart 428, 453, 457
router 383
row layout 112
RowData 115
RowLayout 114
     properties 114
RTF 255
 
S
 
Sash 4344
SashForms 4344
Save dialog 215
ScalableFreeformLayeredPane 373
ScalableLayeredPane 373
ScalableRootEditPart 453
scaleTo() 155
scanline 156
ScrollBar 374
ScrollBarLayout 372
ScrollPane 372, 374
SDK 316
SelectionAction 442
SelectionAdapter 55
SelectionListener 102
SelectionRequest 403404, 447
SelectionTool 402404, 447, 453
separation of concerns 389390
separator 33
Serializable 409410
setAccelerator() 72
setActionDefinitionID() 73
setAlignment(int) 34
setBackground() 143
setBlockOnOpen() 22
setBounds() 31
setChild() 420
setChildrenEnabled() 369
setClient() 301
setClipping() 139
setColors() 144
setColorValue() 144
setConstraint() 369, 420
setControl() 44
setData() 29
setDefaultImage(Image) 24
setDescription() 71
setDisabledImageDescriptor() 7374
setExceptionHandler() 24
SetFocus() 17
setFocus() 294295
setFont() 146
setForeground() 143, 304
setHelpListener() 73
setHoverImageDescriptor() 74
setImage(Image) 34
setImageDescriptor() 71
setLayout() 39, 111
setLocale() 146
setLocation() 31
setMenuCreator() 7374
setOrientation() 43
setParent() 420
setPixel() 158
setSelection() 36, 45
setSize() 31
setSourceDecoration() 382
setStatus(String) 24
setTabList() 39
setTargetDecoration() 382
setText() 146
setText(String) 34
setToolTipText() 71
setUDistance() 382
setVDistance() 382
setWeights() 43
Shape 374
Shell 1415, 18, 23, 52, 364, 371
     modality 19
     secondary 19
     top-level 19
ShellAdapter 55
ShellEvent 52
sleep() 18
Slider 105
     on different operating systems 105
     styles 106
SnapMoveRequest 459
SnapResizeRequest 459
sorters 173174
ST 82
StackAction 441442
standalone 285, 288, 296, 306, 308, 395
standalone applications 285
stateMask 57
Status 221222
status line 23
StatusLineManager 65, 68
String 382
StructuredViewer 168169, 172175
style 19, 33
StyledText 82, 85, 97
     actions 82
     binding actions to keystrokes 82
     events 85
     invoking actions programmatically 82
     setStyleRange 85
     vs. Text 79
StyleRange 8384
     modifying 83
     persisting 83
Swing
     automatic garbage collection 5
     Model-Delegate 6
     origin 4
     rendering 5
SWT 16, 144, 154, 160, 163, 285, 312, 314, 316, 318, 321, 364365, 371, 374, 383, 387
     graphics 3
     origin 6
     platforms supported 9
     resource management 7
SWT initialization 243
SWT.ARROW 35
SWT.BORDER 19
SWT.CENTER 33, 35
SWT.CHECK 36
SWT.CLOSE 19
SWT.FLAT 35
SWT.HORIZONTAL 33
SWT.KeyDown 59
SWT.LEFT 33, 35
SWT.MAX 19
SWT.MIN 19
SWT.MouseDoubleClick 59
SWT.PUSH 34
SWT.RADIO 37
SWT.RESIZE 19
SWT.RIGHT 33, 35
SWT.SEPARATOR 33
SWT.SHADOW_ETCHED_IN 41
SWT.SHADOW_ETCHED_OUT 41
SWT.SHADOW_IN 33, 40
SWT.SHADOW_NONE 33, 40
SWT.SHADOW_OUT 33, 40
SWT.TITLE 19
SWT.TOGGLE 35
SWT.VERTICAL 33
SWT/JFace 2, 6, 16, 134, 145, 312, 316, 366
system colors 141142
 
T
 
tab 44
TabFolders 44, 46
TabItem 44
Table 191, 293, 295, 299300, 303304
     columns 193
TableColumn 193
TableItem 192, 199
TableLayout 193194
Tables 191
     editing 197
     JFace 194
     SWT 191
TableViewer 20, 194
TableWrapLayout 302
TaskList 287
template 394, 402, 404406
TemplateEntry 400, 405
TemplateTransferDragSourceListener 454, 456, 458
TemplateTransferDropTargetListener 405, 407
Text 15, 79, 8182, 300
     events 79
     Method summary 81
text editing
     in JFace 88
     in SWT 88
     Validation 81
     with StyledText 82
TEXT_FONT 152
TextViewer 90, 96, 99
toControl() 31
toDisplay() 31
Toggle 370
toggle button 36
ToggleModel 370
Tool 391392, 402403, 434, 441, 446
ToolBarManager 6566, 101
ToolBars 23, 102103
     and Actions 102
     creating 102
     creating by hand 103
     styles 102
ToolEntry 400, 402
ToolItem 103
toString() 29
Transfer 255, 261262
Transform 380
translate 374
transparency 159
transparentPixel 159
TRAVERSE_TAB_NEXT 58
TraverseEvents 56, 58, 63
Tree 176
     styles 177
     vs. TreeViewer 179
TreeAdapter 55
TreeItem 176177
Trees 176
     JFace 177
     SWT 176
TreeViewer 20, 177, 184
     vs. Tree 179
trim 39
TypedEvent 50, 52
TypedListener 50
 
U
 
UI thread 196
UML 363
UndoRetargetAction 445
Unified Modeling Language 363
untypedListener 61
user preferences 268, 270
     persistent 274
user-interface thread 18
 
V
 
VerifyEvent 56, 81
VerifyListener 80
View 389392, 433
Viewer 168, 285, 389, 400, 459
Viewer framework 168
     events 172
     mixing with standard widgets 169
ViewerFilter 187
viewers 20
ViewerSorter 174, 187
     implementing 174
viewID 296
ViewPart 287288, 294
Viewport 374, 453
Visual Studio 363
 
W
 
widgets 28, 364
     Overview 79
WidgetWindow example 11
windowing system 316
Windows 17
wizard containers 241
WizardDialog 235, 242
WizardPage 237238
     building custom 237, 239
wizards 2021, 235, 240241, 397
     classes vs. interfaces 235
     hierarchy 235
     page display order 241, 250
     persistent settings 244246
WizardSelectionPage 243
workbench 285298, 306308, 323, 397
WorkbenchAdvisor 291293, 298
WorkbenchPartAction 441
wrapper program 321
 
X
 
XYLayout 372373
 
Z
 
ZoomInAction 459
ZoomInRetargetAction 445
ZoomManager 459
ZoomOutAction 459
ZoomOutRetargetAction 445
DESCRIPTION
SWT and JFace are Eclipse's graphical libraries. They enable you to build nimble and powerful Java GUIs--but this is only the beginning. With Draw2D and the Graphical Editing Framework, you can go beyond static applications and create full-featured editors. And with the Rich Client Platform, you can build customized workbenches whose capabilities far exceed those of traditional interfaces.
SWT/JFace in Action covers the territory, from simple widgets to complex graphics. It guides you through the process of developing Eclipse-based GUIs and shows how to build applications with features your users will love. The authors share their intimate knowledge of the subject with you in a friendly, readable style.
This book encourages you to learn through action. Each topic provides extensive code to show you how SWT/JFace works in practical applications. Not only do these examples help you understand the subject, they are a working set of programs you can reuse in your own interfaces.
What's Inside
- Understanding SWT/JFace design
- Creating workbenches with the Rich Client Platform
- Building editors with Draw2D and the Graphical Editing Framework
- Integrating SWT with Microsoft's COM
- And much more
ABOUT THE AUTHORS...
Matthew Scarpino has over ten years of software design and engineering experience. He uses Eclipse to build editing software for reconfigurable computing and has submitted code for EclipseοΏ½s graphical library. He lives in Fort Worth, TX.
Stephen Holder is a software engineer who has worked as a consultant for several large commercial and government agencies on enterprise level Java projects, including writing Eclipse plugins to streamline the development process. He currently resides in Tustin, California.
Stanford Ng is the cofounder of Nuglu, LLC and currently working on improving back-end systems at Automotive.com, a top 5 automotive e-commerce site. He is also a co-conspirator with Dr. Robert Nideffer behind the International award-winning Proxy/MAM research project.
Laurent Michalkovic is a technology consultant with 10 years' experience designing solutions in C/C++/Java/COM. He currently lives between Vancouver and Toronto, Canada.

