From b4e62664a67a719777e098cf6ef5922587e20b1b Mon Sep 17 00:00:00 2001 From: Alexander Oppermann Date: Tue, 14 Apr 2015 12:31:19 +0000 Subject: [PATCH] Fix ticket #4367 --- .../ChecklistEditorGeneralPreference.java | 3 +++ .../preference/FeatureTreePreferences.java | 24 +++++++------------ .../taxeditor/preference/PreferencesUtil.java | 19 +++++++++++++++ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java index ca82b0e19..7dc0a900b 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java @@ -21,6 +21,7 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton; /** @@ -73,6 +74,8 @@ public class ChecklistEditorGeneralPreference extends PreferencePage implements "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"); button_openFeatureTree.setText("Open Distribution Selection Wizard"); + PreferencesUtil.recursiveSetEnabled(button_openFeatureTree, CdmStore.isActive()); + if(isEditorActivated){ child.setEnabled(true); }else{ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java index e92229209..769e24a13 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java @@ -1,9 +1,9 @@ // $Id$ /** * Copyright (C) 2007 EDIT - * European Distributed Institute of Taxonomy + * European Distributed Institute of Taxonomy * http://www.e-taxonomy.eu - * + * * The contents of this file are subject to the Mozilla Public License Version 1.1 * See LICENSE.TXT at the top of this package for the full license terms. */ @@ -12,26 +12,21 @@ package eu.etaxonomy.taxeditor.preference; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; -import eu.etaxonomy.taxeditor.featuretree.FeatureTreeEditorWizard; -import eu.etaxonomy.taxeditor.featuretree.OpenFeatureTreeEditorWizardHandler; +import eu.etaxonomy.taxeditor.store.CdmStore; import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton; /** *

* FeatureTreePreferences class. *

- * + * * @author n.hoffmann * @created Aug 5, 2010 * @version 1.0 @@ -51,7 +46,7 @@ public class FeatureTreePreferences extends PreferencePage implements *

* Constructor for FeatureTreePreferences. *

- * + * * @param title * a {@link java.lang.String} object. */ @@ -63,7 +58,7 @@ public class FeatureTreePreferences extends PreferencePage implements *

* Constructor for FeatureTreePreferences. *

- * + * * @param title * a {@link java.lang.String} object. * @param image @@ -75,7 +70,7 @@ public class FeatureTreePreferences extends PreferencePage implements /* * (non-Javadoc) - * + * * @see * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ @@ -86,7 +81,7 @@ public class FeatureTreePreferences extends PreferencePage implements /* * (non-Javadoc) - * + * * @see * org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse * .swt.widgets.Composite) @@ -94,13 +89,12 @@ public class FeatureTreePreferences extends PreferencePage implements /** {@inheritDoc} */ @Override protected Control createContents(Composite parent) { - Composite composite = new Composite(parent, SWT.NULL); composite.setLayout(new GridLayout()); final CommandHandlerButton button_openFeatureTree = new CommandHandlerButton(composite, SWT.PUSH, "eu.etaxonomy.taxeditor.store.open.FeatureTreeEditorWizard"); button_openFeatureTree.setText("Open FeatureTree Editor"); - + PreferencesUtil.recursiveSetEnabled(composite, CdmStore.isActive()); return composite; } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java index 62414dcfd..78b3c927d 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java @@ -29,6 +29,8 @@ import org.apache.commons.lang.StringUtils; import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; @@ -728,4 +730,21 @@ public class PreferencesUtil implements IPreferenceKeys { return p2Repos; } + + /** + * enables/disables nested composite.
+ * + * @param ctrl - Composite to be en-/disabeld + * @param enabled - boolean + */ + public static void recursiveSetEnabled(Control ctrl, boolean enabled) { + if (ctrl instanceof Composite) { + Composite comp = (Composite) ctrl; + for (Control c : comp.getChildren()) { + recursiveSetEnabled(c, enabled); + } + } else { + ctrl.setEnabled(enabled); + } + } } -- 2.34.1