Fix ticket #4367
authorAlexander Oppermann <a.oppermann@bgbm.org>
Tue, 14 Apr 2015 12:31:19 +0000 (12:31 +0000)
committerAlexander Oppermann <a.oppermann@bgbm.org>
Tue, 14 Apr 2015 12:31:19 +0000 (12:31 +0000)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/FeatureTreePreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java

index ca82b0e1920760826e2e799c498a8ad6b09f5dcc..7dc0a900baefc5b4b49e01f7318efc4805fdadef 100644 (file)
@@ -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{
index e92229209a57f2221324e5d10dae12aecdf7198e..769e24a1368e322063fee17e45c0a196541291c2 100644 (file)
@@ -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;
 
 /**
  * <p>
  * FeatureTreePreferences class.
  * </p>
- * 
+ *
  * @author n.hoffmann
  * @created Aug 5, 2010
  * @version 1.0
@@ -51,7 +46,7 @@ public class FeatureTreePreferences extends PreferencePage implements
         * <p>
         * Constructor for FeatureTreePreferences.
         * </p>
-        * 
+        *
         * @param title
         *            a {@link java.lang.String} object.
         */
@@ -63,7 +58,7 @@ public class FeatureTreePreferences extends PreferencePage implements
         * <p>
         * Constructor for FeatureTreePreferences.
         * </p>
-        * 
+        *
         * @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;
        }
 }
index 62414dcfd669bdc1906a5783521a81625ae3bd38..78b3c927dbe6356f720bb49773f5fe5619f7e9bd 100644 (file)
@@ -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. <br>
+     *
+     * @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);
+        }
+    }
 }