Skip to main content
summaryrefslogtreecommitdiffstats
blob: 0dd09737a23ca2832e835f53f7f54c4162ae2d8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../default_style.css" type="text/css">
<title>Eclipse Technical Articles</title>
</head>
<body>
&nbsp;
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr>
    <td ALIGN=LEFT width="54%">
      <p><font class=indextop> technical <br> articles</font><br>
        <font class=indexsub> technical information for developers</font> </p>
      </td>
    <td width="46%"><img SRC="../images/howto_banner.jpg" height=111 width=272 align=CENTER></td>
  </tr>
</table>

<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr>
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse
      Corner Articles</font></b></td>
  </tr>
  <tr>
    <td>
      <p><font size="-1" face="arial,helvetica,geneva">The following articles
        have been written by members of the development team and other members
        of the eclipse community. You too can contribute! Eclipse Corner depends
        on contributions from people like you. </font></p>
      <ul>
        <li><font size="-1" face="arial,helvetica,geneva"><b>Interested in writing
          an article?</b> &nbsp;&nbsp;&nbsp;See <a href="contributing.html">how
          to contribute an article</a>.</font></li>
      </ul>
	  (Besides these, a number of other web sites carry technical articles about
      Eclipse. You'll find pointers to these on the <a href="../community/main.html#EclipseInformation">Eclipse
      Community page</a>.)</td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr>
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Eclipse
      White Paper</font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="../whitepapers/eclipse-overview.pdf">Eclipse
      Platform Technical Overview</a> </strong> July 2001 (updated for Eclipse
      2.1 in Feb. 2003) <br>
      The Eclipse Platform is designed for building integrated development environments
      (IDEs) that can be used to create applications as diverse as web sites,
      embedded JavaTM programs, C++ programs, and Enterprise JavaBeansTM. This
      paper is a general technical introduction to the Eclipse Platform. Part
      I presents a technical overview of its architecture. Part II is a case study
      of how the Eclipse Platform was used to build a full-featured Java development
      environment.</font></td>
  </tr>
</table>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
  <tr>
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">New
      Articles <a name="new"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-RCP-2/tutorial2.html">Rich
      Client Tutorial Part 2</a></strong> Ed Burnette (SAS) August 9, 2004
      (Updated November 21, 2005 for Eclipse 3.1)
      <br>
      The Rich Client Platform (RCP) allows you to build
Java applications that can compete with native applications on any
platform. Part 1 of the tutorial introduced you to the platform and the
steps used to build the smallest possible RCP program. In part 2 we'll
look at what we did in more detail and introduce some of the
configuration classes that let you take control of much of the layout
and functionality of an RCP application. This part has been updated for
Eclipse 3.1.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Plugging-into-SourceForge/sourceforge.html">Plugging
      into SourceForge.net</a></strong> David Biesack (SAS) October 15, 2005<br>
      Congratulations on taking the plunge and writing an open source
      plug-in for the Eclipse platform.
      SourceForge.net can provide a good home your plug-in, but
      information on how best to set up an Eclipse project there is sparse.
      This article is an introduction to SourceForge for the Eclipse
      developer. You will learn the features available to the
      SourceForge.net open source developer community and be guided
      through the process, from creating a SourceForge project to
      hosting your Eclipse Update site.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-WTP-Persisting-EMF/persisting.html">Persisting
      EMF models with WTP</a></strong> Daniel Rohe October 10, 2005<br>
      This article will guide you through an example where an EMF model is created
      without serialization and the serialization is done with the framework from
      the WTP plugin org.eclipse.wst.common.emf.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-RCP-1/tutorial1.html">Rich
      Client Tutorial Part 1</a></strong> Ed Burnette (SAS) July 28,
      2004 (updated July 2005 for Eclipse 3.1)<br>
      The Rich Client Platform (RCP) is an exciting new way to build Java applications that can compete with native applications on any platform. This tutorial is designed to get you started building RCP applications quickly.
      It has been updated for Eclipse 3.1.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-VE-Custom-Widget/customwidget.html">
      Extending The Visual Editor</a></b>
      Dave Orme (db4objects), Gili Mendel (IBM), Joe Winchester (IBM)
      June 20, 2005
      <br>
      This tutorial 
      shows how to extend the Visual Editor to support a custom widget.
      It covers topics such as adding to the Visual Editor's palette,
      building a BeanInfo class, and working with
      EMF .override files to
      introduce custom editor behavior.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-GEF-EMF/gef-emf.html">
      Using GEF with EMF</a></b>
      Chris Aniszczyk (IBM)
      June 8, 2005
      <br>
      The Graphical Editing Framework (GEF) provides a framework for
      creating visual editors while being model agnostic. In most cases, people
      bring their own model which tend to be based on Plain Old Java Objects
      (POJOs). An alternative using POJOs is the Eclipse Modeling Framework
      (EMF), which provides many features for manipulating models that aren't
      found in POJOs. The purpose of this article is to build upon the shapes
      example provided by GEF using the Eclipse Modeling Framework (EMF) and to
      provide an introduction using EMF based models in GEF based editors.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-PDE-Automation/automation.html">
      Build and Test Automation for Plug-ins and Features</a></b>
      Markus Barchfeld (Zuehlke Engineering)
      May 29, 2005
      <br>
      Eclipse offers the possibility to build plug-ins automatically outside
      the Eclipse IDE, which is called "headless build". Eclipse itself is
      built headless and since Eclipse is an assembly of plug-ins, this feature
      is also available for any other plug-in. Although the set up of automatic
      building and testing requires only a couple of files, it can be tedious
      work to do nonetheless. This article shares the experiences and lessons
      learned while setting up automatic building and testing for an
      Open-Source Eclipse plug-in called RDT, Ruby Development Tools.
      </font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">General</font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Plugging-into-SourceForge/sourceforge.html">Plugging
      into SourceForge.net</a></strong> David Biesack (SAS) October 15, 2005<br>
      Congratulations on taking the plunge and writing an open source
      plug-in for the Eclipse platform.
      SourceForge.net can provide a good home your plug-in, but
      information on how best to set up an Eclipse project there is sparse.
      This article is an introduction to SourceForge for the Eclipse
      developer. You will learn the features available to the
      SourceForge.net open source developer community and be guided
      through the process, from creating a SourceForge project to
      hosting your Eclipse Update site.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-PDE-Automation/automation.html">
      Build and Test Automation for Plug-ins and Features</a></b>
      Markus Barchfeld (Zuehlke Engineering)
      May 29, 2005
      <br>
      Eclipse offers the possibility to build plug-ins automatically outside
      the Eclipse IDE, which is called "headless build". Eclipse itself is
      built headless and since Eclipse is an assembly of plug-ins, this feature
      is also available for any other plug-in. Although the set up of automatic
      building and testing requires only a couple of files, it can be tedious
      work to do nonetheless. This article shares the experiences and lessons
      learned while setting up automatic building and testing for an
      Open-Source Eclipse plug-in called RDT, Ruby Development Tools.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-RCP-1/tutorial1.html">Rich
      Client Tutorial Part 1</a></strong> Ed Burnette (SAS) July 28,
      2004 (updated July 2005 for Eclipse 3.1)<br>
      The Rich Client Platform (RCP) is an exciting new way to build Java applications that can compete with native applications on any platform. This tutorial is designed to get you started building RCP applications quickly.
      It has been updated for Eclipse 3.1.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-RCP-2/tutorial2.html">Rich
      Client Tutorial Part 2</a></strong> Ed Burnette (SAS) August 9, 2004
      (Updated November 21, 2005 for Eclipse 3.1)
      <br>
      The Rich Client Platform (RCP) allows you to build
Java applications that can compete with native applications on any
platform. Part 1 of the tutorial introduced you to the platform and the
steps used to build the smallest possible RCP program. In part 2 we'll
look at what we did in more detail and introduce some of the
configuration classes that let you take control of much of the layout
and functionality of an RCP application. This part has been updated for
Eclipse 3.1.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-RCP-3/tutorial3.html">Rich
      Client Tutorial Part 3</a></strong> Ed Burnette (SAS) July 28,
      2004<br>
      The Rich Client Platform (RCP) lets you pick and choose functionality from Eclipse for use in your own applications. Parts 1 and 2 of this tutorial introduced you to the platform and some of the configuration classes it provides. Part 3 discusses how to add functionality such as menus, views, and help files.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><a href="Article-PDE-does-plugins/PDE-intro.html"><strong>PDE
      Does Plug-ins</strong></a> Wassim Melhem (IBM) and Dejan Glozic (IBM) September
      8, 2003<br>
      The Plug-in Development Environment (PDE) provides a set of tools that assist
      the developer in every stage of plug-in development from genesis to deployment.
      This article chronicles the creation, development, testing, building, and
      deployment of a simple &quot;Hello World&quot; plug-in using a subset of
      these tools.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Internationalization/how2I18n.html">How
      to Internationalize your Eclipse Plug-In</a></b>&nbsp;Dan Kehn (IBM), Scott
      Fairbrother (IBM), and Cam-Thu Le (IBM) August 23, 2002<br>
      This article is a roadmap for writing Eclipse plug-ins destined for the
      international market. We'll begin with a brief review of the motivations
      and technical challenges of internationalization, followed by step-by-step
      instructions of how to internationalize your Eclipse plug-in. </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-TVT/how2TestI18n.html">How
      to Test Your Internationalized Eclipse Plug-In</a></strong> Dan Kehn (IBM)
      August 23, 2002<br>
      This article shows you how to validate your internationalized product and
      prepares you for the types of common problems you can expect during translation
      testing. It includes an Eclipse plug-in that defines a <i>Properties File
      Compare</i> view that can help your translation testers find errors more
      quickly.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Branding/branding-your-application.html">
      Branding Your Application</a></b>&nbsp;Andrew Eidsness and Pascal Rapicault
      (IBM) September 16, 2004 <br>
      In this article we look at how to create branding for your Eclipse-based
  application. Branding is how you change the high level visual elements of your
  product. This includes items such as the splash screen, the about dialog, and
  the program executable.</font></td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-API%20use/eclipse-api-usage-rules.html">
      How to Use the Eclipse API</a></b>&nbsp;Jim des Rivieres&nbsp;(OTI) April
      24, 2001 <br>
      The Eclipse Platform offers a comprehensive API (Application Programmer
      Interface) to developers writing plug-ins. This article discusses the general
      ground rules for using the Eclipse Platform API, including how to tell API
      from non-API, and how to stay in the API "sweet spot" to avoid the risk
      of being broken as the platform and its APIs evolve. These general ground
      rules are also recommended practice for plug-ins that must declare API elements
      of their own. </font></td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Levels-Of-Integration/Levels%20Of%20Integration.html">
      Levels of Integration</a></b>&nbsp;Jim Amsden&nbsp;(OTI) March 25, 2001
      <br>
      The types of problems web application developers face today require the
      use of a diverse set of tools that operate in many domains. In order to
      provide flexible tool integration, a tool integration platform must allow
      tool developers to target different levels or integration based on the desired
      level of investment, time to market, and specific tool needs. Each integration
      level determines how a tool must behave, and what end users can expect as
      a result. This article defines the different levels of tool integration
      supported by Eclipse, and gives an overview of how they work. </font>
    </td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Accessibility/accessibility.html">Designing
      Accessible Plug-ins in Eclipse</a></strong> Tod Creasey (IBM) May 20, 2003<br>
      Accessibility for the disabled is now a priority in application development
      as advances in techniques and support within operating systems have now
      made this possible. This article covers the Eclipse accessibility support,
      general tips for creating accessible plug-ins, and the types of disabilities
      that the Eclipse accessibility support assists. This is all illustrated
      using an example of making a view accessible.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Monitor/monitorArticle.html">Building
      administrative applications in Eclipse</a></b>&nbsp;Doina Klinger and Chris
      Markes (IBM) November 12, 2004</font><br>
      Eclipse is most commonly used as a platform for tools that allow the
        user to construct or assemble an end product out of development resources.
        It is less usual to use Eclipse as an administrative tool for monitoring
        existing runtime systems or applications. This article will describe some
        of the issues that arise in this case and illustrate possible solutions.
        It will show you can build an Eclipse perspective dedicated to the monitoring
        task. Running processes are shown in a dedicated view which always reflects
        their current state. You can start/stop the process, manage connections,
        invoke operations that the server exposes, examine server output and view
        events generated by the running applications.</td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF"><a name="core">Core</a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Resource-deltas/resource-deltas.html">How
      You've Changed! Responding to resource changes in the Eclipse workspace
      (Revised for 3.0)
      </a></strong> John Arthorne (OTI) November 23, 2004<br>
      Many tools and user interface elements are interested in processing resource
      changes as they happen. For example, the task list wants to update new or
      changed markers, the navigator wants to reflect added and deleted resources,
      and the Java compiler wants to recompile modified Java files. Such notifications
      are potentially costly to compute, manage and broadcast. The Eclipse Platform
      resource model includes a series of mechanisms for efficiently notifying
      clients of resource changes. This article outlines these facilities and
      gives some examples of their use.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Builders/builders.html">Project
      Natures and Builders (Revised for 3.0)</a> </strong> John Arthorne (IBM)
      November 23, 2004<br>
      This article discusses two central mechanisms that are associated with projects
      in an Eclipse workspace. The first of these is incremental project builders,
      which create some built state based on the project contents, and then keep
      that built state synchronized as the project contents change. The second
      is project natures, which define and manage the association between a given
      project and a particular plug-in or feature. The purpose and uses of builders
      and natures will be described in detail, and working examples will be provided
      to highlight the finer details of implementing them for your own plug-in.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Plug-in-architecture/plugin_architecture.html">Notes
      on the Eclipse Plug-in Architecture</a> </strong> Azad Bolour (Bolour Computing)
      July 3, 2003<br>
      Eclipse plug-ins embody an architectural pattern for building an application
      from constituent parts. This article presents an in-depth view of the participant
      roles and collaborations of this architectural pattern, as they exist in
      an instance of the Eclipse workbench. The goal is to provide an understanding
      of plug-ins, and of how plug-in extensions are defined and processed, independently
      of the mechanics of using the Eclipse workbench to produce plug-ins.</font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Debug<a name="debug"></a></font></b></td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Launch-Framework/launch.html">
      We Have Lift-off: The Launching Framework in Eclipse</a></b> Joe Szurszewski
      (IBM) January 8, 2003<br>
      The ability to launch (run or debug) code under development is fundamental
      to an IDE. But because Eclipse is more of a tools platform than a tool itself,
      Eclipse's launching capabilities depend entirely on the current set of installed
      plug-ins. This article describes the API available to build launching plug-ins
      and works through developing an example launcher using this API.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Java-launch/launching-java.html">
      Launching Java Applications Programmatically</a></b> Darin Wright (IBM)
      August 26, 2003<br>
  Application developers require the ability to run and debug code in order to
  test it. Tool developers require the ability to launch Java applications that
  assist in application development - for example, starting and stopping a web
  server on which servlets, JSPs, and HTML pages can be tested; or launching a
  VM on which scrapbook evaluations can be performed. This article focuses on
  the high level API provided by the Java launching plug-in that tool developers
  can leverage for the programmatic launching of local Java applications.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Debugger/how-to.html">
      How to write an Eclipse debugger</a></strong> Darin Wright (IBM) and Bjorn
      Freeman-Benson (Predictable Software) August 27, 2004<br>
One of the major tasks of adding a new language to an Eclipse-based IDE is debugging support. A debugger needs to start and stop the
program being debugged, suspend and resume, single-step, manage breakpoints and watch points,
and so on. This article explains the Eclipse Platform debug framework and steps through a
simple, yet illustrative, example of adding debug support for a new language.</font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Help<a name="help"></a></font></b></td>
  </tr>
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Online%20Help%20for%202_0/help1.htm">
      Help - Part 1: Contributing a Little Help (Revised for 2.0)</a></b>&nbsp;Greg
      Adams (OTI) and Dorian Birsan&nbsp;(IBM) August 9, 2002<br>
      The Eclipse Platform&#8217;s help system defines two extension points (<code>"toc"
      </code>and<code> "contexts"</code>) that allow individual plug-ins to contribute
      online help and context-sensitive help for their components. In this article
      we will investigate the <code>"toc"</code> extension point and how you can
      use it to contribute documentation for your plug-in.</font></td>
  </tr>
  <!-- Add the Articles -->
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">SWT<a name="SWT"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-SWT-OpenGL/opengl.html">
      Using OpenGL with SWT</a></b>
      Bo Majewski (Cisco)
      April 15, 2005
      <br>
	OpenGL is a vendor-neutral, multi-platform standard for creating
	high-performance 2D and 3D graphics. Hardware and software implementations
	exist on  various operating systems, including Windows, Linux and
	MacOS. OpenGL may be used to render simple 2D charts or complex 3D games. This
	article describes an experimental Eclipse plug-in that facilitates the use
	of OpenGL for drawing onto SWT widgets. A short history and overview of
	OpenGL is presented, followed by an example application.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Understanding%20Layouts/Understanding%20Layouts.htm">Understanding
      Layouts in SWT (Revised for 2.0)</a></b><a href="preferences/preferences.htm">&nbsp;</a>
      <span style='mso-bookmark:_Toc509864523'><span
style='mso-bookmark:_Toc496069418'><span lang=EN-US style='mso-ansi-language:
EN-US'>Carolyn MacLeod (OTI)</span></span></span>, <span style='mso-bookmark:_Toc509864523'><span
style='mso-bookmark:_Toc496069418'><span lang=EN-US style='mso-ansi-language:
EN-US'>Shantha Ramachandran</span></span></span> (OTI) April 24, 2002</font> <br>
      <font face="arial,helvetica,geneva"><font size=-1> <span style='mso-bookmark:_Toc509864523'><span
style='mso-bookmark:_Toc496069418'><span lang=EN-US style='mso-ansi-language:
EN-US'>When writing applications in SWT, you may need to use <i style='mso-bidi-font-style:
normal'>layouts</i> to give your windows a specific look. A layout controls the
      position and size of children in a <i style='mso-bidi-font-style:normal'>Composite</i>.
      Layout classes are subclasses of the abstract class <i style='mso-bidi-font-style:
normal'>Layout</i>. This article shows you how to work with standard layouts,
      and write your own custom layout class.</span></span></span></font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="swt-design-2/swt-design-2.html">SWT:
      The Standard Widget Toolkit - Part 2</a></b>&nbsp;Carolyn MacLeod (OTI)
      and Steve Northover (OTI) November 27, 2001</font> <br> <font face="arial,helvetica,geneva"><font size=-1>
      SWT uses operating system resources to deliver its native graphics and widget
      functionality. Allocating and freeing operating system resources is traditionally
      an area of programming that is error prone. Languages that include garbage
      collection, such as the Java™ language, relieve the programmer from the
      burden of managing memory, but not from the allocation and freeing of operating
      system resources. This article discusses the simple strategy used by SWT
      to help application designers manage operating system resources. </font></font></td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="StyledText%201/article1.html">
      Getting Your Feet Wet with the SWT StyledText Widget (Revised for 3.0)</a></b>&nbsp;Lynne
      Kues (OTI) and Knut Radloff&nbsp;(OTI) </font>July 19, 2004<br> <font face="arial,helvetica,geneva"><font size=-1>
      The StyledText widget is a customizable widget that can be used to display
      and edit text with different colors and font styles. This article presents
      an overview of the concepts, issues, and rules that you should be aware
      of when using the StyledText widget.</font></font></td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td> <p><font face="arial,helvetica,geneva" size=-1><b><a href="StyledText%202/article2.html">Into
        the Deep End of SWT StyledText Widget (Revised for 2.0)</a></b>&nbsp;Lynne
        Kues (OTI) and Knut Radloff&nbsp;(OTI) September 18, 2002</font><br>
        <font face="arial,helvetica,geneva"><font size=-1> This is the second
        of two articles on the SWT StyledText widget. This article dives into
        some of the more advanced concepts of StyledText and builds on the previous
        article </font></font><font face="arial,helvetica,geneva" size="-1">&quot;Getting
        Your Feet Wet With the SWT StyledText Widget&quot;. </font><br>
      </p></td>
  </tr>
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="SWT%20Color%20Model/swt-color-model.htm">
      SWT Color Model</a></b>&nbsp;James Moody (OTI) and Carolyn MacLeod (OTI)
      April 24, 2001</font> <br> <font face="arial,helvetica,geneva"><font size=-1>
      The combination of platforms, display devices and color depth makes providing
      an easy to use yet powerful and portable color model an interesting challenge.
      In this article we will examine the color management models of Windows and
      X/Motif and then dig into the makings of the SWT color model and its implications
      for client code. </font></font> </td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-SWT-Design-1/SWT-Design-1.html">
      SWT: The Standard Widget Toolkit - Part 1</a></b>&nbsp;Steve Northover&nbsp;
      (OTI) March 22, 2001</font> <br> <font face="arial,helvetica,geneva"><font size=-1>
      SWT is the software component that delivers native widget functionality
      for the Eclipse platform in an operating system independent manner. It is
      analogous to AWT/Swing in Java with a difference - SWT uses native widgets.
      This article is the first in series of articles that discuss the SWT widget
      toolkit. This article discusses the low level implementation techniques
      used to implement SWT on different platforms. Examples are drawn from the
      windows and Motif implementations. </font></font> </td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-ActiveX%20Support%20in%20SWT/ActiveX%20Support%20in%20SWT.html">
      ActiveX Support in SWT</a></b>&nbsp;Veronika Irvine&nbsp; (OTI) March 22,
      2001</font> <br> <font face="arial,helvetica,geneva"><font size=-1> OLE
      Documents, such as Word, Excel or PowerPoint, and ActiveX Controls such
      as Internet Explorer are COM objects that can be embedded into other applications
      running on a Microsoft Windows platform. This article provides an overview
      of OLE and how to integrate OLE Documents and ActiveX Controls into an application
      using SWT. </font></font><br> </td>
  </tr>
  <!-- Add the Articles -->
  <!-- Add the Articles -->
  <tr>
    <td ALIGN=RIGHT VALIGN=TOP><img SRC="images/Adarrow.gif" BORDER=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Writing%20Your%20Own%20Widget/Writing%20Your%20Own%20Widget.htm">
      Creating Your Own Widgets using SWT</a></b>&nbsp;Steve Northover (OTI) &
      Carolyn MacLeod&nbsp; (OTI) March 22, 2001</font> <br> <font face="arial,helvetica,geneva"><font size=-1>
      When writing applications, you typically use the standard widgets provided
      by SWT. On occasion, you will need to extend the set of base widgets by
      creating your own custom widgets. For example, you might want to add a new
      type of widget not provided by the standard widgets, or extend the functionality
      of an existing widget. This article explains the different SWT extension
      strategies and shows you how to use them. </font></font><br> </td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-SWT-graphics/SWT_graphics.html">Graphics
      Context - Quick on the draw</a></strong> Joe Winchester (IBM) July 3, 2003<br>
      The package <code>org.eclipse.swt.graphics</code> contains classes that
      allows management of graphics resources. Graphics can be drawn on anything
      that implements <code>org.eclipse.swt.graphics.Drawable, </code>which includes
      <code>org.eclipse.swt.widgets.Control</code> and <code>org.eclipse.swt.graphics.Image</code>.
      The class <code>org.eclipse.swt.graphics.GC </code>encapsulates all of the
      drawing API, including how to draw lines and shapes, draw text and images
      and fill shapes. This article shows how to use a GC to draw onto an Image,
      or onto a control through its paintEvent callback. The Canvas control, specifically
      designed for drawing operations, has a number of constructor style bits
      that allow you to determine when and how painting occurs, and the article
      shows how to use these.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b>
	<a href="Article-SWT-DND/DND-in-SWT.html">Drag and Drop - Adding Drag and Drop to an SWT Application</a></b>&nbsp;Veronika Irvine&nbsp;(IBM) August 25, 2003<br>
	Drag and drop provides a quick and easy mechanism for users to re-order and transfer
	data within an application and between applications. This article is an overview of how
	to implement Drag and Drop and Clipboard data transfers within an SWT
	application.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-SWT-images/graphics-resources.html">Taking
      a look at SWT Images</a></strong> Joe Winchester (IBM) September 10, 2003<br>
      SWT's Image class can be used to display images in a GUI. The most common
      source of images is to load from a standard file format such as GIF, JPEG,
      PNG, or BMP. Some controls, including Buttons and TreeItems, are able to
      display an Image directly through the setImage(Image) method, but any control's
      paint event allows images to be drawn through the callback's graphic context.
      SWT's ImageData class represents the raw data making up an SWT Image and
      determines the color for each pixel coordinate. This article shows the correct
      uses of ImageData and Image, shows how to load images from files, and how
      to achieve graphic effects such as transparency, alpha blending, animation,
      scaling, and custom cursors.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-small-cup-of-swt/pocket-PC.html">A
      small cup of SWT</a></strong> Christophe Cornu (IBM) September 19, 2003<br>
      Are you interested in developing applications for the Microsoft Pocket PC?
      Are you a desktop developer curious about embedded user interfaces? A well-built
      embedded application is both user and resource friendly. User expectations
      are high, but resources are very limited. This article contains a bag of
      hints, tricks, and recipes for developing SWT apps on the Pocket PC.</font></td>
  </tr>
   <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Image-Viewer/Image_viewer.html">A
      Basic Image Viewer</a></strong> Chengdong Li (University of Kentucky) March
      15, 2004<br>
      This article shows how to extend SWT <code>Canvas</code> to implement a mini image viewer plug-in using Java2D
transforms. The
extended image canvas can be used to scroll and zoom large images, and can also
be extended to apply other transforms. The implementation is based on SWT and
the non-UI portions of AWT. The plug-in has been tested on Windows, Linux GTK, and Mac
OS X Carbon with Eclipse 2.1 or better.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-SWT-browser-widget/browser.html">Viewing
      HTML pages with SWT Browser widget</a></strong> Christophe Cornu (IBM) August
      26, 2004<br>
    This article explains how to add HTML viewing capability to an SWT application. The Browser widget provides an easy way to integrate rich HTML content into your application.</font></td>
  </tr>
 <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Workbench
      &amp; JFace<a name="ui"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Folding-in-Eclipse-Text-Editors/folding.html">Folding
      in Eclipse Text Editors</a></b>&nbsp;Prashant Deva March 11, 2005<br>
      Starting with release 3.0, Eclipse allows folding in its text
      editor. In this article, I explain the new projection infrastructure
      introduced in the JFace Text framework and show how to extend the XML
      Editor example provided with Eclipse to allow folding of text.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-UI-Guidelines/Contents.html" target="_top">Eclipse
      User Interface Guidelines, Version 2.1</a></b> Nick Edgar, Kevin Haaland,
      Jin Li, and Kimberley Peter (IBM) February 2004</font><br>
      <font face="arial,helvetica,geneva"><font size=-1> User Interface Guidelines &quot;best practices&quot;
      document intended for use by designers and implementors of an Eclipse user
      interface extension. (<a href="Article-UI-Guidelines/v200202/Index.html" target="_top">Earlier
      version of the guidelines.</a>)</font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><a href="Article-Field-Editors/field_editors.html"><strong>Simplifying
      Preference Pages with Field Editors</strong></a> Ryan Cooper (OTI) August
      21, 2002</font><br> <font face="arial,helvetica,geneva"><font size=-1>Even
      though preference pages can be simple to program, you can spend a lot of
      time getting them &quot;just right.&quot; Field editors make this task faster
      and easier by providing the behavior for storing, loading, and validating
      preferences. Field editors also define some of the behavior for grouping
      and laying out widgets on a preference page.</font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="treeviewer-cg/TreeViewerArticle.htm">How
      to use the JFace Tree Viewer</a></b><a href="preferences/preferences.htm">&nbsp;</a>
      Chris Grindstaff (Applied Reasoning) May 2, 2002</font> <br> <font face="arial,helvetica,geneva"><font size=-1>
      <span style='mso-bookmark:_Toc509864523'><span
style='mso-bookmark:_Toc496069418'>The goal of this article is to teach you how
      to use TreeViewers in your Eclipse plug-ins or stand-alone JFace/SWT applications.
      We&#8217;ll start with a simple example and progressively add functionality.
      </span></span></font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Preferences/preferences.htm">Preferences
      in the Eclipse Workbench UI (Revised for 2.0)</a></b>&nbsp;Tod Creasey (OTI)
      August 15, 2002</font><br>
      <font face="arial,helvetica,geneva"><font size=-1> In the Eclipse Platform
      plug-in developers define preference pages for their plug-ins for use in
      the Workbench Preferences Dialog. This article explains when to use a preference
      and some of the features the Eclipse Platform provides to support preferences.
      </font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="viewArticle/ViewArticle2.html">
      Creating an Eclipse View</a></b>&nbsp;Dave Springgay (OTI) November 2, 2001</font>
      <br>
      <font face="arial,helvetica,geneva"><font size=-1> In the Eclipse Platform
      a view is typically used to navigate a hierarchy of information, open an
      editor, or display properties for the active editor.&nbsp; In this article
      the design and implementation of a view will be examined in detail.&nbsp;
      You'll learn how to create a simple view based on SWT, and a more advanced
      view using the JFace viewer hierarchy.&nbsp; We'll also look at ways to
      achieve good integration with many of the existing features in the workbench,
      such as the window menu and toolbar, view linking, workbench persistence
      and action extension.</font></font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-JFace%20Wizards/wizardArticle.html">
      Creating JFace Wizards</a></b> Doina Klinger (IBM) December 16, 2002<br>
      This article shows you how to implement a wizard using the JFace toolkit
      and how to contribute your wizard to the Eclipse workbench. A wizard whose
      page structure changes according to user input is implemented to demonstrate
      the flexibility of wizard support.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b> <a href="Article-action-contribution/Contributing%20Actions%20to%20the%20Eclipse%20Workbench.html">Contributing
      Actions to the Eclipse Workbench</a></b>&nbsp;</font>Simon Arsenault <font face="arial,helvetica,geneva" size=-1>
      (OTI)</font> October 18, 2001<br>
      <font face="arial,helvetica,geneva"><font size=-1> The Eclipse Platform
      is an open and extensible platform. This article explains in detail how
      the Workbench can be extended to add new actions and provides guidance to
      the plug-in developers on how they can design for extensibility.</font></font><br> </td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="using-perspectives/PerspectiveArticle.html">
      Using Perspectives in the Eclipse UI</a></b>&nbsp;Dave Springgay (OTI) &nbsp;August
      27, 2001</font> <br>
      <font face="arial,helvetica,geneva"><font size=-1> In the Eclipse Platform
      a Perspective determines the visible actions and views within a window.&nbsp;
      Perspectives also go well beyond this by providing mechanisms for task oriented
      interaction with resources in the Eclipse Platform, multi-tasking and information
      filtering.&nbsp; In this article the concepts behind perspectives are examined.&nbsp;
      The process for perspective definition, extension and instantiation will
      also be covered in detail with coding examples and sample scenarios.</font></font>
    </td>
  </tr>
  <!-- Add the Articles -->
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Using%20Images%20In%20Eclipse/Using%20Images%20In%20Eclipse.html">
      Using Images in the Eclipse UI (Revised for 2.0)</a></b>&nbsp;John Arthorne&nbsp;(OTI)
      September 12, 2002<br>
      Managing images in a large graphical application can be a daunting task.
      Since modern operating systems such as Windows only support a small number
      of images in memory at once, an application’s icons and background images
      must be carefully managed and sometimes shared between widgets. This article
      describes the image management facilities provided by the Eclipse Platform,
      along with some best practice guidelines to keep in mind when writing your
      own Eclipse UI plug-ins. We assume the reader already has a basic understanding
      of Eclipse, the UI extension points defined by the Eclipse Platform, and
      the Standard Widget Toolkit (SWT).</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Mark%20My%20Words/Mark%20My%20Words.html">
      Mark My Words</a></b>&nbsp;Dejan Glozic (IBM) and Jeff McAffer (OTI)&nbsp;April
      1, 2001</font> <br>
      <font face="arial,helvetica,geneva"><font size=-1> Eclipse workbench has
      a central mechanism for managing resource annotations. They are called markers.
      In this article, you will learn how to use markers to mark-up resources
      as well as how to define your own marker types and enhance the Tasks view
      to handle them in a special way. </font></font> </td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Decorators/decorators.html">
      Understanding Decorators in Eclipse</a> </b>Balaji Krish-Sampath (IBM) January
      16, 2003</font> <br>
      Decorators, as the name suggests, are used for adorning/annotating resources
      with useful information. Decorators can be used by plug-ins to convey more
      information about a resource and other objects displayed in different workbench
      views.&nbsp; This article, with the help of a simple plug-in example, will
      illustrate the steps involved in decorating resources, along with some best
      practice approaches for decorating resources. Finally, we will discuss performance
      issues that may arise when enabling decorators, and briefly go over the
      new Lightweight decorators found in Eclipse 2.1.</td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Properties-View/properties-view.html">Take
      control of your properties</a> </strong> Dicky Johan (Broadvision) May 20,
      2003<br>
      The Eclipse workbench provides a properties view which is used to view (and/or
      edit) properties of a selected item. In this article, you will learn how
      to use the properties view to dynamically modify the properties of a GUI
      button. </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Table-viewer/table_viewer.html">Building
      and delivering a table editor with SWT/JFace</a></strong> Laurent Gauthier
      (Mirasol Op'nWorks) July 3, 2003<br>
      The JFace API provides several classes that can be used to build editable
      table views. In this article, we present a fairly extensive example that
      exercises the JFace and SWT classes needed to implement a table with cell
      editors for check-boxes, free text and combo-boxes. We also show how to
      package and deliver the classes into a stand-alone (non-Eclipse) Java application.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b> <a href="Article-Workbench-DND/drag_drop.html">Drag
      and Drop in the Eclipse UI</a></b>&nbsp;John Arthorne&nbsp;(IBM) August
      25, 2003<br>
  In this article, we discuss the drag and drop facilities provided by JFace and
  the Eclipse platform UI. After reading this, you will know how to add drag and
  drop support to your own Eclipse views, and how that support will interact with
  the standard views in the Eclipse platform. Along the way, we'll also discuss
  that keyboard relative of drag and drop: cut and paste. You'll learn that putting
  your own custom objects on the clipboard is easy once you've figured out the
  basics of drag and drop. This article is intended to be read as a companion
  to the <a href="Article-SWT-DND/DND-in-SWT.html">SWT
  drag and drop article</a>.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-Mutatis-mutandis/overlay-pages.html">Mutatis
      mutandis - Using Preference Pages as Property Pages</a></strong> Berthold
      Daum (bdaum industrial communications) October 24, 2003<br>
      A common problem in the implementation of applications is the implementation of
      project-specific properties that override workbench-wide preferences on project or file level. The
      naive approach is to implement these pages from scratch. However, writing the
      same code twice is a boring task and leads to increased maintenance efforts. In
      this article we show how existing preferences pages (with or without field
      editors) can be easily converted into pages that can act as both preference and
      property pages. We demonstrate this by implementing the abstract class <code>FieldEditorOverlayPage</code>
      providing the necessary functionality.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Concurrency/jobs-api.html">
      On the Job: The Eclipse Jobs API</a></b>&nbsp;Michael Valenta (IBM) September
      20, 2004<br>
      This article looks at the new Jobs API available as part of Eclipse 3.0<b>.</b>
      It describes the main portions of the Jobs API and the use of scheduling
      rules. It also describes some changes to Eclipse resource management including
      how the Resources plug-in integrates with the new API. Finally, it describes
      some new UI functionality that has been added to provide feedback to users
      about jobs that are run in the background.</font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Team<a name="team"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><a href="Article-CVS-branching/eclipse_branch.html"><strong>Branching
      with Eclipse and CVS</strong></a> Paul Glezen </font><font face="arial,helvetica,geneva" size=-1>(IBM)
      July 3, 2003<br>
      This article presents a brief branch and merge scenario designed to quickly
      illustrate some branch and merge features of Eclipse's CVS integration.
      I assume the reader already appreciates the value of branching and merging
      in a source control environment. Little is said to justify it here. Rather,
      a step-by-step scenario illustrates the common branch and merge operations
      using Eclipse-based IDEs with CVS as the source control mechanism.</font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Update<a name="update"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><a href="Article-Update/keeping-up-to-date.html"><strong>How
      To Keep Up To Date</strong></a> Dejan Glozic (IBM) and Dorian Birsan (IBM)
      August 27, 2003<br>
  This article shows you how to create and publish bundles of plug-ins (called
  features) to an update site so that customers can download and install them
  directly into Eclipse using the Eclipse update manager. This has many advantages
  over the low tech way of delivering new or updated plug-ins in a zip file that
  someone manually unzips into the directory where Eclipse is installed.</font></td>
  </tr>
  <tr>
    <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">Beyond
      the Eclipse Platform<a name="other"></a></font></b></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP> <img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><strong><a href="Article-WTP-Persisting-EMF/persisting.html">Persisting
      EMF models with WTP</a></strong> Daniel Rohe October 10, 2005<br>
      This article will guide you through an example where an EMF model is created
      without serialization and the serialization is done with the framework from
      the WTP plugin org.eclipse.wst.common.emf.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-VE-Custom-Widget/customwidget.html">
      Extending The Visual Editor</a></b>
      Dave Orme (db4objects), Gili Mendel (IBM), Joe Winchester (IBM)
      June 20, 2005
      <br>
      This tutorial 
      shows how to extend the Visual Editor to support a custom widget.
      It covers topics such as adding to the Visual Editor's palette,
      building a BeanInfo class, and working with
      EMF .override files to
      introduce custom editor behavior.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-GEF-EMF/gef-emf.html">
      Using GEF with EMF</a></b>
      Chris Aniszczyk (IBM)
      June 8, 2005
      <br>
      The Graphical Editing Framework (GEF) provides a framework for
      creating visual editors while being model agnostic. In most cases, people
      bring their own model which tend to be based on Plain Old Java Objects
      (POJOs). An alternative using POJOs is the Eclipse Modeling Framework
      (EMF), which provides many features for manipulating models that aren't
      found in POJOs. The purpose of this article is to build upon the shapes
      example provided by GEF using the Eclipse Modeling Framework (EMF) and to
      provide an introduction using EMF based models in GEF based editors.
      </font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Using%20EMF/using-emf.html">
      Using EMF</a></b>&nbsp;Catherine Griffin&nbsp;(IBM) December 9, 2002 (updated
      May 2003 for EMF 1.1)<br>
      This article introduces EMF, the Eclipse Modelling Framework, and will help
      you get started using EMF in your own Eclipse plug-ins.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-JET/jet_tutorial1.html">
      JET Tutorial Part 1 (Introduction to JET)</a></b>&nbsp;Remko Popma (Azzurri
      Ltd.) July 30, 2003 (updated May 2004 for EMF 2.0)<br>
      Generating source code can save you time in your projects and can reduce
      the amount of tedious redundant programming. Generating source code can
      be powerful, but the program that writes the code can quickly become very
      complex and hard to understand. One way to reduce complexity and increase
      readability is to use templates. The Eclipse Modeling Framework (EMF) project
      contains two very powerful tools for generating source code: JET (Java Emitter
      Templates) and JMerge (Java Merge). With JET you can use a JSP-like syntax
      (actually a subset of the JSP syntax) that makes it easy to write templates
      that express the code you want to generate. JET is a generic template engine
      that can be used to generate SQL, XML, Java source code and other output
      from templates. </font>In this article you will learn how to create JET
      templates, how to use the JET Nature and JET Builder to automatically translate
      templates into Java classes, and how to use these classes to generate source
      code. This article also provides a short reference to the JET syntax.</td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-JET2/jet_tutorial2.html">
      JET Tutorial Part 2 (Write Code that Writes Code)</a></b>&nbsp;Remko Popma
      (Azzurri Ltd.) August 26, 2003 (updated May 2004 for EMF 2.0)<br>
      In Part 2 of this JET (Java Emitter Templates) tutorial, we will take a
      look at the JET engine API. You will learn how to write plug-ins that use
      the classes in the JET package to generate Java source code. As a real-world
      example, we will create a plug-in that takes user input and generates a
      Typesafe Enumeration class. The generated source code is based on a JET
      template that can be distributed with the plug-in, allowing users of the
      plug-in to customize the generated code by editing the template. This article
      also provides a short reference to the JET API.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-GEF-Draw2d/GEF-Draw2d.html">
      Display a UML Diagram using Draw2D</a></b>&nbsp;Daniel Lee&nbsp;(IBM) August
      25, 2003<br>
      The Graphical Editing Framework (GEF) ships with a painting and layout plug-in
      called Draw2D. Draw2D provides figures and layout managers which form the
      graphical layer of a GEF application. This article focuses only on the use
      of Draw2D to render a simple UML class diagram. While Draw2D can be used
      for standalone purposes, it is not an editing framework. Most applications
      will use the GEF plug-in as the editing layer.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b> <a href="Article-GEF-dnd/GEF-dnd.html">Using
      Native Drag and Drop with GEF</a></b>&nbsp;Eric Bordeau&nbsp;(IBM) August
      25, 2003<br>
	Native drag and drop provides the ability to drag data from one GUI object to another GUI
	object, which could potentially be in another application. GEF allows access to the operating
	system's underlying drag and drop infrastructure through SWT. This article will provide an in-depth look at GEF&#39;s drag and drop functionality and show some simple
	examples of how to take advantage of this API.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-GEF-editor/gef-schema-editor.html">
      Building a Database Schema Diagram Editor with GEF</a></b>&nbsp;Phil Zoio
      (Realsolve Solutions) September 27, 2004<br>
      GEF is a very powerful framework for visually creating and editing models. With a small initial investment,
  even the relative Eclipse novice can be quickly up and running, building applications with graphical editing capabilities.
  To illustrate, this article uses a relational database schema diagram editor with a deliberately
  simplified underlying model, but with enough bells and whistles to show some of the interesting features of GEF at work.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-EMF-goes-RCP/rcp.html">
      EMF goes RCP</a></b>&nbsp;Marcelo Paternostro (IBM) October 12, 2004<br>
      This article explains how you can use EMF to generate RCP applications. It assumes
  that you have already used EMF, or have at least read the articles and references
  available on the documentation section of the EMF web site.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-Rule%20Modeling%20With%20EMF/article.html">
      Modeling Rule-Based Systems with EMF</a></b>&nbsp;Chaur G. Wu
      November 30, 2004<br>
      There are examples of meta-models defined in ECore for modeling objects and
	  relational data. However, not much has been said about how to model rules. This
	  article will define a meta-model in ECore for modeling rule-based systems. We
	  will then use the meta-model to model the solution of a logical problem. Then
	  we will compose some JET templates and generate code from the model, run the
	  generated code through a rule engine and see that the logical problem is
	  correctly solved.</font></td>
  </tr>
  <tr>
    <td align=RIGHT valign=TOP><img src="images/Adarrow.gif" border=0 height=16 width=16></td>
    <td><font face="arial,helvetica,geneva" size=-1><b><a href="Article-GEF-diagram-editor/shape.html">
      A Shape Diagram Editor</a></b>&nbsp;Bo Majewski (Cisco) December 8, 2004<br>
      Graphical Editing Framework (GEF) provides a powerful foundation for creating
    editors for visual editing of arbitrary models. Its effectiveness lies in
    a modular build, fitting use of design patterns, and decoupling of components
    that comprise a full, working editor. To a newcomer, the sheer number and
    variety of concepts and techniques present in GEF may feel intimidating. However,
    once learned and correctly used, they help to develop highly scalable and
    easy to maintain software. This article aims to provide a gentle yet comprehensive
    introduction to GEF. It describes a shape diagram editor - a small, fully
    functional test case of core concepts.</font></td>
  </tr>
</table>

</body>
</html>

Back to the top