]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d.csg/src/org/simantics/g3d/csg/editor/CSGEditor2.java
Compiler warning elimination
[simantics/3d.git] / org.simantics.g3d.csg / src / org / simantics / g3d / csg / editor / CSGEditor2.java
index bed448737e623040ddf4ca9809f62e3d3135e3d5..9716d200d26e89eeaa356b167698b519c9dbde8e 100644 (file)
@@ -54,7 +54,6 @@ import org.simantics.g3d.csg.scenegraph2.SchemaBuilder;
 import org.simantics.g3d.csg.scenegraph2.SphereNode;
 import org.simantics.g3d.csg.scenegraph2.TorusNode;
 import org.simantics.g3d.csg.scenegraph2.UnionNode;
-import org.simantics.g3d.scenegraph.IG3DNode;
 import org.simantics.g3d.scenegraph.NodeMap;
 import org.simantics.g3d.scenegraph.base.INode;
 import org.simantics.g3d.vtk.action.RemoveAction;
@@ -96,9 +95,9 @@ public class CSGEditor2  extends ResourceEditorPart {
        private SWTAWTComponent component;
        
        private CSGrootNode rootNode;
-       private IMapping<Resource,Object> mapping;
+       private IMapping<Resource, INode> mapping;
        
-       private NodeSelectionProvider2<Resource,Object> selectionProvider;
+       private NodeSelectionProvider2<Resource, INode> selectionProvider;
        
        private vtkCameraAndSelectorAction cameraAction;
        private TranslateAction translateAction;
@@ -174,12 +173,12 @@ public class CSGEditor2  extends ResourceEditorPart {
                                throw new RuntimeException("Scenegraph loading failed.");
                        populate();
                        
-                       selectionProvider = new NodeSelectionProvider2<Resource,Object>(this,mapping,nodeMap);
+                       selectionProvider = new NodeSelectionProvider2<Resource,INode>(this,mapping,nodeMap);
 
                        cameraAction.addSelectionChangedListener(selectionProvider);
 
-                       cameraAction.addHoverChangedListener(new HoverHighlighter(panel,nodeMap));
-                       selectionProvider.addSelectionChangedListener(new SelectionHighlighter(panel,nodeMap));
+                       cameraAction.addHoverChangedListener(new HoverHighlighter<Resource>(panel,nodeMap));
+                       selectionProvider.addSelectionChangedListener(new SelectionHighlighter<Resource>(panel,nodeMap));
                        
                        getSite().setSelectionProvider(selectionProvider);
                        getSite().getPage().addPostSelectionListener(selectionProvider);
@@ -215,11 +214,11 @@ public class CSGEditor2  extends ResourceEditorPart {
                translateAction = new TranslateAction(panel,nodeMap);
                rotateAction = new RotateAction(panel,nodeMap);
                removeAction = new RemoveAction(nodeMap) {
-                       public void setNode(IG3DNode node) {
+                       @Override
+                       public void setNode(INode node) {
                                super.setNode(node);
                                if (node.getParent() instanceof CSGparentNode)
                                        setEnabled(false);
-                               
                        }
                };
                
@@ -283,12 +282,12 @@ public class CSGEditor2  extends ResourceEditorPart {
                ren1.SetBackground(0.9,0.9,0.9);
                ren1.SetGradientBackground(true);
 
-          // vtkActor grid = vtkShape.createGridActor(8,1.0,1|2|4);
-           vtkActor grid = vtkShape.createGridActor(8,1.0, 2 );
-           grid.SetPickable(0);
-           ren1.AddActor(grid);
-           panel.addDeletable(grid);
-           
+               // vtkActor grid = vtkShape.createGridActor(8,1.0,1|2|4);
+               vtkActor grid = vtkShape.createGridActor(8,1.0, 2 );
+               grid.SetPickable(0);
+               ren1.AddActor(grid);
+               panel.addDeletable(grid);
+               
 
                
        }
@@ -296,24 +295,24 @@ public class CSGEditor2  extends ResourceEditorPart {
        protected Menu contextMenu;
        
        protected void hookContextMenu() {
-        MenuManager menuMgr = new MenuManager("#PopupMenu");
-        menuMgr.setRemoveAllWhenShown(true);
-        menuMgr.addMenuListener(new IMenuListener() {
-            public void menuAboutToShow(IMenuManager manager) {
-               final IMenuManager m = manager;
-                       List<IG3DNode> selected = selectionProvider.getSelectedNodes();
-                       if (selected.size() == 0) {
-                               m.add(new AddPrimitiveAction2(rootNode, BarrelNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, BoxNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, ConeNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, CylinderNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, EllipticCylinderNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, RectangularSolidNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, RegularPrismNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, SphereNode.class));
-                               m.add(new AddPrimitiveAction2(rootNode, TorusNode.class));
-                       } else if (selected.size() == 1) {
-                               m.add(translateAction);
+               MenuManager menuMgr = new MenuManager("#PopupMenu");
+               menuMgr.setRemoveAllWhenShown(true);
+               menuMgr.addMenuListener(new IMenuListener() {
+                       public void menuAboutToShow(IMenuManager manager) {
+                               final IMenuManager m = manager;
+                               List<INode> selected = selectionProvider.getSelectedNodes();
+                               if (selected.size() == 0) {
+                                       m.add(new AddPrimitiveAction2(rootNode, BarrelNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, BoxNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, ConeNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, CylinderNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, EllipticCylinderNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, RectangularSolidNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, RegularPrismNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, SphereNode.class));
+                                       m.add(new AddPrimitiveAction2(rootNode, TorusNode.class));
+                               } else if (selected.size() == 1) {
+                                       m.add(translateAction);
                                        m.add(rotateAction);
                                        m.add(removeAction);
                                        ICSGnode node = (ICSGnode)selected.get(0);
@@ -323,16 +322,16 @@ public class CSGEditor2  extends ResourceEditorPart {
                                        if (node instanceof CSGparentNode) {
                                                m.add(new SplitBooleanOpAction2(rootNode,(CSGparentNode)node));
                                        }
-                       } else if (selected.size() == 2) {
-                               if (selected.get(0).getParent().equals(rootNode) && selected.get(1).getParent().equals(rootNode)) {
-                                       Collection<ICSGnode> nodes = new ArrayList<ICSGnode>();
-                                       for (IG3DNode n : selected)
-                                               nodes.add((ICSGnode)n);
-                                       m.add(new AddBooleanOpAction2(rootNode, DifferenceNode.class, nodes));
-                                       m.add(new AddBooleanOpAction2(rootNode, IntersectionNode.class, nodes));
-                                       m.add(new AddBooleanOpAction2(rootNode, UnionNode.class, nodes));
-                               }
-                       }
+                               } else if (selected.size() == 2) {
+                                       if (selected.get(0).getParent().equals(rootNode) && selected.get(1).getParent().equals(rootNode)) {
+                                               Collection<ICSGnode> nodes = new ArrayList<ICSGnode>();
+                                               for (INode n : selected)
+                                                       nodes.add((ICSGnode)n);
+                                               m.add(new AddBooleanOpAction2(rootNode, DifferenceNode.class, nodes));
+                                               m.add(new AddBooleanOpAction2(rootNode, IntersectionNode.class, nodes));
+                                               m.add(new AddBooleanOpAction2(rootNode, UnionNode.class, nodes));
+                                       }
+                               }
 //             try {
 //                                     SimanticsUI.getSession().syncRequest(new ReadRequest() {
 //                                             
@@ -389,17 +388,17 @@ public class CSGEditor2  extends ResourceEditorPart {
 //                                     // TODO Auto-generated catch block
 //                                     e.printStackTrace();
 //                             }
-                
-            }
-        });
+                               
+                       }
+               });
 
-        contextMenu = menuMgr.createContextMenu(parent);
-    }
+               contextMenu = menuMgr.createContextMenu(parent);
+       }
        
        private IContentOutlinePage createOutline() {
                if (rootNode == null || selectionProvider == null)
                        return null;
-               IContentOutlinePage outlinePage = new VTKContentOutlinePage<Resource,Object>(rootNode, selectionProvider);
+               IContentOutlinePage outlinePage = new VTKContentOutlinePage<Resource,INode>(rootNode, selectionProvider);
                outlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
                        
                        @Override
@@ -410,28 +409,27 @@ public class CSGEditor2  extends ResourceEditorPart {
                return outlinePage;
        }
 
-       @SuppressWarnings("rawtypes")
        @Override
-       public Object getAdapter(Class adapter) {
-               if (IPropertyPage.class.equals(adapter))
-                       return new StandardPropertyPage(getSite(),getPropertyContexts());
-               if (IContentOutlinePage.class.equals(adapter)) {
-                       return createOutline();
+       public <T> T getAdapter(Class<T> adapter) {
+               if (adapter.isAssignableFrom(IPropertyPage.class))
+                       return adapter.cast(new StandardPropertyPage(getSite(),getPropertyContexts()));
+               if (adapter.isAssignableFrom(IContentOutlinePage.class)) {
+                       return adapter.cast(createOutline());
                }
-               if (NodeMap.class.equals(adapter)) {
-                       return nodeMap;
+               if (adapter.isAssignableFrom(NodeMap.class)) {
+                       return adapter.cast(nodeMap);
                }
-               if (INode.class.equals(adapter)) {
-                       return rootNode;
+               if (adapter.isAssignableFrom(INode.class)) {
+                       return adapter.cast(rootNode);
                }
-               if (IMapping.class.equals(adapter)) {
-                       return mapping;
+               if (adapter.isAssignableFrom(IMapping.class)) {
+                       return adapter.cast(mapping);
                }
-               if (InteractiveVtkPanel.class.equals(adapter)) {
-                       return panel;
+               if (adapter.isAssignableFrom(InteractiveVtkPanel.class)) {
+                       return adapter.cast(panel);
                }
-               if (VtkView.class.equals(adapter))
-                       return panel;
+               if (adapter.isAssignableFrom(VtkView.class))
+                       return adapter.cast(panel);
                return super.getAdapter(adapter);
        }