Normand Briere
2019-10-01 65bdec7ae2c99ca2102c55f92bd62b48c9f14847
CSGEditor.java
....@@ -10,6 +10,8 @@
1010
1111 import java.util.Vector;
1212
13
+import grafeme.ui.*;
14
+
1315 class CSGEditor extends ObjEditor implements ChangeListener, ActionListener, ObjectUI
1416 {
1517
....@@ -44,19 +46,18 @@
4446 super.SetupUI2(oe); // Shows composite UI !!
4547 //super.SetupName(oe);
4648
47
- oe.aConstraints.weighty = 0;
49
+ oe.ctrlPanel.add(refreshButton = new JButton("Refresh")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
50
+ oe.ctrlPanel.Return();
4851
49
- oe.aConstraints.fill = 0;
50
- oe.aConstraints.gridwidth = 1;
51
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
52
- oe.ctrlPanel.add(refreshButton = new JButton("Refresh"), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
53
- oe.aConstraints.gridwidth = 1;
54
- oe.aConstraints.gridx /* = 0;
55
- oe.aConstraints.gridy */ += 1;
56
-
57
- oe.aConstraints.fill = 0;
58
- oe.aConstraints.gridwidth = 1;
59
- //this.csg = (CSG) copy;
52
+ menuPane = new cGridBag();
53
+ oe.ctrlPanel.add(menuPane);
54
+ oe.ctrlPanel.Return();
55
+
56
+ menuPane2 = new cGridBag();
57
+ oe.ctrlPanel.add(menuPane2);
58
+ oe.ctrlPanel.Return();
59
+
60
+ //this.csg = (CSG) copy;
6061 /*
6162 oe.ctrlPanel.add(typeLabel = new JLabel("Type"), oe.aConstraints);
6263 oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -67,33 +68,26 @@
6768 list.add("Merge");
6869 list.add("Intersection");
6970 list.add("Difference");
70
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
71
- oe.ctrlPanel.add(typeMenu = new JComboBox(new ObjEditor.cListModel(list, csg.csgType - 1)), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
71
+ menuPane.add(typeMenu = new JComboBox(new ObjEditor.cListModel(list, csg.csgType - 1))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
7272 //typeMenu.select(csg.csgType - 1);
7373
74
- oe.aConstraints.gridx += 1;
75
- //oe.aConstraints.gridy += 1;
76
- //oe.aConstraints.gridx = 0;
77
-
74
+ oe.ctrlPanel.Return();
75
+
7876 list = new Vector();
7977 list.add("Surface");
8078 list.add("Volume");
8179 list.add("Inner");
8280 list.add("Outer");
8381 list.add("Boundary");
82
+
8483 /*
8584 oe.aConstraints.fill = 0;
8685 oe.ctrlPanel.add(genLabel = new JLabel("Generation"), oe.aConstraints);
8786 oe.aConstraints.gridx += 1;
8887 */
89
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
90
- oe.ctrlPanel.add(genMenu = new JComboBox(new ObjEditor.cListModel(list, 0)), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
88
+ menuPane.add(genMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
9189 //typeMenu.select(csg.csgType - 1);
92
- //oe.aConstraints.gridy += 1;
93
- oe.aConstraints.gridx += 1;
9490
95
- Return();
96
-
9791 list = new Vector();
9892 list.add("Smooth");
9993 list.add("Flat");
....@@ -102,11 +96,8 @@
10296 oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints);
10397 oe.aConstraints.gridx += 1;
10498 */
105
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
106
- oe.ctrlPanel.add(normalsMenu = new JComboBox(new ObjEditor.cListModel(list, 0)), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
99
+ menuPane2.add(normalsMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
107100 //typeMenu.select(csg.csgType - 1);
108
- oe.aConstraints.gridx += 1;
109
- oe.aConstraints.gridwidth = 1;
110101
111102 list = new Vector();
112103 list.add("Strip");
....@@ -117,55 +108,39 @@
117108 oe.ctrlPanel.add(normalsLabel = new JLabel("Shading"), oe.aConstraints);
118109 oe.aConstraints.gridx += 1;
119110 */
120
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
121
- oe.ctrlPanel.add(stripifyMenu = new JComboBox(new ObjEditor.cListModel(list, 0)), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
111
+ menuPane2.add(stripifyMenu = new JComboBox(new ObjEditor.cListModel(list, 0))); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
122112 //typeMenu.select(csg.csgType - 1);
123
- oe.aConstraints.gridy += 1;
124
- oe.aConstraints.gridx = 0;
125
- oe.aConstraints.gridwidth = 1;
126113
127
- //oe.aConstraints.fill = 0;
128
- oe.ctrlPanel.add(sizeLabel = new JLabel("Depth"), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
129
- oe.aConstraints.gridx += 1;
130
- oe.aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
131
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
132
- oe.ctrlPanel.add(sizeField = new NumberSlider(0,10), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
133
- oe.aConstraints.gridy += 1;
134
- oe.aConstraints.gridx = 0;
114
+// oe.ctrlPanel.add(sizeLabel = new JLabel("Depth")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
115
+// oe.ctrlPanel.add(sizeSlider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
116
+ sizeSliderPane = AddSlider(oe.ctrlPanel, "Depth", 0, 10, 0);
117
+ sizeSlider = (cNumberSlider)sizeSliderPane.getComponent(1);
118
+ oe.ctrlPanel.Return();
135119
136
- oe.aConstraints.fill = 0;
137
- oe.aConstraints.gridwidth = 1;
138
- oe.ctrlPanel.add(size2Label = new JLabel("Depth2"), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
139
- oe.aConstraints.gridx += 1;
140
- oe.aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
141
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
142
- oe.ctrlPanel.add(size2Field = new NumberSlider(0,10), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
143
- oe.aConstraints.gridy += 1;
144
- oe.aConstraints.gridx = 0;
120
+// oe.ctrlPanel.add(size2Label = new JLabel("Depth2")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
121
+// oe.ctrlPanel.add(size2Slider = new NumberSlider(0,10)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
122
+ size2SliderPane = AddSlider(oe.ctrlPanel, "Depth2", 0, 10, 0);
123
+ size2Slider = (cNumberSlider)size2SliderPane.getComponent(1);
124
+ oe.ctrlPanel.Return();
145125
146
- oe.aConstraints.gridwidth = 1;
147
- oe.aConstraints.fill = 0;
148
- oe.ctrlPanel.add(tolLabel = new JLabel("Tolerance"), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
149
- oe.aConstraints.gridx += 1;
150
- oe.aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
151
- oe.aConstraints.fill = GridBagConstraints.HORIZONTAL;
152
- oe.ctrlPanel.add(tolField = new NumberSlider(0,10,1), oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
153
- oe.aConstraints.gridy += 1;
154
- oe.aConstraints.gridx = 0;
155
- oe.aConstraints.gridwidth = 1;
126
+// oe.ctrlPanel.add(tolLabel = new JLabel("Tolerance")); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
127
+// oe.ctrlPanel.add(toleranceSlider = new NumberSlider(0,10,1)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount()-2);
128
+ toleranceSliderPane = AddSlider(oe.ctrlPanel, "Tolerance", 0, 10, 1, 1);
129
+ toleranceSlider = (cNumberSlider)toleranceSliderPane.getComponent(1);
130
+ oe.ctrlPanel.Return();
156131
157
- sizeField.setInteger(csg.cellSize);
158
- size2Field.setInteger(csg.cellSize2);
132
+ sizeSlider.setInteger(csg.cellSize);
133
+ size2Slider.setInteger(csg.cellSize2);
159134 System.out.println("csg.tolerance = " + csg.tolerance);
160
- tolField.setFloat(csg.tolerance);
135
+ toleranceSlider.setFloat(csg.tolerance);
161136 normalsMenu.setSelectedIndex(csg.normals?0:1);
162137 typeMenu.setSelectedIndex(csg.csgType - 1);
163138 genMenu.setSelectedIndex(csg.genType);
164139 stripifyMenu.setSelectedIndex(csg.userType); // ==0?0:1);
165140
166
- sizeField.addChangeListener(this);
167
- size2Field.addChangeListener(this);
168
- tolField.addChangeListener(this);
141
+ sizeSlider.addChangeListener(this);
142
+ size2Slider.addChangeListener(this);
143
+ toleranceSlider.addChangeListener(this);
169144
170145 typeMenu.addActionListener(this);
171146 genMenu.addActionListener(this);
....@@ -199,24 +174,29 @@
199174 normalsMenu.removeActionListener(this);
200175 refreshButton.removeActionListener(this);
201176
202
- sizeField.removeChangeListener(this);
203
- size2Field.removeChangeListener(this);
204
- tolField.removeChangeListener(this);
205
- oe.ctrlPanel.remove(sizeField);
206
- oe.ctrlPanel.remove(size2Field);
207
- oe.ctrlPanel.remove(tolField);
208
- oe.ctrlPanel.remove(sizeLabel);
209
- oe.ctrlPanel.remove(size2Label);
210
- oe.ctrlPanel.remove(tolLabel);
211
- oe.ctrlPanel.remove(typeMenu);
212
- //oe.ctrlPanel.remove(typeLabel);
213
- oe.ctrlPanel.remove(genMenu);
214
- //oe.ctrlPanel.remove(genLabel);
215
- oe.ctrlPanel.remove(normalsMenu);
216
- oe.ctrlPanel.remove(stripifyMenu);
217
- //oe.ctrlPanel.remove(normalsLabel);
218
- oe.ctrlPanel.remove(refreshButton);
219
- //oe.ctrlPanel.repaint();
177
+ sizeSlider.removeChangeListener(this);
178
+ size2Slider.removeChangeListener(this);
179
+ toleranceSlider.removeChangeListener(this);
180
+
181
+ oe.ctrlPanel.remove(this.refreshButton);
182
+ oe.ctrlPanel.remove(menuPane);
183
+ oe.ctrlPanel.remove(menuPane2);
184
+ oe.ctrlPanel.remove(sizeSliderPane);
185
+ oe.ctrlPanel.remove(size2SliderPane);
186
+ oe.ctrlPanel.remove(toleranceSliderPane);
187
+
188
+// oe.ctrlPanel.remove(sizeLabel);
189
+// oe.ctrlPanel.remove(size2Label);
190
+// oe.ctrlPanel.remove(tolLabel);
191
+// oe.ctrlPanel.remove(typeMenu);
192
+// //oe.ctrlPanel.remove(typeLabel);
193
+// oe.ctrlPanel.remove(genMenu);
194
+// //oe.ctrlPanel.remove(genLabel);
195
+// oe.ctrlPanel.remove(normalsMenu);
196
+// oe.ctrlPanel.remove(stripifyMenu);
197
+// //oe.ctrlPanel.remove(normalsLabel);
198
+// oe.ctrlPanel.remove(refreshButton);
199
+// //oe.ctrlPanel.repaint();
220200
221201 super.closeUI();
222202 }
....@@ -226,7 +206,7 @@
226206 {
227207 super.doLayout();
228208 labelAndField(typeLabel, typeMenu);
229
- labelAndField(sizeLabel, sizeField);
209
+ labelAndField(sizeLabel, sizeSlider);
230210 widgetPos += 5;
231211 }
232212 */
....@@ -252,9 +232,9 @@
252232
253233 public void stateChanged(ChangeEvent e)
254234 {
255
- if (e.getSource() == sizeField ||
256
- e.getSource() == size2Field ||
257
- e.getSource() == tolField)
235
+ if (e.getSource() == sizeSlider ||
236
+ e.getSource() == size2Slider ||
237
+ e.getSource() == toleranceSlider)
258238 {
259239 // Can't choose...
260240 //applySelf();
....@@ -272,15 +252,16 @@
272252 csg.genType = genMenu.getSelectedIndex();
273253 csg.normals = normalsMenu.getSelectedIndex() == 0;
274254 csg.userType = stripifyMenu.getSelectedIndex();
275
- csg.cellSize = sizeField.getInteger();
276
- csg.cellSize2 = size2Field.getInteger();
277
- csg.tolerance = tolField.getFloat();
255
+ csg.cellSize = sizeSlider.getInteger();
256
+ csg.cellSize2 = size2Slider.getInteger();
257
+ csg.tolerance = toleranceSlider.getFloat();
278258
279
- if (csg.link2master)
259
+ if (csg.Link2Support())
280260 csg.retile();
281261 }
282262
283263 CSG csg;
264
+
284265 JLabel typeLabel;
285266 JLabel genLabel;
286267 JLabel normalsLabel;
....@@ -291,10 +272,16 @@
291272 JComboBox genMenu;
292273 JComboBox normalsMenu;
293274 JComboBox stripifyMenu;
294
- NumberSlider sizeField;
295
- NumberSlider size2Field;
296
- NumberSlider tolField;
275
+ cNumberSlider sizeSlider;
276
+ cNumberSlider size2Slider;
277
+ cNumberSlider toleranceSlider;
297278
279
+ cGridBag menuPane;
280
+ cGridBag menuPane2;
281
+ cGridBag sizeSliderPane;
282
+ cGridBag size2SliderPane;
283
+ cGridBag toleranceSliderPane;
284
+
298285 JButton refreshButton;
299286
300287 //GroupEditor objEditor;