Combobox in Eclipse-Toolbar
Aus Wirthi's Wiki
Dieser Artikel beschreibt, wie man in Eclipse eine Combo-Box zur main-Toolbar hinzufügt. Die hier beschriebene Variante funktioniert ab Eclipse Version 3.3. Nebenbei gesagt: auf die gleiche Weise können auch andere SWT-Widgets als Combos in die Toolbar eingefügt werden.
[bearbeiten] Beschreibung
Folgende zwei Dateien sind zu ändern oder anzulegen:
[bearbeiten] plugin.xml
In der plugin.xml ist ein Eintrag für eine Menu-Erweiterung anzulegen:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar id="Test.toolbars.sampleToolbar">
<control
class="at.wirthi.toolbar.ComboInToolbar">
</control>
</toolbar>
</menuContribution>
</extension>
Insbesondere relevant ist dabei der control-Tag. Dessen class-Attribut gibt an, welche Klasse das hinzugefügte Widget steuert.
[bearbeiten] Contribution-Klasse
Die das Widget kontrollierende Klasse muss von org.eclipse.ui.menus.WorkbenchWindowControlContribution abgeleitet sein. Wichtig ist dabei, die Methode createControl zu überschreiben (sie ist ohnehin abstrakt), in der das Widget angelegt wird, und dieses auch zurück zu geben:
public class ComboInToolbar extends WorkbenchWindowControlContribution {
public ComboInToolbar() {
}
@Override
protected Control createControl(Composite parent) {
Combo combo = new Combo(parent, SWT.NORMAL);
return combo;
}
}
In diesem Beispiel wird das Combo nur (leer) angelegt. In der Praxis wird man es auch mit Werten befüllen, Listener registrieren, etc.
