"Search" button only shown when active editor is MultiPageTaxonEditor.
authorp.ciardelli <p.ciardelli@localhost>
Mon, 28 Sep 2009 14:57:55 +0000 (14:57 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Mon, 28 Sep 2009 14:57:55 +0000 (14:57 +0000)
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/propertysheet/reference/ReferencePropertySource.java

index 215cbcf2091e61784118888f9aa643e67e0433f8..a47214ef037ea2673e6f5832e69927aa31302b13 100644 (file)
@@ -23,6 +23,9 @@ import java.util.Set;
 import java.util.Vector;\r
 \r
 import org.apache.log4j.Logger;\r
+import org.eclipse.ui.IEditorPart;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.eclipse.ui.PlatformUI;\r
 import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;\r
 import org.eclipse.ui.views.properties.IPropertyDescriptor;\r
 import org.eclipse.ui.views.properties.PropertyDescriptor;\r
@@ -55,6 +58,7 @@ import eu.etaxonomy.cdm.model.reference.Report;
 import eu.etaxonomy.cdm.model.reference.SectionBase;\r
 import eu.etaxonomy.cdm.model.reference.Thesis;\r
 import eu.etaxonomy.cdm.model.reference.WebPage;\r
+import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
 import eu.etaxonomy.taxeditor.model.Resources;\r
 import eu.etaxonomy.taxeditor.model.TimeHelper;\r
 import eu.etaxonomy.taxeditor.propertysheet.ICdmBasePropertySource;\r
@@ -368,7 +372,7 @@ public class ReferencePropertySource implements ICdmBasePropertySource {
        protected void addDescriptor(String id) {\r
                \r
                // Reference search\r
-               if (id.equals(P_ID_SEARCH)) {\r
+               if (id.equals(P_ID_SEARCH) && isMultiPageTaxonEditorActive()) {\r
                        descriptors.addElement(\r
                                        new ReferenceSearchDescriptor(P_ID_SEARCH, P_SEARCH, getSearchType(), reference, referenceType) {\r
                                                protected void saveReference(ReferenceBase reference) {\r
@@ -557,6 +561,14 @@ public class ReferencePropertySource implements ICdmBasePropertySource {
                }\r
        }\r
 \r
+       /**\r
+        * @return\r
+        */\r
+       private boolean isMultiPageTaxonEditorActive() {\r
+               IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();\r
+               return (editor instanceof MultiPageTaxonEditor);\r
+       }\r
+\r
        /**\r
         * The default implementation of <code>ReferencePropertySource</code> will\r
         * search all <code>ReferenceBase</code> classes.\r