The Eclipse workbench contains a number of views, such as Outline, Navigator, Problems, Progress. The article represents how to create as simple Eclipse View (with example).

1??? Plug-in

1.1? ? Plugin.xml

Create a plugin project and define plugin.xml file.
a. extension point
???The org.eclipse.ui plug-in defines a single extension point for view contribution: org.eclipse.ui.views.
b. category
???A?category element?is used?to group a set of views within the Show View dialog.
c. view
?? Define?the basic attributes for the view: id, name, category, class and icon.

<plugin>

??? <extension point= "org.eclipse.ui.views" >

????? <category

?????????? id = "org.eclipse.birt.chart.examples.view.category"

?????????? name = "Charting Examples" >

????? </category>

????

????? <view

????? ?? id = "org.eclipse.birt.chart.examples.view.examplesview"

????? ?? name = "Examples View"

????? ?? category = "org.eclipse.birt.chart.examples.view.category"

????? ?? class = "org.eclipse.birt.chart.examples.view.ExamplesView"

????????? icon = "icons\obj16\chartselector.gif" />

?? </extension>

</plugin>


1.2? ? Plugin class

ExamplesPlugin.java is the main plug-in class to be used in the desktop. ?

public class ExamplesPlugin extends AbstractUIPlugin

{

private static ExamplesPlugin plugin ;

public ExamplesPlugin( )

????????????{

??????? ??????? super ( );

??????? ??????? plugin = this ;
????????????
}

}

?

2? ? Examples View

ExamplesView.java creates the view by inheriting all the behavior from ViewPart.java. All rendering happens inside createPartControl() method. The setFocus() method gives focus to this control. Both of these method will be called by the platform. ?

public class ExamplesView extends ViewPart

{

??????Examples instance = null ;

public void createPartControl(Composite parent)

{

instance = new Examples(parent);

instance .createGUI(parent);

}

public void dispose( )

{

??????? ????????? instance .dispose();

??????? ????????? instance = null ;

??????? ????????? super .dispose();

}

???????????? public void setFocus()

{

????????????????? instance .focus();

}

}

???????

3?? ?Examples

The actual GUI creation process is placed in Examples.java ?

public class Examples

{

??????? ??????????? public Example(Composite parent) { }

???????? ?publicvoidcreateGUI(Composite parent) {}

????????? public void setFocus() {}

}


??????

4?? ? ToolBar??? ??
???? Add toolbar contributions in ExamplesView.java as follows:?

final IActionBars actionBars = getViewSite().getActionBars();

IToolBarManager toolbarManager = actionBars.getToolBarManager();

?

Create toolbar in Examples.java, use an array (tools) to restore all information about tools (only applicable in STANDALONE):

private void createToolBar(Composite parent)

{

??????ToolBar toolbar = new ToolBar (parent, SWT. NONE );

for ( int i = 0; i < tools . length ; i++)

{

? ToolItem item = addToolItem(toolbar, tool);

}

}

private ToolItem addToolItem( final ToolBar toolbar, tool)

{

??????????ToolItem item = new ToolItem (toolbar, SWT. PUSH );

??????????item.setText ( ...);

??????????item.setToolTipText( ...);

??? item.setImage( ... );

}

?

Note: Some of information from Eclipse website: http://www.eclipse.org/