GithubHelp home page GithubHelp logo

eclipse-windowbuilder / windowbuilder Goto Github PK

View Code? Open in Web Editor NEW
78.0 78.0 30.0 70.77 MB

Eclipse Windowbuilder

Home Page: https://projects.eclipse.org/projects/tools.windowbuilder

License: Eclipse Public License 1.0

HTML 3.54% Java 96.17% CSS 0.04% C 0.11% C++ 0.06% CMake 0.01% Objective-C 0.08% Shell 0.01%

windowbuilder's People

Contributors

akurtakov avatar alliberali avatar amitin avatar bergert avatar borlander avatar col-panic avatar de-bengui avatar dependabot[bot] avatar howlger avatar initialflame avatar jposterloh avatar laeubi avatar lcaron avatar marceldupreez avatar mark-r-russell avatar merks avatar neogeosnk avatar opcoach avatar ptziegler avatar scheglov avatar truongquangsb avatar vincentlorenzo avatar vogella avatar wimjongman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windowbuilder's Issues

WindowBuilder: Unhandled event loop exception (NullPointerException) with JDK17

Hello,
After having installed: Eclipse 4.21, Java 17 support for Eclipse 2021-09 (4.21), Window Builder 1.9.7 from
https://download.eclipse.org/windowbuilder/lastgoodbuild/

I started Eclipse (with JDK17) and discovered that WB seems not work correctly :

See above the log message:

ENTRY org.eclipse.ui 4 0 2021-09-17 13:45:51.757
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException: Cannot invoke "org.eclipse.jface.viewers.ISelectionProvider.addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)" because "this.m_selectionProvider" is null
at org.eclipse.wb.internal.core.editor.UndoManager.addSelectionListener(UndoManager.java:187)
at org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:382)
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:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1548)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1531)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1310)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3248)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1882)
at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:331)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4576)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

Thanks for your support
Regards
Alex

Limited options for Design Context Menu

We need the ability to hide the options from the context menu that are not used and could cause problems with our existing implementations. I.e. we need to be able to only show the basic actions in the context menu such as the Cut, Copy, Paste and Delete actions.

Solution description: I have added preferences to the DesignContextMenuProvider class in the buildContextMenu method. These preferences are not available to the user but can be set by using the InstanceScope. The default for these preferences are set to true and therefore will always show all the actions as previously defined unless the developer incorporating windowbuilder into their product sets the preferences to false.

The two preferences are:

  1. To hide the same actions as are found on the Windowbuilder toolbar, i.e. the Test and Refresh actions
  2. To hide object specific actions that vary depending on which object the context menu is invoked

Following are screenshots of the context menu:
When preferences are set to true
image

When the toolbar preference is set to false
image

When the object specific preference is set to false
image

When both are set to false and only the basic actions remain
image

Oomph setup for Window Builder?

Are you interested in having a setup to easily create a development environment for your project's developers and contributors?

Create Eclipse Development Environment for Window Builder

I originally created these "interim" Oomph setups that I have now moved to your Git repository, so the above link reflects the final functionality.

Clarification on WindowBuilder and Apple Silicon M1 machines

I currently use a intel mac and would like to move to a Apple Silicon Mac but I'm not clear about what will and won't work. First of all I'm unclear as to the status of an arm version of Eclipse, I would prefer to stay with the Intel version if it's not production ready. The main question would be the status of plugins for eclipse. I assume plain java only plugins will be ok but I was not sure about SWT. I don't use SWT in my Java applications but if WindowBuilder requires it and there isn't an arm version of SWT / Windobuilder then obviously that would mean sticking with intel code for now.

If rosetta2 allows me to run all my current dev tools that will be fine, it's just a little fuzzy about how rosetta2 works. I understand that is converts apps when they are installed into Apple Silicon arm code. So for example if I unzip a copy of ANT into folder will that count as installing. I did read an article about opening a terminal in intel compatibility mode.

At the moment there are so many variables and information overload I simply don't know which path to follow. All ARM or all Intel.

If anyone has arm Eclipse with WindowBuilder running or has any experiences which would help my decision making that would be perfect.

Can you mix and match - install arm version of Java JDK and Intel version of Eclipse for example ?

Using Zulu Java 11 LTS and Eclipse EE 2021.9 with WindowBuilder and JasperStudio plugins.

Dave

Hiding/Showing Windowbuilder toolbars

We needed the capability to hide the Windowbuilder toolbar as our application has its own toolbar that have similar functionality but not the same. Therefore to have both toolbars visible would cause confusion and interference.

The problem was that there was no way to hide this toolbar from our application without altering the Windowbuilder itself.

To solve this issue I have added a class called DesignCompositeManager that is used within Windowbuilder to determine whether to hide or show the WB toolbar.

This is done by creating the DesignCompositeManager object and passing it into the constructor of the DesignerEditor in our application.

The default for Windowbuilder looks as follows:
image

After setting the toolbar to be hidden it looks as follows:
image

JFace builder support

Would be nice if WB would also allow to use the new JFace Builder api, like ButtonFactory.

I guess effort for this would be very high, so I assume it is unlikely to be implemented in the near future.

WB tests fails with references to 32 bit and unsupported platforms

Looks to me that WB still tries to configure the 32 bit platform.

` /**

  • Configures given {@link TestProject} for using RCP.
    */
    public static void configureSWT(TestProject testProject) throws Exception {
    if (EnvironmentUtils.IS_WINDOWS) {
    testProject.addPlugin("org.eclipse.swt.win32.win32.x86");
    } else if (EnvironmentUtils.IS_LINUX) {
    if (EnvironmentUtils.IS_64BIT_OS) {
    testProject.addPlugin("org.eclipse.swt.gtk.linux.x86_64");
    } else {
    testProject.addPlugin("org.eclipse.swt.gtk.linux.x86");
    }
    } else if (EnvironmentUtils.IS_MAC) {
    if (EnvironmentUtils.IS_MAC_COCOA) {
    if (EnvironmentUtils.IS_64BIT_OS) {
    testProject.addPlugin("org.eclipse.swt.cocoa.macosx.x86_64");
    } else {
    testProject.addPlugin("org.eclipse.swt.cocoa.macosx");
    }
    } else {
    testProject.addPlugin("org.eclipse.swt.carbon.macosx");
    }
    } else {
    throw new UnsupportedOperationException("Unsupported platform.");
    }
    }`

Design Tab Has Blank Palette, Structure, and Design Area

I've just started to try making applications using windowbuilder, but I have already met a serious problem that makes it impossible.
I have searched for hours online to no avail and tried common fixes for other similar issues - none of which have worked. When I follow the steps for making a new Swing or SWT application (both have this issue), the source code is correctly generated and runs but the design tab does not parse anything as I would expect.
File structure of my project (ok to my knowledge):
image
The parsing dialogue opens and closes instantly (reparsing does nothing either), and then I get this:
image
I have tried a full clean reinstall of eclipse and windowbuilder which changed nothing.

  • Eclipse version: 4.19
  • Windowbuilder version: 1.9.6.pre (tried 1.9.5 too but it kept installing nightly along with it)
  • Other plugins: none
  • Log file if useful (it goes over my head):
    .log
    Any Help is much appreciated.

Update WB to Java 11

As Eclipse moved to minimum Java 11 a longer time ago, we should also move WB to Java 11 to be able to use Java 11 API.

Any concerns with that?

Crashes when adding in new components in design view

I came across this annoying glitch or bug that makes the Windowbuilder basically unusable. So when adding in like composites, Eclipse starts to not respond and I have to restart, again I try and it does the same thing, so I restart again, then again, and again.

No crash logs or errors, eclipse just stops responding. Does anyone have any fix to this.

I am using Java 14 and using Eclipse 2020-09, as I believe, not at my computer right now to check, but I think that is it.

Any help is very appreciated.

Accelerator generation

Window builder 1.9.5 generates code for KeyStroke using CTRL_MASK (ALT_MASK, ...) which is deprecated since Java 9 please change those to new constants (CTRL_DOWN_MASK, ....)
And btw thank you for this great piece of software.

Custom control properties only work with JDK8

Hi,

I had done few test and confirmed.

Eclipse run using JDK11 and above, custom control properties not editable.
my custom control basically just inherits from swt text widget.

image

if eclipse run using JDK8 no issues :

image

WindowBuilder was not able to show the GUI.

Unable to load *.wbp-component.xml description.

For component javax.swing.JFrame.

Checkroot exception for details.

Hide stack trace.

Stack trace:
org.eclipse.wb.internal.core.utils.exception.DesignerException: 502 (Unable to load *.wbp-component.xml description.). javax.swing.JFrame
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:442)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:289)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription(ComponentDescriptionHelper.java:258)
at org.eclipse.wb.internal.core.model.JavaInfoUtils.createJavaInfo(JavaInfoUtils.java:387)
at org.eclipse.wb.internal.swing.parser.ParseFactory.getRootContext(ParseFactory.java:128)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.prepareParseContext(JavaInfoParser.java:1182)
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:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4770)
at org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:446)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:352)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:468)
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:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1084)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1069)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:773)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3248)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1882)
at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:331)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected java.lang.String javax.swing.JFrame.paramString() accessible: module java.desktop does not "opens javax.swing" to unnamed module @6db47658
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.eclipse.wb.internal.core.utils.reflect.ReflectionUtils.appendPropertyComponents(ReflectionUtils.java:1560)
at org.eclipse.wb.internal.core.utils.reflect.ReflectionUtils.getPropertyDescriptors(ReflectionUtils.java:1469)
at org.eclipse.wb.internal.core.model.description.rules.StandardBeanPropertiesRule.begin(StandardBeanPropertiesRule.java:47)
at org.apache.commons.digester.Digester.startElement(Digester.java:1563)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1387)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:389)
... 65 more

Full context stack trace:
org.eclipse.wb.internal.core.utils.exception.DesignerException: 502 (Unable to load *.wbp-component.xml description.). javax.swing.JFrame
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:442)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:289)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription(ComponentDescriptionHelper.java:258)
at org.eclipse.wb.internal.core.model.JavaInfoUtils.createJavaInfo(JavaInfoUtils.java:387)
at org.eclipse.wb.internal.swing.parser.ParseFactory.getRootContext(ParseFactory.java:128)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.prepareParseContext(JavaInfoParser.java:1182)
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:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4770)
at org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:446)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:352)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:468)
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:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1084)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1069)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:773)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3248)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1882)
at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:331)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected java.lang.String javax.swing.JFrame.paramString() accessible: module java.desktop does not "opens javax.swing" to unnamed module @6db47658
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at org.eclipse.wb.internal.core.utils.reflect.ReflectionUtils.appendPropertyComponents(ReflectionUtils.java:1560)
at org.eclipse.wb.internal.core.utils.reflect.ReflectionUtils.getPropertyDescriptors(ReflectionUtils.java:1469)
at org.eclipse.wb.internal.core.model.description.rules.StandardBeanPropertiesRule.begin(StandardBeanPropertiesRule.java:47)
at org.apache.commons.digester.Digester.startElement(Digester.java:1563)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1387)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.eclipse.wb.internal.core.model.description.helpers.ComponentDescriptionHelper.getDescription0(ComponentDescriptionHelper.java:389)
... 65 more

Consider removing xwt support

It's long dead technology and updating codebase supporting dead technology to get rid of ancient guava doesn't make sense to me.

Update Tycho build config

During my migration of the build from Google build to Tycho I keeped the Tycho configuration in a separate project. These days I prefer to have it in the top-level pom. I will update this and use use recent Tycho version.

Build WB with Java 17 and Java 11

As @lcaron was so kind to make WB also work with Java 17 I suggest we update your build verification to build WB on Java 17 as well as Java 11.

Btw. did we stop using Jenkins? @wimjongman do you know that? I though my Github build action were only used as addition.

Remove support for GWT

AFAIK Google discontinue the GWT UI support. Window builder still has support for it, e.g. it has support for creating a GWT artifact via its wizard.

Should we remove it from WB code basis?

Reverted all guava list changes

@akurtakov I had to revert your changes because of the differences between java and guava. I have pushed your changes into a new branch. Please work from there.

I found out when trying to run the unit tests (there are 37000 unit tests!!) that windowbuilder mutates lists while iterating them.

Take a look for example at

org.eclipse.wb.internal.core.utils.ast.AstNodeUtils.removeDanglingNodes(Iterable<? extends ASTNode> nodes)

The replacement:

List<FieldDeclaration> fields = Lists.newArrayList(field_1, field_2);

with

List<FieldDeclaration> fields = Arrays.asList(field_1, field_2);

breaks

  /**
   * Removes "dangling" {@link ASTNode}-s.
   */
  public static void removeDanglingNodes(Iterable<? extends ASTNode> nodes) {
    Iterator<? extends ASTNode> I = nodes.iterator();
    while (I.hasNext()) {
      ASTNode node = I.next();
      if (isDanglingNode(node)) {
        I.remove();
      }
    }
  }

WB crashes VM under Linux

Trying to use WB under Linux crashes the VM.

I tried with Java 11 hotspot, J9 and Java 17 Temurin.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.sf.cglib.core.ReflectUtils$2 (file:/home/vogella/git/windowbuilder/org.eclipse.wb.runtime.lib/lib/cglib-nodep-2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of net.sf.cglib.core.ReflectUtils$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Unhandled exception
Type=Segmentation error vmState=0x00040000
J9Generic_Signal_Number=00000018 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000002
Handler1=00007FB9B3083380 Handler2=00007FB9B2DE3A10 InaccessibleAddress=00007FB8F663B000
RDI=00007FB8F663B190 RSI=00007F9FF04066E0 RAX=00007FB8F663B010 RBX=0000000000000700
RCX=00000000000006C0 RDX=00007F9FF0406160 R8=00007F9FF0406160 R9=0000000000000039
R10=00007FB8F663ADB0 R11=0000000000000700 R12=0000000000000700 R13=000000000000001B
R14=0000000000000000 R15=0000000000000000
RIP=00007FB9705DCC76 GS=0000 FS=0000 RSP=00007FB9B43A6908
EFlags=0000000000010202 CS=0033 RBP=0000000000000320 ERR=0000000000000004
TRAPNO=000000000000000E OLDMASK=0000000000000000 CR2=00007FB8F663B000
xmm0 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm1 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm2 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm3 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm4 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm5 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm6 bf70624dd2f1a9fc (f: 3539053056,000000, d: -4,000000e-03)
xmm7 4072a010624dd2f2 (f: 1649267456,000000, d: 2,980040e+02)
xmm8 3ff0000000000000 (f: 0,000000, d: 1,000000e+00)
xmm9 415fffffc0000000 (f: 3221225472,000000, d: 8,388607e+06)
xmm10 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm11 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm12 0000000000000000 (f: 0,000000, d: 0,000000e+00)
xmm13 40068f5c28f5c28f (f: 687194752,000000, d: 2,820000e+00)
xmm14 c018000000000000 (f: 0,000000, d: -6,000000e+00)
xmm15 3ed18776c5cd3500 (f: 3318560000,000000, d: 4,179276e-06)
Module=/lib/x86_64-linux-gnu/libpixman-1.so.0
Module_base_address=00007FB97054F000
Target=2_90_20210421_975 (Linux 5.13.0-22-generic)
CPU=amd64 (8 logical CPUs) (0x7c51d5000 RAM)
----------- Stack Backtrace -----------
(0x00007FB9705DCC76 [libpixman-1.so.0+0x8dc76])
(0x00007FB9705DCE4C [libpixman-1.so.0+0x8de4c])
pixman_image_composite32+0x43d (0x00007FB97055A21D [libpixman-1.so.0+0xb21d])
(0x00007FB970B603FD [libcairo.so.2+0x333fd])
(0x00007FB970B9861F [libcairo.so.2+0x6b61f])
(0x00007FB970B98DC0 [libcairo.so.2+0x6bdc0])
(0x00007FB970B539F1 [libcairo.so.2+0x269f1])
(0x00007FB970BA5918 [libcairo.so.2+0x78918])
(0x00007FB970B5BFAA [libcairo.so.2+0x2efaa])
cairo_paint+0x1e (0x00007FB970BB376E [libcairo.so.2+0x8676e])
(0x00007FB841873D05 [libwbp3.so+0x1d05])
(0x00007FB841873E10 [libwbp3.so+0x1e10])
(0x00007FB841873ED3 [libwbp3.so+0x1ed3])
(0x00007FB841873F31 [libwbp3.so+0x1f31])
(0x00007FB841873F93 [libwbp3.so+0x1f93])
Java_org_eclipse_wb_internal_os_linux_OSSupportLinux__1makeShot+0xd2 (0x00007FB84187438E [libwbp3.so+0x238e])
(0x00007FB9B31F0926 [libj9vm29.so+0x1ab926])
(0x00007FB9B31EF8C7 [libj9vm29.so+0x1aa8c7])
(0x00007FB9B312CDFC [libj9vm29.so+0xe7dfc])
(0x00007FB9B310C74D [libj9vm29.so+0xc774d])
(0x00007FB9B317F6B2 [libj9vm29.so+0x13a6b2])

JVMDUMP039I Speicherauszugsereignis "gpf", Detail "" um 2021/12/21 17:09:41 - bitte warten.
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von System mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/core.20211221.170941.35363.0001.dmp" an
JVMDUMP039I Speicherauszugsereignis "abort", Detail "" um 2021/12/21 17:09:41 - bitte warten.
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von System mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/core.20211221.170941.35363.0002.dmp" an
JVMPORT030W /proc/sys/kernel/core_pattern-Einstellung "|/usr/share/apport/apport %p %s %c %d %P %E" gibt an, dass der Kernspeicherauszug über eine Pipe in ein externes Programm geleitet werden soll. Versuchte Umbenennung von core oder core.35660.

JVMDUMP012E Fehler in System-Speicherauszug: The core file created by child process with pid = 35660 was not found. Expected to find core file with name "/home/vogella/dev/eclipse-2021-11-10/eclipse/core.35660"
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von Java mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/javacore.20211221.170941.35363.0003.txt" an
JVMDUMP010I Speicherauszug von Java in /home/vogella/dev/eclipse-2021-11-10/eclipse/javacore.20211221.170941.35363.0003.txt geschrieben
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von Snap mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/Snap.20211221.170941.35363.0004.trc" an
JVMDUMP010I Speicherauszug von Snap in /home/vogella/dev/eclipse-2021-11-10/eclipse/Snap.20211221.170941.35363.0004.trc geschrieben
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von JIT mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/jitdump.20211221.170941.35363.0005.dmp" an
JVMDUMP010I Speicherauszug von JIT in /home/vogella/dev/eclipse-2021-11-10/eclipse/jitdump.20211221.170941.35363.0005.dmp geschrieben
JVMDUMP013I Speicherauszugsereignis "abort", Detail "" wurde verarbeitet.
JVMPORT030W /proc/sys/kernel/core_pattern-Einstellung "|/usr/share/apport/apport %p %s %c %d %P %E" gibt an, dass der Kernspeicherauszug über eine Pipe in ein externes Programm geleitet werden soll. Versuchte Umbenennung von core oder core.35659.

JVMDUMP012E Fehler in System-Speicherauszug: The core file created by child process with pid = 35659 was not found. Expected to find core file with name "/home/vogella/dev/eclipse-2021-11-10/eclipse/core.35659"
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von Java mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/javacore.20211221.170941.35363.0002.txt" an
JVMDUMP010I Speicherauszug von Java in /home/vogella/dev/eclipse-2021-11-10/eclipse/javacore.20211221.170941.35363.0002.txt geschrieben
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von Snap mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/Snap.20211221.170941.35363.0003.trc" an
JVMDUMP010I Speicherauszug von Snap in /home/vogella/dev/eclipse-2021-11-10/eclipse/Snap.20211221.170941.35363.0003.trc geschrieben
JVMDUMP032I JVM forderte als Antwort auf ein Ereignis einen Speicherauszug von JIT mit "/home/vogella/dev/eclipse-2021-11-10/eclipse/jitdump.20211221.170941.35363.0004.dmp" an
JVMDUMP010I Speicherauszug von JIT in /home/vogella/dev/eclipse-2021-11-10/eclipse/jitdump.20211221.170941.35363.0004.dmp geschrieben
JVMDUMP013I Speicherauszugsereignis "gpf", Detail "" wurde verarbeitet.

The package org.xml.sax is accessible from more than one module: <unnamed>, java.xml in wb tests

Trying to make the test run, I see the following errors:

The package org.xml.sax is accessible from more than one module: , java.xml

For example:

[ERROR] The package org.xml.sax is accessible from more than one module: <unnamed>, java.xml
[ERROR] C:\Users\vogella\git\windowbuilder\org.eclipse.wb.tests\src\org\eclipse\wb\tests\designer\core\model\description\ComponentDescriptionHelperTest.java:[845]
[ERROR]         assertInstanceOf(SAXParseException.class, e);
[ERROR]                          ^^^^^^^^^^^^^^^^^
[ERROR] SAXParseException cannot be resolved to a type

Document the release process of WB

AFAIR @wimjongman handled in the past years the release of WB. We should document the process in the source code, so that we can look it up.

IIRC we following is necessary:

1.) a release record: https://projects.eclipse.org/projects/tools.windowbuilder/releases/
2.) Run the release job on Jenkins
3.) Update the Simrel record
4.) Maybe need a release review from the foundation

(wim)
The following is also required after release

@wimjongman is that sufficient for the release?

Being able to help.

Sorry I know this is the wrong place for such a request but I don't know where else to contact the WindowBuilder Pro developer guru's.

I'm a long standing Java developer and WindowBuilder fan.

I think it only fair that I should contribute to the project in some way as it's so important to me.

I've not done any specific Eclipse PlugIn development before and would welcome some guidance as to books or up to date web tutorials which would bring my skill set up to a level when I can assist.

Sorry again for the post on GitHub.

Dave

Window Builder FAILS TO INSTALL

I tried to install Window builder from here:
https://download.eclipse.org/windowbuilder/latest/

I also tried installing by manually downloading the zip file. The "create new visual classes" button doesn't display.
I'm using Eclipse 2021-12

Here are the errors returned by eclipse when using the "install new software" option:

An error occurred while collecting items to be installed
session context was:(profile=C__Program Files_eclipse, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,org.eclipse.wb.doc.user,1.9.1.202106041225
No repository found containing: org.eclipse.update.feature,org.eclipse.wb.doc.user.feature,1.9.7.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.rcp.SWT_AWT,1.9.1.202106041225
No repository found containing: org.eclipse.update.feature,org.eclipse.wb.rcp.SWT_AWT_support,1.9.7.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.rcp.doc.user,1.9.1.202106041225
No repository found containing: org.eclipse.update.feature,org.eclipse.wb.rcp.doc.user.feature,1.9.7.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.FormLayout,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.FormLayout.lib,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.MigLayout,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.MigLayout.lib,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.databinding,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.doc.user,1.9.1.202106041225
No repository found containing: org.eclipse.update.feature,org.eclipse.wb.swing.doc.user.feature,1.9.7.202106041225
No repository found containing: org.eclipse.update.feature,org.eclipse.wb.swing.feature,1.9.7.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.java6,1.9.1.202106041225
No repository found containing: osgi.bundle,org.eclipse.wb.swing.jsr296,1.9.1.202106041225

JDK 17 Empty Desing Tab Solution not working

I will focus the usage of Eclipse IDE with WindowBuilder on my Surface Pro 7.
I am referring to my problems in #40 (and #47). Using the .bat File on the desktop allows me to start Eclipse like it should do. One side effect is, that I can't start Eclipse normally anymore with the standard "Eclipse.exe". The Error:
image

The .bat file looks like this (how it was shown to me):

"C:\Program Files\Java\jdk-17\bin\java" -jar c:\Users\timng\eclipse\java-2021-09\eclipse\plugins\org.eclipse.equinox.launcher_1.6.300.v20210813-1054.jar
-noverify
-Dosgi.requiredJavaVersion=11
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Xms256m
-Xmx2048m
--add-modules=ALL-SYSTEM
--add-opens java.base/java.lang=ALL-UNNAMED
-showsplash

This is my current situation:
image

  • Version: 2021-09 (4.21)
  • Build id: I20210906-0500
  • WindowsBuilder: 1.9.5
  • Error Log after Creating jFrame (How do I upload the Error file here in GitHub (.log)

Security manager prevents us from including it in our product

In the DesignerPlugin the installSecurityManager method prevents us from using the wibu security manager in our product. Can this method be removed safely?

public static JavaInfo parse(ICompilationUnit modelUnit) throws Exception {
    // SAS-1983 - WindowBuilder - Wibu - The installed version of Authoring freezes while opening screen
    // Incompatible security manager with the wibu security manager
    //DesignerPlugin.installSecurityManager();
    checkJavaVersion(modelUnit);
    final JavaInfoParser parser = new JavaInfoParser(modelUnit);
    return ExecutionUtils.runDesignTime(new RunnableObjectEx<JavaInfo>() {
      public JavaInfo runObject() throws Exception {
        return parser.parse();
      }
    });
  }

We commented out this method and did not notice any side-effects. We would like to migrate to the standard WindowBuilder code.

Revive Windowbuilder Tests

Windowbuilder has a whopping 37000 (Yes, 37K) unit tests. However, they are nowhere activated and I suspect there is a decent amount of rot.

It would be fantastic if we could give this some TLC.

WindowBuilder is empty on a fresh Flatpak installation

Hi.

Even after reinstalling Eclipse and deleting .p2, .eclipse, and workspace folders on my home directory, WindowBuilder is still empty. Additionally, two entries pop up on the error tab, with their details included below.

I should also point out that this error also occurs on my past installs using the installer provided in the Eclipse website, with reasons I don't know about.

Installation Details:

  • Using Manjaro Gnome
  • Using Flatpak version from pamac

Session Data:
eclipse.buildId=4.21.0.I20210906-0500
java.version=16.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product

null
org.eclipse.ui
Error
Sat Nov 27 10:59:54 PST 2021
Unhandled event loop exception

java.lang.NullPointerException: Cannot invoke "org.eclipse.jface.viewers.ISelectionProvider.addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)" because "this.m_selectionProvider" is null
	at org.eclipse.wb.internal.core.editor.UndoManager.addSelectionListener(UndoManager.java:187)
	at org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:382)
	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:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1548)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1531)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1310)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3248)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1882)
	at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:331)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4576)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

null
org.eclipse.ui
Error
Sat Nov 27 10:59:54 PST 2021
Unhandled event loop exception

java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
	at org.eclipse.wb.core.model.broadcast.BroadcastSupport.getListener(BroadcastSupport.java:198)
	at org.eclipse.wb.internal.core.parser.JavaInfoParser.<init>(JavaInfoParser.java:216)
	at org.eclipse.wb.internal.core.parser.JavaInfoParser.<init>(JavaInfoParser.java:208)
	at org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:150)
	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:236)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:6001)
	at org.eclipse.wb.internal.core.editor.DesignPage$8.run(DesignPage.java:446)
	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:434)
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:352)
	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:468)
	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:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1548)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1531)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1310)
	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3248)
	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1882)
	at org.eclipse.swt.custom.CTabFolder.lambda$0(CTabFolder.java:331)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5884)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1522)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4576)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

dark mode issues

Eclipse IDE for Java Developers (includes Incubating components)
Version: 2021-09 (4.21.0)
Build id: 20210910-1417
OS: Mac OS X, v.10.15.7, x86_64 / cocoa
Java vendor: Oracle Corporation
Java runtime version: 16.0.2+7-67
Java version: 16.0.2

Greenshot 2021-09-28 06 55 57

Nebula Widgets properties issues :

Greenshot 2021-09-28 10 50 34

Migrate Eclipse Jar Plugin to 1.3.2

Build for WB is failing :

[ERROR] Failed to execute goal org.eclipse.cbi.maven.plugins:eclipse-jarsigner-plugin:1.1.3:sign (sign) on project org.eclipse.wb.os: [Mon Oct 18 10:02:13 UTC 2021] Unable to sign jar '/home/jenkins/agent/workspace/org.eclipse.windowbuilder/org.eclipse.wb.os/target/org.eclipse.wb.os-1.9.1-SNAPSHOT.jar': No route to host (Host unreachable) -> [Help 1]

According to [1], we should upgrate to EJP 1.3.2

[1]=https://www.eclipse.org/lists/cross-project-issues-dev/msg18545.html

"Restore default value" on Layout property causes the Layout property to disappear

The "Restore default value" feature on the Layout property causes the Layout property to disappear.

Steps to replicate:

  1. Select any other layout other than BorderLayout (as BorderLayout is the default).
  2. Right click on the layout property and from the context menu select "Restore default value"

The property can be restored by using the Undo option or the by closing the editor and re-opening the editor.

I'm currently trying to fix this issue, but I would like to know if anyone has some more insight as to what might be causing the issue?

Error resolving version for plugin 'org.apache.maven.plugins:maven-site-plugin

Good evening

I have the following error in pom.xml file
Please could you help me.
Thank you

Multiple annotations found at this line:
- Error resolving version for plugin 'org.apache.maven.plugins:maven-site-plugin' from the repositories [local (/
root/.m2/repository), internal (http://)]: Plugin not found in any plugin
repository
- Project build error: Unresolveable build extension: Plugin org.eclipse.tycho:tycho-maven-plugin:1.1.0 or one of its
dependencies could not be resolved: Failed to read artifact descriptor for org.eclipse.tycho:tycho-maven-plugin:jar:1.1.0

Creating Color Picker Preferences

We require the ability to select which color pickers are available when selecting the foreground/background of a widget.

Previously all the color pickers were available at all times and there was no easy way to hide them, other than removing them from the WindowBuilder.
Previously the color chooser (for swing widgets) would display the following Color chooser dialog:
image

I have therefore created a preference page in the WindowBuilder category called "Color Chooser". On this preference page it is now able to select which of the color pickers to include in this dialog.
image

Along with this I have also added a "Custom Colors" color picker that allows the user to specify any color that may or may not appear on any of the other color pickers.

image

Another small addition to this Color Chooser dialog is that of the warning on the "System colors" tab. This warning has been added to warn the user of the change that may occur in the selected colors depending current system.

image

Linked to PR #91

WindowBuilder empty palette Java 17 installed in RCP

I still get an empty palette with Java 17 when I install the latest WindowBuilder plugin in my RCP application with the p2 Update Manager. In Eclipse however it seems to work. The following error is thrown when I open and click on the design tab:

java.lang.NullPointerException: Cannot invoke "org.eclipse.wb.core.model.ObjectInfo.getBroadcastObject()" because "this.this$0.m_rootObject" is null
	at org.eclipse.wb.internal.core.editor.structure.components.ComponentsTreePage$5.run(ComponentsTreePage.java:157)
	at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runLog(ExecutionUtils.java:106)
	at org.eclipse.wb.internal.core.editor.structure.components.ComponentsTreePage.selectGraphicalViewer(ComponentsTreePage.java:148)
	at org.eclipse.wb.internal.core.editor.structure.components.ComponentsTreePage$1.selectionChanged(ComponentsTreePage.java:119)
	at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.fireSelectionChanged(AbstractEditPartViewer.java:202)
	at org.eclipse.wb.internal.gef.core.AbstractEditPartViewer.deselectAll(AbstractEditPartViewer.java:325)
	at org.eclipse.wb.gef.graphical.tools.SelectionTool.handleButtonDown(SelectionTool.java:139)
	at org.eclipse.wb.gef.core.tools.Tool.mouseDown(Tool.java:385)
	at org.eclipse.wb.gef.graphical.tools.SelectionTool.mouseDown(SelectionTool.java:238)
	at org.eclipse.wb.internal.gef.core.EditDomain.mouseDown(EditDomain.java:244)
	at org.eclipse.wb.internal.gef.tree.TreeEventManager.mouseDown(TreeEventManager.java:114)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
	at org.eclipse.wb.internal.draw2d.EventManager$1.invoke(EventManager.java:317)
	at jdk.proxy9/jdk.proxy9.$Proxy23.mouseDown(Unknown Source)

With Java <16 there was no problem. I also tried a fresh installation with the latest built to no avail.

I can reproduce this error on MacOSX and Windows using
Eclipse Adoptium, java.version: 17.0.1
WindowBuilder version: 1.9.7.202112211354

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.