Egenskapssidor

org.eclipse.ui.propertyPages

Den här utökningspunkten används för att lägga till flera egenskapssidor för objekt av en viss typ. När egenskapssidorna har definierats visas de i dialogrutan Egenskaper för objekttypen.

På egenskapssidan kan användaren lätt anpassa objektegenskaper. I egenskapsvyn är det tillgängliga utrymmet för redigering av objektegenskaper begränsat medan egenskapssidan kan innehåller större och mer komplexa kontroller med etiketter, ikoner osv. Egenskaper som logiskt hör ihop kan grupperas på en sida istället för att visas utplacerade i egenskapsbladet. I de flesta program passar det dock bäst att visa vissa objektegenskaper i egenskapsbladet och andra på egenskapssidorna.

Egenskapssidorna visas i den dialogruta som normalt visas när användaren väljer "Egenskaper" på snabbmenyn för ett objekt. Namnfiltret kan användas till att registrera egenskapssidor och då endast för specifika objekttyper, förutom för objektklasser.

Om de här filtreringsfunktionerna är otillräckliga, kan filter användas på egenskapssidor. I detta fall beskrivs målobjektets attribut som en rad nyckelvärdepar. De attribut som gäller för urvalet är typspecifika och finns inte på arbetsmiljönivå. Filtrering på den här nivån delegeras därmed till själva urvalet.

<!ELEMENT extension (page*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT page (filter* , keywordReference* , enabledWhen?)>

<!ATTLIST page

id          CDATA #REQUIRED

name        CDATA #REQUIRED

icon        CDATA #IMPLIED

objectClass CDATA #IMPLIED

class       CDATA #REQUIRED

nameFilter  CDATA #IMPLIED

adaptable   (true | false)

category    CDATA #IMPLIED>


<!ELEMENT filter EMPTY>

<!ATTLIST filter

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 keywordReference EMPTY>

<!ATTLIST keywordReference

id CDATA #IMPLIED>

En referens från en egenskapssida till ett nyckelord. Se utökningspunkten för nyckelord.



<!ELEMENT enabledWhen (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>



<!ELEMENT enablement (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Ett allmänt rotelement. Elementet kan användas i en utökningspunkt till att definiera enablement-uttrycket för den. De underordnade objekten till ett enablement-uttryck kombineras med hjälp av operatorn and.



<!ELEMENT not (not | and | or | instanceof | test | systemTest | equals | count | with | resolve | adapt | iterate)>

Elementet representerar ett NOT-uttryck för resultatet från utvärderingen av underelementsuttrycken.



<!ELEMENT and (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Det här elementet representerar en AND-åtgärd för resultatet från utvärderingen av underelementuttrycken.



<!ELEMENT or (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

Det här elementet representerar en OR-åtgärd för resultatet från utvärderingen av underelementuttrycken.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Elementet används till att göra en instanceof-kontroll av det aktuella objektet. Uttrycket returnerar EvaluationResult.TRUE om objektstypen är en undertyp till den typ som angavs av attributvärdet. I annat fall returneras EvaluationResult.FALSE.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Elementet används till att utvärdera egenskapsläget för det aktuella objektet. Uppsättningen egenskaper som kan testas kan utökas med hjälp av utökningspunkten för egenskapstestfunktionen. Testuttrycket returnerar EvaluationResult.NOT_LOADED om den aktuella egenskapstestfunktionen inte har lästs in ännu.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Testar en systemegenskap genom att anropa metoden System.getProperty method och jämför resultatet med det värde som angetts via värdeattributet.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Elementet används till att göra en equals-kontroll av det aktuella objektet. Uttrycket returnerar EvaluationResult.TRUE om objektet är detsamma som det värde som tillhandahålls av attributvärdet. I annat fall returneras EvaluationResult.FALSE.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Elementet används till att testa antalet element i samlingen.



<!ELEMENT with (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST with

variable CDATA #REQUIRED>

Det här elementet ändrar det objekt som ska kontrolleras för alla underordnade element till det objekt som refereras till av den angivna variabeln. Om variabeln inte kan lösas returnerar uttrycket ExpressionException när det utvärderas. De underordnade objekten till ett with-uttryck kombineras med hjälp av operatorn and.



<!ELEMENT resolve (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Det här elementet ändrar det objekt som ska kontrolleras för alla underordnade element till det objekt som refereras till av den angivna variabeln. Om variabeln inte kan lösas returnerar uttrycket ExpressionException när det utvärderas. De underordnade objekten till ett with-uttryck kombineras med hjälp av operatorn and.



<!ELEMENT adapt (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST adapt

type CDATA #REQUIRED>

Det här elementet används till anpassa det aktuella objektet till den typ som angavs av attributtypen. Uttrycket returneras som inte inläst om adaptern eller den refererade typen inte har lästs in än. Det returnerar ett ExpressionException under utvärdering om samma typnamn inte finns alls. De underordnade objekten till ett adapt-uttryck kombineras med hjälp av operatorn and.



<!ELEMENT iterate (not , and , or , instanceof , test , systemTest , equals , count , with , resolve , adapt , iterate)*>

<!ATTLIST iterate

operator (or|and) >

Det här elementet används till att räkna stegvis över en variabel som är av typen java.util.Collection. Om det aktuella objektet inte är av typen java.util.Collection returneras ExpressionException när uttrycket utvärderas.



Här följer ett exempel på en definition av en egenskapssida:

   

<extension point=

"org.eclipse.ui.propertyPages"

>

<page id=

"com.xyz.projectPage"

name=

"XYZ Java Properties"

objectClass=

"org.eclipse.core.resources.IFile"

class=

"com.xyz.ppages.JavaPropertyPage"

nameFilter=

"*.java"

>

<filter name=

"readOnly"

value=

"true"

/>

</page>

</extension>

Värdet i attributet class måste vara ett fullständigt kvalificerat namn på den klass som implementerar org.eclipse.ui.IWorkbenchPropertyPage.

Vissa objekt som tillhandahålls av arbetsmiljön kan ha registrerade egenskapssidor. Via insticksprogram kan man lägga till fler egenskapssidor för objekten. Egenskapssidor är inte begränsade till arbetsmiljöresurser: alla objekt som visas i arbetsmiljön (även domänspecifika objekt som skapats av insticksprogram) kan ha egenskapssidor, och andra insticksprogram kan registrera egenskapssidor för dem.