]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/src/org/simantics/plant3d/dialog/ComponentSelectionDialog.java
Creating equipment with predefined nozzles.
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / dialog / ComponentSelectionDialog.java
index 75b124119830199167eb827c1618b666a44b8161..7c124eb0ecb269076d4979bc1155305befc385dd 100644 (file)
@@ -97,6 +97,18 @@ public class ComponentSelectionDialog extends Dialog implements ISelectionChange
         this.libUri = libUri;
     }
        
+        protected List<Item> getItems(Class c, String libUri) throws DatabaseException{
+            if (InlineComponent.class.equals(c)) {
+                return P3DUtil.getInlines(libUri);
+            } else if (TurnComponent.class.equals(c)) {
+                return P3DUtil.getTurns(libUri);
+            } else if (EndComponent.class.equals(c)) {
+                return P3DUtil.getEnds(libUri);
+            } else {
+                return null;
+            }
+        }
+       
        @Override
        protected Control createDialogArea(Composite parent) {
                resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
@@ -123,9 +135,9 @@ public class ComponentSelectionDialog extends Dialog implements ISelectionChange
                List<Item> turns = null;
                List<Item> inlines = null;
                try {
-                       ends = P3DUtil.getEnds(libUri);
-                       turns= P3DUtil.getTurns(libUri);
-                       inlines = P3DUtil.getInlines(libUri);
+                       ends = getItems(EndComponent.class, libUri);
+                       turns= getItems(TurnComponent.class, libUri);
+                       inlines = getItems(InlineComponent.class, libUri);
                } catch (DatabaseException e) {
                        Label label = new Label(composite, SWT.NONE);
                        label.setText("Cannot load pipeline components: " + e.getMessage());