Property Pages

Aus Eclipse
Wechseln zu: Navigation, Suche

Allgemeines

Properties sind Eigenschaften, die Ressourcen oder andere Objekte der Eclipse-Umgebung aufweisen. Mit Hilfe von Property Pages können bestimmte Eigenschaften eines Objekts abgefragt und dem Benutzer in entsprechender Form dargestellt werden. Die Eigenschaften können entweder nur angezeigt und nicht veränderbar, oder angezeigt und auch veränderbar sein.

Unterschied Preference Pages und Property Pages

Property Pages werden erst dann wirklich interessant, wenn bereits Preference Pages erstellt wurden. Ab einem bestimmten Punkt möchte man vielleicht, dass manche oder alle Plug-In-Preferences nur für ein Projekt bzw. nur für ein File zutreffen sollen. Der übliche Weg um dies zu erreichen sind Property Pages.

Ein Beispiel dafür sind die Java Compiler Settings:

Preference prop.png

Dieses Bild zeigt die Eigenschaften für die gesamte Workbench (Hauptmenü Window > Preferences).

Im Gegensatz zu den Preferences für die komplette Entwicklungsumgebung zeigt dieses Bild die Properties für ein bestimmtes Projekt (rechte Maustaste auf das Projekt > Properties):

Properties prop.png

Es ist schön zu erkennen, dass die Preference Page und die Property Page sehr ähnlich aussehen. Hauptunterschied ist das Häckchen bei der Property Page ganz oben: Es erlaubt dem Anwender das Ändern der Eigenschaften für dieses Projekt. Die Einstellungen für die komplette Workbench bleiben erhalten.

Anzeigemöglichkeiten einer Property Page

Beispiel: Der Benutzer möchte mehr über die Klasse "dialog.java" erfahren. Dazu gibt es zwei verschiedene Möglichkeiten, die sich in der Darstellungsform voneinander unterscheiden:


Möglichkeit 1: Properties Dialog
Der Benutzer klickt mit der rechten Maustaste auf das gewünschte Objekt und wählt "Properties" aus.

Properties dialog1.png

Möglichkeit 2: Properties View
Der Benutzer wählt im Hauptmenü das Menü "Window" aus. Hier wählt er "Show View" und anschließend "Properties". Dieser View bleibt nun dauerhaft geöffnet und zeigt die Eigenschaften aller ausgewählten Objekte/Ressourcen an. Allerdings werden im Properties View nur bestimmte Eigenschaften angezeigt. Im oberen Bild (Properties Dialog) ist zu erkennen, dass es auch noch Einstellungsmöglichkeiten für "Run/Debug Settings" gibt. Diese bleiben dem Anwender im Properties View verborgen.

Properties view1.png

Beispiel

Als einfaches Beispiel soll eine Property Page für Dateien des Typs .readme erstellt werden. Wenn der Benutzer die Properties der .readme-Datei auswählt, soll unter "eigene Preference" eine spezielle Property Page erscheinen:

Eigene pref.png

Als erstes muss in der Manifest-Datei des Plug-Ins eine neue Extension hinzugefügt werden:

Ext point.png

Anschließend können bereits wichtige Eigenschaften vorgenommen werden:

Ext p.png

id: Eindeutige Identifikation der Property Page

name: Unter diesem Namen wird die Property Page im Properties Dialog angezeigt

class: Name der Properties-Klasse

objectClass: bestimmt, für welche Typen (Dateien, Verzeichnisse,...) die Property Page angezeigt werden soll

In der plugin.xml-Datei können weitere Einstellungen gemacht werden:

<plugin>
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            class="wizard.properties.SamplePropertyPage"
            id="wizard.properties.samplePropertyPage"
            name="eigene Preference"
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.readme"> //nur Dateien dieses Typs werden berücksichtigt!
         <enabledWhen>
            <instanceof
                  value="org.eclipse.core.resources.IFile"> //nur Dateien werden berücksichtigt!
            </instanceof>
         </enabledWhen>
      </page>
   </extension>
</plugin>

Dies genügt, um die oben dargestellte Property Page zu erstellen. Weitere, komplexere Beispiele finden Sie zum Beispiel unter http://www.eclipsepluginsite.com/properties.html oder Eclipse Properties Plugin Tutorial und natürlich in den Literaturempfehlungen des Hauptartikels.