Elementet viewer definierar konfigurationen för ett gemensamt visningsprogram. Utökningen kan tillhandahålla ett ID för en anpassad listruta och åsidosätta om visningsprogrammet ska tillhandahålla en länk för redigerarfunktioner, en filterdialogruta och/eller dialogrutan Tillgängliga anpassningar. Dessutom ger kapslade konfigurationselement full kontroll över kontextlistrutans struktur och hur den fungerar.
viewerContentBinding binder definierade innehållsutökningar (via utökningspunkten navigatorContent) till visningsprogram (som definierats via utökningspunkten org.eclipse.ui.views). Innehållsutökningar som är bundna till visningsprogram beskrivs som synliga. En innehållstjänst
(org.eclipse.ui.navigator.INavigatorContentService
)
returnerar inte utökningar som inte är synliga för visningsprograms-ID:t.
<!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>
Tillhandahåller grundläggande konfiguration för visningsprogrammets egenskaper. Klienter måste även definiera utökningen org.eclipse.ui.views för att skapa visningsdelen.
<!ELEMENT viewerContentBinding (includes? , excludes?)>
<!ATTLIST viewerContentBinding
viewerId CDATA #REQUIRED>
Klienter måste definiera ett eller flera viwerContentBinding-element för att beskriva vilka innehållsutökningar och gemensamma filter som är synliga för visningsprogrammet. En innehållsutökning eller ett gemensamt filter är synligt om ID:t för innehållsutökningen eller det gemensamma filtret överensstämmer med en includes-sats under en viewerContentBinding och inte exkluderas av en excludes-sats. Om en innehållsutökning eller ett gemensamt filter inte är synligt för ett visningsprogram får utökningspunkten aldrig en fråga om innehåll från en innehållstjänst för visningsprogrammet och inte heller visas den för användaren i den tillgängliga filterdialogrutan.
Klienter kan definiera ett includes-element för att välja vilka utökningar som ska vara synliga för visningsprogrammet och, på motsvarande sätt, ett excludes-element för utökningar som inte ska vara synliga för visningsprogrammet. Klienter kan göra ytterligare definitioner av de utökningar ska tillfrågas explicit om rotelement (via ITreeContentProvider.getElements()) av attributet isRoot. Om värdet true har angetts för isRoot för ett eller flera contentExtension-element i includes-satsen tillfrågas endast de utökningarna om rotelement. Attributet isRoot påverkar inte exkluderingar.
Ett visningsprogram kan ha flera förekomster av definierade viewerContentBinding och deras includes-/excludes-satser aggregeras så att de slutliga funktionerna skapas.
org.eclipse.ui.navigator.CommonNavigator
anges. <!ELEMENT viewerActionBinding (includes? , excludes?)>
<!ATTLIST viewerActionBinding
viewerId CDATA #REQUIRED>
Klienter måste definiera vilka åtgärdsleverantörer som är synliga för visningsprogrammet. Klienter kan definiera ett includes-element för att välja vilka utökningar som ska vara synliga för visningsprogrammet och, på motsvarande sätt, ett excludes-element för utökningar som inte ska vara synliga för visningsprogrammet.
Ett visningsprogram kan ha flera förekomster av definierade viewerActionBinding och deras includes-/excludes-satser aggregeras så att de slutliga funktionerna skapas.
För actionProvider-definitioner som inte är kapslade under en navigatorContent-definition kan klienter ange ett anpassat ID. Om klienter inte anger ett ID används "org.eclipse.ui.navigator.actionProvider.X" som standard. För klienter där actionProvider-förekomster utan specifikt ID ska användas måste en viewerActionBinding för standard_ID:t definieras. Mer information finns i exempeavsnittet:
org.eclipse.ui.navigator.CommonNavigator
anges. <!ELEMENT includes ((contentExtension+) | (actionExtension+))>
Definiera en uppsättning mönster som ska ingå vid sökning efter innehållsutökningar för det visningsprogram som överensstämmer med attributet viewerId. När includes- och excludes-satserna korsar varandra har includes-satsen prioritet.
<!ELEMENT excludes ((contentExtension+) | (actionExtension+))>
Definiera en uppsättning mönster som ska utelämnas vid sökning efter innehållsutökningar för det visningsprogram som överensstämmer med attributet viewerId. När includes- och excludes-satserna korsar varandra har includes-satsen prioritet.
<!ELEMENT contentExtension EMPTY>
<!ATTLIST contentExtension
pattern CDATA #REQUIRED
isRoot (true | false) >
Anger ID:t (eller det överensstämmande mönstret) för en innehållsutökning som ska tillfrågas av ITreeContentProvider.getElements()
eller ITreeContentProvider.getChildren()
om roten av visningsprogrammet eller ett gemensamt filter som ska vara tillgängligt för användaren i dialogrutan Tillgängliga filter.
Klienter kan ange isRoot och välja specifika rotutökningar för att åsidosätta de utökningar som i annat fall skulle aktiveras för indataelementet för visningsprogrammet (baserat på det överensstämmande triggerPoints-uttrycket för indataelementet för visningsprogrammet).
Mer information finns i dokumentationen till viewerContentBinding.
Mönster är reguljära uttryck som matchar unika identifierare. Mer information finns i dokumentationen till Java(tm)-plattformen för java.util.regex.Pattern
.
<!ELEMENT actionExtension EMPTY>
<!ATTLIST actionExtension
pattern CDATA #REQUIRED>
Anger att åtgärdsutökningen ska kunna lägga till objekt på kontextmenyn och i åtgärdsfälten.
Mer information finns i dokumentationen till viewerActionBinding.
Mönster är reguljära uttryck som matchar unika identifierare. Mer information finns i dokumentationen till Java(tm)-plattformen för java.util.regex.Pattern
.
<!ELEMENT popupMenu (insertionPoint*)>
<!ATTLIST popupMenu
id CDATA #IMPLIED
allowsPlatformContributions (true | false) >
Ett popupMenu-element kan definieras endast om attributet popupMenuId för
viewer-elementet inte har angetts.
Med popupMenu-elementet kan ytterligare anpassning av den kontextmeny som är associerad med visningsprogrammet göras. För att alternativen ska användas på rätt sätt måste en förekomst av visningsprogrammet delegera till en org.eclipse.ui.navigator.NavigatorActionService
som fungerar som en vanlig org.eclipse.ui.ActionGroup
. Mer information om hur du använder de här funktionerna finns i dokumentationen till den här API-klassen. För klienter som använder en förekomst av org.eclipse.ui.navigator.CommonNavigator
behöver inget extra arbete utföras.
En popupMenu deklarerar en eller flera insertionPoints som kommer att användas av bidragare för sortering av tillägg i en självförklarande, mer användarvänlig och konsekvent lista.
Om klienter endast anger attributet popupMenuId för viewer-elementet används som standard följande lista i angiven ordningsföljd för den uppsättning insertionPoints som används av kontextmenyn:
"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
(mer information finns i avsnitten för org.eclipse.ui.navigator.navigatorContent/actionProvider och org.eclipse.ui.navigator.navigatorContent/navigatorContent/actionProvider).<!ELEMENT insertionPoint EMPTY>
<!ATTLIST insertionPoint
name CDATA #REQUIRED
separator (true | false) >
Definierar en infogningspunkt för kontextmenyn. Inbegriper namnet på den punkt som klienter refererar till och anger om infogningspunkten ska återges som en avgränsare eller en gruppmarkör.
org.eclipse.ui.navigator.CommonActionProvider
eller deklarativa tillägg via utökningspunkten org.eclipse.ui.popupMenus.<!ELEMENT options (property+)>
Ange alternativ i visningsprogrammet och anpassa hur det visas för användaren. Information om tillgängliga egenskaper finns i avsnittet om org.eclipse.ui.navigator.INavigatorViewerDescriptor
.
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED>
Ange ett namnvärdepar. Värdet visas i befintligt skick i visningsprogrammet (så tomma strängar propageras som tomma strängar). Information om tillgängliga egenskaper och beskrivningar av dem finns i avsnittet om org.eclipse.ui.navigator.INavigatorViewerDescriptor
.
<!ELEMENT dragAssistant EMPTY>
<!ATTLIST dragAssistant
class CDATA #REQUIRED
viewerId CDATA #REQUIRED>
I hjälpen för dra och släpp finns en Lightweight-hook-funktion så att extra överföringstyper och -logik kan anges för inställning av data för dra-åtgärder. Det här elementet är inte obligatoriskt eftersom det vanliga org.eclipse.ui.navigator.CommonViewer tillhandahåller en org.eclipse.jface.util.LocalSelectionTransfer-typ.
Klienter bör endast definiera den här utökningen i Lightweight-insticksprogram med beroendeträd med få nivåer. Hjälp för dra-åtgärder måste läsas in när visningsprogrammet skapas, vilket tvingar inläsning av berörda insticksprogram.
org.eclipse.ui.navigator.CommonDragAdapterAssistant
.I följande exempel konfigureras listrute-ID:t för ett visningsprogram.
<extension point=
"org.eclipse.ui.navigator.viewer"
>
<viewer id=
"org.eclipse.testViewer"
popupMenuId=
"org.eclipse.testViewer#PopupMenu"
/>
</extension>
Eftersom det underordnade elementet popupMenu för visningsprogrammet inte används i det ovanstående exemplet används standarduppsättningen insertionPoints. Uppsättningen definieras på följande sätt. Mer information om finns i dokumentationen för popupMenu-elementet.
"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"
I följande exempel visas en konfiguration för ett visningsprogram där anpassade
popupMenu/insertionPoints deklareras men objekts- och visningsprogramstillägg med attributet "allowsPlatformContributions" begränsas. Klienter kan endast lägga till i den definierade menyn via org.eclipse.ui.navigator.CommonActionProvider
-förekomster som deklarerats för visningsprogrammet (antingen på den översta nivån eller associerat med innehållsutökningar).
Lägg märke till att attributet "popupMenuId" inte kan anges samtidigt som elementet popupMenu. Ett av dem, men inte båda, är en giltig 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>
I följande exempel deklareras att en innehållsutökning (ID: "org.eclipse.ui.navigator.resourceContent") är bunden till ett visningsprogram som överensstämmer med ID:t "org.eclipse.ui.navigator.resourceContent". (I det här exemplet överensstämmer innehållsutöknings-ID:t och visningsprograms-ID:t men det är inte ett krav.) Dessutom ignoreras innehållsutökningar med ID:n som börjar med "org.eclipse.ui.navigator.tests."
<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>
I följande exempel deklareras en viewerActionBinding för alla actionProvider-förekomster (som inte är kapslade under en navigatorContent-utökning) som överensstämmer med det reguljära uttrycket "org.acme.actions.*" men inte med "org.acme.actions.tests.*". Det här uttrycket göra alla actionProvider-förekomster vars ID börjar med "org.acme.actions." men inte "org.acme.actions.tests." synliga i visningsprogrammet med ID:t "org.acme.viewer". viewerActionBindings används förstås endast för actionProvider-element som inte kapslats under ett navigatorContent-element. Synligheten för kapslade actionProvider-element styrs av viewerContentBindings för det omslutande 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>
I följande exempel blir alla actionProvider utan "id"-attribut synliga i visningsprogrammet "org.acme.viewer". actionProvider-förekomster utan "id"-attribut har standard-ID:t "org.eclipse.ui.navigator.actionProvider.X". viewerActionBindings används förstås endast för actionProvider-element som inte kapslats under ett navigatorContent-element. Synligheten för kapslade actionProvider-element styrs av viewerContentBinding-förekomster för det omslutande 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>
I följande exempel visas de standardegenskaper som är tillgängliga för 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>
<!-- Dölj fliken
"Tillgängliga utökningar"
i dialogrutan
"Tillgängliga anpassningar"
(tillgänglig från
åtgärden "Filter"
-->
<property name=
"org.eclipse.ui.navigator.hideAvailableExtensionsTab"
value=
"true"
/>
<!-- Dölj dialogrutan
"Tillgängliga anpassningar"
helt. Det innebära att även filter och tillgängliga innehållsutökningar döljs. -->
<property name=
"org.eclipse.ui.navigator.hideAvailableCustomizationsDialog"
value=
"true"
/>
<!-- Dölj åtgärden
"Länka med redigerare"
från verktygsfältet i visningsprogrammet -->
<property name=
"org.eclipse.ui.navigator.hideLinkWithEditorAction"
value=
"true"
/>
<!-- Dölj åtgärden
"Komprimera alla"
från verktygsfältet i visningsprogrammet -->
<property name=
"org.eclipse.ui.navigator.hideCollapseAllAction"
value=
"true"
/>
</options>
</viewer>
</extension>
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved.
Detta program och medföljande material tillhandahålls under villkoren för Eclipse Public License v1.0 som medföljer denna distribution och finns tillgänglig på
http://www.eclipse.org/legal/epl-v10.html