Der Ausdruck triggerPoints beschreibt die Elemente, die den Aufruf dieser Erweiterung für untergeordnete Elemente oder für Bezeichnungen auslösen. Der Ausdruck possibleChildren beschreibt die Elemente, für die die Erweiterung ein übergeordnetes Element bereitstellen kann. Clients sollten alle Elemente beschreiben, die als Auswahl festgelegt werden können, um sicherzustellen, dass die Verknüpfung mit der Editorunterstützung auf den korrekten Knoten erweitert werden kann.
<!ELEMENT extension ((navigatorContent? | actionProvider? | commonWizard? | commonFilter?))>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT navigatorContent ((enablement | (triggerPoints , possibleChildren)) , actionProvider* , commonSorter* , override? , dropAssistant* , commonWizard*)>
<!ATTLIST navigatorContent
id CDATA #REQUIRED
name CDATA #REQUIRED
priority (lowest|lower|low|normal|high|higher|highest)
contentProvider CDATA #REQUIRED
icon CDATA #IMPLIED
activeByDefault (true | false)
providesSaveables (true | false)
labelProvider CDATA #REQUIRED>
Ein Ausdruck für Navigatorinhalt definiert einen Inhaltsprovider und einen Label-Provider, mit denen immer dann untergeordnete Elemente bereitgestellt werden können, wenn ein Element mit dem Ausdruck triggerPoints übereinstimmt. Außerdem kann hiermit ein übergeordnetes Element bereitgestellt werden, wenn ein Element mit dem Ausdruck possibleChildren übereinstimmt.
Clients können optional außerdem einen Aktionsprovider angeben, der Menü- und Aktionsleistenergänzungen bereitstellen kann, wenn ein durch die Erweiterung ergänztes Element ausgewählt wird oder wenn ein Element mit dem Ausdruck triggerPoints übereinstimmt. Ferner können Clients optional eine Sortierkomponente ergänzen, um Elemente zu sortieren, die durch die Erweiterung ergänzt wurden.
org.eclipse.ui.navigator.CommonActionProvider
).org.eclipse.jface.viewers.ITreeContentProvider
oder org.eclipse.ui.navigator.ICommonContentProvider
implementiert.
org.eclipse.jface.viewers.ILabelProvider
oder bei einer erweiterten Funktionalität org.eclipse.ui.navigator.ICommonLabelProvider
implementiert.
org.eclipse.ui.navigator.IDescriptionProvider
implementieren, um Text zur Statusleiste am unteren Rand der Eclipse-Workbench hinzuzufügen, der auf der Auswahl in der Anzeigefunktion basiert.<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Mit dem Ausdruck "enablement" können Client angeben, dass derselbe Ausdruck für triggerPoints und possibleChildren verwendet werden soll.
Bei einem Element actionProvider müsse Clients einen Ausdruck definieren, der dem Gerüst angibt, wann das Element org.eclipse.ui.navigator.CommonActionProvider
aufgerufen werden soll. Aufgrund von Ergänzungen für Elemente "IActionBar" müssen Clients immer dann aufgerufen werden, wenn ein Objekt ausgewählt ist, das für sie von Bedeutung ist. Daher sollen Clients entscheiden, wann ihre Erweiterung aktiviert werden soll.
<!ELEMENT triggerPoints (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Der Ausdruck triggerPoints definiert die Knoten in einer Baumstruktur, die den Aufruf dieses Ausdrucks für untergeordnete Elemente verursachen sollen.
<!ELEMENT possibleChildren (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Der Ausdruck possibleChildren definiert die Knoten in einer Baumstruktur, die durch diese Erweiterung ergänzt werden sollen. Clients sollten beschreiben, wann diese Inhaltserweiterung ein übergeordnetes Element für Elemente bereitstellen kann, die mit dem Ausdruck übereinstimmen.
<!ELEMENT actionProvider (enablement?)>
<!ATTLIST actionProvider
class CDATA #REQUIRED
id CDATA #IMPLIED
dependsOn CDATA #IMPLIED
overrides CDATA #IMPLIED>
Stellt den Namen einer Klasse bereit, die org.eclipse.ui.navigator.CommonActionProvider
implementiert. Der Aktionsprovider hat die Möglichkeit, das Kontextmenü und die umleitbaren Aktionen zu ergänzen, die in den Elementen "IActionBar" für die Sicht definiert sind, die den Navigator enthält. Clients können außerdem über die Sichtmenüs "IActionBar" das Menü der Sicht direkt ergänzen.
Ein Element actionProvider der höchsten Ebene ist für eine abstrakte Anzeigefunktion sichtbar, wenn ein Element viewerActionBinding für dieses Element actionProvider vorhanden ist. Bei Elementen "actionProvider", die in einem Element navigatorContent verschachtelt sind, wird die Sichtbarkeit durch die ID der Erweiterungs-ID von "navigatorContent" gesteuert. Untergeordnete Aktionsprovider werden durch einen
Abgleich der Elemente viewerContentBinding automatisch aufgenommen. Weitere Informationen zu Bindings für die Sichtbarkeit finden Sie in den Angaben über den Erweiterungspunkt org.eclipse.ui.navigator.viewer.
Clients können eines oder mehrere Elemente actionProvider unter dem Stammelement extention (Peer für andere Elemente navigatorContent) bereitstellen, um das Binding für die Aktivierung und die Anzeigefunktion besser steuern zu können (siehe viewerActionBinding).
Bei Stammelementen actionProviders ohne ID nimmt die ID standardmäßig den Wert "org.eclipse.ui.navigator.actionProvider.X" an. Damit diese Elemente actionProvider die Möglichkeit erhalten, die Menüs oder Aktionsleisten einer Anzeigefunktion zu ergänzen, muss ein Element viewerActionBinding (als Teil des Erweiterungspunktes org.eclipse.ui.navigator.viewer extension point) definiert werden, das ein Binding zwischen der speziellen Anzeigefunktion und der Standard-ID (org.eclipse.ui.navigator.actionProvider.*) deklariert. Weitere Informationen enthält die Dokumentation für das Element viewerActionBinding in der Schemadokumentation von org.eclipse.ui.navigator.viewer.
<!ELEMENT commonWizard (enablement)>
<!ATTLIST commonWizard
type (import|export|new)
wizardId CDATA #REQUIRED
menuGroupId CDATA #IMPLIED
associatedExtensionId CDATA #IMPLIED>
Der Erweiterungspunkt bietet die Möglichkeit, nach dem Typ definierte Menüergänzungen bereitzustellen.
<!ELEMENT commonFilter (filterExpression?)>
<!ATTLIST commonFilter
id CDATA #REQUIRED
name CDATA #REQUIRED
description CDATA #IMPLIED
class CDATA #IMPLIED
activeByDefault (true | false) >
Definiert einen Filter, der einer bestimmten allgemeinen Anzeigefunktion zugeordnet werden kann. Allgemeine Filter werden wie Inhaltserweiterungen durch die Verwendung von org.eclipse.ui.navigator.viewer/viewerContentBinding an eine Anzeigefunktion gebunden.
<!ELEMENT filterExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ein optionaler Eclipse-Kernausdruck, der definiert, welche Elemente der Filter aus einer bestimmten Sicht ausblenden soll.
Clients können beispielsweise festlegen, dass alle Ressourcen mit einem bestimmten Namensmuster (z. B. "*.acme") ausgeblendet werden sollen. Wenn der Filter aktiv ist (entweder standardmäßig oder vom Benutzer aktiviert), werden im Beispielfall alle Ressourcen, deren Name auf "acme" endet, aus der Sicht des Benutzers ausgeblendet.
Clients können entweder das Element filterExpression oder das Attribut "class" verwenden, jedoch nicht beides.
<!ELEMENT commonSorter (parentExpression)>
<!ATTLIST commonSorter
id CDATA #REQUIRED
class CDATA #REQUIRED>
Ein Element commonSorter deklariert eine Unterklasse von org.eclipse.jface.viewers.ViewerSorter
, mit der untergeordnete Elemente in der Baumstruktur sortiert werden. Das verschachtelte Element parentExpression beschreibt, ob das Element commonSorter verwendet werden soll. Stimmt ein Element mit dem Element parentExpression überein, werden seine untergeordnete Elemente anhand dieses Elements commonSorter sortiert.
org.eclipse.jface.viewers.ViewerSorter
.<!ELEMENT parentExpression (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Mit einem Element parentExpression gibt ein Element commonSorter an, wann es angewendet werden kann. Falls das Element parentExpression für ein Element commonSorter mit einem bestimmten Element übereinstimmt, wird dieses Element commonSorter verwendet, um die untergeordneten Elemente des jeweiligen Elements (wie durch den Inhaltsprovider des Inhaltsservices zurückgegeben) zu sortieren.
<!ELEMENT override EMPTY>
<!ATTLIST override
suppressedExtensionId CDATA #REQUIRED
policy (InvokeOnlyIfSuppressedExtAlsoVisibleAndActive|InvokeAlwaysRegardlessOfSuppressedExt) "InvokeAlwaysRegardlessOfSuppressedExt">
Wenn der Ausdruck triggerPoints der unterdrückten Erweiterung und der deklarierten Erweiterung bei einem bestimmten Element in beiden Fällen aktiviert ist, wird diese Erweiterung aufgerufen, die von ihr unterdrückte Erweiterung jedoch nicht. Clients, die ein Element override angeben, müssen außerdem einen Inhaltsprovider bereitstellen, der org.eclipse.ui.navigator.IPipelinedTreeContentProvider
implementiert und Methoden zum Abfangen von Anforderungen für untergeordnete Elemente, übergeordnete Elemente und direkte Aktualisierungen der Anzeigefunktion bereitstellt.
<!ELEMENT dropAssistant (possibleDropTargets)>
<!ATTLIST dropAssistant
id CDATA #REQUIRED
class CDATA #REQUIRED>
Stellt eine Unterklasse von org.eclipse.ui.navigator.CommonDropAdapterAssistant
bereit, die über das Programm eine Unterstützung für eine Übergabeoperation bereitstellen, zusätzliche Übertragungstypen anfordern und die Übergabeoperation verarbeiten kann.
Ein Element dropAssistant wird immer dann aufgerufen, wenn gezogene Elemente mit dem Ausdruck possibleChildren der übergeordneten Erweiterung navigatorContent und dem Übergabeziel der Operation übereinstimmen, das durch den Ausdruck possibleDropTargets des Elements dropAssistant beschrieben ist.
Eine Erweiterung kann mehrere Übergabeadapter mit sich gegenseitig ausschließenden Ausdrücken possibleDropTargets enthalten. Der erste gefundene Übergabeadapter, der mit dem angegebenen Übergabeziel übereinstimmt und einen Gültigkeitsstatus für CommonDropAdapterAssistant.validateDrop(...)
zurückgibt, erhält die Möglichkeit, die Übergabe zu verarbeiten.
org.eclipse.ui.navigator.CommonDropAdapterAssistant
.<!ELEMENT possibleDropTargets (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Beschreibt die möglichen Übergabeziele, die von einem bestimmten Element dropAssistant verarbeitet werden können.
<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Ein generisches Stammelement. Das Element kann in einem Erweiterungspunkt zum Definieren seines Ausdrucks "enablement" eingesetzt werden. Die untergeordneten Elemente eines Ausdrucks "enablement" werden durch den Einsatz des Operators "and" kombiniert.
<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>
Dieses Element stellt eine Operation NOT für das Ergebnis der Auswertung seiner Unterelementausdrücke dar.
<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Dieses Element stellt eine Operation AND für das Auswertungsergebnis aller seiner Unterelementausdrücke dar.
<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
Dieses Element stellt eine Operation OR für das Auswertungsergebnis aller seiner Unterelementausdrücke dar.
<!ELEMENT instanceof EMPTY>
<!ATTLIST instanceof
value CDATA #REQUIRED>
Dieses Element wird zur Durchführung einer Prüfung des Typs "instanceof" für das Objekt im Fokus eingesetzt. Der Ausdruck gibt "EvaluationResult.TRUE" zurück, wenn es sich bei dem Objekttyp um einen Untertyp des im Attribut "value" angegebenen Typs handelt. Andernfalls wird "EvaluationResult.FALSE" zurückgegeben.
<!ELEMENT test EMPTY>
<!ATTLIST test
property CDATA #REQUIRED
args CDATA #IMPLIED
value CDATA #IMPLIED>
Dieses Element wird verwendet, um den Eigenschaftsstatus des Objekts im Fokus zu auszuwerten. Die Gruppe der Eigenschaften, die getestet werden können, kann mit Hilfe des Erweiterungspunktes "propertyTesters" für Testfunktionen für Eigenschaften erweitert werden. Der Ausdruck "test" gibt "EvaluationResult.NOT_LOADED" zurück, wenn die Testfunktion für Eigenschaften, die den Test durchführt, noch nicht geladen ist.
<!ELEMENT systemTest EMPTY>
<!ATTLIST systemTest
property CDATA #REQUIRED
value CDATA #REQUIRED>
Testet eine Systemeigenschaft, indem die Methode "System.getProperty" aufgerufen wird und das Ergebnis mit dem im Attribut "value" angegebenen Wert verglichen wird.
<!ELEMENT equals EMPTY>
<!ATTLIST equals
value CDATA #REQUIRED>
Dieses Element wird zur Durchführung einer Prüfung des Typs "equals" für das Objekt im Fokus eingesetzt. Der Ausdruck gibt "EvaluationResult.TRUE" zurück, wenn das Objekt mit dem Wert übereinstimmt, der von dem Attributwert zur Verfügung gestellt wird. Andernfalls wird "EvaluationResult.FALSE" zurückgegeben.
<!ELEMENT count EMPTY>
<!ATTLIST count
value CDATA #REQUIRED>
Dieses Element wird verwendet, um die Anzahl der Elemente in einer Gruppe zu testen.
<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST with
variable CDATA #REQUIRED>
Dieses Element ändert das zu untersuchende Objekt für alle seine untergeordneten Elemente in das Objekt, auf das mit der betreffenden Variablen verwiesen wird. Kann die Variable nicht aufgelöst werden, löst der Ausdruck bei der Auswertung der Variablen die Ausnahmebedingung "ExpressionException" aus. Die untergeordneten Elemente des Ausdrucks "with" werden durch Verwendung des Operators "and" kombiniert.
<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST resolve
variable CDATA #REQUIRED
args CDATA #IMPLIED>
Dieses Element ändert das zu untersuchende Objekt für alle seine untergeordneten Elemente in das Objekt, auf das mit der betreffenden Variablen verwiesen wird. Kann die Variable nicht aufgelöst werden, löst der Ausdruck bei der Auswertung der Variablen die Ausnahmebedingung "ExpressionException" aus. Die untergeordneten Elemente des Ausdrucks "with" werden durch Verwendung des Operators "and" kombiniert.
<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST adapt
type CDATA #REQUIRED>
Dieses Element wird verwendet, um das Objekt im Fokus an den Typ anzupassen, der im Attribut "type" angegeben ist. Der Ausdruck gibt "not loaded" zurück, wenn entweder der Adapter oder der verwiesene Typ noch nicht geladen ist. Während der Auswertung wird die Ausnahmebedingung "ExpressionException" ausgelöst, wenn der Typname überhaupt nicht existiert. Die untergeordneten Elemente eines Ausdrucks "adapt" werden mit Hilfe des Operators "and" kombiniert.
<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>
<!ATTLIST iterate
operator (or|and) >
Dieses Element wird zur Iteration einer Variablen des Typs "java.util.Collection" eingesetzt. Wenn das Objekt im Fokus nicht den Typ "java.util.Collection" hat, wird während der Auswertung des Ausdrucks die Ausnahmebedingung "ExpressionException" ausgelöst.
Das folgende Beispiel beschreibt eine Inhaltserweiterung, die Ressourceninhalt bereitstellt. Der Ausdruck triggerPoints legt fest, wann diese Erweiterung zum ersten Mal aufgerufen wird. Falls ein Element viewerContentBinding mit dieser Erweiterung übereinstimmt und das Attribut "isRoot" auf "true" gesetzt ist, wird die Erweiterung unabhängig davon verwendet, ob das Stammelement mit dem Ausdruck triggerPoints übereinstimmt.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<navigatorContent name=
"%resource.extension.name"
priority=
"low"
icon=
"icons/full/eview16/resource_persp.gif"
activeByDefault=
"true"
contentProvider=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionContentProvider"
labelProvider=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionLabelProvider"
sorter=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceSorter"
id=
"org.eclipse.ui.navigator.resourceContent"
>
<triggerPoints>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
</or>
</triggerPoints>
<possibleChildren>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
<instanceof value=
"org.eclipse.core.resources.IFile"
/>
</or>
</possibleChildren>
</navigatorContent>
</extension>
Clients können Objekt- oder Anzeigefunktionsergänzungen (siehe org.eclipse.ui.popupMenus) verwenden, um Aktionen für ihre Sicht bereitzustellen. Manchmal erfordern Clients eine größere Flexibilität, als diese Methoden zulassen. Daher unterstützt das Gerüst für allgemeine Navigatoren das Hinzufügen von Aktionsprovidern. Aktionsprovider bilden eine Unterklasse von org.eclipse.ui.actions.ActionGroup
und haben die Möglichkeit, die Aktionsleisten und Menüs basierend auf unterschiedlichen Ereignissen (Auswahl bzw. Klicken mit der rechten Maustaste) zu füllen.
Clients können entweder einer bestimmten Inhaltserweiterung einen oder mehrere Aktionsprovider zuordnen oder die Aktionsprovider als Ergänzungen der höchsten Ebene deklarieren, die keiner bestimmten Inhaltserweiterung zugeordnet sind. Aktionsprovider der höchsten Ebene müssen mit dem Erweiterungspunkt org.eclipse.ui.navigator.viewer/viewerActionBinding einem bestimmten Anzeigefunktionsexemplar zugeordnet werden. Verschachtelte Aktionsprovider werden automatisch einer Anzeigefunktion zugeordnet. Basis hierfür ist die Tatsache, ob ihre übergeordnete Inhaltserweiterung ebenfalls an die Anzeigefunktion gebunden ist (siehe org.eclipse.ui.navigator/viewerContentBinding).
Das folgende Beispiel veranschaulicht beide Ansätze. Der Aktionsprovider "TestNestedActionProvider" erhält nur dann die Möglichkeit, das Menü und Elemente org.eclipse.ui.IActionBar
zu ergänzen,
wenn für die Erweiterung "org.eclipse.ui.tests.navigator.testContent" die Werte visible und active gültig sind.
Falls der Benutzer die Testerweiterung im Dialog "Verfügbare Anpassungen " inaktiviert, erhält der verschachtelte Aktionsprovider nicht mehr die Möglichkeit, Ergänzungen bereitzustellen.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<navigatorContent id=
"org.eclipse.ui.tests.navigator.testContent"
name=
"%test.navigator.extension"
contentProvider=
"org.eclipse.ui.tests.navigator.extension.TestContentProvider"
labelProvider=
"org.eclipse.ui.tests.navigator.extension.TestLabelProvider"
activeByDefault=
"true"
priority=
"normal"
>
<triggerPoints>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
</triggerPoints>
<actionProvider class=
"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"
id=
"org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider"
>
<enablement>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
</enablement>
</actionProvider>
</navigatorContent>
<actionProvider class=
"org.eclipse.ui.navigator.resources.internal.actions.NewActionProvider"
id=
"org.eclipse.ui.navigator.resources.NewActions"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</actionProvider>
</extension>
Clients können entweder mit Unterklassen von org.eclipse.jface.viewers.ViewerFilter
oder über Eclipse-Kernausdrücke Filter definieren. Das folgende Beispiel demonstriert beide Verfahren. Clients können jedoch nur eine der beiden Optionen einsetzen. Bei Erweiterungen, die fälschlicherweise beide Verfahren angeben, wird nur der Filter nach dem Kernausdruck berücksichtigt. Die Felder für den Namen und die Beschreibung können übersetzt werden. In realen Umgebungen sollten ihre Zeichenfolgen ausgelagert werden.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonFilter class=
"org.eclipse.ui.tests.navigator.extension.TestItemsThatEndIn3"
description=
"Hide TestItem objects that end in the number "3""
id=
"org.eclipse.ui.tests.navigator.filters.TestItemsThatEndWith3"
name=
"TestItems that end with "3""
activeByDefault=
"true"
/>
<commonFilter description=
"Hides all instances of Test Item"
id=
"org.eclipse.ui.tests.navigator.filters.AllTestItems"
name=
"A TestItem Exp Filter (should be sorted alphab..)"
>
<filterExpression>
<instanceof value=
"org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData"
/>
</filterExpression>
</commonFilter>
Eine allgemeine Sortierkomponente wird anhand des übergeordneten Elements für die untergeordneten Elemente bestimmt. Die Klasse der Sortierkomponente muss eine Unterklasse von org.eclipse.jface.viewers.ViewerSorter
bilden.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonSorter class=
"org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionSorter"
id=
"org.eclipse.ui.navigator.resources.sorters.defaultSorter"
>
<parentExpression>
<or>
<instanceof value=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
<instanceof value=
"org.eclipse.core.resources.IProject"
/>
<instanceof value=
"org.eclipse.core.resources.IResource"
/>
<instanceof value=
"org.eclipse.core.resources.IFolder"
/>
<instanceof value=
"org.eclipse.core.resources.IFile"
/>
</or>
</parentExpression>
</commonSorter>
</extension>
Das folgende Beispiel veranschaulicht, wie Aktionen zum Assistentendirektaufruf für "Neuer Ordner" und "Neue Datei" hinzugefügt werden können, die bei den entsprechenden Unterklassen von "org.eclipse.core.resources.IResource" aktiviert sind. Clients können beliebige Komponenten von org.eclipse.core.expressions verwenden, wenn sie beschreiben müssen, wann die Menüoptionen verfügbar sein sollen. Der im Folgenden angegebene Wert für "wizardId" muss einem der Erweiterungspunkte von org.eclipse.ui.xxxWizards entsprechen.
Bei Clients, die eigene Anzeigefunktionen oder Sichtkomponenten erstellen, muss darauf geachtet
werden, dass das Menü mit org.eclipse.ui.navigator.WizardActionGroup
korrekt gefüllt wird. Weitere Informationen zur Verwendung dieses Features enthält die Dokumentation über diese Klasse.
<extension point=
"org.eclipse.ui.navigator.navigatorContent"
>
<commonWizard type=
"new"
wizardId=
"org.eclipse.ui.wizards.new.folder"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</commonWizard>
<commonWizard type=
"new"
wizardId=
"org.eclipse.ui.wizards.new.file"
>
<enablement>
<or>
<adapt type=
"org.eclipse.core.resources.IFile"
/>
<adapt type=
"org.eclipse.core.resources.IFolder"
/>
<adapt type=
"org.eclipse.core.resources.IProject"
/>
<adapt type=
"org.eclipse.core.resources.IWorkspaceRoot"
/>
</or>
</enablement>
</commonWizard>
</extension>
Copyright (c) 2002, 2005 IBM Corporation und Andere.
Alle Rechte vorbehalten. Dieses Programm und sein Begleitmaterial werden gemäß den Bedingungen der "Eclipse Public License v1.0" zur Verfügung gestellt, die dieser Lieferung beiliegt und unter
http://www.eclipse.org/legal/epl-v10.html abgerufen werden kann.