Fix #1005 - Display property sheet values in the correct order in Bulk Editor
authorp.ciardelli <p.ciardelli@localhost>
Tue, 8 Sep 2009 16:57:31 +0000 (16:57 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Tue, 8 Sep 2009 16:57:31 +0000 (16:57 +0000)
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditor.java

index 2f48d452b8a24d9b9bd4d83f82f216b9aed702ae..7d8be5e5c4f56f8be97d39532e33ab7cda5df6ea 100644 (file)
@@ -14,6 +14,9 @@ import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;\r
 \r
 import org.apache.log4j.Logger;\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.IStatusLineManager;\r
+import org.eclipse.jface.action.IToolBarManager;\r
 import org.eclipse.jface.dialogs.MessageDialog;\r
 import org.eclipse.jface.dialogs.MessageDialogWithToggle;\r
 import org.eclipse.jface.preference.IPreferenceStore;\r
@@ -31,15 +34,22 @@ import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;\r
 import org.eclipse.swt.widgets.Composite;\r
 import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.swt.widgets.Tree;\r
 import org.eclipse.ui.IEditorInput;\r
 import org.eclipse.ui.IEditorSite;\r
 import org.eclipse.ui.PartInitException;\r
+import org.eclipse.ui.views.properties.IPropertySheetEntry;\r
+import org.eclipse.ui.views.properties.IPropertySheetPage;\r
+import org.eclipse.ui.views.properties.PropertySheetPage;\r
+import org.eclipse.ui.views.properties.PropertySheetSorter;\r
 \r
 import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor;\r
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;\r
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;\r
 import eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput;\r
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
+import eu.etaxonomy.taxeditor.propertysheet.EditorPropertySheetEntry;\r
+import eu.etaxonomy.taxeditor.propertysheet.PropertySheetUtil;\r
 \r
 /**\r
  * @author p.ciardelli\r
@@ -216,4 +226,42 @@ public class BulkEditor extends AnnotatedLineEditor implements PropertyChangeLis
                        setInput(getEditorInput());\r
                }\r
        }\r
+       \r
+       @SuppressWarnings("unchecked")\r
+       public Object getAdapter(Class type) {\r
+           if (type == IPropertySheetPage.class) {\r
+               PropertySheetPage page = new EditorPropertySheetPage();\r
+               return page;            \r
+           }\r
+           return super.getAdapter(type);\r
+       }\r
+       \r
+       class EditorPropertySheetPage extends PropertySheetPage {\r
+               \r
+               EditorPropertySheetPage() {\r
+                       super();\r
+                       \r
+                       // Override sorter to simply display names as first-in-first-out\r
+                       setSorter(new PropertySheetSorter() {\r
+                               public int compare(IPropertySheetEntry entryA, IPropertySheetEntry entryB) {\r
+                                       return 0;\r
+                               }\r
+                               public int compareCategories(String categoryA, String categoryB) {\r
+                                       return 0;\r
+                               }\r
+                               public void sort(IPropertySheetEntry[] entries) {\r
+                                       // do nothing\r
+                               }\r
+                       });\r
+               }\r
+               \r
+        public void makeContributions(IMenuManager menuManager,\r
+                IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {\r
+               super.makeContributions(menuManager, toolBarManager, statusLineManager);\r
+        \r
+               // Remove "Show categories", "Show advanced properties", "Restore default value"\r
+               toolBarManager.removeAll();\r
+               menuManager.removeAll();\r
+        }\r
+       }\r
 }
\ No newline at end of file