Icons für Eclipse-Plug-ins

Icons-Ordner

Die Icons werden im Ordner icons des Plug-ins abgelegt und nach folgenden Kategorien unterschieden:

  • Toolbar (tool)
  • Local Toolbar (lcl)
  • View bzw. Perspective (view)
  • Model Object (obj)
  • Overlay (ovr)
  • Wizard Banner (wizban)

Für jede dieser Kategorien gibt es einen Unterordner. Einige der Icons können einen der folgenden Zustände haben:

  • Enable (e)
  • Disable (d)
  • Color bzw. Active (c)

Die Größe der Icons ggf. auch unterschieden z. B. 16 für Icons mit 16 x 16 Pixel Größe.

Die Namen der Unterordner setzen sich aus den Kürzeln zusammen, die ich oben in Klammern angegeben habe. Die folgenden Unterordner sind üblich:

icons/
   clcl16
   ctool16
   cview16
   elcl16
   etool16
   eview16
   dlcl16
   dtool16
   dview16
   obj16
   ovr16
   wizban

Nicht jeder Ordner muss in jedem Plug-in verwendet werden und man kann natürlich nach dem selben Schema eigene Kategorien bilden.

Die Icons sind i. d. R. 16 x 16 Pixel groß. Die Overlayicons dafür sind 7 x8  Pixel groß. Der Wizard Banner ist normalerweise 75 x 58 Pixel groß.

Dateisuffixes

Die folgenden Suffixe für die Dateinamen der Icons werden verwendet:

Suffixe für die Dateinamen der Icons
Suffix Bedeutung Kategorie
*_wiz öffnet einen Wizard Wizard Banner, Wizard Icon
*_exec öffnet eine ausführbare Datei Toolbar
*_edit Verwendung innerhalb eines Editors Toolbar
*_nav Verwendung in der Navigator View Toolbar, Local Toolbar, View bzw. Perspective
*_misc Icons, die nicht woanders reinpassen Toobar, Views bzw. Perspective
*_tsk ein Task, den der Nutzer ausführen kann Local Toolbar, Overlay, Object, View bzw. Perspective
*_mode Schaltet den Modus einer View um Local Toolbar
*_menu Verwendung in Menüs Local Toolbar
*_ps Verwendung in der Properties View (Property Sheet) Local Toolbar, View bzw. Perspective
*_obj ein Modellobjekt Model Object
*_pal ein Modellobjekt in einer Palette Model Object
*_co ein Command Toolbar, Local Toolbar

Auch hier gilt, das die Liste weder bindend noch komplett ist, sie soll lediglich als Vorlage für ein einheitliches Muster dienen.

Icons verwenden

Die Icons in oben genannter Struktur können in der plugin.xml direkt verwendet werden. Um sie im Java Code zu verwenden bietet es sich an, den Bundle Activator bzw. die Plugin-Klasse um folgende Methode zu erweitern:

public ImageDescriptor getImageDescriptor(final String imageFilePath) {
    return imageDescriptorFromPlugin(PLUGIN_ID, imageFilePath);
}

Auf ein Icon kann nun z. B. mit Activator.getDefault().getImageDescriptor("icons/obj16/foo_obj.png") zugegriffen werden.

Icons wiederverwenden

Die Eclipse RCP bietet bereits eine Menge Icons für diverse Zwecke. Diese können mit dem folgenden Code abgerufen werden:

ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
ImageDescriptor imageDescriptor = sharedImages.getImageDescriptor(ISharedImages.IMG_OBJ_ADD);

Darüber hinaus können mit Hilfe des Extension Points org.eclipse.ui.menusEclipse-Commands verwendet werden. Dazu muss lediglich die passende Command-ID ausgewählt werden. Der Rest kann leer bleiben, Eclipse übernimmt selbstständig Icon und Beschriftung des Commands. Für die Commands muss noch mittels des Extension Points org.eclipse.ui.handlers ein passender Handler registriert werden.

Außerdem steht mit der ActionFactory eine Möglicheit komplette Aktionen zu übernehmen.

IWorkbenchAction saveAction = ActionFactory.SAVE.create(window);

Diese Aktionen werden üblicherweise im ActionBarAdvisor der Applikation verwendet, um allgemeine Aktionen im Main Menu und der Toolbar einzubauen.

Zurück