1 package fr.ifremer.dali.ui.swing.content.observation.operation.measurement.grouped.multiedit;
2
3 import fr.ifremer.dali.ui.swing.DaliHelpBroker;
4 import fr.ifremer.dali.ui.swing.DaliUIContext;
5 import fr.ifremer.dali.ui.swing.util.DaliUI;
6 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
7 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
8 import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
9 import java.awt.BorderLayout;
10 import java.awt.Container;
11 import java.awt.Dialog;
12 import java.awt.Dialog.ModalityType;
13 import java.awt.FlowLayout;
14 import java.awt.Frame;
15 import java.awt.GraphicsConfiguration;
16 import java.awt.GridLayout;
17 import java.awt.Window;
18 import java.awt.event.ActionEvent;
19 import java.awt.event.ActionListener;
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24 import java.util.TreeMap;
25 import javax.swing.Box;
26 import javax.swing.BoxLayout;
27 import javax.swing.JButton;
28 import javax.swing.JDialog;
29 import javax.swing.JPanel;
30 import javax.swing.JScrollPane;
31 import jaxx.runtime.JAXXBinding;
32 import jaxx.runtime.JAXXContext;
33 import jaxx.runtime.JAXXObject;
34 import jaxx.runtime.JAXXObjectDescriptor;
35 import jaxx.runtime.JAXXUtil;
36 import jaxx.runtime.SwingUtil;
37 import jaxx.runtime.binding.DefaultJAXXBinding;
38 import jaxx.runtime.context.DefaultJAXXContext;
39 import org.apache.commons.logging.Log;
40 import org.apache.commons.logging.LogFactory;
41 import static org.nuiton.i18n.I18n.t;
42
43 public class OperationMeasurementsMultiEditUI extends JDialog implements DaliUI<OperationMeasurementsMultiEditUIModel, OperationMeasurementsMultiEditUIHandler>, JAXXObject {
44
45
46
47
48
49 public static final String BINDING_VALID_BUTTON_ENABLED = "validButton.enabled";
50
51
52
53
54
55 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAMVVQW8TRxR+NnESO7RA0tKghMpQipLLGNoLUlCBQkODYkA4rVB96Xh3nAya3RlmZsMGBOIn8BPonQsSN06oh5576KXiL1RVD71WfbPr7NrxGlvigCVvvPPe+9733rz35cVfUDEaTt2jcUx0FFoeMHLjyt27tzr3mGevMeNprqzUkH5KZSi3Yc7Pzo2FL9qbLrzRC29clYGSIQv7otc2oWbsnmBmhzFr4eRghGdMo5WZ12IV6X3UjFQR6vN//i4/85/+UgaIFbKbxVLq46LySqY2ocx9C/OYaZc2BA23kYbm4Tby/cidXRXUmJs0YPfhCcxswrSiGsEsnJ685AQjiY+VhbpUTFPLZdhk1ESaBRhlmpGw/Duf2x82LERdTXjXWTTxqeAk4sQ8QFbEk6FFdyI7hundBIVkeCTIAcm2lpFiPgkcMENgcmtMXqUSktMWKoH0mbDw8IPwaLrkOZnZMzdu05CJc3hN7kbiHoX01DlVM98a9l4K4SwWPhvwbmUW53skC1nNaF9Pmfaxykht0Y5ARNLXj/sR9TXfZl/nTbHOi7Tc7yTAZZgfquO8ez82yPuwR0OPiW8ja7GxsDDAPD11notZwNwuXoefW5Z7Zg1LA9OPe0XyvcoHv9SGio7w2MJie3gV76ApXcLFA0voABPrf8cX/nj99tX6/uZVMfenha59woEbobRrOI4Cpj6Srl1kuWg0qVprIwoTqDqJqiwXEGv1zEgO8x1z4cSFk++p2UGIysyfb349/vPvh6C8DjUhqb9Onf8GVO2Oxi5I4cfq0uWE0eEHs/g8it9DFqpo5Q/Te650qTDur+XWva8kwz9yqt2EkJ6rWx2KqzNldcRibOByQQOzKjrV3/5daL28vN/EEhZ1YqR73sjKTzDNQ8FDlghYT5sKBWtOGRb5MtegIlWCCWRJ9VbyTPJcGerhFI4xP38hbIYskCH3LCwlbfNkgO8knXASZNYaXgxm23BSAtOp2fWNxaiu88OhOPRWSrHF1dYolzhy1M4ljXS/voIDqzWuhspQDSf7syRLRy0bWQX1PKZsVsUnRcEH6xjhNMNCN4z4z+nLR4kcE25+dNaV1frZs/X9IxRL3t1bWX1cVHu/SowrvYT0Bd2T6AwfX0QOtN7hoY8K9M0QdMk9a2MR3XHLPbaKEY5Owqkjtc/0O1AW3pvHiQl4THEvVdoRGEsTsei+A+FzRPgfPWTHnY0JAAA=";
56 private static final Log log = LogFactory.getLog(OperationMeasurementsMultiEditUI.class);
57 private static final long serialVersionUID = 1L;
58
59
60
61
62
63 protected List<Object> $activeBindings = new ArrayList<Object>();
64 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
65 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
66 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
67 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
68 private boolean allComponentsCreated;
69 protected final JAXXContext delegateContext = new DefaultJAXXContext();
70
71
72
73
74
75 protected JButton cancelButton;
76 protected final OperationMeasurementsMultiEditUIHandler handler = createHandler();
77 protected OperationMeasurementsMultiEditUIModel model;
78 protected SwingTable operationGroupedMeasurementMultiEditTable;
79 protected OperationMeasurementsMultiEditUI operationMeasurementsMultiEditUI = this;
80 protected JScrollPane scrollPane;
81 protected JButton validButton;
82
83
84
85
86
87 private JPanel $JPanel0;
88 private JPanel $JPanel1;
89
90
91
92
93
94 public OperationMeasurementsMultiEditUI(ApplicationUI parentUI) {
95 ApplicationUIUtil.setParentUI(this, parentUI);
96 $initialize();
97 }
98
99 public OperationMeasurementsMultiEditUI(Window param0) {
100 super(param0);
101 $initialize();
102 }
103
104 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Window param1) {
105 super(param1);
106 JAXXUtil.initContext(this, parentContext);
107 $initialize();
108 }
109
110 public OperationMeasurementsMultiEditUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
111 super(param0 ,param1 ,param2 ,param3);
112 $initialize();
113 }
114
115 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
116 super(param1 ,param2 ,param3 ,param4);
117 JAXXUtil.initContext(this, parentContext);
118 $initialize();
119 }
120
121 public OperationMeasurementsMultiEditUI(Dialog param0, String param1, boolean param2) {
122 super(param0 ,param1 ,param2);
123 $initialize();
124 }
125
126 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
127 super(param1 ,param2 ,param3);
128 JAXXUtil.initContext(this, parentContext);
129 $initialize();
130 }
131
132 public OperationMeasurementsMultiEditUI(Dialog param0, String param1) {
133 super(param0 ,param1);
134 $initialize();
135 }
136
137 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Dialog param1, String param2) {
138 super(param1 ,param2);
139 JAXXUtil.initContext(this, parentContext);
140 $initialize();
141 }
142
143 public OperationMeasurementsMultiEditUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
144 super(param0 ,param1 ,param2 ,param3);
145 $initialize();
146 }
147
148 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
149 super(param1 ,param2 ,param3 ,param4);
150 JAXXUtil.initContext(this, parentContext);
151 $initialize();
152 }
153
154 public OperationMeasurementsMultiEditUI(Window param0, String param1, ModalityType param2) {
155 super(param0 ,param1 ,param2);
156 $initialize();
157 }
158
159 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
160 super(param1 ,param2 ,param3);
161 JAXXUtil.initContext(this, parentContext);
162 $initialize();
163 }
164
165 public OperationMeasurementsMultiEditUI(Window param0, String param1) {
166 super(param0 ,param1);
167 $initialize();
168 }
169
170 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Window param1, String param2) {
171 super(param1 ,param2);
172 JAXXUtil.initContext(this, parentContext);
173 $initialize();
174 }
175
176 public OperationMeasurementsMultiEditUI(Window param0, ModalityType param1) {
177 super(param0 ,param1);
178 $initialize();
179 }
180
181 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Window param1, ModalityType param2) {
182 super(param1 ,param2);
183 JAXXUtil.initContext(this, parentContext);
184 $initialize();
185 }
186
187 public OperationMeasurementsMultiEditUI(Frame param0, String param1) {
188 super(param0 ,param1);
189 $initialize();
190 }
191
192 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Frame param1, String param2) {
193 super(param1 ,param2);
194 JAXXUtil.initContext(this, parentContext);
195 $initialize();
196 }
197
198 public OperationMeasurementsMultiEditUI(Frame param0, boolean param1) {
199 super(param0 ,param1);
200 $initialize();
201 }
202
203 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Frame param1, boolean param2) {
204 super(param1 ,param2);
205 JAXXUtil.initContext(this, parentContext);
206 $initialize();
207 }
208
209 public OperationMeasurementsMultiEditUI(Frame param0) {
210 super(param0);
211 $initialize();
212 }
213
214 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Frame param1) {
215 super(param1);
216 JAXXUtil.initContext(this, parentContext);
217 $initialize();
218 }
219
220 public OperationMeasurementsMultiEditUI() {
221 $initialize();
222 }
223
224 public OperationMeasurementsMultiEditUI(JAXXContext parentContext) {
225 JAXXUtil.initContext(this, parentContext);
226 $initialize();
227 }
228
229 public OperationMeasurementsMultiEditUI(Dialog param0, boolean param1) {
230 super(param0 ,param1);
231 $initialize();
232 }
233
234 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Dialog param1, boolean param2) {
235 super(param1 ,param2);
236 JAXXUtil.initContext(this, parentContext);
237 $initialize();
238 }
239
240 public OperationMeasurementsMultiEditUI(Dialog param0) {
241 super(param0);
242 $initialize();
243 }
244
245 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Dialog param1) {
246 super(param1);
247 JAXXUtil.initContext(this, parentContext);
248 $initialize();
249 }
250
251 public OperationMeasurementsMultiEditUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
252 super(param0 ,param1 ,param2 ,param3);
253 $initialize();
254 }
255
256 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
257 super(param1 ,param2 ,param3 ,param4);
258 JAXXUtil.initContext(this, parentContext);
259 $initialize();
260 }
261
262 public OperationMeasurementsMultiEditUI(Frame param0, String param1, boolean param2) {
263 super(param0 ,param1 ,param2);
264 $initialize();
265 }
266
267 public OperationMeasurementsMultiEditUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
268 super(param1 ,param2 ,param3);
269 JAXXUtil.initContext(this, parentContext);
270 $initialize();
271 }
272
273
274
275
276
277 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
278 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
279 }
280
281
282
283
284
285 @Override
286 public void applyDataBinding(String $binding) {
287 if (allComponentsCreated && $bindings.containsKey($binding)) {
288 getDataBinding($binding).applyDataBinding();
289 }
290 processDataBinding($binding);
291 }
292
293 @Override
294 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
295 super.firePropertyChange(propertyName, oldValue, newValue);
296 }
297
298 @Override
299 public Map<String, Object> get$objectMap() {
300 return $objectMap;
301 }
302
303 @Override
304 public JAXXBinding getDataBinding(String bindingId) {
305 return $bindings.get(bindingId);
306 }
307
308 @Override
309 public JAXXBinding[] getDataBindings() {
310 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
311 }
312
313 @Override
314 public Object getObjectById(String id) {
315 return $objectMap.get(id);
316 }
317
318 @Override
319 public void processDataBinding(String $binding, boolean $force) {
320 if (!$force && $activeBindings.contains($binding)) {
321 return;
322 }
323 $activeBindings.add($binding);
324 try {
325 if (allComponentsCreated && $bindings.containsKey($binding)) {
326 getDataBinding($binding).processDataBinding();
327 }
328 } finally {
329 $activeBindings.remove($binding);
330 }
331 }
332
333 @Override
334 public void processDataBinding(String $binding) {
335 processDataBinding($binding, false);
336 }
337
338 @Override
339 public void registerDataBinding(JAXXBinding binding) {
340 $bindings.put(binding.getId(), binding);
341 }
342
343 @Override
344 public void removeDataBinding(String $binding) {
345 if (allComponentsCreated && $bindings.containsKey($binding)) {
346 getDataBinding($binding).removeDataBinding();
347 }
348 }
349
350
351
352
353
354 @Override
355 public <T> T getContextValue(Class<T> clazz) {
356 return delegateContext.getContextValue(clazz, null);
357 }
358
359 @Override
360 public <T> T getContextValue(Class<T> clazz, String name) {
361 return delegateContext.getContextValue(clazz, name);
362 }
363
364 @Override
365 public JAXXContext getDelegateContext() {
366 return delegateContext;
367 }
368
369 @Override
370 public <O extends Container> O getParentContainer(Class<O> clazz) {
371 return SwingUtil.getParentContainer(this, clazz);
372 }
373
374 @Override
375 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
376 return SwingUtil.getParentContainer(source, clazz);
377 }
378
379 @Override
380 public <T> void removeContextValue(Class<T> clazz) {
381 delegateContext.removeContextValue(clazz, null);
382 }
383
384 @Override
385 public <T> void removeContextValue(Class<T> clazz, String name) {
386 delegateContext.removeContextValue(clazz, name);
387 }
388
389 @Override
390 public <T> void setContextValue(T o) {
391 delegateContext.setContextValue(o, null);
392 }
393
394 @Override
395 public <T> void setContextValue(T o, String name) {
396 delegateContext.setContextValue(o, name);
397 }
398
399
400
401
402
403 public void doActionPerformed__on__cancelButton(ActionEvent event) {
404 if (log.isDebugEnabled()) {
405 log.debug(event);
406 }
407 handler.cancel();
408 }
409
410 public void doActionPerformed__on__validButton(ActionEvent event) {
411 if (log.isDebugEnabled()) {
412 log.debug(event);
413 }
414 handler.valid();
415 }
416
417
418
419
420
421 public JButton getCancelButton() {
422 return cancelButton;
423 }
424
425 public OperationMeasurementsMultiEditUIHandler getHandler() {
426 return handler;
427 }
428
429 public OperationMeasurementsMultiEditUIModel getModel() {
430 return model;
431 }
432
433 public SwingTable getOperationGroupedMeasurementMultiEditTable() {
434 return operationGroupedMeasurementMultiEditTable;
435 }
436
437 public JScrollPane getScrollPane() {
438 return scrollPane;
439 }
440
441 public JButton getValidButton() {
442 return validButton;
443 }
444
445
446
447
448
449 protected JPanel get$JPanel0() {
450 return $JPanel0;
451 }
452
453 protected JPanel get$JPanel1() {
454 return $JPanel1;
455 }
456
457
458
459
460
461 protected void addChildrenToOperationMeasurementsMultiEditUI() {
462 if (!allComponentsCreated) {
463 return;
464 }
465 add($JPanel0);
466 add($JPanel1, BorderLayout.PAGE_END);
467 }
468
469 protected void addChildrenToScrollPane() {
470 if (!allComponentsCreated) {
471 return;
472 }
473 scrollPane.getViewport().add(operationGroupedMeasurementMultiEditTable);
474 }
475
476 protected void createCancelButton() {
477 $objectMap.put("cancelButton", cancelButton = new JButton());
478
479 cancelButton.setName("cancelButton");
480 cancelButton.setText(t("dali.common.cancel"));
481 cancelButton.setToolTipText(t("dali.common.cancel"));
482 cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
483 }
484
485 protected OperationMeasurementsMultiEditUIHandler createHandler() {
486 return new OperationMeasurementsMultiEditUIHandler();
487 }
488
489 protected void createModel() {
490 $objectMap.put("model", model = getContextValue(OperationMeasurementsMultiEditUIModel.class));
491 }
492
493 protected void createOperationGroupedMeasurementMultiEditTable() {
494 $objectMap.put("operationGroupedMeasurementMultiEditTable", operationGroupedMeasurementMultiEditTable = new SwingTable());
495
496 operationGroupedMeasurementMultiEditTable.setName("operationGroupedMeasurementMultiEditTable");
497 }
498
499 protected void createScrollPane() {
500 $objectMap.put("scrollPane", scrollPane = new JScrollPane());
501
502 scrollPane.setName("scrollPane");
503 }
504
505 protected void createValidButton() {
506 $objectMap.put("validButton", validButton = new JButton());
507
508 validButton.setName("validButton");
509 validButton.setText(t("dali.common.validate"));
510 validButton.setToolTipText(t("dali.common.validate"));
511 validButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validButton"));
512 }
513
514
515
516
517
518 private void $completeSetup() {
519 allComponentsCreated = true;
520 if (log.isDebugEnabled()) {
521 log.debug(this);
522 }
523 addChildrenToOperationMeasurementsMultiEditUI();
524
525 $JPanel0.add(SwingUtil.boxComponentWithJxLayer(scrollPane));
526 addChildrenToScrollPane();
527
528 $JPanel1.add(cancelButton);
529 $JPanel1.add(validButton);
530
531
532 JAXXUtil.applyDataBinding(this, $bindings.keySet());
533
534
535 scrollPane.setBorder(null);
536 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
537 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
538 validButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
539 validButton.setIcon(SwingUtil.createActionIcon("accept"));
540
541 operationMeasurementsMultiEditUI.pack();
542 }
543
544 private void $initialize() {
545 if (allComponentsCreated) {
546 return;
547 }
548 if (log.isDebugEnabled()) {
549 log.debug(this);
550 }
551 handler.beforeInit(this);
552 $objectMap.put("operationMeasurementsMultiEditUI", operationMeasurementsMultiEditUI);
553 createModel();
554
555 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
556
557 $JPanel0.setName("$JPanel0");
558 $JPanel0.setLayout(new BorderLayout());
559 createScrollPane();
560 createOperationGroupedMeasurementMultiEditTable();
561
562 $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
563
564 $JPanel1.setName("$JPanel1");
565 $JPanel1.setLayout(new GridLayout(1,0));
566 createCancelButton();
567 createValidButton();
568
569 setName("operationMeasurementsMultiEditUI");
570 operationMeasurementsMultiEditUI.getContentPane().setLayout(new BorderLayout());
571 setResizable(false);
572 setTitle(t("dali.measurement.grouped.multiEdit.title"));
573 setModal(true);
574
575
576 $registerDefaultBindings();
577 $completeSetup();
578 handler.afterInit(this);
579 }
580
581 private void $registerDefaultBindings() {
582
583 registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALID_BUTTON_ENABLED, true, true) {
584
585 @Override
586 public void applyDataBinding() {
587 if (model != null) {
588 model.addPropertyChangeListener("valid", this);
589 }
590 if (model != null) {
591 model.addPropertyChangeListener("modify", this);
592 }
593 }
594
595 @Override
596 public void processDataBinding() {
597 if (model != null) {
598 validButton.setEnabled(model.isValid() && model.isModify());
599 }
600 }
601
602 @Override
603 public void removeDataBinding() {
604 if (model != null) {
605 model.removePropertyChangeListener("valid", this);
606 }
607 if (model != null) {
608 model.removePropertyChangeListener("modify", this);
609 }
610 }
611 });
612 }
613
614 }