Aktivering och/eller synlighet för en åtgärd kan definieras med hjälp av elementen enablement respektive visibility. Dessa två element innehåller ett booleskt uttryck som utvärderas för att fastställa aktivering och/eller synlighet.
Syntaxen är densamma för elementen enablement och visibility. Båda innehåller endast ett underelement med ett booleskt uttryck. I det enklaste fallet är detta något av elementen objectClass, objectState, pluginState eller systemProperty. I det mer komplicerade fallet kombineras elementen and, or och not så att ett booleskt uttryck skapas. Både and och or måste innehålla två underelement. Elementet not får bara innehålla ett underelement.
<!ELEMENT extension (decorator*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT decorator (description? , enablement?)>
<!ATTLIST decorator
id CDATA #REQUIRED
label CDATA #REQUIRED
class CDATA #IMPLIED
objectClass CDATA #IMPLIED
adaptable (true | false)
state (true | false)
lightweight (true|false)
icon CDATA #IMPLIED
location (TOP_LEFT|TOP_RIGHT|BOTTOM_LEFT|BOTTOM_RIGHT|UNDERLAY) >
IDecoratorManager#update()
.<!ELEMENT description (#PCDATA)>
ett valfritt underelement vars innehållsdel ska innehålla en kort beskrivning av dekoreringsfunktionen. Denna visas på inställningssidan för dekoreringsfunktioner varför vi rekommenderar att du tar med den. Standard är en tom sträng.
<!ELEMENT enablement (and | or | not | objectClass | objectState | pluginState | systemProperty)>
Elementet används för att definiera aktivering av utökningen.
<!ELEMENT visibility (and | or | not | objectClass | objectState | pluginState | systemProperty)>
Elementet används för att definiera synligheten för utökningen.
<!ELEMENT and (and | or | not | objectClass | objectState | pluginState | systemProperty)>
Elementet representerar ett booleskt AND-uttryck för resultatet från utvärderingen av de två underelementuttrycken.
<!ELEMENT or (and | or | not | objectClass | objectState | pluginState | systemProperty)>
Elementet representerar ett booleskt OR-uttryck för resultatet från utvärderingen av de två underelementuttrycken.
<!ELEMENT not (and | or | not | objectClass | objectState | pluginState | systemProperty)>
Elementet representerar ett booleskt NOT-uttryck för resultatet från utvärderingen av underelementuttrycken.
<!ELEMENT objectClass EMPTY>
<!ATTLIST objectClass
name CDATA #REQUIRED>
Elementet används för att utvärdera klassen eller gränssnittet för varje objekt i det aktuella urvalet. Om varje objekt i urvalet implementerar angiven klass eller angivet gränssnitt utvärderas uttrycket till sant.
<!ELEMENT objectState EMPTY>
<!ATTLIST objectState
name CDATA #REQUIRED
value CDATA #REQUIRED>
Elementet används för att utvärdera attributläget för varje objekt i det aktuella urvalet. Om varje objekt i urvalet har angivet attributläge utvärderas uttrycket till sant. För att utvärdera den här typen av uttryck måste varje objekt i urvalet implementera eller anpassas till gränssnittet org.eclipse.ui.IActionFilter.
<!ELEMENT pluginState EMPTY>
<!ATTLIST pluginState
id CDATA #REQUIRED
value (installed|activated) "installed">
Elementet används för att utvärdera insticksprogrammets läge. Läget för insticksprogrammet kan vara ett av följande:installed (motsvarar OSGi-begreppet "löst") eller activated (motsvarar OSGi-begreppet "aktiv").
<!ELEMENT systemProperty EMPTY>
<!ATTLIST systemProperty
name CDATA #REQUIRED
value CDATA #REQUIRED>
Elementet används för att utvärdera läget för vissa systemegenskaper. Egenskapsvärdet hämtas från java.lang.System.
En fullständig dekoreringsfunktion. Utvecklaren av insticksprogram måste hantera sin egen bildsupport.
<extension point=
"org.eclipse.ui.decorators"
>
<decorator id=
"com.xyz.decorator"
label=
"XYZ dekoreringsfunktion"
state=
"true"
class=
"com.xyz.DecoratorContributor"
>
<enablement>
<objectClass name=
"org.eclipse.core.resources.IResource"
/>
</enablement>
</decorator>
</extension>
En lättdekoreringsfunktion. Det finns konkret klass men eftersom det är en ILightweightLabelDecorator behöver den bara tillhandahålla text och en ImageDescriptor, varför ingen resurshantering är nödvändig.
<extension point=
"org.eclipse.ui.decorators"
>
<decorator id=
"com.xyz.lightweight.decorator"
label=
"XYZ lättdekoreringsfunktion"
state=
"false"
class=
"com.xyz.LightweightDecoratorContributor"
lightweight=
"true"
>
<enablement>
<objectClass name=
"org.eclipse.core.resources.IResource"
/>
</enablement>
</decorator>
</extension>
En deklarativ lättdekoreringsfunktion. Det finns inte någon konkret klass varför en ikon och en kvadrant för ikonen tillhandahålls.
<extension point=
"org.eclipse.ui.decorators"
>
<decorator id=
"com.xyz.lightweight.declarative.decorator"
label=
"XYZ lättdeklarativ dekoreringsfunktion"
state=
"false"
lightweight=
"true"
icon=
"icons/full/declarative.gif"
location=
"TOP_LEFT"
>
<enablement>
<objectClass name=
"org.eclipse.core.resources.IResource"
/>
</enablement>
</decorator>
</extension>
Copyright (c) 2002, 2004 IBM Corporation and others.
All rights reserved.
Detta program och medföljande material tillhandahålls under villkoren för Eclipse Public License v1.0 som medföljer denna distribution och finns tillgänglig på
http://www.eclipse.org/legal/epl-v10.html