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/