Combobox in Eclipse-Toolbar


Aus Wirthi's Wiki

Wechseln zu: Navigation, Suche

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.


Persönliche Werkzeuge