]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/g3d/ui/SceneGraphDebugger.java
Reflection-based handling of Enum property editing.
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / ui / SceneGraphDebugger.java
index 42bc3af648875250274e0d812957f2d98fddc65a..60f106a12b930c5f6b70946cdaea9bd8275c2137 100644 (file)
@@ -50,31 +50,31 @@ public class SceneGraphDebugger extends ViewPart {
                viewer = new TreeViewer(parent,SWT.SINGLE|SWT.FULL_SELECTION);\r
 \r
                TreeColumnLayout layout = new TreeColumnLayout();\r
-        parent.setLayout(layout);\r
-        \r
-        viewer.setContentProvider(new ScenegraphOutlinePage.ScenegraphContentProvider());\r
-        viewer.getTree().setHeaderVisible(true);\r
-        \r
-        TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
-        nameColumn.setLabelProvider(new CellLabelProvider() {\r
+               parent.setLayout(layout);\r
+               \r
+               viewer.setContentProvider(new ScenegraphOutlinePage.ScenegraphContentProvider());\r
+               viewer.getTree().setHeaderVisible(true);\r
+               \r
+               TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
+               nameColumn.setLabelProvider(new CellLabelProvider() {\r
                        \r
                        @Override\r
                        public void update(ViewerCell cell) {\r
                                cell.setText(cell.getElement().toString());\r
                        }\r
                });\r
-        \r
-        TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
-        typeColumn.setLabelProvider(new CellLabelProvider() {\r
+               \r
+               TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
+               typeColumn.setLabelProvider(new CellLabelProvider() {\r
                        \r
                        @Override\r
                        public void update(ViewerCell cell) {\r
                                cell.setText(cell.getElement().getClass().getSimpleName());\r
                        }\r
                });\r
-        \r
-        TreeViewerColumn contextColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
-        contextColumn.setLabelProvider(new CellLabelProvider() {\r
+               \r
+               TreeViewerColumn contextColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
+               contextColumn.setLabelProvider(new CellLabelProvider() {\r
                        \r
                        @Override\r
                        public void update(ViewerCell cell) {\r
@@ -92,9 +92,9 @@ public class SceneGraphDebugger extends ViewPart {
                                        \r
                        }\r
                });\r
-        \r
-        TreeViewerColumn mappingColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
-        mappingColumn.setLabelProvider(new CellLabelProvider() {\r
+               \r
+               TreeViewerColumn mappingColumn = new TreeViewerColumn(viewer, SWT.LEFT);\r
+               mappingColumn.setLabelProvider(new CellLabelProvider() {\r
                        \r
                        @Override\r
                        public void update(ViewerCell cell) {\r
@@ -112,20 +112,20 @@ public class SceneGraphDebugger extends ViewPart {
                                        \r
                        }\r
                });\r
-        \r
-        nameColumn.getColumn().setText("Name");\r
-        typeColumn.getColumn().setText("Type");\r
-        contextColumn.getColumn().setText("Context");\r
-        mappingColumn.getColumn().setText("Mapping");\r
-        \r
-        layout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(10, true));\r
-        layout.setColumnData(typeColumn.getColumn(), new ColumnWeightData(10, true));\r
-        layout.setColumnData(contextColumn.getColumn(), new ColumnWeightData(10, true));\r
-        layout.setColumnData(mappingColumn.getColumn(), new ColumnWeightData(10, true));\r
-        \r
-        IPartService partService = (IPartService) getSite().getService(IPartService.class);\r
-        partService.addPartListener(partListener);\r
-        \r
+               \r
+               nameColumn.getColumn().setText("Name");\r
+               typeColumn.getColumn().setText("Type");\r
+               contextColumn.getColumn().setText("Context");\r
+               mappingColumn.getColumn().setText("Mapping");\r
+               \r
+               layout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(10, true));\r
+               layout.setColumnData(typeColumn.getColumn(), new ColumnWeightData(10, true));\r
+               layout.setColumnData(contextColumn.getColumn(), new ColumnWeightData(10, true));\r
+               layout.setColumnData(mappingColumn.getColumn(), new ColumnWeightData(10, true));\r
+               \r
+               IPartService partService = (IPartService) getSite().getService(IPartService.class);\r
+               partService.addPartListener(partListener);\r
+               \r
        }\r
 \r
        @Override\r
@@ -134,95 +134,95 @@ public class SceneGraphDebugger extends ViewPart {
        }\r
        \r
        protected void refresh() {\r
-        IWorkbenchPart part = null;\r
-        try {\r
-            IWorkbenchWindow window = getSite().getWorkbenchWindow();\r
-            if (window == null)\r
-                return;\r
-            IWorkbenchPage page = window.getActivePage();\r
-            if (page == null)\r
-                return;\r
-            part = page.getActiveEditor();\r
-            if (part == null)\r
-                return;\r
-        } finally {\r
-            if (part == null) {\r
-                setContentDescription("No scene graph nodes available.");\r
-                // TODO: Show info page instead of tree view.\r
-            }\r
-        }\r
+               IWorkbenchPart part = null;\r
+               try {\r
+                       IWorkbenchWindow window = getSite().getWorkbenchWindow();\r
+                       if (window == null)\r
+                               return;\r
+                       IWorkbenchPage page = window.getActivePage();\r
+                       if (page == null)\r
+                               return;\r
+                       part = page.getActiveEditor();\r
+                       if (part == null)\r
+                               return;\r
+               } finally {\r
+                       if (part == null) {\r
+                               setContentDescription("No scene graph nodes available.");\r
+                               // TODO: Show info page instead of tree view.\r
+                       }\r
+               }\r
 \r
-        refresh(part);\r
-    }\r
+               refresh(part);\r
+       }\r
        \r
-        @SuppressWarnings({ "unchecked", "rawtypes" })\r
+       @SuppressWarnings({ "unchecked", "rawtypes" })\r
        protected boolean refresh(IWorkbenchPart part) {\r
-                if (viewer.getTree().isDisposed()) {\r
-                        IPartService partService = (IPartService) getSite().getService(IPartService.class);\r
-                        partService.removePartListener(partListener);\r
+               if (viewer.getTree().isDisposed()) {\r
+                       IPartService partService = (IPartService) getSite().getService(IPartService.class);\r
+                       partService.removePartListener(partListener);\r
                        return false;\r
                }\r
-               boolean foundInput = false;\r
-               try {\r
-                   Object obj = null;\r
-                   if (part != null) {\r
-                       obj = part.getAdapter(INode.class);\r
-                   }\r
+               boolean foundInput = false;\r
+               try {\r
+                       Object obj = null;\r
+                       if (part != null) {\r
+                               obj = part.getAdapter(INode.class);\r
+                       }\r
 \r
-                   if (obj != null) {\r
-                       mapping = (IMapping)part.getAdapter(IMapping.class);\r
-                       if (!viewer.getTree().isDisposed())\r
-                               viewer.setInput(obj);\r
-                       foundInput = true;\r
-                   }\r
-                   lastPart = part;\r
-                   return foundInput;\r
-               } finally {\r
-                   if (!foundInput) {\r
-                       setContentDescription("No scene graph nodes available.");\r
-                       // TODO: Show info page instead of tree view.\r
-                   }\r
-               }\r
-           }\r
+                       if (obj != null) {\r
+                               mapping = (IMapping)part.getAdapter(IMapping.class);\r
+                               if (!viewer.getTree().isDisposed())\r
+                                       viewer.setInput(obj);\r
+                               foundInput = true;\r
+                       }\r
+                       lastPart = part;\r
+                       return foundInput;\r
+               } finally {\r
+                       if (!foundInput) {\r
+                               setContentDescription("No scene graph nodes available.");\r
+                               // TODO: Show info page instead of tree view.\r
+                       }\r
+               }\r
+       }\r
        \r
-        IPartListener2 partListener = new IPartListener2() {\r
-               @Override\r
-               public void partVisible(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partOpened(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partInputChanged(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partHidden(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partDeactivated(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partClosed(IWorkbenchPartReference partRef) {\r
-                   if (linkToPart) {\r
-                       IWorkbenchPart part = partRef.getPart(false);\r
-                       if (part != null)\r
-                           refresh(null);\r
-                   }\r
-               }\r
-               @Override\r
-               public void partBroughtToTop(IWorkbenchPartReference partRef) {\r
-               }\r
-               @Override\r
-               public void partActivated(IWorkbenchPartReference partRef) {\r
-                   if (linkToPart) {\r
-                       IWorkbenchPart part = partRef.getPart(false);\r
-                       if (part != null) {\r
-                           if (part != lastPart) {\r
-                               refresh(part);\r
-                           }\r
-                       }\r
-                   }\r
-               }\r
-           };\r
+       IPartListener2 partListener = new IPartListener2() {\r
+               @Override\r
+               public void partVisible(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partOpened(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partInputChanged(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partHidden(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partDeactivated(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partClosed(IWorkbenchPartReference partRef) {\r
+                       if (linkToPart) {\r
+                               IWorkbenchPart part = partRef.getPart(false);\r
+                               if (part != null)\r
+                                       refresh(null);\r
+                       }\r
+               }\r
+               @Override\r
+               public void partBroughtToTop(IWorkbenchPartReference partRef) {\r
+               }\r
+               @Override\r
+               public void partActivated(IWorkbenchPartReference partRef) {\r
+                       if (linkToPart) {\r
+                               IWorkbenchPart part = partRef.getPart(false);\r
+                               if (part != null) {\r
+                                       if (part != lastPart) {\r
+                                               refresh(part);\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       };\r
 \r
 }\r