]> 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 3a85691b07a400eb0bca0ff97a7772cc76b59260..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);
-                               
                        }
                };
                
@@ -399,7 +398,7 @@ public class CSGEditor2  extends ResourceEditorPart {
        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);
        }