Как открыть страницу мастера с помощью кнопки на панели инструментов в Eclipse? - PullRequest
0 голосов
/ 07 февраля 2012

Я делаю проект с графическим интерфейсом, который состоит из мастеров и wizardpage. Страница мастера создается с помощью плагина eclipse "org.eclipse.jface.wizard.WizardPage" Я могу открыть мастер, используя кнопку на панели инструментов с плагином eclipse "org.eclipse.jface.wizard.WizardDialog" , но я не могу открыть страницу мастера с тем же плагином.

Есть ли другой плагин для страница мастера. Может ли кто-нибудь помочь мне в этом?

Ответы [ 3 ]

2 голосов
/ 19 марта 2013

В вашем переопределении выполните метод в классе обработчика (который расширяет org.eclipse.core.commands.AbstractHandler), попробуйте следующий код:

    IWizard wizard = new YourWizard();
    WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), wizard);
    dialog.open();

; -)

2 голосов
/ 07 февраля 2012

Нельзя перейти на определенную страницу мастера, если она не является первой страницей мастера.

Чтобы открыть определенного мастера, а не «мастера выбора», затем добавьте параметр newWizardId вопределение меню ...

<extension point="org.eclipse.ui.menus">
   <menuContribution
         allPopups="false"
         locationURI="menu:org.eclipse.ui.main.toolbar">
      <toolbar id="id.of..toolbar">
         <command commandId="org.eclipse.ui.newWizard">
            <parameter name="newWizardId" value="id.of.wizard" />
         </command>
      </toolbar>
   </menuContribution>
</extension>
1 голос
/ 16 мая 2012

Вы можете сделать так:

 public  void openWizard(String id) {
 // First see if this is a "new wizard".
 IWizardDescriptor descriptor = PlatformUI.getWorkbench()
   .getNewWizardRegistry().findWizard(id);
 // If not check if it is an "import wizard".
 if  (descriptor == null) {
   descriptor = PlatformUI.getWorkbench().getImportWizardRegistry()
   .findWizard(id);
 }
 // Or maybe an export wizard
 if  (descriptor == null) {
   descriptor = PlatformUI.getWorkbench().getExportWizardRegistry()
   .findWizard(id);
 }
 try  {
   // Then if we have a wizard, open it.
   if  (descriptor != null) {
     **IWizard wizard = descriptor.createWizard();**   
                                 **//here you can set the first show page**

     WizardDialog wd = new  WizardDialog(getStandardDisplay()
       .getActiveShell(), wizard);
     wd.setTitle(wizard.getWindowTitle());
     wd.open();
   }
 } catch  (CoreException e) {
   e.printStackTrace();
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...