Где находится Windows Builder Pro в Redhawk 1.9.0?

В предыдущих версиях Redhawk, а именно в 1.8.2, 1.7.5 и 1.7.2, Windows Builder Pro был включен в установку Redhawk. Однако в Redhawk 1.9.0 Window Builder не позволяет редактировать панели управления.

Redhawk 1.9.0 основан на Eclipse 3.8.1 (Luna), поэтому я попытался установить Window Builder Pro самостоятельно, следуя инструкциям для Eclipse 3.8 по адресу http://www.eclipse.org/windowbuilder/download.php. Мне удалось успешно установить Window Builder, но когда я создал новую панель управления компонентами и попытался редактировать ее с помощью Window Builder, я получаю сообщение об ошибке ниже.

WindowBuilder was not able to show the GUI. Please read the description below and look bug tracking system or discussion group for more information. Press "Create Report..." button and create a new issue if you were not able to found the similar one.

The parser parsed the compilation unit, but can't identify
        any GUI toolkit, so WindowBuilder can't display any GUI to edit. This can be caused by one of the
        following reasons: 
            This class is not an editable UI class and contains no UI components.
            WindowBuilder does not recognize the GUI toolkit or library used in this class.
            WindowBuilder does not understand this GUI type/pattern in a supported GUI toolkit.
            Problems exist with the classpath. For example, the compilation unit uses SWT classes, but the
                SWT/JFace libraries are not included into the classpath.

org.eclipse.wb.internal.core.utils.exception.DesignerException: 103 (Unknown GUI toolkit). scpigencp.controlPanels.ControlPanelComposite
    at org.eclipse.wb.internal.core.parser.JavaInfoParser.prepareParseContext(JavaInfoParser.java:1195)
    at org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:242)
    at org.eclipse.wb.internal.core.parser.JavaInfoParser.access$9(JavaInfoParser.java:238)
    at org.eclipse.wb.internal.core.parser.JavaInfoParser$1.runObject(JavaInfoParser.java:153)
    at org.eclipse.wb.internal.core.parser.JavaInfoParser$1.runObject(JavaInfoParser.java:1)
    at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:159)
    at org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:151)
    at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:534)
    at org.eclipse.wb.internal.core.editor.DesignPage.access$9(DesignPage.java:522)
    at org.eclipse.wb.internal.core.editor.DesignPage$8$1.run(DesignPage.java:449)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4299)
    at org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:446)
    at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
    at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
    at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF_withProgress(DesignPage.java:465)
    at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:415)
    at org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:381)
    at org.eclipse.wb.internal.core.editor.UndoManager.activate(UndoManager.java:90)
    at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState_True(DesignPage.java:263)
    at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState(DesignPage.java:241)
    at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode.showPage(DefaultMultiMode.java:125)
    at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode$1.widgetSelected(DefaultMultiMode.java:63)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1300)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1285)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1079)
    at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2746)
    at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1433)
    at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:257)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3562)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3186)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

Redhawk отказался от поддержки Window Builder в версии 1.9.0? Что еще нужно настроить, чтобы Window Builder мог распознавать панель управления Redhawk?

1 ответ

Решение

Похоже, вы установили WindowBuilder Core. Вам также необходимо установить SWT Designer.

У WindowBuilder также есть проблема с анализом сгенерированной панели управления по умолчанию. Он не может найти некоторые пакеты. Либо импортируйте эти плагины в ваше рабочее пространство, используя мастер импорта "Плагин и фрагменты", либо удалите связанные классы. Для меня мне нужно было удалить ScaItemProviderAdapterFactory. Убедитесь, что вы также удалите импорт.

Другие вопросы по тегам