Foreword |
|
xix | |
|
Foreword |
|
xxi | |
|
Acknowledgments |
|
xxv | |
Preface |
|
xxvii | |
|
|
1 | (26) |
|
Eclipse as a Rich Client Platform |
|
|
3 | (10) |
|
|
4 | (1) |
|
The Eclipse Rich Client Platform |
|
|
5 | (1) |
|
Eclipse RCP Over the Years |
|
|
6 | (1) |
|
|
7 | (5) |
|
IBM Workplace Client Technology™ |
|
|
7 | (2) |
|
|
9 | (3) |
|
|
12 | (1) |
|
|
13 | (14) |
|
|
13 | (3) |
|
|
16 | (1) |
|
Putting a System Together |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
19 | (3) |
|
|
20 | (1) |
|
|
20 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
23 | (2) |
|
Contribution-based Extensibility |
|
|
23 | (1) |
|
Perspectives, Views, and Editors |
|
|
24 | (1) |
|
|
25 | (2) |
|
|
27 | (186) |
|
|
29 | (12) |
|
|
29 | (2) |
|
The Evolution of Hyperbola |
|
|
31 | (1) |
|
Development Environment Installation |
|
|
32 | (1) |
|
|
33 | (2) |
|
|
35 | (1) |
|
|
36 | (3) |
|
Moving from Chapter to Chapter |
|
|
36 | (2) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
The Hyperbola Application |
|
|
41 | (20) |
|
|
41 | (7) |
|
|
48 | (4) |
|
|
48 | (1) |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
52 | (7) |
|
|
53 | (3) |
|
|
56 | (3) |
|
|
59 | (2) |
|
Starting the Hyperbola Prototype |
|
|
61 | (20) |
|
Continuing from the Shell |
|
|
62 | (1) |
|
Saving Window Location and Size |
|
|
63 | (1) |
|
|
63 | (5) |
|
Adding the Contacts View to a Perspective |
|
|
65 | (3) |
|
|
68 | (2) |
|
Filling in the Contacts View |
|
|
70 | (7) |
|
|
70 | (2) |
|
Content Providers Overview |
|
|
72 | (4) |
|
|
76 | (1) |
|
|
77 | (3) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (20) |
|
Adding to the Menus and Toolbar |
|
|
82 | (10) |
|
|
82 | (3) |
|
|
85 | (1) |
|
|
86 | (3) |
|
Adding the ``Add Contact'' Action |
|
|
89 | (2) |
|
|
91 | (1) |
|
Adding to the Status Line |
|
|
92 | (2) |
|
Status Line---A Shared Resource |
|
|
93 | (1) |
|
|
94 | (4) |
|
|
95 | (1) |
|
|
96 | (2) |
|
|
98 | (1) |
|
|
99 | (2) |
|
|
101 | (12) |
|
|
102 | (1) |
|
|
103 | (8) |
|
|
107 | (2) |
|
|
109 | (2) |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
112 | (1) |
|
|
113 | (14) |
|
Defining the Hyperbola Product |
|
|
113 | (5) |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
120 | (2) |
|
|
122 | (3) |
|
Product About Information |
|
|
122 | (3) |
|
Plug-in About Information |
|
|
125 | (1) |
|
|
125 | (2) |
|
|
127 | (8) |
|
|
127 | (4) |
|
Exporting for Other Platforms |
|
|
131 | (2) |
|
|
133 | (1) |
|
|
133 | (2) |
|
|
135 | (18) |
|
Integrating a Third-Party Library |
|
|
136 | (5) |
|
|
136 | (3) |
|
|
139 | (2) |
|
|
141 | (6) |
|
|
141 | (2) |
|
|
143 | (1) |
|
Deleting Prototype Classes |
|
|
144 | (1) |
|
|
145 | (2) |
|
|
147 | (3) |
|
|
148 | (1) |
|
|
149 | (1) |
|
|
150 | (1) |
|
|
151 | (2) |
|
|
153 | (22) |
|
|
153 | (7) |
|
|
157 | (3) |
|
Remembering Login Settings |
|
|
160 | (7) |
|
|
160 | (3) |
|
|
163 | (4) |
|
Adding Auto-login Preferences |
|
|
167 | (5) |
|
Creating a Preference Page |
|
|
168 | (1) |
|
|
169 | (1) |
|
|
170 | (1) |
|
Default Preference Values |
|
|
171 | (1) |
|
Preferences on the Login Dialog |
|
|
172 | (1) |
|
|
172 | (3) |
|
|
175 | (10) |
|
|
175 | (5) |
|
|
180 | (1) |
|
Adding Key Bindings for Workbench Actions |
|
|
180 | (2) |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
185 | (12) |
|
Adding to the Target Platform |
|
|
185 | (2) |
|
|
186 | (1) |
|
|
186 | (1) |
|
Getting the Help Plug-ins |
|
|
187 | (1) |
|
Configuring the Help Plug-ins |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (4) |
|
|
193 | (1) |
|
|
194 | (2) |
|
Exporting Plug-ins with Help |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
197 | (16) |
|
|
197 | (1) |
|
Configuring the Update Plug-ins |
|
|
198 | (1) |
|
|
199 | (4) |
|
|
203 | (2) |
|
|
205 | (6) |
|
|
206 | (2) |
|
|
208 | (2) |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (112) |
|
|
215 | (20) |
|
|
215 | (4) |
|
|
217 | (2) |
|
|
219 | (7) |
|
|
220 | (3) |
|
Exceptions and Idleness API |
|
|
223 | (2) |
|
|
225 | (1) |
|
|
226 | (1) |
|
IWorkbench WindowConfigurer |
|
|
227 | (1) |
|
|
227 | (1) |
|
|
228 | (1) |
|
|
228 | (6) |
|
Workbench Extension Point Reference |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
|
232 | (1) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (1) |
|
Perspectives, Views, and Editors |
|
|
235 | (26) |
|
|
236 | (11) |
|
|
237 | (1) |
|
Adding the Debug Perspective and Console View |
|
|
238 | (2) |
|
|
240 | (3) |
|
|
243 | (1) |
|
|
244 | (1) |
|
Programmatic Perspective Control |
|
|
245 | (2) |
|
|
247 | (7) |
|
Multiple Instances of the Same View |
|
|
247 | (2) |
|
|
249 | (1) |
|
Showing Contributed Views |
|
|
250 | (1) |
|
|
251 | (1) |
|
Connecting Parts Together |
|
|
251 | (3) |
|
Multiple Workbench Windows |
|
|
254 | (1) |
|
|
255 | (1) |
|
Drag and Drop with Editors |
|
|
255 | (4) |
|
|
259 | (2) |
|
|
261 | (30) |
|
|
261 | (2) |
|
Declarative Actions in Hyperbola |
|
|
263 | (9) |
|
|
264 | (1) |
|
|
265 | (2) |
|
|
267 | (3) |
|
|
270 | (2) |
|
Standard Workbench Actions |
|
|
272 | (2) |
|
|
274 | (2) |
|
Consolidating Declarative Actions |
|
|
276 | (1) |
|
|
277 | (3) |
|
|
277 | (2) |
|
Adding Controls to the Toolbar |
|
|
279 | (1) |
|
Adding Contributions to the Status Line |
|
|
280 | (1) |
|
|
281 | (8) |
|
|
283 | (2) |
|
|
285 | (1) |
|
|
286 | (1) |
|
Writing a ProgressProvider |
|
|
287 | (2) |
|
|
289 | (2) |
|
Customizing Workbench Windows |
|
|
291 | (16) |
|
|
291 | (1) |
|
Customizing a Workbench Window |
|
|
292 | (9) |
|
|
295 | (1) |
|
|
295 | (2) |
|
|
297 | (1) |
|
Adding the Toggle Actions |
|
|
297 | (2) |
|
|
299 | (1) |
|
|
300 | (1) |
|
|
301 | (5) |
|
|
302 | (2) |
|
|
304 | (1) |
|
Defining the Window Contents |
|
|
305 | (1) |
|
|
306 | (1) |
|
Customizing the Presentation of Views and Editors |
|
|
307 | (18) |
|
|
307 | (1) |
|
|
308 | (2) |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
310 | (4) |
|
|
312 | (1) |
|
|
313 | (1) |
|
|
314 | (8) |
|
|
315 | (1) |
|
|
316 | (3) |
|
|
319 | (1) |
|
Adding, Selecting, and Removing Parts |
|
|
319 | (3) |
|
|
322 | (1) |
|
|
322 | (3) |
|
Part IV Development Processes |
|
|
325 | (120) |
|
Integrating Code Libraries |
|
|
327 | (16) |
|
|
327 | (2) |
|
|
329 | (1) |
|
|
330 | (2) |
|
|
332 | (2) |
|
Troubleshooting Classloading Problems |
|
|
334 | (8) |
|
Issues with Class.forName( ) |
|
|
335 | (4) |
|
Issues with Context Classloaders |
|
|
339 | (2) |
|
|
341 | (1) |
|
|
342 | (1) |
|
|
342 | (1) |
|
Installing and Updating Plug-ins |
|
|
343 | (12) |
|
|
343 | (1) |
|
|
344 | (4) |
|
|
344 | (1) |
|
|
345 | (3) |
|
Creating and Managing Update Sites |
|
|
348 | (3) |
|
Example: Dynamic Content Handling |
|
|
351 | (3) |
|
|
354 | (1) |
|
|
354 | (1) |
|
|
355 | (16) |
|
|
355 | (2) |
|
|
357 | (1) |
|
|
357 | (9) |
|
Dynamic Extension Scenarios |
|
|
357 | (7) |
|
|
364 | (1) |
|
|
365 | (1) |
|
|
366 | (3) |
|
Cleaning Up After Yourself |
|
|
367 | (2) |
|
|
369 | (2) |
|
|
371 | (28) |
|
|
371 | (1) |
|
|
372 | (1) |
|
|
372 | (1) |
|
|
373 | (5) |
|
|
374 | (2) |
|
|
376 | (1) |
|
|
377 | (1) |
|
|
378 | (1) |
|
Hyperbola Product Configurations |
|
|
378 | (7) |
|
|
379 | (2) |
|
|
381 | (1) |
|
The Extension Configuration (IDE) |
|
|
381 | (1) |
|
The Workbench Configuration |
|
|
382 | (2) |
|
|
384 | (1) |
|
|
385 | (7) |
|
|
385 | (1) |
|
|
386 | (2) |
|
|
388 | (1) |
|
|
389 | (1) |
|
|
389 | (1) |
|
Wizards, Preferences, and Property Pages |
|
|
390 | (1) |
|
|
390 | (1) |
|
|
391 | (1) |
|
|
392 | (4) |
|
|
393 | (2) |
|
|
395 | (1) |
|
Named and Anonymous Extensions |
|
|
396 | (1) |
|
|
396 | (1) |
|
|
397 | (2) |
|
|
399 | (28) |
|
|
400 | (1) |
|
|
401 | (2) |
|
|
401 | (2) |
|
Using Custom Build Scripts |
|
|
403 | (1) |
|
|
403 | (6) |
|
Identifying and Placing Root Files |
|
|
403 | (2) |
|
|
405 | (2) |
|
|
407 | (2) |
|
Setting Up a Hyperbola Builder |
|
|
409 | (6) |
|
|
409 | (4) |
|
|
413 | (2) |
|
|
415 | (2) |
|
|
417 | (2) |
|
|
419 | (2) |
|
|
421 | (5) |
|
|
421 | (1) |
|
|
421 | (2) |
|
|
423 | (1) |
|
Auto-substitution of Version Numbers |
|
|
424 | (1) |
|
Qualifying Version Numbers |
|
|
424 | (1) |
|
Controlling the Output Names |
|
|
425 | (1) |
|
|
426 | (1) |
|
|
427 | (18) |
|
|
427 | (1) |
|
|
428 | (1) |
|
|
429 | (6) |
|
|
429 | (1) |
|
Hyperbola and Java Web Start |
|
|
430 | (2) |
|
|
432 | (1) |
|
Exporting for Java Web Start |
|
|
433 | (1) |
|
|
434 | (1) |
|
Java Web Start and Update |
|
|
435 | (1) |
|
|
435 | (1) |
|
|
436 | (1) |
|
Pre-initialized Configurations |
|
|
436 | (1) |
|
Multi-user Install Scenarios |
|
|
437 | (6) |
|
|
438 | (1) |
|
|
439 | (1) |
|
|
440 | (3) |
|
|
443 | (1) |
|
|
443 | (2) |
|
|
445 | (50) |
|
|
447 | (32) |
|
OSGi and the Eclipse Runtime |
|
|
448 | (2) |
|
|
450 | (2) |
|
|
452 | (4) |
|
|
456 | (1) |
|
|
457 | (1) |
|
|
458 | (1) |
|
|
459 | (5) |
|
BundleActivator (Plugin Class) |
|
|
460 | (1) |
|
The Downside of Activators |
|
|
461 | (1) |
|
|
462 | (2) |
|
|
464 | (2) |
|
Early Activation Extensions |
|
|
464 | (1) |
|
|
465 | (1) |
|
|
465 | (1) |
|
|
466 | (2) |
|
|
468 | (4) |
|
|
468 | (1) |
|
Declaring Imports and Exports |
|
|
469 | (1) |
|
Importing versus Requiring |
|
|
470 | (1) |
|
|
471 | (1) |
|
|
471 | (1) |
|
|
471 | (1) |
|
|
472 | (3) |
|
|
475 | (2) |
|
|
477 | (2) |
|
|
479 | (16) |
|
|
479 | (2) |
|
Eclipse Platform Plug-ins |
|
|
481 | (1) |
|
|
481 | (1) |
|
|
482 | (3) |
|
Overview of Resources Key Features |
|
|
483 | (1) |
|
Getting Started with Resources |
|
|
484 | (1) |
|
Resources in the Workbench |
|
|
485 | (1) |
|
|
485 | (4) |
|
|
485 | (1) |
|
|
486 | (1) |
|
|
487 | (1) |
|
|
488 | (1) |
|
TextViewers and TextEditors |
|
|
488 | (1) |
|
|
489 | (1) |
|
|
489 | (1) |
|
|
490 | (1) |
|
Outline and Property Views |
|
|
491 | (1) |
|
|
491 | (1) |
|
|
492 | (1) |
|
|
492 | (3) |
Index |
|
495 | |