CommonNavigator в собственном RCP - приложение ничего не показывает - PullRequest
0 голосов
/ 11 мая 2010

Я использовал образец почтового rcp-приложения для тестирования общей структуры навигатора. Я добавил вид и прикрепил его к своему контент-провайдеру. К сожалению, на мой взгляд, ничего не показано, ни одна функция из моего contentprovider или labelprovider даже не вызывается.

Вот мой plugin.xml

   <extension
         id="application"
         point="org.eclipse.core.runtime.applications">
      <application>
         <run
               class="rcptest.Application">
         </run>
      </application>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            name="RCP Perspective"
            class="rcptest.Perspective"
            id="RCPTest.perspective">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            name="Message"
            allowMultiple="true"
            icon="icons/sample2.gif"
            class="rcptest.View"
            id="RCPTest.view">
      </view>
      <view
            name="Mailboxes"
            allowMultiple="true"
            icon="icons/sample3.gif"
            class="rcptest.NavigationView"
            id="RCPTest.navigationView">
      </view>
      <view
            class="org.eclipse.ui.navigator.CommonNavigator"
            icon="icons/sample.gif"
            id="de.meinss.test"
            name="My Common Navigator"
            restorable="true">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <category
            name="Mail"
            id="RCPTest.category">
      </category>
      <command
            name="Open Mailbox"
            description="Opens a mailbox"
            categoryId="RCPTest.category"
            id="RCPTest.open">
      </command>
      <command
            name="Open Message Dialog"
            description="Open a message dialog"
            categoryId="RCPTest.category"
            id="RCPTest.openMessage">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
            commandId="RCPTest.open"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="CTRL+2">
      </key>
      <key
            commandId="RCPTest.openMessage"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="CTRL+3">
      </key>
      <key
            commandId="org.eclipse.ui.file.exit"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="CTRL+X">
      </key>
   </extension>
   <extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            application="RCPTest.application"
            name="RCP Product">
         <property
               name="aboutText"
               value="RCP Mail template created by PDE">
         </property>
         <property
               name="windowImages"
               value="icons/sample2.gif">
         </property>
         <property
               name="aboutImage"
               value="product_lg.gif">
         </property>
      </product>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewer
            viewerId="de.meinss.test">
      </viewer>
      <viewerContentBinding
            viewerId="de.meinss.test">
         <includes>
            <contentExtension
                  pattern="RCPTest.navigatorContent1">
            </contentExtension>
         </includes>
      </viewerContentBinding>
      <viewerActionBinding
            viewerId="de.meinss.test">
         <includes></includes>
      </viewerActionBinding>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="*">
         <view
               id="de.meinss.test"
               ratio="0.5"
               relationship="stack"
               relative="org.eclipse.ui.navigator.ProjectExplorer">
         </view>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <navigatorContent
            activeByDefault="true"
            contentProvider="TreeContentProvider"
            icon="icons/sample.gif"
            id="RCPTest.navigatorContent1"
            labelProvider="TreeLabelProvider"
            name="meineigenes"
            priority="normal"
            providesSaveables="false">
         <possibleChildren>
            <instanceof
                  value="java.lang.String">
            </instanceof>
         </possibleChildren>
      </navigatorContent>
   </extension>

Классы TreeContentProvider и TreeLabelprovider существуют и выводят на консоль, если они вызываются, но это не так. Что я делаю не так?

Спасибо за чтение!

Markus

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Добавить:

layout.addView("com.example.test", IPageLayout.RIGHT, 0.3f,IPageLayout.ID_PROJECT_EXPLORER);

В файле Perspective.java. Стандартное отношение используется при запуске. Вы должны вручную добавить вид, который хотите видеть при запуске.

1 голос
/ 11 июня 2010

Я сравнил ваш код с двумя проектами и не нашел причин. Я могу только порекомендовать вам эти два урока, которые мне очень помогли: Майкл Элдер , Симон Замбровский .

...