From e1ab3494f371496680d6694da7c5c82a41277713 Mon Sep 17 00:00:00 2001 From: Marcel du Preez Date: Mon, 24 Jan 2022 14:31:25 +0200 Subject: [PATCH] Windowbuilder Basic UI version of Warning and Exception Composite These composites only display the warning and error message and have the buttons on them removed --- .../editor/errors/ExceptionComposite.java | 44 ++++++++++++------- .../core/editor/errors/WarningComposite.java | 23 ++++++---- 2 files changed, 42 insertions(+), 25 deletions(-) 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); } }