diff --git a/org.eclipse.wb.core/META-INF/MANIFEST.MF b/org.eclipse.wb.core/META-INF/MANIFEST.MF index 7079c993d..ac424e73d 100644 --- a/org.eclipse.wb.core/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.core/META-INF/MANIFEST.MF @@ -16,6 +16,7 @@ Export-Package: org.eclipse.wb.core.branding, org.eclipse.wb.core.controls.test, org.eclipse.wb.core.editor, org.eclipse.wb.core.editor.actions.assistant, + org.eclipse.wb.core.editor.constants, org.eclipse.wb.core.editor.errors, org.eclipse.wb.core.editor.structure.property, org.eclipse.wb.core.gef, diff --git a/org.eclipse.wb.core/src/org/eclipse/wb/core/editor/constants/IEditorPreferenceConstants.java b/org.eclipse.wb.core/src/org/eclipse/wb/core/editor/constants/IEditorPreferenceConstants.java new file mode 100644 index 000000000..4683bb7df --- /dev/null +++ b/org.eclipse.wb.core/src/org/eclipse/wb/core/editor/constants/IEditorPreferenceConstants.java @@ -0,0 +1,23 @@ +/******************************************************************************* + * Copyright (c) 2021, 2022 DSA Daten- und Systemtechnik GmbH. (https://www.dsa.de) + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Marcel du Preez - initial implementation +*********************************************************************************/ +package org.eclipse.wb.core.editor.constants; + +/** + * This interface contains the constants used to alter preferences for Windowbuilder. + * + */ +public interface IEditorPreferenceConstants { + //The node to use for the Windowbuilder basic preference + public static String WB_BASIC_UI_PREFERENCE_NODE = + "org.eclipse.wb.core.editor.constants.preferences"; + //Windowbuilder basic is a simplified version of Windowbuilder, containing fewer UI elements. + public static String WB_BASIC_UI = "basicUserInterface"; +} diff --git a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/ExceptionComposite.java b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/ExceptionComposite.java index ffb02d013..25289ee2e 100644 --- a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/ExceptionComposite.java +++ b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/ExceptionComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Google, Inc. + * Copyright (c) 2011, 2022 Google, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,12 +7,14 @@ * * Contributors: * Google, Inc. - initial API and implementation + * Marcel du Preez - Hiding/showing of buttons depending on WB Basic preference *******************************************************************************/ package org.eclipse.wb.internal.core.editor.errors; import org.eclipse.wb.core.branding.BrandingUtils; import org.eclipse.wb.core.branding.IBrandingDescription; import org.eclipse.wb.core.controls.BrowserComposite; +import org.eclipse.wb.core.editor.constants.IEditorPreferenceConstants; import org.eclipse.wb.internal.core.DesignerPlugin; import org.eclipse.wb.internal.core.EnvironmentUtils; import org.eclipse.wb.internal.core.editor.Messages; @@ -23,9 +25,8 @@ import org.eclipse.wb.internal.core.utils.ui.GridLayoutFactory; import org.eclipse.wb.internal.core.utils.ui.SwtResourceManager; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; @@ -50,6 +51,7 @@ public abstract class ExceptionComposite extends Composite { private BrowserComposite m_browserComposite; private Image m_screenshotImage; private int m_sourcePosition; + private final boolean wbBasic; //////////////////////////////////////////////////////////////////////////// // @@ -58,6 +60,10 @@ public abstract class ExceptionComposite extends Composite { //////////////////////////////////////////////////////////////////////////// public ExceptionComposite(Composite parent, int style) { super(parent, style); + wbBasic = InstanceScope.INSTANCE.getNode( + IEditorPreferenceConstants.WB_BASIC_UI_PREFERENCE_NODE).getBoolean( + IEditorPreferenceConstants.WB_BASIC_UI, + true); // create GUI elements GridLayoutFactory.create(this); { @@ -72,9 +78,10 @@ public ExceptionComposite(Composite parent, int style) { { Link label = new Link(titleComposite, SWT.WRAP | SWT.NO_FOCUS); GridDataFactory.create(label).alignHL().grabH().alignVM(); - label.setText(MessageFormat.format( - Messages.ExceptionComposite_message, - BrandingUtils.getBranding().getProductName())); + label.setText( + MessageFormat.format( + Messages.ExceptionComposite_message, + BrandingUtils.getBranding().getProductName())); label.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { @@ -104,9 +111,10 @@ public void widgetSelected(SelectionEvent event) { Button contactSupportButton = new Button(buttonsComposite, SWT.NONE); GridDataFactory.create(contactSupportButton).fillH(); contactSupportButton.setText(Messages.ExceptionComposite_reportButton); - contactSupportButton.setImage(EnvironmentUtils.IS_MAC - ? null - : DesignerPlugin.getImage("actions/errors/support32.png")); + contactSupportButton.setImage( + EnvironmentUtils.IS_MAC + ? null + : DesignerPlugin.getImage("actions/errors/support32.png")); contactSupportButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { @@ -115,20 +123,23 @@ public void widgetSelected(SelectionEvent e) { dialog.open(); } }); + contactSupportButton.setVisible(!wbBasic); } { Button refreshButton = new Button(buttonsComposite, SWT.NONE); GridDataFactory.create(refreshButton).fillH(); refreshButton.setText(Messages.ExceptionComposite_reparseButton); - refreshButton.setImage(EnvironmentUtils.IS_MAC - ? null - : DesignerPlugin.getImage("actions/errors/refresh32.png")); + refreshButton.setImage( + EnvironmentUtils.IS_MAC + ? null + : DesignerPlugin.getImage("actions/errors/refresh32.png")); refreshButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doRefresh(); } }); + refreshButton.setVisible(!wbBasic); } { m_switchButton = new Button(buttonsComposite, SWT.NONE); @@ -140,14 +151,13 @@ public void widgetSelected(SelectionEvent ev) { doShowSource(m_sourcePosition); } }); + m_switchButton.setVisible(!wbBasic); } } // dispose - addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent e) { - if (m_screenshotImage != null) { - m_screenshotImage.dispose(); - } + addDisposeListener(e -> { + if (m_screenshotImage != null) { + m_screenshotImage.dispose(); } }); } diff --git a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/WarningComposite.java b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/WarningComposite.java index 53dc2dc03..60fb46a9f 100644 --- a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/WarningComposite.java +++ b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/editor/errors/WarningComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Google, Inc. + * Copyright (c) 2011, 2022 Google, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,12 @@ * * Contributors: * Google, Inc. - initial API and implementation + * Marcel du Preez - - Hiding/showing of buttons depending on WB Basic preference *******************************************************************************/ package org.eclipse.wb.internal.core.editor.errors; import org.eclipse.wb.core.controls.BrowserComposite; +import org.eclipse.wb.core.editor.constants.IEditorPreferenceConstants; import org.eclipse.wb.internal.core.DesignerPlugin; import org.eclipse.wb.internal.core.EnvironmentUtils; import org.eclipse.wb.internal.core.editor.Messages; @@ -19,6 +21,7 @@ import org.eclipse.wb.internal.core.utils.ui.GridLayoutFactory; import org.eclipse.wb.internal.core.utils.ui.SwtResourceManager; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -39,6 +42,7 @@ public abstract class WarningComposite extends Composite { private final BrowserComposite m_browser; private final Label m_titleLabel; private int m_sourcePosition; + private final boolean wbBasic; //////////////////////////////////////////////////////////////////////////// // @@ -47,6 +51,10 @@ public abstract class WarningComposite extends Composite { //////////////////////////////////////////////////////////////////////////// public WarningComposite(Composite parent, int style) { super(parent, style); + wbBasic = InstanceScope.INSTANCE.getNode( + IEditorPreferenceConstants.WB_BASIC_UI_PREFERENCE_NODE).getBoolean( + IEditorPreferenceConstants.WB_BASIC_UI, + true); GridLayoutFactory.create(this); { Composite titleComposite = new Composite(this, SWT.NONE); @@ -58,10 +66,8 @@ public WarningComposite(Composite parent, int style) { } { m_titleLabel = new Label(titleComposite, SWT.NONE); - m_titleLabel.setFont(SwtResourceManager.getFont( - getFont().getFontData()[0].getName(), - 14, - SWT.BOLD)); + m_titleLabel.setFont( + SwtResourceManager.getFont(getFont().getFontData()[0].getName(), 14, SWT.BOLD)); } } { @@ -84,15 +90,15 @@ protected void createButtons(Composite buttonsComposite) { Button refreshButton = new Button(buttonsComposite, SWT.NONE); GridDataFactory.create(refreshButton).fillH(); refreshButton.setText(Messages.WarningComposite_refreshButton); - refreshButton.setImage(EnvironmentUtils.IS_MAC - ? null - : DesignerPlugin.getImage("actions/errors/refresh32.png")); + refreshButton.setImage( + EnvironmentUtils.IS_MAC ? null : DesignerPlugin.getImage("actions/errors/refresh32.png")); refreshButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { doRefresh(); } }); + refreshButton.setVisible(!wbBasic); } { m_switchButton = new Button(buttonsComposite, SWT.NONE); @@ -104,6 +110,7 @@ public void widgetSelected(SelectionEvent e) { doShowSource(m_sourcePosition); } }); + m_switchButton.setVisible(!wbBasic); } }