Visningsprogram-elementet definerer konfigurasjonen for et felles visningsprogram. Utvidelsen kan inneholde en tilpasset hurtigmeny-ID, overstyre om visningsprogrammet gir linker med redigeringstøtte, inneholder en filterdialogboks og/eller dialogboksen "Tilgjengelige tilpasninger". I tillegg gir nestede konfigurasjonselementer full kontroll over hurtigmenyens struktur og virkemåte.
viewerContentBinding-bindinger definerer innholdsutvidelser (via
navigatorContent-utvidelsespunktet) for visningsprogrammer (definert via
org.eclipse.ui.views-utvidelsespunktet). En innholdsutvidelse som er bundet til et
visningsprogram, er beskrevet som synlig. En innholdstjeneste (org.eclipse.ui.navigator.INavigatorContentService
)
returnerer ikke utvidelser som ikke er synlige for tjenestens visningsprogram-ID.
<!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>
Gir basiskonfigurasjon for å definere egenskapene til et visningsprogram. Klienter må også definere en org.eclipse.ui.views-utvidelse for å opprette visningsdelen.
<!ELEMENT viewerContentBinding (includes? , excludes?)>
<!ATTLIST viewerContentBinding
viewerId CDATA #REQUIRED>
Klienter må definere ett eller flere viwerContentBinding-elementer for å beskrive hvilke innholdsutvidelser og vanlige filtre som er synlige. En innholdsutvidelse eller et vanlig filter er synlig hvis IDen til innholdsutvidelsen eller fellesfilteret samsvarer med en includes-setning under en viewerContentBinding og ikke utelates av en excludes-setning. Hvis
en innholdsutvidelse eller et felles filter ikke er synlig for et visningsprogram,
blir utvidelsen aldri spurt om innhold av en innholdstjeneste for dette
visningsprogrammet, og blir aldri presentert for brukeren i dialogboksen Tilgjengelige
filtre.
Klienter kan definere et includes-element for å velge hvilke utvidelser som skal
være synlige for visningsprogrammet, og et excludes-element for utvidelser
som ikke skal være synlige. Klienter kan ytterligere definere utvidelsene som det
eksplisitt må spørres etter for rotelementer (via ITreeContentProvider.getElements()) med
"isRoot"-attributtet. Hvis ett eller flere contentExtension-elementer har "isRoot"
satt til sant (true) i includes-setningen, blir det bare spurt etter
rotelementer i disse utvidelsene. "isRoot"-attributtet har ingen effekt på utelatelser.
Det kan være definert flere viewerContentBindings for et visningsprogram, og
includes/excludes-setningene blir aggregert for å produsere den endelige virkemåten.
org.eclipse.ui.navigator.CommonNavigator
.<!ELEMENT viewerActionBinding (includes? , excludes?)>
<!ATTLIST viewerActionBinding
viewerId CDATA #REQUIRED>
Klienter må definere hvilke handlingsleverandører som er synlige for deres
visningsprogram. Klienter kan definere et includes-element for å velge hvilke
utvidelser som skal være synlige for visningsprogrammet, og et excludes-element
for utvidelser som ikke skal være synlige.
Det kan være definert flere viewerActionBindings
for et visningsprogram, og deres includes/excludes-setninger blir aggregert
for å produsere den endelige virkemåten.
For actionProvider-definisjoner som ikke er nestet under en
navigatorContent-definisjon, kan klienter oppgi en tilpasset ID. Hvis klienter
ikke oppgir en ID, brukes standard-IDen "org.eclipse.ui.navigator.actionProvider.X". For
klienter som ønsker å plukke opp actionProvider uten noen spesifikk ID, må
klienter definere en viewerActionBinding for standard-IDen. I eksempeldelen kan du
se hvordan dette er gjort.
org.eclipse.ui.navigator.CommonNavigator
.<!ELEMENT includes ((contentExtension+) | (actionExtension+))>
Definer et sett med mønstre som skal inkluderes ved søking etter innholdsutvidelser for visningsprogrammet som samsvarer med "viewerId"-attributtet. Når includes- og excludes-setningene krysser hverandre, gis includes-setningen prioritet.
<!ELEMENT excludes ((contentExtension+) | (actionExtension+))>
Definer et sett med mønstre som skal ekskluderes ved søking etter innholdsutvidelser for visningsprogrammet som samsvarer med "viewerId"-attributtet. Når includes- og excludes-setningene krysser hverandre, gis includes-setningen prioritet.
<!ELEMENT contentExtension EMPTY>
<!ATTLIST contentExtension
pattern CDATA #REQUIRED
isRoot (true | false) >
Angir IDen (eller motsvarende mønster) til en innholdsutvidelse
som det kan utføres spørringer i av
ITreeContentProvider.getElements()
eller
ITreeContentProvider.getChildren()
for roten til visningsprogrammet eller et felles filter som skal være
tilgjengelig for brukeren i dialogboksen "Tilgjengelige filtre".
Klienter kan spesifisere "isRoot" for å velge spesifikke rotutvidelser for å
overstyre utvidelsene som ellers ville ha blitt aktivert for
visningsprogrammets inndataelement (basert på samsvarende triggerPoints-uttrykk
for visningsprogrammets inndataelement).
Du finner mer informasjon i dokumentasjonen til viewerContentBinding.
Mønstre er vanlige uttrykk som samsvarer med unike IDer. Du finner mer informasjon i
Java(tm) Platform-dokumentasjonen for java.util.regex.Pattern
.
<!ELEMENT actionExtension EMPTY>
<!ATTLIST actionExtension
pattern CDATA #REQUIRED>
Angir at handlingsutvidelsen skal gis muligheter til å bidra til hurtigmenyen og
handlingslinjene.
Du finner mer informasjon i dokumentasjonen til viewerActionBinding.
Mønstre er vanlige uttrykk som samsvarer med unike IDer. Du finner mer informasjon i
Java(tm) Platform-dokumentasjonen for java.util.regex.Pattern
.
<!ELEMENT popupMenu (insertionPoint*)>
<!ATTLIST popupMenu
id CDATA #IMPLIED
allowsPlatformContributions (true | false) >
Et popupMenu-element kan bare defineres hvis "popupMenuId"-attributtet til
viewer-elementet ikke er oppgitt.
popupMenu-elementet tillater ytterligere tilpasning av hurtigmenyen som er
tilknyttet visningsprogrammet. For at alternativene skal bli brukt riktig, må en forekomst av
visningsprogrammet delegere til
enorg.eclipse.ui.navigator.NavigatorActionService
, som virker som en normal
org.eclipse.ui.ActionGroup
. I dokumentasjonen til denne API-klassen finner
du mer informasjon om hvordan du bruker denne funksjonaliteten. For klienter som bruker en
forekomst av org.eclipse.ui.navigator.CommonNavigator
, er det ikke nødvendig
å gjøre noe ekstra arbeid.
En popupMenu deklarerer ett eller flere insertionPoints
som brukes av bidragsytere til å organisere bidragene i en mer meningsfylt, mer
brukervennlig og konsistent liste.
Hvis klienter bare oppgir "popupMenuId"-attributtet til viewer-elementet, blir
settet med insertionPoints som brukes av hurtigmenyen, en liste med denne
standardrekkefølgen:
"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
.
org.eclipse.ui.navigator.CommonActionProviders
(se org.eclipse.ui.navigator.navigatorContent/actionProvider and org.eclipse.ui.navigator.navigatorContent/navigatorContent/actionProvider).<!ELEMENT insertionPoint EMPTY>
<!ATTLIST insertionPoint
name CDATA #REQUIRED
separator (true | false) >
Definerer et innsettingspunkt for hurtigmenyen. Inkluderer navnet på punktet som klienter skal referere til, og hvorvidt innsettingspunktet skal gjengis som skilletegn eller gruppemerke.
org.eclipse.ui.navigator.CommonActionProvider
eller deklarative
bidrag via utvidelsespunktet org.eclipse.ui.popupMenus.<!ELEMENT options (property+)>
Gir alternativer for hvordan visningsprogrammet presenteres for brukeren. Se
org.eclipse.ui.navigator.INavigatorViewerDescriptor
for informasjon om de
tilgjengelige egenskapene.
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED>
Oppgi et navn=verdipar. Verdien blir oppgitt uforandret til visningsprogrammet (slik at
tomme strenger blir spredt som tomme strenger). Under
org.eclipse.ui.navigator.INavigatorViewerDescriptor
finner du informasjon
om tilgjengelige egenskaper med beskrivelser.
<!ELEMENT dragAssistant EMPTY>
<!ATTLIST dragAssistant
class CDATA #REQUIRED
viewerId CDATA #REQUIRED>
Med en dra-og-slipp-assistent
blir det enkelt å besørge ekstra overføringstyper og -logikk for angivelse av dra-dataene. Dette elementet er
ikke obligatorisk, fordi den grunnleggende org.eclipse.ui.navigator.CommonViewer besørger en
org.eclipse.ui.jface.util.LocalSelectionTransfer-type.
Klienter bør bare definere denne utvidelsen i enkle plugin-moduler med enkle
avhengighetsoversikter. Dra-assistentene må være allerede være lastet når
visningsprogrammet blir opprettet, dette vil tvinge innlasting av påvirkede
plugin-moduler.
org.eclipse.ui.navigator.CommonDragAdapterAssistant
.Det følgende eksempelet konfigurerer hurtigmeny-IDen for et visningsprogram.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer id=
"org.eclipse.testViewer"
popupMenuId=
"org.eclipse.testViewer#PopupMenu"
/>
</extension>
Siden visningsprogrammets underordnede popupMenu-element ikke brukes i eksempelet over, brukes standardsettet med insertionPoints. Dette settet blir definert som vist nedenfor. Se dokumentasjonen til popupMenu-elementet hvis du vil ha flere opplysninger.
"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"
Det følgende eksempelet demonstrerer en visningsprogramkonfigurasjon som deklarer
tilpassede popupMenu/insertionPoints, men som begrenser objekt- og visningsbidrag
med "allowsPlatformContributions"-attributtet. Klienter kan bare bidra til den
definerte menyen via org.eclipse.ui.navigator.CommonActionProvider
,
deklarert for visningsprogrammet (enten på toppnivå eller tilknyttet innholdsutvidelser).
Legg merke til at "popupMenuId"-attributtet ikke er spesifisert samtidig med popupMenu-elementet. Bare en av dem, ikke begge, er en gyldig konfigurasjon.
<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>
Det følgende eksempelet deklarerer at en innholdsutvidelse (id: "org.eclipse.ui.navigator.resourceContent") er bundet til et visningsprogram som samsvarer med IDen "org.eclipse.ui.navigator.resourceContent". (I dette eksempelet samsvarer innholdsutvidelsens og visningsprogrammets IDer, men dette er ikke nødvendig.) Videre vil innholdsutvidelser med en ID som begynner på "org.eclipse.ui.navigator.tests.", blir ignorert.
<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>
Det følgende eksempelet deklarerer en viewerActionBinding for alle actionProviders (ikke nestet under en navigatorContent-utvidelse) som samsvarer med det regulære uttrykket "org.acme.actions.*", men ikke "org.acme.actions.tests.*". Dette uttrykket vil gjøre enhver actionProvider hvis ID begynner med "org.acme.actions.", men ikke "org.acme.actions.tests.", synlig for visningsprogrammet med IDen "org.acme.viewer". Selvsagt gjelder viewerActionBindings bare for actionProvider-elementer som ikke er nestet under et navigatorContent-element. Synligheten til nestede actionProvider-elementer er kontrollert av viewerContentBindings for det omsluttende navigatorContent-elementet.
<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>
Det følgende eksempelet gjør actionProvider uten "id"-attributt synlig for visningsprogrammet "org.acme.viewer". En actionProvider uten "id"-attributt har standard-IDen "org.eclipse.ui.navigator.actionProvider.X". Selvsagt gjelder viewerActionBindings bare for actionProvider-elementer som ikke er nestet under et navigatorContent-element. Synligheten til nestede actionProvider-elementer er kontrollert av viewerContentBindings for det omsluttende navigatorContent-elementet.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewerActionBinding viewerId=
"org.acme.viewer"
>
<includes>
<actionExtension pattern=
"org.eclipse.ui.navigator.actionProvider.*"
/>
</includes>
</viewerActionBinding>
</extension>
Det følgende eksempelet viser hvilke standardegenskaper som er tilgjengelige for visningsprogrammet.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer popupMenuId=
"org.eclipse.ui.tests.navigator.TestView#PopupMenu"
viewerId=
"org.eclipse.ui.tests.navigator.TestView"
>
<options>
<!-- Hide the
"Available Extensions"
tab in the
"Available Customizations"
dialog (available from the
"Filters"
action -->
<property name=
"org.eclipse.ui.navigator.hideAvailableExtensionsTab"
value=
"true"
/>
<!-- Hide the
"Available Customizations"
dialog completely. This includes hiding the filters and the available content extensions. -->
<property name=
"org.eclipse.ui.navigator.hideAvailableCustomizationsDialog"
value=
"true"
/>
<!-- Hide the
"Link with Editor"
action from the toolbar of the viewer -->
<property name=
"org.eclipse.ui.navigator.hideLinkWithEditorAction"
value=
"true"
/>
<!-- Hide the
"Collapse All"
action from the toolbar of the viewer -->
<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