Viewer-elementti määrittää yleisen katseluohjelman kokoonpanon. Laajennus voi antaa mukautetun ponnahdusvalikon tunnuksen; ohittaa sen, toimittaako katseluohjelman linkin, jossa on muokkausohjelman tuki; toimittaa suodatinvalintaikkunan ja toimittaa Käytettävissä olevat mukautukset -valintaikkunan. Lisäksi sisäkkäiset kokoonpanoelementit mahdollistavat ponnahdusvalikon rakenteen ja toiminnan täyden hallinnan.
viewerContentBinding sitoo määritetyt sisältölaajennukset (navigatorContent-laajennuspisteen kautta) katseluohjelmiin (määritetty org.eclipse.ui.views-laajennuspisteen avulla). Jos sisältölaajennus on sidottu katseluohjelmaan, sitä kutsutaan näkyväksi. Sisältöpalvelu (org.eclipse.ui.navigator.INavigatorContentService
)
ei palauta mitään laajennusta, joka ei ole näkyvä sen katseluohjelman tunnuksella.
<!ELEMENT extension (viewer* , viewerContentBinding* , viewerActionBinding* , dragAssistant)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT viewer (popupMenu? , options?)>
<!ATTLIST viewer
viewerId CDATA #REQUIRED
popupMenuId CDATA #IMPLIED>
Toimittaa katseluohjelman ominaisuuksien peruskokoonpanon. Näkymäosan luonti edellyttää, että työasemat määrittävät org.eclipse.ui.views-laajennuksen.
<!ELEMENT viewerContentBinding (includes? , excludes?)>
<!ATTLIST viewerContentBinding
viewerId CDATA #REQUIRED>
Työasemien on määritettävä ainakin yksi viwerContentBinding-elementti, joka kuvaa sitä, mitkä sisältölaajennukset ja yhteiset suodattimet ovat näkyvissä katseluohjelmassa. Sisältölaajennus tai yhteinen suodatin on näkyvä, jos sen tunnus vastaa viewerContentBinding-kohteen includes-lausetta eikä excludes-lause sulje sitä pois. Jos sisältölaajennus tai yhteinen suodatin ei ole näkyvissä katseluohjelmassa, kyseisen katseluohjelman sisältöpalvelu ei koskaan pyydä laajennukselta sisältöä eikä sitä esitetä käyttäjälle käytettävissä olevien suodattimien valintaikkunassa.
Työasemat voivat määrittää includes-elementin, jonka avulla voi valita, mitkä laajennukset ovat näkyvissä katseluohjelmassa, ja excludes-elementin, jonka avulla voi määrittää,
mitkä laajennukset eivät ole näkyvissä katseluohjelmassa. Työasemat voivat lisäksi määrittää laajennukset, joista kysellään juurielementtejä (metodi ITreeContentProvider.getElements()) isRoot-määritteen avulla. Jos ainakin yhden contentExtension-elementin isRoot-arvo includes-lauseessa on "true", vain kyseisistä laajennuksista kysellään juurielementtejä. IsRoot-määrite ei vaikuta pois sulkemisiin.
Katseluohjelmalla voi olla useita viewerContentBindings-määrityksiä, ja niiden includes/excludes-lauseet yhdistetään, mikä määrää lopullisen toiminnan.
org.eclipse.ui.navigator.CommonNavigator
-ilmentymä.<!ELEMENT viewerActionBinding (includes? , excludes?)>
<!ATTLIST viewerActionBinding
viewerId CDATA #REQUIRED>
Työasemien on määritettävä, mitkä toimintojen toimittajat näkyvät katseluohjelmassa. Työasemat voivat määrittää includes-elementin, jonka avulla voi valita, mitkä laajennukset ovat näkyvissä katseluohjelmassa, ja excludes-elementin, jonka avulla voi määrittää,
mitkä laajennukset eivät ole näkyvissä katseluohjelmassa.
Katseluohjelmalla voi olla useita viewerContentBindings-määrityksiä, ja niiden includes- sekä excludes-lauseet yhdistetään, mikä määrää lopullisen toiminnan.
Niihin actionProvider-määrityksiin, jotka eivät ole navigatorContent-määrityksen sisällä, työasemat voivat määrittää mukautetun tunnuksen. Jos työasemat eivät määritä tunnusta, oletustunnus
on org.eclipse.ui.navigator.actionProvider.X. Jos työasema haluaa poimia actionProvider-kohteet, joilla ei ole tiettyä tunnusta, työasemien on määritettävä oletustunnukseksi viewerActionBinding. Lisätietoja tästä on esimerkkiosiossa.
org.eclipse.ui.navigator.CommonNavigator
-ilmentymä.<!ELEMENT includes ((contentExtension+) | (actionExtension+))>
Määritä hakuperusteiden joukko, joka otetaan huomioon haettaessa sisältölaajennuksia katseluohjelmalle, joka vastaa viewerId-määritettä. Kun includes- ja excludes-lauseet ovat ristiriidassa, käytetään includes-lausetta.
<!ELEMENT excludes ((contentExtension+) | (actionExtension+))>
Määritä hakuperusteiden joukko, joka suljetaan pois haettaessa sisältölaajennuksia katseluohjelmalle, joka vastaa viewerId-määritettä. Kun includes- ja excludes-lauseet ovat ristiriidassa, käytetään includes-lausetta.
<!ELEMENT contentExtension EMPTY>
<!ATTLIST contentExtension
pattern CDATA #REQUIRED
isRoot (true | false) >
Osoittaa, että sen sisältölaajennuksen tunnus (tai vastaava hakuperuste), josta ITreeContentProvider.getElements()
tai ITreeContentProvider.getChildren()
kyselee katseluohjelman tai yhteisen suodattimen juurta, on käyttäjän käytettävissä Käytettävissä olevat suodattimet -valintaikkunassa.
Työasemat voivat määrittää isRoot-määritteen, jos haluavat valita tietyt juurilaajennukset ja ohittaa laajennukset, jotka muutoin olisivat käytössä katseluohjelman syöte-elementissä (perustuen katseluohjelman syöte-elementin vastaavaan triggerPoints-lausekkeeseen).
Lisätietoja on kohteen viewerContentBinding dokumentaatiossa.
Kaavat ovat yksilöllisiä tunnuksia vastaavia säännöllisiä lausekkeita. Lisätietoja on java.util.regex.Pattern
-luokan Java-ohjeissa.
<!ELEMENT actionExtension EMPTY>
<!ATTLIST actionExtension
pattern CDATA #REQUIRED>
Osoittaa, että toimintolaajennuksella on oltava tilaisuus tehdä lisäyksiä pikavalikkoon ja toimintopalkkeihin.
Lisätietoja on kohteen viewerActionBinding dokumentaatiossa.
Kaavat ovat yksilöllisiä tunnuksia vastaavia säännöllisiä lausekkeita. Lisätietoja on java.util.regex.Pattern
-luokan Java-ohjeissa.
<!ELEMENT popupMenu (insertionPoint*)>
<!ATTLIST popupMenu
id CDATA #IMPLIED
allowsPlatformContributions (true | false) >
PopupMenu-elementin voi määrittää vain, jos viewer-elementin popupMenuId-määritettä ei ole määritetty.
PopupMenu-elementin avulla katseluohjelmaan liittyvää pikavalikkoa voi mukauttaa
tarkemmin. Jotta valintoja käytettäisiin oikein, katseluohjelman ilmentymän on
delegoitava kohteeseen org.eclipse.ui.navigator.NavigatorActionService
, joka toimii
kuten tavallinen org.eclipse.ui.ActionGroup
. Lisätietoja toiminnon käytöstä on tämän sovellusohjelmaliittymäluokan dokumentaatiossa. Jos työasema käyttää org.eclipse.ui.navigator.CommonNavigator
-ilmentymää, lisätyötä ei tarvita.
PopupMenu-elementti esittelee ainakin yhden insertionPoints-kohteen, joita käytetään lisäysten järjestämiseen helppokäyttöiseksi ja johdonmukaiseksi luetteloksi.
Jos työasemat määrittävät vain viewer-elementin popupMenuId-määritteen, pikavalikon käyttämä insertionPoints-joukko käyttää oletusjärjestyksenä seuraavaa luetteloa:
"group.new" separator="true" "group.goto" "group.open" separator="true" "group.openWith" "group.show" separator="true" "group.edit" separator="true" "group.reorganize" "group.port" "group.generate" separator="true" "group.search" separator="true" "group.build" separator="true" "additions" separator="true" "group.properties" separator="true"
org.eclipse.ui.navigator.ICommonMenuConstants
vastaavia vakioita.
org.eclipse.ui.navigator.CommonActionProviders
(katsoorg.eclipse.ui.navigator.navigatorContent/actionProvider ja org.eclipse.ui.navigator.navigatorContent/navigatorContent/actionProvider).<!ELEMENT insertionPoint EMPTY>
<!ATTLIST insertionPoint
name CDATA #REQUIRED
separator (true | false) >
Määrittää pikavalikon lisäyskohdan. Sisältää kohdan nimen, johon työasemat voivat viitata, ja sen, onko lisäyskohta hahmonnettava erottimena vai ryhmämerkintänä.
org.eclipse.ui.navigator.CommonActionProvider
-kohteen kautta tai esittelyllisiä lisäyksiä org.eclipse.ui.popupMenus-laajennuspisteen avulla.<!ELEMENT options (property+)>
Toimittaa katseluohjelmalle vaihtoehtoja, joiden avulla voi mukauttaa sitä,
kuinka se esitetään käyttäjälle. Lisätietoja käytettävissä olevista ominaisuuksista on kohteessa org.eclipse.ui.navigator.INavigatorViewerDescriptor
.
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED>
Toimittaa nimi=arvo-parin. Arvo toimitetaan katseluohjelmalle sellaisenaan (tyhjät merkkijonot välitetään tyhjinä merkkijonoina). Lisätietoja käytettävissä olevista ominaisuuksista ja niiden kuvauksista on kohteessa org.eclipse.ui.navigator.INavigatorViewerDescriptor
.
<!ELEMENT dragAssistant EMPTY>
<!ATTLIST dragAssistant
class CDATA #REQUIRED
viewerId CDATA #REQUIRED>
Vedon ja pudotuksen aputoiminto toimittaa kevyen (lightweight) ripustimen, jolloin käyttöön tulee lisää
siirtolajeja ja vetotietojen määrityksen logiikka. Tämä elementti ei ole pakollinen, koska tavallinen org.eclipse.ui.navigator.CommonViewer toimittaa org.eclipse.jface.util.LocalSelectionTransfer-lajin.
Työasemien tulee määrittää tämä laajennus vain kevyisiin lisäosiin, joissa on matalat riippuvuusrakenteet. Vetoaputoiminnot on ladattava etukäteen, kun katseluohjelma luodaan, mikä pakottaa lataamaan vaikutuksen piiriin kuuluvat lisäosat.
org.eclipse.ui.navigator.CommonDragAdapterAssistant
-toteutuksen.Seuraavassa esimerkissä määritetään katseluohjelman ponnahdusvalikon tunnus.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer id=
"org.eclipse.testViewer"
popupMenuId=
"org.eclipse.testViewer#PopupMenu"
/>
</extension>
Koska katseluohjelman popupMenu-alielementtiä ei käytetä edellä olevassa esimerkissä, käytössä on oletusarvon mukainen insertionPoints-joukko. Kyseinen joukko määritetään seuraavasti. Lisätietoja on popupMenu-elementin dokumentaatiossa.
"group.new" separator="true" "group.goto" "group.open" separator="true" "group.openWith" "group.show" separator="true" "group.edit" separator="true" "group.reorganize" "group.port" "group.generate" separator="true" "group.search" separator="true" "group.build" separator="true" "additions" separator="true" "group.properties" separator="true"
Seuraavassa esimerkissä esitetään katseluohjelman kokoonpano, joka esittelee mukautetun popupMenu/insertionPoints-elementin, mutta rajoittaa objektien ja katseluohjelmien lisäykset allowsPlatformContributions-määritteen avulla. Työasemat voivat tehdä lisäyksiä määritettyyn valikkoon
vain katseluohjelmalle esiteltyjen org.eclipse.ui.navigator.CommonActionProvider
-kohteiden avulla (joko ylätason tai sisältölaajennuksiin liitettyjen).
Huomaa, että popupMenuId-määritettä ei ole määritetty samanaikaisesti popupMenu-elementin kanssa. Vain toinen, mutta ei molemmat, on mahdollista määrittää.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer viewerId=
"org.eclipse.ui.navigator.resourceContent"
>
<popupMenu allowsPlatformContributions=
"false"
id=
"org.eclipse.ui.navigator.resourceContent#PopupMenu"
>
<insertionPoint name=
"group.new"
/>
<insertionPoint name=
"group.open"
separator=
"true"
/>
<insertionPoint name=
"group.openWith"
/>
<insertionPoint name=
"group.port"
separator=
"true"
/>
<insertionPoint name=
"additions"
separator=
"true"
/>
<insertionPoint name=
"group.properties"
separator=
"true"
/>
</popupMenu>
</viewer>
<viewerContentBinding viewerId=
"org.eclipse.ui.navigator.resourceContent"
>
<includes>
<contentExtension pattern=
"org.eclipse.ui.navigator.resourceContent"
/>
</includes>
</viewerContentBinding>
</extension>
Seuraavassa esimerkissä esitellään, että yksi sisältölaajennus (tunnus: org.eclipse.ui.navigator.resourceContent) on sidottu katseluohjelmaan, joka vastaa tunnusta org.eclipse.ui.navigator.resourceContent. (Tässä esimerkissä sisältölaajennuksen ja katseluohjelman tunnukset täsmäävät, mutta se ei ole pakollista.) Lisäksi jokainen sisältötunnus, joka alkaa tunnuksella, jonka alussa on org.eclipse.ui.navigator.tests., ohitetaan.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewerContentBinding viewerId=
"org.eclipse.ui.navigator.resourceContent"
>
<includes>
<contentExtension pattern=
"org.eclipse.ui.navigator.resourceContent"
/>
</includes>
<excludes>
<contentExtension pattern=
"org.eclipse.ui.navigator.tests.*"
/>
</excludes>
</viewerContentBinding>
</extension>
Seuraavassa esimerkissä esitellään viewerActionBinding kaikille actionProvider-elementeille (ei navigatorContent-laajennuksen alla), jotka vastaavat säännöllistä lauseketta "org.acme.actions.*", mutta eivät lauseketta "org.acme.actions.tests.*". Tämä lauseke tekee kaikki actionProvider-elementit, joiden tunnus alkaa merkkijonolla "org.acme.actions.", mutta ei merkkijonolla "org.acme.actions.tests.", näkyviksi katseluohjelmassa, jonka tunnus on "org.acme.viewer". Huomaa, että viewerActionBindings pätee vain actionProvider-elementteihin, jotka eivät sisälly navigatorContent-elementtiin. Sisältyvien actionProvider-elementtien näkyvyyttä hallitsevat sisältävän navigatorContent-elementin viewerContentBinding-elementit.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewerActionBinding viewerId=
"org.acme.viewer"
>
<includes>
<actionExtension pattern=
"org.acme.actions.*"
/>
</includes>
<excludes>
<actionExtension pattern=
"org.acme.actions.tests.*"
/>
</excludes>
</viewerActionBinding>
</extension>
Seuraavassa esimerkissä mikä tahansa actionProvider, jolla ei ole id-määritettä, tulee näkyväksi katseluohjelmassa org.acme.viewer. ActionProvider, jolla ei ole id-määritettä, saa oletustunnuksen org.eclipse.ui.navigator.actionProvider.X. Huomaa, että viewerActionBindings pätee vain actionProvider-elementteihin, jotka eivät sisälly navigatorContent-elementtiin. Sisältyvien actionProvider-elementtien näkyvyyttä hallitsevat sisältävän navigatorContent-elementin viewerContentBinding-elementit.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewerActionBinding viewerId=
"org.acme.viewer"
>
<includes>
<actionExtension pattern=
"org.eclipse.ui.navigator.actionProvider.*"
/>
</includes>
</viewerActionBinding>
</extension>
Seuraavassa esimerkissä esitellään katseluohjelman vakio-ominaisuuksia.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer popupMenuId=
"org.eclipse.ui.tests.navigator.TestView#PopupMenu"
viewerId=
"org.eclipse.ui.tests.navigator.TestView"
>
<options>
<!-- Piilota
"Käytettävissä olevat laajennukset"
-välilehti
"Käytettävissä olevat mukautukset"
-valintaikkunasas (käytettävissä
"Suodattimet"
-toiminnossa -->
<property name=
"org.eclipse.ui.navigator.hideAvailableExtensionsTab"
value=
"true"
/>
<!-- Piilota
"Käytettävissä olevat mukautukset"
-valintaikkuna kokonaan. Tämä valinta piilottaa myös suodattimet ja käytettävissä olevat sisältölaajennukset. -->
<property name=
"org.eclipse.ui.navigator.hideAvailableCustomizationsDialog"
value=
"true"
/>
<!-- Piilota
"Linkitä muokkausohjelmaan"
-toiminto katseluohjelman työkaluriviltä -->
<property name=
"org.eclipse.ui.navigator.hideLinkWithEditorAction"
value=
"true"
/>
<!-- Piilota
"Pienennä kaikki"
-toiminto katseluohjelman työkaluriviltä -->
<property name=
"org.eclipse.ui.navigator.hideCollapseAllAction"
value=
"true"
/>
</options>
</viewer>
</extension>
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html