Ominaisuussivut

org.eclipse.ui.propertyPages

Tämän laajennuspisteen avulla tietyn lajin objekteihin voidaan lisätä ylimääräisiä ominaisuussivuja. Kun nämä ominaisuussivut on määritetty, ne näkyvät tämän lajin objektien Ominaisuudet-valintaikkunassa.

Ominaisuussivu on helppokäyttöinen tapa olla vuorovaikutuksessa objektin ominaisuuksien kanssa. Toisin kuin Ominaisuudet-näkymä, jossa objektin ominaisuuden muokkaukseen tarkoitettu tila on rajoitettu, ominaisuussivulla voidaan vapaasti määrittää entistä laajempia ja monimutkaisempia nimiöiden ja kuvakkeiden ohjaustoimintoja. Ominaisuudet, jotka kuuluvat loogisesti yhteen, voidaan myös ryhmittää sivulle sen sijaan, että ne ovat hajallaan ominaisuustaulukossa. Useimmissa sovelluksissa osa objektin ominaisuuksista voidaan kuitenkin esittää ominaisuustaulukon kautta ja osa ominaisuussivujen kautta.

Ominaisuussivut näkyvät valintaikkunassa, joka näkyy yleensä silloin, kun objektin ponnahdusvalikossa on valittuna vaihtoehto Ominaisuudet. Objektiluokan lisäksi voidaan antaa myös suodattimen nimi, jos ominaisuussivut halutaan rekisteröidä vain tiettyihin objektilajeihin.

Elleivät nämä suodatusmekanismit riitä, ominaisuussivulla voi käyttää suodatusmekanismia. Silloin kohdeobjektin määritteet kuvataan avain-arvo-parien sarjana. Valintaan liitettävät määritteet ovat lajikohtaisia ja itse työympäristön ulkopuolella, joten työympäristö delegoi tämän tason suodatuksen varsinaiseen valintaan.

<!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>

Tämän elementin avulla lasketaan kunkin objektin määritteen tila nykyisessä valinnassa. Sitä käytetään vain, jos valinnan kullakin objektilla on määritetty määritteen tila. Valinnan kunkin objektin on toteutettava rajapinta org.eclipse.ui.IActionFilter tai sen on sovelluttava siihen.



<!ELEMENT keywordReference EMPTY>

<!ATTLIST keywordReference

id CDATA #IMPLIED>

Ominaisuussivun viittaus avainsanaan. Lisätietoja on avainsanojen laajennuspisteessä.



<!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)*>

Yleinen juurielementti. Elementtiä voi käyttää laajennuspisteen sisällä määrittämään sen käyttöönottolausekkeen. Käyttöönottolausekkeen aliobjektit yhdistetään AND-operaattorin avulla.



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

Tämä elementti edustaa NOT-operaatiota sen alielementin lausekkeen tuloksen arvioinnissa.



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

Tämä elementti edustaa AND-operaatiota sen kaikkien alielementtien lausekkeiden tuloksen arvioinnissa.



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

Tämä elementti edustaa OR-operaatiota sen kaikkien alielementtilausekkeiden tuloksen arvioinnissa.



<!ELEMENT instanceof EMPTY>

<!ATTLIST instanceof

value CDATA #REQUIRED>

Tätä elementtiä käytetään toteuttamaan kohteena olevan objektin ilmentymätarkistus. Lauseke palauttaa arvon EvaluationResult.TRUE, jos objektin laji on määritteen arvossa määritetyn lajin alilaji. Muussa tapauksessa palautuu arvo EvaluationResult.FALSE.



<!ELEMENT test EMPTY>

<!ATTLIST test

property CDATA #REQUIRED

args     CDATA #IMPLIED

value    CDATA #IMPLIED>

Tämän elementin avulla arvioidaan kohteena olevan objektin ominaisuustila. Testattavissa olevien ominaisuuksien joukkoa voi laajentaa käyttämällä ominaisuuksien testauksen laajennuspistettä. Testauslauseke palauttaa arvon EvaluationResult.NOT_LOADED, jos varsinaisen testauksen toteuttavaa ominaisuuksien testausta ei ole vielä ladattu.



<!ELEMENT systemTest EMPTY>

<!ATTLIST systemTest

property CDATA #REQUIRED

value    CDATA #REQUIRED>

Testaa järjestelmän ominaisuutta kutsumalla metodia System.getProperty ja vertaa tulosta arvoon, joka on määritetty arvomääritteen avulla.



<!ELEMENT equals EMPTY>

<!ATTLIST equals

value CDATA #REQUIRED>

Tätä elementtiä käytetään toteuttamaan kohteena olevan objektin yhtäsuuruustarkistus. Lauseke palauttaa arvon EvaluationResult.TRUE, jos objektin arvo on yhtä suuri kuin määritteen arvon antama arvo. Muussa tapauksessa palautuu arvo EvaluationResult.FALSE.



<!ELEMENT count EMPTY>

<!ATTLIST count

value CDATA #REQUIRED>

Tämän elementin avulla testataan kokoelman elementtien määrä.



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

<!ATTLIST with

variable CDATA #REQUIRED>

Tämä elementti muuttaa tarkasteltavan objektin kaikkien sen aliobjektien osalta annetun muuttujan viittaamaksi objektiksi. Jos muuttujan selvitys ei onnistu, lauseke aiheuttaa poikkeuksen ExpressionException, kun sitä arvioidaan. WITH-lausekkeen aliobjektit yhdistetään AND-operaattorin avulla.



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

<!ATTLIST resolve

variable CDATA #REQUIRED

args     CDATA #IMPLIED>

Tämä elementti muuttaa tarkasteltavan objektin kaikkien sen aliobjektien osalta annetun muuttujan viittaamaksi objektiksi. Jos muuttujan selvitys ei onnistu, lauseke aiheuttaa poikkeuksen ExpressionException, kun sitä arvioidaan. WITH-lausekkeen aliobjektit yhdistetään AND-operaattorin avulla.



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

<!ATTLIST adapt

type CDATA #REQUIRED>

Tämän elementin avulla mukautetaan kohteena oleva objekti määritelajin määrittämään lajiin. Lauseke palauttaa arvon "ei ladattu", jos sovitinta tai viitattua lajia ei ole vielä ladattu. Se aiheuttaa poikkeuksen ExpressionException arvioinnin aikana, jos lajin nimeä ei ole lainkaan. Mukautuslausekkeen aliobjektit yhdistetään AND-operaattorin avulla.



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

<!ATTLIST iterate

operator (or|and) >

Tämän elementin avulla iteroidaan muuttuja, joka on lajia java.util.Collection. Jos kohteena oleva objekti ei ole lajia java.util.Collection, ilmenee poikkeus ExpressionException arvioitaessa lauseketta.



Seuraavassa on esimerkki ominaisuussivumäärityksestä:

   

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

Määritteen class on oltava sen luokan tarkennettu nimi, joka toteuttaa rajapinnan org.eclipse.ui.IWorkbenchPropertyPage.

Joissakin työympäristön objekteissa voi olla rekisteröityjä ominaisuussivuja. Näihin objekteihin voidaan lisätä ylimääräisiä ominaisuussivuja lisäosien avulla. Ominaisuussivut eivät rajoitu työympäristön resursseihin: kaikissa työympäristössä näkyvissä objekteissa (jopa lisäosien luomissa verkkoaluekohtaisissa objekteissa) voi olla ominaisuussivuja, ja niihin voidaan rekisteröidä ominaisuussivuja muiden lisäosien avulla.