]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.proconf.processeditor/src/org/simantics/processeditor/tools/NozzleContribution.java
Set copyright texts for java files in the latest development branches.
[simantics/3d.git] / org.simantics.proconf.processeditor / src / org / simantics / processeditor / tools / NozzleContribution.java
1 /*******************************************************************************\r
2  * Copyright (c) 2007- VTT Technical Research Centre of Finland.\r
3  * All rights reserved. This program and the accompanying materials\r
4  * are made available under the terms of the Eclipse Public License v1.0\r
5  * which accompanies this distribution, and is available at\r
6  * http://www.eclipse.org/legal/epl-v10.html\r
7  *\r
8  * Contributors:\r
9  *     VTT Technical Research Centre of Finland - initial API and implementation\r
10  *******************************************************************************/\r
11 package org.simantics.processeditor.tools;\r
12 \r
13 import java.util.ArrayList;\r
14 import java.util.Collection;\r
15 import java.util.List;\r
16 \r
17 import org.eclipse.jface.action.Action;\r
18 import org.eclipse.jface.action.IContributionItem;\r
19 import org.eclipse.jface.action.IMenuManager;\r
20 import org.eclipse.jface.action.IToolBarManager;\r
21 import org.eclipse.swt.SWT;\r
22 import org.eclipse.swt.layout.FillLayout;\r
23 import org.eclipse.swt.layout.FormAttachment;\r
24 import org.eclipse.swt.layout.FormData;\r
25 import org.eclipse.swt.layout.FormLayout;\r
26 import org.eclipse.swt.widgets.Button;\r
27 import org.eclipse.swt.widgets.Composite;\r
28 import org.eclipse.swt.widgets.Label;\r
29 import org.eclipse.swt.widgets.Text;\r
30 import org.simantics.db.Graph;\r
31 import org.simantics.db.Resource;\r
32 import org.simantics.processeditor.ProcessResource;\r
33 import org.simantics.proconf.g3d.actions.ContextAction;\r
34 import org.simantics.proconf.g3d.base.EditorContribution;\r
35 import org.simantics.proconf.g3d.base.ThreeDimensionalEditorBase;\r
36 import org.simantics.proconf.g3d.common.StructuredResourceSelection;\r
37 \r
38 \r
39 public class NozzleContribution implements EditorContribution {\r
40         private List<ContextAction> actions = new ArrayList<ContextAction>();\r
41         private ThreeDimensionalEditorBase parent;\r
42         private Resource equipmentResource;\r
43         private Composite sideComposite;\r
44         \r
45         public NozzleContribution(ThreeDimensionalEditorBase parent) {\r
46                 this.parent = parent;\r
47         }\r
48         \r
49         @Override\r
50         public void createControl(Composite parent) {\r
51                 FormLayout flayout = new FormLayout();\r
52                 parent.setLayout(flayout);\r
53                 sideComposite = new Composite(parent,SWT.BORDER);\r
54                 FormData data = new FormData();\r
55                 data.top = new FormAttachment(0, 0);\r
56                 data.left = new FormAttachment(0, 0);\r
57                 data.right = new FormAttachment(sideComposite, 0, SWT.LEFT);\r
58                 data.bottom = new FormAttachment(100,0);\r
59                 this.parent.getRenderingComposite().setLayoutData(data);\r
60                 sideComposite.setLayout(new FillLayout(SWT.VERTICAL));\r
61                 data = new FormData();\r
62                 data.top = new FormAttachment(0, 0);\r
63                 data.bottom = new FormAttachment(100,0);\r
64                 data.right = new FormAttachment(100,0);\r
65                 sideComposite.setLayoutData(data);\r
66                 showNozzles(true);\r
67                 \r
68                 Button addButton = new Button(sideComposite,SWT.PUSH);\r
69                 addButton.setText("Add Nozzle");\r
70                 Label label = new Label(sideComposite,SWT.NONE);\r
71                 label.setText("Restrictions:");\r
72                 Button minButton = new Button(sideComposite,SWT.CHECK);\r
73                 minButton.setText("Min");\r
74                 Text minText = new Text(sideComposite,SWT.SINGLE | SWT.BORDER);\r
75                 Button maxButton = new Button(sideComposite,SWT.CHECK);\r
76                 maxButton.setText("Max");\r
77                 Text maxText = new Text(sideComposite,SWT.SINGLE | SWT.BORDER);\r
78                 minText.setToolTipText("Enter minimum number of nozzles");\r
79                 maxText.setToolTipText("Enter maximum number of nozzles");\r
80 \r
81         }\r
82         \r
83         @Override\r
84         public void disposeControl() {\r
85                 sideComposite.dispose();\r
86                 \r
87         }\r
88         @Override\r
89         public void fillContextMenu(Graph graph, IMenuManager manager,\r
90                         StructuredResourceSelection selection) {\r
91 \r
92         }\r
93         \r
94         @Override\r
95         public void fillLocalPullDown(IMenuManager manager) {\r
96 \r
97         }\r
98         \r
99         @Override\r
100         public void fillLocalToolBar(IToolBarManager manager) {\r
101 \r
102         }\r
103         \r
104         @Override\r
105         public Collection<ContextAction> getActions() {\r
106                 return actions;\r
107         }\r
108         \r
109         @Override\r
110         public String getName() {\r
111                 return "Nozzles";\r
112         }\r
113         \r
114         private void showNozzles(boolean show) {\r
115                 \r
116         }\r
117         \r
118         @Override\r
119         public void initialize(Graph graph) {\r
120                 Resource modelResource = parent.getInputResource();\r
121                 Resource inverse = graph.getInverse(ProcessResource.plant3Dresource.HasGraphics);\r
122                 Collection<Resource> equipment = graph.getObjects(modelResource, inverse);\r
123                 if (equipment.size() != 1)\r
124                         throw new RuntimeException("Cannot find equipment");\r
125                 equipmentResource = equipment.iterator().next();\r
126         }\r
127         \r
128         @Override\r
129         public void dispose() {\r
130                 showNozzles(false);\r
131         }\r
132         \r
133         @Override\r
134         public void run() {\r
135 \r
136         }\r
137         \r
138         \r
139 }\r