Elementet viewer definerer konfigurationen for en fælles fremviser. Udvidelsen kan stille en tilpasset pop op-menu-id til rådighed, tilsidesætte, om fremviseren stiller link med editorunderstøttelse til rådighed, og/eller stille en filterdialogboks og /eller dialogboksen Tilgængelige tilpasninger til rådighed. Desuden giver indlejrede konfigurationselementer fuld kontrol over struktur og funktionsmåde for pop op-kontekstmenuen.
viewerContentBinding binder definerede indholdsudvidelser vha. udvidelsespunktet navigatorContent til fremviseren, der defineres vha. udvidelsespunktet org.eclipse.ui.views. Alle indholdsudvidelser, der er bundet til fremviseren, beskrives som synlige. Et indholdsserviceprogram (org.eclipse.ui.navigator.INavigatorContentService
) returnerer ikke nogen udvidelser, der ikke er synlige for dets fremvisnings-id.
<!ELEMENT extension (viewer* , viewerContentBinding* , viewerActionBinding* , dragAssistant)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
navn CDATA #IMPLIED>
<!ELEMENT viewer (popupMenu? , options?)>
<!ATTLIST viewer
viewerId CDATA #REQUIRED
popupMenuId CDATA #IMPLIED>
Indeholder grundlæggende konfiguration, der etablerer en fremvisers karakteristika. Klienter skal også definere en org.eclipse.ui.views-udvidelse for at oprette fremvisningsdelen.
<!ELEMENT viewerContentBinding (includes? , excludes?)>
<!ATTLIST viewerContentBinding
viewerId CDATA #REQUIRED>
Klienter skal definere et eller flere viwerContentBinding-elementer for at beskrive, hvilke indholdsudvidelser og fælles filtre der er synlige for fremviseren. En indholdsudvidelse eller et fælles filter er synligt, hvis id'en på indholdsudvidelsen eller det fælles filter matcher en inkluderingssætning under en viewerContentBinding og ikke udelukkes af en udeladelessætning. Hvis en indholdsudvidelse eller et fælles filter ikke er synligt for fremviseren, bliver udvidelsen aldrig spurgt om indhold af et indholdsserviceprogram eller præsenteret for brugeren i de tilgængelige filterdialogbokse.
Klienter kan definere inkluderingselementet for at vælge, hvilke udvidelser der er synlige for fremviseren, og tilsvarende definere udeladelseselementet for udvidelser, der ikke skal gøres synlige i fremviseren. Klienter kan yderligere definere udvidelserne, der eksplicit forespørges om til rodelementer gennem ITreeContentProvider.getElements()) for attributten "isRoot". Hvis et eller flere contentExtension-elementer har "isRoot" angivet som true i inkluderingssætningen, forespørges kun disse udvidelser om rodelementer. Attributten "isRoot" har ingen betydning for udeladelser.
En fremviser kan have flere viewerContentBindings defineret, og deres inkluderings/udeladelsessætninger sammensættes til at producere den endelige funktionsmåde.
org.eclipse.ui.navigator.CommonNavigator
.<!ELEMENT viewerActionBinding (includes? , excludes?)>
<!ATTLIST viewerActionBinding
viewerId CDATA #REQUIRED>
Klienter skal definere, hvilke funktionsudbydere der er synlige i deres fremviser. Klienter kan definere inkluderingselementet for at vælge, hvilke udvidelser der er synlige for fremviseren, og tilsvarende definere udeladelseselementet for udvidelser, der ikke skal gøres synlige i fremviseren.
En fremviser kan have flere viewerContentBindings defineret, og deres inkluderings/udeladelsessætninger sammensættes til at producere den endelige funktionsmåde.
Klienter kan angive en tilpasset id til definitioner af actionProvider, der ikke er indlejret under en navigatorContent-definition. Hvis klienter ikke angiver en id, anvendes id'en for "org.eclipse.ui.navigator.actionProvider.X" som standard. Klienter, der vil opsamle actionProvider'ere uden en specifik id, skal definere en viewerActionBinding som standard-id. Se under eksempelafsnittet, hvordan dette gøres.
org.eclipse.ui.navigator.CommonNavigator
. <!ELEMENT includes ((contentExtension+) | (actionExtension+))>
Definér et sæt mønstre, der skal inkluderes, når der søges efter indholdsudvidelser til den fremviser, der matcher attributten "viewerId". Når inkluderings- og udeladelsessætninger skærer hinanden, får inkluderingssætningerne forrang.
<!ELEMENT excludes ((contentExtension+) | (actionExtension+))>
Definér et sæt mønstre, der skal udelades, når der søges efter indholdsudvidelser til den fremviser, der matcher attributten "viewerId". Når inkluderings- og udeladelsessætninger skærer hinanden, får inkluderingssætningerne forrang.
<!ELEMENT contentExtension EMPTY>
<!ATTLIST contentExtension
pattern CDATA #REQUIRED
isRoot (true | false) >
Angiver id'en eller det matchende mønster på en indholdsudvidelse, der skal rettes forespørgsel om af ITreeContentProvider.getElements()
eller ITreeContentProvider.getChildren()
om roden af fremviseren eller et fælles filter, der skal være tilgængeligt for brugeren i dialogboksen Tilgængelige filtre.
Klienter kan angive "isRoot" for at vælge bestemte rodudvidelser for at tilsidesætte de udvidelser, der ellers skulle være aktiveret for fremviserens inputelement (ud fra matchende triggerPoints-udtryk for fremviserens inputelement).
Der er flere oplysninger i dokumentationen til viewerContentBinding.
Mønstre er
almindelige udtryk, der matcher entydige id'er. Der er flere
oplysninger i Java-dokumentationen. Se under
java.util.regex.Pattern
.
<!ELEMENT actionExtension EMPTY>
<!ATTLIST actionExtension
pattern CDATA #REQUIRED>
Angiver, at funktionsudvidelsen skal have mulighed for at levere til kontekstmenuen og funktionslinjer.
Der er flere oplysninger i dokumentationen til viewerActionBinding.
Mønstre er
almindelige udtryk, der matcher entydige id'er. Der er flere
oplysninger i Java-dokumentationen. Se under
java.util.regex.Pattern
.
<!ELEMENT popupMenu (insertionPoint*)>
<!ATTLIST popupMenu
id CDATA #IMPLIED
allowsPlatformContributions (true | false) >
Et popupMenu-element kan kun defineres, hvis attributten "popupMenuId" for elementet fremviser ikke er angivet.
Elementet popupMenu tillader yderligere tilpasning af den kontekstmenu, der er knyttet til fremviseren. For at disse indstillinger kan anvendes korrekt, skal en forekomst af fremviseren delegere til en org.eclipse.ui.navigator.NavigatorActionService
, der fungerer som en normal
org.eclipse.ui.ActionGroup
. Der er flere oplysninger i dokumentationen til denne API-klasse om udnyttelse af denne funktionalitet.
Klienter, der anvender en forekomst af org.eclipse.ui.navigator.CommonNavigator
behøver ikke gøre mere.
En popupMenu erklærer en eller flere insertionPoints, der anvendes af bidragydere til at organisere deres bidrag til en meningsfuld, mere brugervenlig konsistent liste.
Hvis klienter kun angiver attributten "popupMenuId" for fremviser-elementet, vil sættet af insertionPoints, der anvendes af kontekstmenuen som standard angive følgende liste i den givne rækkefølge.
"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 og org.eclipse.ui.navigator.navigatorContent/navigatorContent/actionProvider).<!ELEMENT insertionPoint EMPTY>
<!ATTLIST insertionPoint
name CDATA #REQUIRED
separator (true | false) >
Definerer et indsætningspunkt for kontekstmenuen. Indeholder navnet på det punkt for klienten, der skal henvises til, og om indsætningspunktet skal gengives som en separator eller en gruppemarkering.
org.eclipse.ui.navigator.CommonActionProvider
eller erklærede bidrag via udvidelsespunktet org.eclipse.ui.popupMenus. <!ELEMENT options (property+)>
Stiller indstillinger til rådighed for fremviseren for at tilpasse, hvordan den præsenteres for brugeren. Se tilgængelige egenskaber under org.eclipse.ui.navigator.INavigatorViewerDescriptor
.
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED>
Stil et name=værdipar til rådighed. Værdien stilles til rådighed som den er for fremviseren, dvs. at tomme strenge videreføres som tomme strenge. Der er oplysninger under org.eclipse.ui.navigator.INavigatorViewerDescriptor
om tilgængelige egenskaber og deres erklæring.
<!ELEMENT dragAssistant EMPTY>
<!ATTLIST dragAssistant
class CDATA #REQUIRED
viewerId CDATA #REQUIRED>
En Træk og placér-assistent stiller letvægtshook til rådighed for at levere ekstra overførselstyper og logik til at angive træk-data. Dette element er ikke påkrævet, da den grundlæggende org.eclipse.ui.navigator.CommonViewer stiller en org.eclipse.jface.util.LocalSelectionTransfer-type til rådighed.
Klienter bør kun definere denne udvidelse i letvægts-plugins med flade afhængighedstræer. Træk-assistenten skal indlæses på forhånd, når fremviseren oprettes, hvilket vil medføre indlæsning af berørte plugins.
org.eclipse.ui.navigator.CommonDragAdapterAssistant
til rådighed.Det følgende eksempel konfigurerer pop op-menu-id'en for en fremviser:
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer id=
"org.eclipse.testViewer"
popupMenuId=
"org.eclipse.testViewer#PopupMenu"
/>
</extension>
Da det underordnede popupMenu-element for fremviseren ikke anvendes i eksemplet ovenfor, anvendes standardsættet af insertionPoints. Sættet defineres som følger. Der er flere oplysninger i dokumentationen til elementet popupMenu.
"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"
Følgende eksempel viser en fremviserkonfiguration, der erklærer en tilpasset popupMenu/insertionPoints, men begrænser objekt- og fremviserbidrag med attributten "allowsPlatformContributions". Klienter må kun bidrage til den definerede menu via org.eclipse.ui.navigator.CommonActionProvider
'ere, der er erklæret for fremviseren - enten øverste niveau eller knyttet til indholdsudvidelser.
Bemærk, at attributten "popupMenuId" ikke samtidig er angivet ,ed elementet popupMenu. Kun en, ikke begge, er en gyldig konfiguration.
<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>
Følgende eksempel erklærer, at en indholdsudvidelse (id: "org.eclipse.ui.navigator.resourceContent") er bundet til en fremviser, der matcher id'en "org.eclipse.ui.navigator.resourceContent". I dette eksempel matcher id'erne for indholdsudvidelse og fremviser, men det er ikke påkrævet. Desuden vil enhver indholdsudvidelse med en id, der begynder med "org.eclipse.ui.navigator.tests.", blive ignoreret.
<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>
Følgende eksempel erklærer en viewerActionBinding for alle actionProvider, der ikke er indlejret under en navigatorContent-udvidelse, der matcher det almindelige udtryk "org.acme.actions.*", men ikke "org.acme.actions.tests.*". Denne udvidelse vil gøre enhver actionProvider, hvis id begynder med "org.acme.actions.", men ikke "org.acme.actions.tests." synlige for fremviseren med id'en "org.acme.viewer". Naturligvis anvendes viewerActionBindings kun til actionProvider-elementer, der ikke er indlejret under et navigatorContent-element. Synligheden af indlejrede actionProvider-elementer styres af viewerContentBindings for det omsluttende navigatorContent-element.
<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>
Følgende eksempel før enhver actionProvider uden attributten "id" synlig for fremviseren "org.acme.viewer". actionProvider'ere uden at tributten "id" har en standard-id, "org.eclipse.ui.navigator.actionProvider.X". Naturligvis anvendes viewerActionBindings kun til actionProvider-elementer, der ikke er indlejret under et navigatorContent-element. Synligheden af indlejrede actionProvider-elementer styres af viewerContentBinding'er for det omsluttende navigatorContent-element.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewerActionBinding viewerId=
"org.acme.viewer"
>
<includes>
<actionExtension pattern=
"org.eclipse.ui.navigator.actionProvider.*"
/>
</includes>
</viewerActionBinding>
</extension>
Følgende eksempel demonstrerer standardegenskaberne, der er tilgængelige for fremviseren.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer popupMenuId=
"org.eclipse.ui.tests.navigator.TestView#PopupMenu"
viewerId=
"org.eclipse.ui.tests.navigator.TestView"
>
<options>
<!-- Skjul skillebladet
"Tilgængelige udvidelser"
i dialogboksen
"Tilgængelige tilpasninger"
(der er tilgængelig fra
"Filtre"
funktion -->
<egenskab name=
"org.eclipse.ui.navigator.hideAvailableExtensionsTab"
value=
"true"
/>
<!-- Skjul dialogboksen
"Tilgængelige tilpasninger"
fuldstændig. Det omfatter, at filtre og tilgængelige indholdsudvidelser skjules. -->
<property name=
"org.eclipse.ui.navigator.hideAvailableCustomizationsDialog"
value=
"true"
/>
<!--Skjul funktionen
"Link med editor"
fra fremviserens værktøjslinje -->
<property name=
"org.eclipse.ui.navigator.hideLinkWithEditorAction"
value=
"true"
/>
<!-- Skjul funktionen
"Skjul alle"
på fremviserens værktøjslinje -->
<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