1 package fr.ifremer.tutti.ui.swing.content;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.ui.swing.TuttiHelpBroker;
28 import fr.ifremer.tutti.ui.swing.TuttiScreen;
29 import fr.ifremer.tutti.ui.swing.TuttiUIContext;
30 import fr.ifremer.tutti.ui.swing.util.TuttiUI;
31 import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
32 import java.awt.BorderLayout;
33 import java.awt.Component;
34 import java.awt.Container;
35 import java.awt.GraphicsConfiguration;
36 import java.awt.event.WindowEvent;
37 import java.awt.event.WindowListener;
38 import java.util.ArrayList;
39 import java.util.HashMap;
40 import java.util.List;
41 import java.util.Map;
42 import java.util.TreeMap;
43 import javax.swing.JButton;
44 import javax.swing.JFrame;
45 import javax.swing.JLabel;
46 import javax.swing.JMenu;
47 import javax.swing.JMenuBar;
48 import javax.swing.JMenuItem;
49 import javax.swing.JSeparator;
50 import javax.swing.JToolBar;
51 import jaxx.runtime.JAXXBinding;
52 import jaxx.runtime.JAXXContext;
53 import jaxx.runtime.JAXXObject;
54 import jaxx.runtime.JAXXObjectDescriptor;
55 import jaxx.runtime.JAXXUtil;
56 import jaxx.runtime.SwingUtil;
57 import jaxx.runtime.binding.DefaultJAXXBinding;
58 import jaxx.runtime.context.DefaultJAXXContext;
59 import jaxx.runtime.swing.BlockingLayerUI;
60 import jaxx.runtime.swing.StatusMessagePanel;
61 import jaxx.runtime.swing.help.JAXXHelpUI;
62 import jaxx.runtime.validator.swing.SwingValidatorMessageWidget;
63 import org.apache.commons.logging.Log;
64 import org.apache.commons.logging.LogFactory;
65 import org.jdesktop.swingx.JXTitledPanel;
66 import static org.nuiton.i18n.I18n.t;
67
68 public class MainUI extends JFrame implements JAXXHelpUI<TuttiHelpBroker>, TuttiUI<TuttiUIContext, MainUIHandler>, JAXXObject {
69
70
71
72
73
74 public static final String BINDING_BUSY_BLOCK_LAYER_UI_BLOCK = "busyBlockLayerUI.block";
75 public static final String BINDING_BUSY_BLOCK_LAYER_UI_BLOCKING_COLOR = "busyBlockLayerUI.blockingColor";
76 public static final String BINDING_CALIPER_STATUS_ENABLED = "caliperStatus.enabled";
77 public static final String BINDING_CALIPER_STATUS_TEXT = "caliperStatus.text";
78 public static final String BINDING_CALIPER_STATUS_TOOL_TIP_TEXT = "caliperStatus.toolTipText";
79 public static final String BINDING_ICHTYOMETER_STATUS_ENABLED = "ichtyometerStatus.enabled";
80 public static final String BINDING_ICHTYOMETER_STATUS_TOOL_TIP_TEXT = "ichtyometerStatus.toolTipText";
81 public static final String BINDING_MENU_ACTIONS_ENABLED = "menuActions.enabled";
82 public static final String BINDING_MENU_ACTION_EDIT_CATCHES_ENABLED = "menuActionEditCatches.enabled";
83 public static final String BINDING_MENU_ACTION_EDIT_CRUISE_ENABLED = "menuActionEditCruise.enabled";
84 public static final String BINDING_MENU_ACTION_EDIT_PROGRAM_ENABLED = "menuActionEditProgram.enabled";
85 public static final String BINDING_MENU_ACTION_EDIT_PROTOCOL_ENABLED = "menuActionEditProtocol.enabled";
86 public static final String BINDING_MENU_ACTION_GENERATE_CRUISE_REPORT_ENABLED = "menuActionGenerateCruiseReport.enabled";
87 public static final String BINDING_MENU_ACTION_GENERIC_FORMAT_EXPORT_ENABLED = "menuActionGenericFormatExport.enabled";
88 public static final String BINDING_MENU_ACTION_GENERIC_FORMAT_IMPORT_ENABLED = "menuActionGenericFormatImport.enabled";
89 public static final String BINDING_MENU_ACTION_SELECT_CRUISE_ENABLED = "menuActionSelectCruise.enabled";
90 public static final String BINDING_MENU_ACTION_VALIDATE_CATCHES_ENABLED = "menuActionValidateCatches.enabled";
91 public static final String BINDING_MENU_ADMINISTRATION_ENABLED = "menuAdministration.enabled";
92 public static final String BINDING_MENU_CHANGE_LOCALE_FR_ENABLED = "menuChangeLocaleFR.enabled";
93 public static final String BINDING_MENU_CHANGE_LOCALE_UK_ENABLED = "menuChangeLocaleUK.enabled";
94 public static final String BINDING_MENU_EDIT_SAMPLE_CATEGORY_MODEL_ENABLED = "menuEditSampleCategoryModel.enabled";
95 public static final String BINDING_MENU_FILE_CONFIGURATION_ENABLED = "menuFileConfiguration.enabled";
96 public static final String BINDING_MENU_FILE_CONNECT_CALIPER_VISIBLE = "menuFileConnectCaliper.visible";
97 public static final String BINDING_MENU_FILE_CONNECT_ICHTYOMETER_VISIBLE = "menuFileConnectIchtyometer.visible";
98 public static final String BINDING_MENU_FILE_DISCONNECT_CALIPER_VISIBLE = "menuFileDisconnectCaliper.visible";
99 public static final String BINDING_MENU_FILE_DISCONNECT_ICHTYOMETER_VISIBLE = "menuFileDisconnectIchtyometer.visible";
100 public static final String BINDING_MENU_FILE_MANAGE_DB_ENABLED = "menuFileManageDb.enabled";
101 public static final String BINDING_MENU_IMPORT_TEMPORARY_REFERENTIAL_ENABLED = "menuImportTemporaryReferential.enabled";
102 public static final String BINDING_STATUS_SHOW_MEMORY_STATUS = "status.showMemoryStatus";
103
104
105
106
107
108 private static final String BINDING_$JSEPARATOR3_ENABLED = "$JSeparator3.enabled";
109
110
111
112
113
114 private static final String $jaxxObjectDescriptor = "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";
115 private static final Log log = LogFactory.getLog(MainUI.class);
116 private static final long serialVersionUID = 1L;
117
118
119
120
121
122 protected List<Object> $activeBindings = new ArrayList<Object>();
123 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
124 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
125 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
126 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
127 private boolean allComponentsCreated;
128 protected final JAXXContext delegateContext = new DefaultJAXXContext();
129
130
131
132
133
134 protected JXTitledPanel body;
135 protected JToolBar bottomBar;
136 protected TuttiHelpBroker broker;
137 protected BlockingLayerUI busyBlockLayerUI;
138 protected JLabel caliperStatus;
139 protected final MainUIHandler handler = createHandler();
140 protected JLabel ichtyometerStatus;
141 protected MainUI mainFrame = this;
142 protected JMenuBar menu;
143 protected JMenuItem menuActionEditCatches;
144 protected JMenuItem menuActionEditCruise;
145 protected JMenuItem menuActionEditProgram;
146 protected JMenuItem menuActionEditProtocol;
147 protected JMenuItem menuActionGenerateCruiseReport;
148 protected JMenuItem menuActionGenericFormatExport;
149 protected JMenuItem menuActionGenericFormatImport;
150 protected JMenuItem menuActionSelectCruise;
151 protected JMenuItem menuActionValidateCatches;
152 protected JMenu menuActions;
153 protected JMenu menuAdministration;
154 protected JMenu menuChangeLocale;
155 protected JMenuItem menuChangeLocaleFR;
156 protected JMenuItem menuChangeLocaleUK;
157 protected JMenuItem menuEditSampleCategoryModel;
158 protected JMenu menuFile;
159 protected JMenuItem menuFileConfiguration;
160 protected JMenuItem menuFileConnectCaliper;
161 protected JMenuItem menuFileConnectIchtyometer;
162 protected JMenuItem menuFileDisconnectCaliper;
163 protected JMenuItem menuFileDisconnectIchtyometer;
164 protected JMenuItem menuFileExit;
165 protected JMenuItem menuFileManageDb;
166 protected JMenuItem menuFileUpdateApplication;
167 protected JMenuItem menuFileUpdateReport;
168 protected JMenu menuHelp;
169 protected JMenuItem menuHelpAbout;
170 protected JMenuItem menuHelpSite;
171 protected JMenuItem menuImportTemporaryReferential;
172 protected JMenuItem menuShowHelp;
173 protected TuttiUIContext model;
174 protected JButton showHelp;
175 protected StatusMessagePanel status;
176 protected SwingValidatorMessageWidget validatorMessageWidget;
177
178
179
180
181
182 private JSeparator $JSeparator0;
183 private JSeparator $JSeparator1;
184 private JSeparator $JSeparator2;
185 private JSeparator $JSeparator3;
186
187
188
189
190
191 public MainUI(TuttiUIContext context) {
192 TuttiUIUtil.setApplicationContext(this, context);
193 $initialize();
194 }
195
196 public MainUI() {
197 $initialize();
198 }
199
200 public MainUI(JAXXContext parentContext) {
201 JAXXUtil.initContext(this, parentContext);
202 $initialize();
203 }
204
205 public MainUI(GraphicsConfiguration param0) {
206 super(param0);
207 $initialize();
208 }
209
210 public MainUI(JAXXContext parentContext, GraphicsConfiguration param1) {
211 super(param1);
212 JAXXUtil.initContext(this, parentContext);
213 $initialize();
214 }
215
216 public MainUI(String param0, GraphicsConfiguration param1) {
217 super(param0 ,param1);
218 $initialize();
219 }
220
221 public MainUI(JAXXContext parentContext, String param1, GraphicsConfiguration param2) {
222 super(param1 ,param2);
223 JAXXUtil.initContext(this, parentContext);
224 $initialize();
225 }
226
227 public MainUI(String param0) {
228 super(param0);
229 $initialize();
230 }
231
232 public MainUI(JAXXContext parentContext, String param1) {
233 super(param1);
234 JAXXUtil.initContext(this, parentContext);
235 $initialize();
236 }
237
238
239
240
241
242 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
243 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
244 }
245
246
247
248
249
250 @Override
251 public void applyDataBinding(String $binding) {
252 if (allComponentsCreated && $bindings.containsKey($binding)) {
253 getDataBinding($binding).applyDataBinding();
254 }
255 processDataBinding($binding);
256 }
257
258 @Override
259 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
260 super.firePropertyChange(propertyName, oldValue, newValue);
261 }
262
263 @Override
264 public Map<String, Object> get$objectMap() {
265 return $objectMap;
266 }
267
268 @Override
269 public JAXXBinding getDataBinding(String bindingId) {
270 return $bindings.get(bindingId);
271 }
272
273 @Override
274 public JAXXBinding[] getDataBindings() {
275 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
276 }
277
278 @Override
279 public Object getObjectById(String id) {
280 return $objectMap.get(id);
281 }
282
283 @Override
284 public void processDataBinding(String $binding, boolean $force) {
285 if (!$force && $activeBindings.contains($binding)) {
286 return;
287 }
288 $activeBindings.add($binding);
289 try {
290 if (allComponentsCreated && $bindings.containsKey($binding)) {
291 getDataBinding($binding).processDataBinding();
292 }
293 } finally {
294 $activeBindings.remove($binding);
295 }
296 }
297
298 @Override
299 public void processDataBinding(String $binding) {
300 processDataBinding($binding, false);
301 }
302
303 @Override
304 public void registerDataBinding(JAXXBinding binding) {
305 $bindings.put(binding.getId(), binding);
306 }
307
308 @Override
309 public void removeDataBinding(String $binding) {
310 if (allComponentsCreated && $bindings.containsKey($binding)) {
311 getDataBinding($binding).removeDataBinding();
312 }
313 }
314
315
316
317
318
319 @Override
320 public <T> T getContextValue(Class<T> clazz) {
321 return delegateContext.getContextValue(clazz, null);
322 }
323
324 @Override
325 public <T> T getContextValue(Class<T> clazz, String name) {
326 return delegateContext.getContextValue(clazz, name);
327 }
328
329 @Override
330 public JAXXContext getDelegateContext() {
331 return delegateContext;
332 }
333
334 @Override
335 public <O extends Container> O getParentContainer(Class<O> clazz) {
336 return SwingUtil.getParentContainer(this, clazz);
337 }
338
339 @Override
340 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
341 return SwingUtil.getParentContainer(source, clazz);
342 }
343
344 @Override
345 public <T> void removeContextValue(Class<T> clazz) {
346 delegateContext.removeContextValue(clazz, null);
347 }
348
349 @Override
350 public <T> void removeContextValue(Class<T> clazz, String name) {
351 delegateContext.removeContextValue(clazz, name);
352 }
353
354 @Override
355 public <T> void setContextValue(T o) {
356 delegateContext.setContextValue(o, null);
357 }
358
359 @Override
360 public <T> void setContextValue(T o, String name) {
361 delegateContext.setContextValue(o, name);
362 }
363
364
365
366
367
368 public void doWindowClosing__on__mainFrame(WindowEvent event) {
369 if (log.isDebugEnabled()) {
370 log.debug(event);
371 }
372 menuFileExit.getAction().actionPerformed(null);
373 }
374
375
376
377
378
379 public JXTitledPanel getBody() {
380 return body;
381 }
382
383 public JToolBar getBottomBar() {
384 return bottomBar;
385 }
386
387 public TuttiHelpBroker getBroker() {
388 return broker;
389 }
390
391 public BlockingLayerUI getBusyBlockLayerUI() {
392 return busyBlockLayerUI;
393 }
394
395 public JLabel getCaliperStatus() {
396 return caliperStatus;
397 }
398
399 public MainUIHandler getHandler() {
400 return handler;
401 }
402
403 public JLabel getIchtyometerStatus() {
404 return ichtyometerStatus;
405 }
406
407 public JMenuBar getMenu() {
408 return menu;
409 }
410
411 public JMenuItem getMenuActionEditCatches() {
412 return menuActionEditCatches;
413 }
414
415 public JMenuItem getMenuActionEditCruise() {
416 return menuActionEditCruise;
417 }
418
419 public JMenuItem getMenuActionEditProgram() {
420 return menuActionEditProgram;
421 }
422
423 public JMenuItem getMenuActionEditProtocol() {
424 return menuActionEditProtocol;
425 }
426
427 public JMenuItem getMenuActionGenerateCruiseReport() {
428 return menuActionGenerateCruiseReport;
429 }
430
431 public JMenuItem getMenuActionGenericFormatExport() {
432 return menuActionGenericFormatExport;
433 }
434
435 public JMenuItem getMenuActionGenericFormatImport() {
436 return menuActionGenericFormatImport;
437 }
438
439 public JMenuItem getMenuActionSelectCruise() {
440 return menuActionSelectCruise;
441 }
442
443 public JMenuItem getMenuActionValidateCatches() {
444 return menuActionValidateCatches;
445 }
446
447 public JMenu getMenuActions() {
448 return menuActions;
449 }
450
451 public JMenu getMenuAdministration() {
452 return menuAdministration;
453 }
454
455 public JMenu getMenuChangeLocale() {
456 return menuChangeLocale;
457 }
458
459 public JMenuItem getMenuChangeLocaleFR() {
460 return menuChangeLocaleFR;
461 }
462
463 public JMenuItem getMenuChangeLocaleUK() {
464 return menuChangeLocaleUK;
465 }
466
467 public JMenuItem getMenuEditSampleCategoryModel() {
468 return menuEditSampleCategoryModel;
469 }
470
471 public JMenu getMenuFile() {
472 return menuFile;
473 }
474
475 public JMenuItem getMenuFileConfiguration() {
476 return menuFileConfiguration;
477 }
478
479 public JMenuItem getMenuFileConnectCaliper() {
480 return menuFileConnectCaliper;
481 }
482
483 public JMenuItem getMenuFileConnectIchtyometer() {
484 return menuFileConnectIchtyometer;
485 }
486
487 public JMenuItem getMenuFileDisconnectCaliper() {
488 return menuFileDisconnectCaliper;
489 }
490
491 public JMenuItem getMenuFileDisconnectIchtyometer() {
492 return menuFileDisconnectIchtyometer;
493 }
494
495 public JMenuItem getMenuFileExit() {
496 return menuFileExit;
497 }
498
499 public JMenuItem getMenuFileManageDb() {
500 return menuFileManageDb;
501 }
502
503 public JMenuItem getMenuFileUpdateApplication() {
504 return menuFileUpdateApplication;
505 }
506
507 public JMenuItem getMenuFileUpdateReport() {
508 return menuFileUpdateReport;
509 }
510
511 public JMenu getMenuHelp() {
512 return menuHelp;
513 }
514
515 public JMenuItem getMenuHelpAbout() {
516 return menuHelpAbout;
517 }
518
519 public JMenuItem getMenuHelpSite() {
520 return menuHelpSite;
521 }
522
523 public JMenuItem getMenuImportTemporaryReferential() {
524 return menuImportTemporaryReferential;
525 }
526
527 public JMenuItem getMenuShowHelp() {
528 return menuShowHelp;
529 }
530
531 public TuttiUIContext getModel() {
532 return model;
533 }
534
535 public JButton getShowHelp() {
536 return showHelp;
537 }
538
539 public StatusMessagePanel getStatus() {
540 return status;
541 }
542
543 public SwingValidatorMessageWidget getValidatorMessageWidget() {
544 return validatorMessageWidget;
545 }
546
547
548
549
550
551 @Override
552 public void registerHelpId(TuttiHelpBroker broker, Component component, String helpId) {
553 broker.installUI(component, helpId);
554 }
555
556 @Override
557 public void showHelp(String helpId) {
558 getBroker().showHelp(this, helpId);
559 }
560
561
562
563
564
565 protected JSeparator get$JSeparator0() {
566 return $JSeparator0;
567 }
568
569 protected JSeparator get$JSeparator1() {
570 return $JSeparator1;
571 }
572
573 protected JSeparator get$JSeparator2() {
574 return $JSeparator2;
575 }
576
577 protected JSeparator get$JSeparator3() {
578 return $JSeparator3;
579 }
580
581
582
583
584
585 protected void addChildrenToBottomBar() {
586 if (!allComponentsCreated) {
587 return;
588 }
589 bottomBar.add(ichtyometerStatus);
590 bottomBar.add(caliperStatus);
591 bottomBar.add(validatorMessageWidget);
592 }
593
594 protected void addChildrenToMainFrame() {
595 if (!allComponentsCreated) {
596 return;
597 }
598 add(bottomBar);
599 add(showHelp);
600 add(SwingUtil.boxComponentWithJxLayer(body), BorderLayout.CENTER);
601 add(status, BorderLayout.SOUTH);
602 mainFrame.setJMenuBar(menu);
603 }
604
605 protected void addChildrenToMenu() {
606 if (!allComponentsCreated) {
607 return;
608 }
609 menu.add(menuFile);
610 menu.add(menuActions);
611 menu.add(menuAdministration);
612 menu.add(menuHelp);
613 }
614
615 protected void addChildrenToMenuActions() {
616 if (!allComponentsCreated) {
617 return;
618 }
619 menuActions.add(menuActionSelectCruise);
620 menuActions.add(menuActionEditProgram);
621 menuActions.add(menuActionEditCruise);
622 menuActions.add(menuActionEditProtocol);
623 menuActions.add(menuActionEditCatches);
624 menuActions.add(menuActionValidateCatches);
625 menuActions.add(menuActionGenerateCruiseReport);
626 menuActions.add($JSeparator3);
627 menuActions.add(menuActionGenericFormatExport);
628 menuActions.add(menuActionGenericFormatImport);
629 }
630
631 protected void addChildrenToMenuAdministration() {
632 if (!allComponentsCreated) {
633 return;
634 }
635 menuAdministration.add(menuImportTemporaryReferential);
636 menuAdministration.add(menuEditSampleCategoryModel);
637 }
638
639 protected void addChildrenToMenuChangeLocale() {
640 if (!allComponentsCreated) {
641 return;
642 }
643 menuChangeLocale.add(menuChangeLocaleUK);
644 menuChangeLocale.add(menuChangeLocaleFR);
645 }
646
647 protected void addChildrenToMenuFile() {
648 if (!allComponentsCreated) {
649 return;
650 }
651 menuFile.add(menuFileConfiguration);
652 menuFile.add(menuFileUpdateApplication);
653 menuFile.add(menuFileUpdateReport);
654 menuFile.add($JSeparator0);
655 menuFile.add(menuFileConnectIchtyometer);
656 menuFile.add(menuFileDisconnectIchtyometer);
657 menuFile.add(menuFileConnectCaliper);
658 menuFile.add(menuFileDisconnectCaliper);
659 menuFile.add($JSeparator1);
660 menuFile.add(menuFileManageDb);
661 menuFile.add($JSeparator2);
662 menuFile.add(menuFileExit);
663 }
664
665 protected void addChildrenToMenuHelp() {
666 if (!allComponentsCreated) {
667 return;
668 }
669 menuHelp.add(menuShowHelp);
670 menuHelp.add(menuHelpSite);
671 menuHelp.add(menuHelpAbout);
672 menuHelp.add(menuChangeLocale);
673 }
674
675 protected void createBody() {
676 $objectMap.put("body", body = new JXTitledPanel());
677
678 body.setName("body");
679 body.putClientProperty("help", "tutti.main.help");
680 }
681
682 protected void createBottomBar() {
683 $objectMap.put("bottomBar", bottomBar = new JToolBar());
684
685 bottomBar.setName("bottomBar");
686 bottomBar.setBorderPainted(false);
687 bottomBar.setFloatable(false);
688 }
689
690 protected void createBroker() {
691 $objectMap.put("broker", broker = new TuttiHelpBroker("tutti.main.help"));
692 }
693
694 protected void createBusyBlockLayerUI() {
695 $objectMap.put("busyBlockLayerUI", busyBlockLayerUI = new BlockingLayerUI());
696
697 busyBlockLayerUI.setUseIcon(false);
698 }
699
700 protected void createCaliperStatus() {
701 $objectMap.put("caliperStatus", caliperStatus = new JLabel());
702
703 caliperStatus.setName("caliperStatus");
704 caliperStatus.putClientProperty("help", "tutti.main.status.caliper.help");
705 }
706
707 protected MainUIHandler createHandler() {
708 return new MainUIHandler();
709 }
710
711 protected void createIchtyometerStatus() {
712 $objectMap.put("ichtyometerStatus", ichtyometerStatus = new JLabel());
713
714 ichtyometerStatus.setName("ichtyometerStatus");
715 ichtyometerStatus.putClientProperty("help", "tutti.main.status.ichtyometer.help");
716 }
717
718 protected void createMenu() {
719 $objectMap.put("menu", menu = new JMenuBar());
720
721 menu.setName("menu");
722 }
723
724 protected void createMenuActionEditCatches() {
725 $objectMap.put("menuActionEditCatches", menuActionEditCatches = new JMenuItem());
726
727 menuActionEditCatches.setName("menuActionEditCatches");
728 menuActionEditCatches.setText(t("tutti.main.action.editCatches"));
729 menuActionEditCatches.setToolTipText(t("tutti.main.action.editCatches.tip"));
730 menuActionEditCatches.putClientProperty("help", "tutti.main.menu.action.editCatches.help");
731 menuActionEditCatches.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.EditCatchesForSelectedCruiseAction.class);
732 }
733
734 protected void createMenuActionEditCruise() {
735 $objectMap.put("menuActionEditCruise", menuActionEditCruise = new JMenuItem());
736
737 menuActionEditCruise.setName("menuActionEditCruise");
738 menuActionEditCruise.setText(t("tutti.main.action.editSelectedCruise"));
739 menuActionEditCruise.setToolTipText(t("tutti.main.action.editSelectedCruise.tip"));
740 menuActionEditCruise.putClientProperty("help", "tutti.main.menu.action.editCruise.help");
741 menuActionEditCruise.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.EditSelectedCruiseAction.class);
742 }
743
744 protected void createMenuActionEditProgram() {
745 $objectMap.put("menuActionEditProgram", menuActionEditProgram = new JMenuItem());
746
747 menuActionEditProgram.setName("menuActionEditProgram");
748 menuActionEditProgram.setText(t("tutti.main.action.editSelectedProgram"));
749 menuActionEditProgram.setToolTipText(t("tutti.main.action.editProgram.tip"));
750 menuActionEditProgram.putClientProperty("help", "tutti.main.menu.action.editProgram.help");
751 menuActionEditProgram.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.EditSelectedProgramAction.class);
752 }
753
754 protected void createMenuActionEditProtocol() {
755 $objectMap.put("menuActionEditProtocol", menuActionEditProtocol = new JMenuItem());
756
757 menuActionEditProtocol.setName("menuActionEditProtocol");
758 menuActionEditProtocol.setText(t("tutti.main.action.editSelectedProtocol"));
759 menuActionEditProtocol.setToolTipText(t("tutti.main.action.editSelectedProtocol.tip"));
760 menuActionEditProtocol.putClientProperty("help", "tutti.main.menu.action.editProtocol.help");
761 menuActionEditProtocol.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.EditSelectedProtocolAction.class);
762 }
763
764 protected void createMenuActionGenerateCruiseReport() {
765 $objectMap.put("menuActionGenerateCruiseReport", menuActionGenerateCruiseReport = new JMenuItem());
766
767 menuActionGenerateCruiseReport.setName("menuActionGenerateCruiseReport");
768 menuActionGenerateCruiseReport.setText(t("tutti.main.action.generateSelectedCruiseReport"));
769 menuActionGenerateCruiseReport.setToolTipText(t("tutti.main.action.generateSelectedCruiseReport.tip"));
770 menuActionGenerateCruiseReport.putClientProperty("help", "tutti.main.menu.action.generateSelectedCruiseReport.help");
771 menuActionGenerateCruiseReport.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenReportScreenAction.class);
772 }
773
774 protected void createMenuActionGenericFormatExport() {
775 $objectMap.put("menuActionGenericFormatExport", menuActionGenericFormatExport = new JMenuItem());
776
777 menuActionGenericFormatExport.setName("menuActionGenericFormatExport");
778 menuActionGenericFormatExport.setText(t("tutti.main.action.genericFormatExport"));
779 menuActionGenericFormatExport.setToolTipText(t("tutti.main.action.genericFormatExport.tip"));
780 menuActionGenericFormatExport.putClientProperty("help", "tutti.main.menu.action.genericFormatExport.help");
781 menuActionGenericFormatExport.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenGenericFormatExportScreen.class);
782 }
783
784 protected void createMenuActionGenericFormatImport() {
785 $objectMap.put("menuActionGenericFormatImport", menuActionGenericFormatImport = new JMenuItem());
786
787 menuActionGenericFormatImport.setName("menuActionGenericFormatImport");
788 menuActionGenericFormatImport.setText(t("tutti.main.action.genericFormatImport"));
789 menuActionGenericFormatImport.setToolTipText(t("tutti.main.action.genericFormatImport.tip"));
790 menuActionGenericFormatImport.putClientProperty("help", "tutti.main.menu.action.genericFormatImport.help");
791 menuActionGenericFormatImport.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenGenericFormatImportScreen.class);
792 }
793
794 protected void createMenuActionSelectCruise() {
795 $objectMap.put("menuActionSelectCruise", menuActionSelectCruise = new JMenuItem());
796
797 menuActionSelectCruise.setName("menuActionSelectCruise");
798 menuActionSelectCruise.setText(t("tutti.main.action.selectCruise"));
799 menuActionSelectCruise.setToolTipText(t("tutti.main.action.selectCruise.tip"));
800 menuActionSelectCruise.putClientProperty("help", "tutti.main.menu.action.selectCruise.help");
801 menuActionSelectCruise.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenHomeScreenAction.class);
802 }
803
804 protected void createMenuActionValidateCatches() {
805 $objectMap.put("menuActionValidateCatches", menuActionValidateCatches = new JMenuItem());
806
807 menuActionValidateCatches.setName("menuActionValidateCatches");
808 menuActionValidateCatches.setText(t("tutti.main.action.validateCatches"));
809 menuActionValidateCatches.setToolTipText(t("tutti.main.action.validateCatches.tip"));
810 menuActionValidateCatches.putClientProperty("help", "tutti.main.menu.action.validateCatches.help");
811 menuActionValidateCatches.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ValidateSelectedCruiseAction.class);
812 }
813
814 protected void createMenuActions() {
815 $objectMap.put("menuActions", menuActions = new JMenu());
816
817 menuActions.setName("menuActions");
818 menuActions.setText(t("tutti.main.menu.actions"));
819 menuActions.setToolTipText(t("tutti.main.menu.actions.tip"));
820 menuActions.putClientProperty("skipAction", true);
821 }
822
823 protected void createMenuAdministration() {
824 $objectMap.put("menuAdministration", menuAdministration = new JMenu());
825
826 menuAdministration.setName("menuAdministration");
827 menuAdministration.setText(t("tutti.main.menu.administration"));
828 menuAdministration.setToolTipText(t("tutti.main.menu.administration.tip"));
829 menuAdministration.putClientProperty("skipAction", true);
830 }
831
832 protected void createMenuChangeLocale() {
833 $objectMap.put("menuChangeLocale", menuChangeLocale = new JMenu());
834
835 menuChangeLocale.setName("menuChangeLocale");
836 menuChangeLocale.setText(t("tutti.main.menu.changeLocale"));
837 menuChangeLocale.setToolTipText(t("tutti.main.action.changeLocale.tip"));
838 menuChangeLocale.putClientProperty("help", "tutti.main.menu.action.changeLocale.help");
839 menuChangeLocale.putClientProperty("skipAction", true);
840 }
841
842 protected void createMenuChangeLocaleFR() {
843 $objectMap.put("menuChangeLocaleFR", menuChangeLocaleFR = new JMenuItem());
844
845 menuChangeLocaleFR.setName("menuChangeLocaleFR");
846 menuChangeLocaleFR.setText(t("tutti.main.action.changeLocaleFR"));
847 menuChangeLocaleFR.setToolTipText(t("tutti.main.action.changeLocaleFR.tip"));
848 menuChangeLocaleFR.putClientProperty("help", "tutti.main.menu.action.changeLocaleFR.help");
849 menuChangeLocaleFR.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ChangeToLocaleFRAction.class);
850 }
851
852 protected void createMenuChangeLocaleUK() {
853 $objectMap.put("menuChangeLocaleUK", menuChangeLocaleUK = new JMenuItem());
854
855 menuChangeLocaleUK.setName("menuChangeLocaleUK");
856 menuChangeLocaleUK.setText(t("tutti.main.action.changeLocaleUK"));
857 menuChangeLocaleUK.setToolTipText(t("tutti.main.action.changeLocaleUK.tip"));
858 menuChangeLocaleUK.putClientProperty("help", "tutti.main.menu.action.changeLocaleUK.help");
859 menuChangeLocaleUK.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ChangeToLocaleUKAction.class);
860 }
861
862 protected void createMenuEditSampleCategoryModel() {
863 $objectMap.put("menuEditSampleCategoryModel", menuEditSampleCategoryModel = new JMenuItem());
864
865 menuEditSampleCategoryModel.setName("menuEditSampleCategoryModel");
866 menuEditSampleCategoryModel.setText(t("tutti.main.action.editSampleCategoryModel"));
867 menuEditSampleCategoryModel.setToolTipText(t("tutti.main.action.editSampleCategoryModel.tip"));
868 menuEditSampleCategoryModel.putClientProperty("help", "tutti.main.menu.action.editSampleCategoryModel.help");
869 menuEditSampleCategoryModel.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenSampleCategoryModelScreenAction.class);
870 }
871
872 protected void createMenuFile() {
873 $objectMap.put("menuFile", menuFile = new JMenu());
874
875 menuFile.setName("menuFile");
876 menuFile.setText(t("tutti.main.menu.file"));
877 menuFile.setToolTipText(t("tutti.main.menu.file.tip"));
878 menuFile.putClientProperty("skipAction", true);
879 }
880
881 protected void createMenuFileConfiguration() {
882 $objectMap.put("menuFileConfiguration", menuFileConfiguration = new JMenuItem());
883
884 menuFileConfiguration.setName("menuFileConfiguration");
885 menuFileConfiguration.setText(t("tutti.main.action.configuration"));
886 menuFileConfiguration.setToolTipText(t("tutti.main.action.configuration.tip"));
887 menuFileConfiguration.putClientProperty("help", "tutti.main.menu.action.configuration.help");
888 menuFileConfiguration.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ShowConfigAction.class);
889 }
890
891 protected void createMenuFileConnectCaliper() {
892 $objectMap.put("menuFileConnectCaliper", menuFileConnectCaliper = new JMenuItem());
893
894 menuFileConnectCaliper.setName("menuFileConnectCaliper");
895 menuFileConnectCaliper.setText(t("tutti.main.action.connectCaliper"));
896 menuFileConnectCaliper.setToolTipText(t("tutti.main.action.connectCaliper.tip"));
897 menuFileConnectCaliper.putClientProperty("help", "tutti.main.menu.action.connectCaliper.help");
898 menuFileConnectCaliper.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ConnectCaliperAction.class);
899 }
900
901 protected void createMenuFileConnectIchtyometer() {
902 $objectMap.put("menuFileConnectIchtyometer", menuFileConnectIchtyometer = new JMenuItem());
903
904 menuFileConnectIchtyometer.setName("menuFileConnectIchtyometer");
905 menuFileConnectIchtyometer.setText(t("tutti.main.action.connectIchtyometer"));
906 menuFileConnectIchtyometer.setToolTipText(t("tutti.main.action.connectIchtyometer.tip"));
907 menuFileConnectIchtyometer.putClientProperty("help", "tutti.main.menu.action.connectIchtyometer.help");
908 menuFileConnectIchtyometer.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ConnectIchtyometerAction.class);
909 }
910
911 protected void createMenuFileDisconnectCaliper() {
912 $objectMap.put("menuFileDisconnectCaliper", menuFileDisconnectCaliper = new JMenuItem());
913
914 menuFileDisconnectCaliper.setName("menuFileDisconnectCaliper");
915 menuFileDisconnectCaliper.setText(t("tutti.main.action.disconnectCaliper"));
916 menuFileDisconnectCaliper.setToolTipText(t("tutti.main.action.disconnectCaliper.tip"));
917 menuFileDisconnectCaliper.putClientProperty("help", "tutti.main.menu.action.disconnectCaliper.help");
918 menuFileDisconnectCaliper.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.DisconnectCaliperAction.class);
919 }
920
921 protected void createMenuFileDisconnectIchtyometer() {
922 $objectMap.put("menuFileDisconnectIchtyometer", menuFileDisconnectIchtyometer = new JMenuItem());
923
924 menuFileDisconnectIchtyometer.setName("menuFileDisconnectIchtyometer");
925 menuFileDisconnectIchtyometer.setText(t("tutti.main.action.disconnectIchtyometer"));
926 menuFileDisconnectIchtyometer.setToolTipText(t("tutti.main.action.disconnectIchtyometer.tip"));
927 menuFileDisconnectIchtyometer.putClientProperty("help", "tutti.main.menu.action.disconnectIchtyometer.help");
928 menuFileDisconnectIchtyometer.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.DisconnectIchtyometerAction.class);
929 }
930
931 protected void createMenuFileExit() {
932 $objectMap.put("menuFileExit", menuFileExit = new JMenuItem());
933
934 menuFileExit.setName("menuFileExit");
935 menuFileExit.setText(t("tutti.main.action.exit"));
936 menuFileExit.setToolTipText(t("tutti.main.action.exit.tip"));
937 menuFileExit.putClientProperty("help", "tutti.main.menu.action.exit.help");
938 menuFileExit.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.CloseApplicationAction.class);
939 }
940
941 protected void createMenuFileManageDb() {
942 $objectMap.put("menuFileManageDb", menuFileManageDb = new JMenuItem());
943
944 menuFileManageDb.setName("menuFileManageDb");
945 menuFileManageDb.setText(t("tutti.main.action.manageDb"));
946 menuFileManageDb.setToolTipText(t("tutti.main.action.manageDb.tip"));
947 menuFileManageDb.putClientProperty("help", "tutti.main.menu.action.manageDb.help");
948 menuFileManageDb.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenDbScreenAction.class);
949 }
950
951 protected void createMenuFileUpdateApplication() {
952 $objectMap.put("menuFileUpdateApplication", menuFileUpdateApplication = new JMenuItem());
953
954 menuFileUpdateApplication.setName("menuFileUpdateApplication");
955 menuFileUpdateApplication.setText(t("tutti.main.action.updateApplication"));
956 menuFileUpdateApplication.setToolTipText(t("tutti.main.action.updateApplication.tip"));
957 menuFileUpdateApplication.putClientProperty("help", "tutti.main.menu.action.updateApplication.help");
958 menuFileUpdateApplication.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.update.actions.UpdateApplicationAction.class);
959 }
960
961 protected void createMenuFileUpdateReport() {
962 $objectMap.put("menuFileUpdateReport", menuFileUpdateReport = new JMenuItem());
963
964 menuFileUpdateReport.setName("menuFileUpdateReport");
965 menuFileUpdateReport.setText(t("tutti.main.action.updateReport"));
966 menuFileUpdateReport.setToolTipText(t("tutti.main.action.updateReport.tip"));
967 menuFileUpdateReport.putClientProperty("help", "tutti.main.menu.action.updateReport.help");
968 menuFileUpdateReport.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.update.actions.UpdateReportAction.class);
969 }
970
971 protected void createMenuHelp() {
972 $objectMap.put("menuHelp", menuHelp = new JMenu());
973
974 menuHelp.setName("menuHelp");
975 menuHelp.setText(t("tutti.main.menu.help"));
976 menuHelp.setToolTipText(t("tutti.main.menu.help.tip"));
977 menuHelp.putClientProperty("skipAction", true);
978 }
979
980 protected void createMenuHelpAbout() {
981 $objectMap.put("menuHelpAbout", menuHelpAbout = new JMenuItem());
982
983 menuHelpAbout.setName("menuHelpAbout");
984 menuHelpAbout.setText(t("tutti.main.action.about"));
985 menuHelpAbout.setToolTipText(t("tutti.main.action.about.tip"));
986 menuHelpAbout.putClientProperty("help", "tutti.main.menu.action.about.help");
987 menuHelpAbout.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.ShowAboutAction.class);
988 }
989
990 protected void createMenuHelpSite() {
991 $objectMap.put("menuHelpSite", menuHelpSite = new JMenuItem());
992
993 menuHelpSite.setName("menuHelpSite");
994 menuHelpSite.setText(t("tutti.main.action.site"));
995 menuHelpSite.setToolTipText(t("tutti.main.action.site.tip"));
996 menuHelpSite.putClientProperty("help", "tutti.main.menu.action.site.help");
997 menuHelpSite.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.actions.GotoSiteAction.class);
998 }
999
1000 protected void createMenuImportTemporaryReferential() {
1001 $objectMap.put("menuImportTemporaryReferential", menuImportTemporaryReferential = new JMenuItem());
1002
1003 menuImportTemporaryReferential.setName("menuImportTemporaryReferential");
1004 menuImportTemporaryReferential.setText(t("tutti.main.action.importTemporaryReferential"));
1005 menuImportTemporaryReferential.setToolTipText(t("tutti.main.action.importTemporaryReferential.tip"));
1006 menuImportTemporaryReferential.putClientProperty("help", "tutti.main.menu.action.importTemporaryReferential.help");
1007 menuImportTemporaryReferential.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.actions.OpenTemporaryReferentialScreenAction.class);
1008 }
1009
1010 protected void createMenuShowHelp() {
1011 $objectMap.put("menuShowHelp", menuShowHelp = new JMenuItem());
1012
1013 menuShowHelp.setName("menuShowHelp");
1014 menuShowHelp.setText(t("tutti.main.action.showHelp"));
1015 menuShowHelp.setToolTipText(t("tutti.main.action.showHelp.tip"));
1016 menuShowHelp.putClientProperty("help", "tutti.index.help");
1017 menuShowHelp.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.actions.ShowHelpAction.class);
1018 }
1019
1020 protected void createModel() {
1021 $objectMap.put("model", model = getContextValue(TuttiUIContext.class));
1022 }
1023
1024 protected void createShowHelp() {
1025 $objectMap.put("showHelp", showHelp = new JButton());
1026
1027 showHelp.setName("showHelp");
1028 showHelp.setFocusable(false);
1029 showHelp.setToolTipText(t("tutti.main.action.showHelp.tip"));
1030 showHelp.putClientProperty("help", "tutti.main.menu.action.showHelp.help");
1031 showHelp.putClientProperty("skipAction", true);
1032 }
1033
1034 protected void createStatus() {
1035 $objectMap.put("status", status = new StatusMessagePanel());
1036
1037 status.setName("status");
1038 }
1039
1040 protected void createValidatorMessageWidget() {
1041 $objectMap.put("validatorMessageWidget", validatorMessageWidget = new SwingValidatorMessageWidget());
1042
1043 validatorMessageWidget.setName("validatorMessageWidget");
1044 validatorMessageWidget.setFocusPainted(false);
1045 validatorMessageWidget.putClientProperty("help", "tutti.main.status.validation.help");
1046 validatorMessageWidget.putClientProperty("skipAction", true);
1047 }
1048
1049
1050
1051
1052
1053 private void $completeSetup() {
1054 allComponentsCreated = true;
1055 if (log.isDebugEnabled()) {
1056 log.debug(this);
1057 }
1058 addChildrenToMainFrame();
1059 addChildrenToMenu();
1060 addChildrenToMenuFile();
1061 addChildrenToMenuActions();
1062 addChildrenToMenuAdministration();
1063 addChildrenToMenuHelp();
1064 addChildrenToMenuChangeLocale();
1065 addChildrenToBottomBar();
1066
1067
1068 JAXXUtil.applyDataBinding(this, $bindings.keySet());
1069
1070
1071 setIconImage(SwingUtil.createImageIcon("allegro_32.png").getImage());
1072 setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
1073 menuFile.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.menu.file.mnemonic"),'Z'));
1074 menuFileConfiguration.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.configuration.mnemonic"),'Z'));
1075 menuFileConfiguration.setIcon(SwingUtil.createActionIcon("config"));
1076 menuFileUpdateApplication.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.updateApplication.mnemonic"),'Z'));
1077 menuFileUpdateApplication.setIcon(SwingUtil.createActionIcon("update-application"));
1078 menuFileUpdateReport.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.updateReport.mnemonic"),'Z'));
1079 menuFileUpdateReport.setIcon(SwingUtil.createActionIcon("update-report"));
1080 menuFileConnectIchtyometer.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.connectIchtyometer.mnemonic"),'Z'));
1081 menuFileConnectIchtyometer.setIcon(SwingUtil.createActionIcon("bluetooth-down"));
1082 menuFileDisconnectIchtyometer.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.disconnectIchtyometer.mnemonic"),'Z'));
1083 menuFileDisconnectIchtyometer.setIcon(SwingUtil.createActionIcon("bluetooth-up"));
1084 menuFileConnectCaliper.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.connectCaliper.mnemonic"),'Z'));
1085 menuFileConnectCaliper.setIcon(SwingUtil.createActionIcon("caliper-down"));
1086 menuFileDisconnectCaliper.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.disconnectCaliper.mnemonic"),'Z'));
1087 menuFileDisconnectCaliper.setIcon(SwingUtil.createActionIcon("caliper-up"));
1088 menuFileManageDb.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.manageDb.mnemonic"),'Z'));
1089 menuFileManageDb.setIcon(SwingUtil.createActionIcon("manage-db"));
1090 menuFileExit.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.exit.mnemonic"),'Z'));
1091 menuFileExit.setIcon(SwingUtil.createActionIcon("exit"));
1092 menuActions.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.menu.actions.mnemonic"),'Z'));
1093 menuActionSelectCruise.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.selectCruise.mnemonic"),'Z'));
1094 menuActionSelectCruise.setIcon(SwingUtil.createActionIcon("home"));
1095 menuActionEditProgram.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.editSelectedProgram.mnemonic"),'Z'));
1096 menuActionEditProgram.setIcon(SwingUtil.createActionIcon("program"));
1097 menuActionEditCruise.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.editSelectedCruise.mnemonic"),'Z'));
1098 menuActionEditCruise.setIcon(SwingUtil.createActionIcon("cruise"));
1099 menuActionEditProtocol.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.editSelectedProtocol.mnemonic"),'Z'));
1100 menuActionEditProtocol.setIcon(SwingUtil.createActionIcon("protocol"));
1101 menuActionEditCatches.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.editCatches.mnemonic"),'Z'));
1102 menuActionEditCatches.setIcon(SwingUtil.createActionIcon("edit"));
1103 menuActionValidateCatches.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.validateCatches.mnemonic"),'Z'));
1104 menuActionValidateCatches.setIcon(SwingUtil.createActionIcon("validate"));
1105 menuActionGenerateCruiseReport.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.generateSelectedCruiseReport.mnemonic"),'Z'));
1106 menuActionGenerateCruiseReport.setIcon(SwingUtil.createActionIcon("report"));
1107 menuActionGenericFormatExport.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.genericFormatExport.mnemonic"),'Z'));
1108 menuActionGenericFormatExport.setIcon(SwingUtil.createActionIcon("export"));
1109 menuActionGenericFormatImport.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.genericFormatImport.mnemonic"),'Z'));
1110 menuActionGenericFormatImport.setIcon(SwingUtil.createActionIcon("import"));
1111 menuAdministration.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.menu.administration.mnemonic"),'Z'));
1112 menuImportTemporaryReferential.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.importTemporaryReferential.mnemonic"),'Z'));
1113 menuImportTemporaryReferential.setIcon(SwingUtil.createActionIcon("temporary-referential-import"));
1114 menuEditSampleCategoryModel.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.editSampleCategoryModel.mnemonic"),'Z'));
1115 menuEditSampleCategoryModel.setIcon(SwingUtil.createActionIcon("sampleOrder"));
1116 menuHelp.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.menu.help.mnemonic"),'Z'));
1117 menuShowHelp.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.showHelp.mnemonic"),'Z'));
1118 menuShowHelp.setIcon(SwingUtil.createActionIcon("help"));
1119 menuHelpSite.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.site.mnemonic"),'Z'));
1120 menuHelpSite.setIcon(SwingUtil.createActionIcon("site"));
1121 menuHelpAbout.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.about.mnemonic"),'Z'));
1122 menuHelpAbout.setIcon(SwingUtil.createActionIcon("about"));
1123 menuChangeLocale.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.changeLocale.mnemonic"),'Z'));
1124 menuChangeLocale.setIcon(SwingUtil.createActionIcon("translate"));
1125 menuChangeLocaleUK.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.changeLocaleUK.mnemonic"),'Z'));
1126 menuChangeLocaleUK.setIcon(SwingUtil.createActionIcon("i18n-uk"));
1127 menuChangeLocaleFR.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.main.action.changeLocaleFR.mnemonic"),'Z'));
1128 menuChangeLocaleFR.setIcon(SwingUtil.createActionIcon("i18n-fr"));
1129 bottomBar.setMargin(new java.awt.Insets(0, 0, 0, 5));
1130 ichtyometerStatus.setIcon(SwingUtil.createActionIcon("bluetooth-up"));
1131 ichtyometerStatus.setDisabledIcon(jaxx.runtime.SwingUtil.createActionIcon("bluetooth-down"));
1132 caliperStatus.setIcon(SwingUtil.createActionIcon("caliper-up"));
1133 caliperStatus.setDisabledIcon(jaxx.runtime.SwingUtil.createActionIcon("caliper-down"));
1134 showHelp.setIcon(SwingUtil.createActionIcon("show-help"));
1135
1136
1137 TuttiHelpBroker _broker = getBroker();
1138 registerHelpId(_broker, menuFileConfiguration, "tutti.main.menu.action.configuration.help");
1139 registerHelpId(_broker, menuFileUpdateApplication, "tutti.main.menu.action.updateApplication.help");
1140 registerHelpId(_broker, menuFileUpdateReport, "tutti.main.menu.action.updateReport.help");
1141 registerHelpId(_broker, menuFileConnectIchtyometer, "tutti.main.menu.action.connectIchtyometer.help");
1142 registerHelpId(_broker, menuFileDisconnectIchtyometer, "tutti.main.menu.action.disconnectIchtyometer.help");
1143 registerHelpId(_broker, menuFileConnectCaliper, "tutti.main.menu.action.connectCaliper.help");
1144 registerHelpId(_broker, menuFileDisconnectCaliper, "tutti.main.menu.action.disconnectCaliper.help");
1145 registerHelpId(_broker, menuFileManageDb, "tutti.main.menu.action.manageDb.help");
1146 registerHelpId(_broker, menuFileExit, "tutti.main.menu.action.exit.help");
1147 registerHelpId(_broker, menuActionSelectCruise, "tutti.main.menu.action.selectCruise.help");
1148 registerHelpId(_broker, menuActionEditProgram, "tutti.main.menu.action.editProgram.help");
1149 registerHelpId(_broker, menuActionEditCruise, "tutti.main.menu.action.editCruise.help");
1150 registerHelpId(_broker, menuActionEditProtocol, "tutti.main.menu.action.editProtocol.help");
1151 registerHelpId(_broker, menuActionEditCatches, "tutti.main.menu.action.editCatches.help");
1152 registerHelpId(_broker, menuActionValidateCatches, "tutti.main.menu.action.validateCatches.help");
1153 registerHelpId(_broker, menuActionGenerateCruiseReport, "tutti.main.menu.action.generateSelectedCruiseReport.help");
1154 registerHelpId(_broker, menuActionGenericFormatExport, "tutti.main.menu.action.genericFormatExport.help");
1155 registerHelpId(_broker, menuActionGenericFormatImport, "tutti.main.menu.action.genericFormatImport.help");
1156 registerHelpId(_broker, menuImportTemporaryReferential, "tutti.main.menu.action.importTemporaryReferential.help");
1157 registerHelpId(_broker, menuEditSampleCategoryModel, "tutti.main.menu.action.editSampleCategoryModel.help");
1158 registerHelpId(_broker, menuShowHelp, "tutti.index.help");
1159 registerHelpId(_broker, menuHelpSite, "tutti.main.menu.action.site.help");
1160 registerHelpId(_broker, menuHelpAbout, "tutti.main.menu.action.about.help");
1161 registerHelpId(_broker, menuChangeLocale, "tutti.main.menu.action.changeLocale.help");
1162 registerHelpId(_broker, menuChangeLocaleUK, "tutti.main.menu.action.changeLocaleUK.help");
1163 registerHelpId(_broker, menuChangeLocaleFR, "tutti.main.menu.action.changeLocaleFR.help");
1164 registerHelpId(_broker, ichtyometerStatus, "tutti.main.status.ichtyometer.help");
1165 registerHelpId(_broker, caliperStatus, "tutti.main.status.caliper.help");
1166 registerHelpId(_broker, validatorMessageWidget, "tutti.main.status.validation.help");
1167 registerHelpId(_broker, showHelp, "tutti.main.menu.action.showHelp.help");
1168 registerHelpId(_broker, body, "tutti.main.help");
1169 _broker.prepareUI(this);
1170 }
1171
1172 private void $initialize() {
1173 if (allComponentsCreated) {
1174 return;
1175 }
1176 if (log.isDebugEnabled()) {
1177 log.debug(this);
1178 }
1179 handler.beforeInit(this);
1180 $objectMap.put("mainFrame", mainFrame);
1181 createModel();
1182 createBroker();
1183 createBusyBlockLayerUI();
1184 createMenu();
1185 createMenuFile();
1186 createMenuFileConfiguration();
1187 createMenuFileUpdateApplication();
1188 createMenuFileUpdateReport();
1189
1190 $objectMap.put("$JSeparator0", $JSeparator0 = new JSeparator());
1191
1192 $JSeparator0.setName("$JSeparator0");
1193 createMenuFileConnectIchtyometer();
1194 createMenuFileDisconnectIchtyometer();
1195 createMenuFileConnectCaliper();
1196 createMenuFileDisconnectCaliper();
1197
1198 $objectMap.put("$JSeparator1", $JSeparator1 = new JSeparator());
1199
1200 $JSeparator1.setName("$JSeparator1");
1201 createMenuFileManageDb();
1202
1203 $objectMap.put("$JSeparator2", $JSeparator2 = new JSeparator());
1204
1205 $JSeparator2.setName("$JSeparator2");
1206 createMenuFileExit();
1207 createMenuActions();
1208 createMenuActionSelectCruise();
1209 createMenuActionEditProgram();
1210 createMenuActionEditCruise();
1211 createMenuActionEditProtocol();
1212 createMenuActionEditCatches();
1213 createMenuActionValidateCatches();
1214 createMenuActionGenerateCruiseReport();
1215
1216 $objectMap.put("$JSeparator3", $JSeparator3 = new JSeparator());
1217
1218 $JSeparator3.setName("$JSeparator3");
1219 createMenuActionGenericFormatExport();
1220 createMenuActionGenericFormatImport();
1221 createMenuAdministration();
1222 createMenuImportTemporaryReferential();
1223 createMenuEditSampleCategoryModel();
1224 createMenuHelp();
1225 createMenuShowHelp();
1226 createMenuHelpSite();
1227 createMenuHelpAbout();
1228 createMenuChangeLocale();
1229 createMenuChangeLocaleUK();
1230 createMenuChangeLocaleFR();
1231 createBottomBar();
1232 createIchtyometerStatus();
1233 createCaliperStatus();
1234 createValidatorMessageWidget();
1235 createShowHelp();
1236 createBody();
1237 createStatus();
1238
1239 setName("mainFrame");
1240 SwingUtil.setComponentHeight(mainFrame,600);
1241 SwingUtil.setComponentWidth(mainFrame,800);
1242 setTitle(t("tutti.main.title.applicationName"));
1243 mainFrame.addWindowListener(JAXXUtil.getEventListener(WindowListener.class, "windowClosing", this, "doWindowClosing__on__mainFrame"));
1244
1245
1246 $registerDefaultBindings();
1247 $completeSetup();
1248 handler.afterInit(this);
1249 }
1250
1251 private void $registerDefaultBindings() {
1252
1253 registerDataBinding(new DefaultJAXXBinding(this, BINDING_BUSY_BLOCK_LAYER_UI_BLOCK, true) {
1254
1255 @Override
1256 public void applyDataBinding() {
1257 if (model != null) {
1258 model.addPropertyChangeListener("busy", this);
1259 }
1260 }
1261
1262 @Override
1263 public void processDataBinding() {
1264 if (model != null) {
1265 busyBlockLayerUI.setBlock(model.isBusy());
1266 }
1267 }
1268
1269 @Override
1270 public void removeDataBinding() {
1271 if (model != null) {
1272 model.removePropertyChangeListener("busy", this);
1273 }
1274 }
1275 });
1276 registerDataBinding(new DefaultJAXXBinding(this, BINDING_BUSY_BLOCK_LAYER_UI_BLOCKING_COLOR, true) {
1277
1278 @Override
1279 public void applyDataBinding() {
1280 if (model != null) {
1281 model.addPropertyChangeListener("config", this);
1282 }
1283 }
1284
1285 @Override
1286 public void processDataBinding() {
1287 if (model != null && model.getConfig() != null) {
1288 busyBlockLayerUI.setBlockingColor(model.getConfig().getColorBlockingLayer());
1289 }
1290 }
1291
1292 @Override
1293 public void removeDataBinding() {
1294 if (model != null) {
1295 model.removePropertyChangeListener("config", this);
1296 }
1297 }
1298 });
1299 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_CONFIGURATION_ENABLED, true) {
1300
1301 @Override
1302 public void applyDataBinding() {
1303 if (model != null) {
1304 model.addPropertyChangeListener("screen", this);
1305 }
1306 }
1307
1308 @Override
1309 public void processDataBinding() {
1310 if (model != null) {
1311 menuFileConfiguration.setEnabled(model.getScreen() != TuttiScreen.CONFIG);
1312 }
1313 }
1314
1315 @Override
1316 public void removeDataBinding() {
1317 if (model != null) {
1318 model.removePropertyChangeListener("screen", this);
1319 }
1320 }
1321 });
1322 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_CONNECT_ICHTYOMETER_VISIBLE, true) {
1323
1324 @Override
1325 public void applyDataBinding() {
1326 if (model != null) {
1327 model.addPropertyChangeListener("ichtyometerConnected", this);
1328 }
1329 }
1330
1331 @Override
1332 public void processDataBinding() {
1333 if (model != null) {
1334 menuFileConnectIchtyometer.setVisible(!model.isIchtyometerConnected());
1335 }
1336 }
1337
1338 @Override
1339 public void removeDataBinding() {
1340 if (model != null) {
1341 model.removePropertyChangeListener("ichtyometerConnected", this);
1342 }
1343 }
1344 });
1345 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_DISCONNECT_ICHTYOMETER_VISIBLE, true) {
1346
1347 @Override
1348 public void applyDataBinding() {
1349 if (model != null) {
1350 model.addPropertyChangeListener("ichtyometerConnected", this);
1351 }
1352 }
1353
1354 @Override
1355 public void processDataBinding() {
1356 if (model != null) {
1357 menuFileDisconnectIchtyometer.setVisible(model.isIchtyometerConnected());
1358 }
1359 }
1360
1361 @Override
1362 public void removeDataBinding() {
1363 if (model != null) {
1364 model.removePropertyChangeListener("ichtyometerConnected", this);
1365 }
1366 }
1367 });
1368 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_CONNECT_CALIPER_VISIBLE, true) {
1369
1370 @Override
1371 public void applyDataBinding() {
1372 if (model != null) {
1373 model.addPropertyChangeListener("caliperConnected", this);
1374 }
1375 }
1376
1377 @Override
1378 public void processDataBinding() {
1379 if (model != null) {
1380 menuFileConnectCaliper.setVisible(!model.isCaliperConnected());
1381 }
1382 }
1383
1384 @Override
1385 public void removeDataBinding() {
1386 if (model != null) {
1387 model.removePropertyChangeListener("caliperConnected", this);
1388 }
1389 }
1390 });
1391 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_DISCONNECT_CALIPER_VISIBLE, true) {
1392
1393 @Override
1394 public void applyDataBinding() {
1395 if (model != null) {
1396 model.addPropertyChangeListener("caliperConnected", this);
1397 }
1398 }
1399
1400 @Override
1401 public void processDataBinding() {
1402 if (model != null) {
1403 menuFileDisconnectCaliper.setVisible(model.isCaliperConnected());
1404 }
1405 }
1406
1407 @Override
1408 public void removeDataBinding() {
1409 if (model != null) {
1410 model.removePropertyChangeListener("caliperConnected", this);
1411 }
1412 }
1413 });
1414 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_FILE_MANAGE_DB_ENABLED, true) {
1415
1416 @Override
1417 public void applyDataBinding() {
1418 if (model != null) {
1419 model.addPropertyChangeListener("screen", this);
1420 }
1421 }
1422
1423 @Override
1424 public void processDataBinding() {
1425 if (model != null) {
1426 menuFileManageDb.setEnabled(model.getScreen() != TuttiScreen.MANAGE_DB);
1427 }
1428 }
1429
1430 @Override
1431 public void removeDataBinding() {
1432 if (model != null) {
1433 model.removePropertyChangeListener("screen", this);
1434 }
1435 }
1436 });
1437 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTIONS_ENABLED, true) {
1438
1439 @Override
1440 public void applyDataBinding() {
1441 if (model != null) {
1442 model.addPropertyChangeListener("dbLoaded", this);
1443 }
1444 }
1445
1446 @Override
1447 public void processDataBinding() {
1448 if (model != null) {
1449 menuActions.setEnabled(model.isDbLoaded());
1450 }
1451 }
1452
1453 @Override
1454 public void removeDataBinding() {
1455 if (model != null) {
1456 model.removePropertyChangeListener("dbLoaded", this);
1457 }
1458 }
1459 });
1460 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_SELECT_CRUISE_ENABLED, true) {
1461
1462 @Override
1463 public void applyDataBinding() {
1464 if (model != null) {
1465 model.addPropertyChangeListener("screen", this);
1466 }
1467 }
1468
1469 @Override
1470 public void processDataBinding() {
1471 if (model != null) {
1472 menuActionSelectCruise.setEnabled(model.getScreen() != TuttiScreen.SELECT_CRUISE);
1473 }
1474 }
1475
1476 @Override
1477 public void removeDataBinding() {
1478 if (model != null) {
1479 model.removePropertyChangeListener("screen", this);
1480 }
1481 }
1482 });
1483 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_EDIT_PROGRAM_ENABLED, true, true) {
1484
1485 @Override
1486 public void applyDataBinding() {
1487 if (model != null) {
1488 model.addPropertyChangeListener("screen", this);
1489 }
1490 if (model != null) {
1491 model.addPropertyChangeListener("programFilled", this);
1492 }
1493 }
1494
1495 @Override
1496 public void processDataBinding() {
1497 if (model != null) {
1498 menuActionEditProgram.setEnabled(model.getScreen() != TuttiScreen.EDIT_PROGRAM && model.isProgramFilled());
1499 }
1500 }
1501
1502 @Override
1503 public void removeDataBinding() {
1504 if (model != null) {
1505 model.removePropertyChangeListener("screen", this);
1506 }
1507 if (model != null) {
1508 model.removePropertyChangeListener("programFilled", this);
1509 }
1510 }
1511 });
1512 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_EDIT_CRUISE_ENABLED, true, true) {
1513
1514 @Override
1515 public void applyDataBinding() {
1516 if (model != null) {
1517 model.addPropertyChangeListener("screen", this);
1518 }
1519 if (model != null) {
1520 model.addPropertyChangeListener("cruiseFilled", this);
1521 }
1522 }
1523
1524 @Override
1525 public void processDataBinding() {
1526 if (model != null) {
1527 menuActionEditCruise.setEnabled(model.getScreen() != TuttiScreen.EDIT_CRUISE && model.isCruiseFilled());
1528 }
1529 }
1530
1531 @Override
1532 public void removeDataBinding() {
1533 if (model != null) {
1534 model.removePropertyChangeListener("screen", this);
1535 }
1536 if (model != null) {
1537 model.removePropertyChangeListener("cruiseFilled", this);
1538 }
1539 }
1540 });
1541 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_EDIT_PROTOCOL_ENABLED, true, true) {
1542
1543 @Override
1544 public void applyDataBinding() {
1545 if (model != null) {
1546 model.addPropertyChangeListener("screen", this);
1547 }
1548 if (model != null) {
1549 model.addPropertyChangeListener("protocolFilled", this);
1550 }
1551 }
1552
1553 @Override
1554 public void processDataBinding() {
1555 if (model != null) {
1556 menuActionEditProtocol.setEnabled(model.getScreen() != TuttiScreen.EDIT_PROTOCOL && model.isProtocolFilled());
1557 }
1558 }
1559
1560 @Override
1561 public void removeDataBinding() {
1562 if (model != null) {
1563 model.removePropertyChangeListener("screen", this);
1564 }
1565 if (model != null) {
1566 model.removePropertyChangeListener("protocolFilled", this);
1567 }
1568 }
1569 });
1570 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_EDIT_CATCHES_ENABLED, true, true) {
1571
1572 @Override
1573 public void applyDataBinding() {
1574 if (model != null) {
1575 model.addPropertyChangeListener("screen", this);
1576 }
1577 if (model != null) {
1578 model.addPropertyChangeListener("cruiseFilled", this);
1579 }
1580 }
1581
1582 @Override
1583 public void processDataBinding() {
1584 if (model != null) {
1585 menuActionEditCatches.setEnabled(model.getScreen() != TuttiScreen.EDIT_FISHING_OPERATION && model.isCruiseFilled());
1586 }
1587 }
1588
1589 @Override
1590 public void removeDataBinding() {
1591 if (model != null) {
1592 model.removePropertyChangeListener("screen", this);
1593 }
1594 if (model != null) {
1595 model.removePropertyChangeListener("cruiseFilled", this);
1596 }
1597 }
1598 });
1599 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_VALIDATE_CATCHES_ENABLED, true, true) {
1600
1601 @Override
1602 public void applyDataBinding() {
1603 if (model != null) {
1604 model.addPropertyChangeListener("screen", this);
1605 }
1606 if (model != null) {
1607 model.addPropertyChangeListener("cruiseFilled", this);
1608 }
1609 }
1610
1611 @Override
1612 public void processDataBinding() {
1613 if (model != null) {
1614 menuActionValidateCatches.setEnabled(model.getScreen() != TuttiScreen.VALIDATE_CRUISE && model.isCruiseFilled());
1615 }
1616 }
1617
1618 @Override
1619 public void removeDataBinding() {
1620 if (model != null) {
1621 model.removePropertyChangeListener("screen", this);
1622 }
1623 if (model != null) {
1624 model.removePropertyChangeListener("cruiseFilled", this);
1625 }
1626 }
1627 });
1628 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_GENERATE_CRUISE_REPORT_ENABLED, true, true) {
1629
1630 @Override
1631 public void applyDataBinding() {
1632 if (model != null) {
1633 model.addPropertyChangeListener("screen", this);
1634 }
1635 if (model != null) {
1636 model.addPropertyChangeListener("cruiseFilled", this);
1637 }
1638 }
1639
1640 @Override
1641 public void processDataBinding() {
1642 if (model != null) {
1643 menuActionGenerateCruiseReport.setEnabled(model.getScreen() != TuttiScreen.REPORT && model.isCruiseFilled());
1644 }
1645 }
1646
1647 @Override
1648 public void removeDataBinding() {
1649 if (model != null) {
1650 model.removePropertyChangeListener("screen", this);
1651 }
1652 if (model != null) {
1653 model.removePropertyChangeListener("cruiseFilled", this);
1654 }
1655 }
1656 });
1657 registerDataBinding(new DefaultJAXXBinding(this, BINDING_$JSEPARATOR3_ENABLED, true) {
1658
1659 @Override
1660 public void applyDataBinding() {
1661 if (model != null) {
1662 model.addPropertyChangeListener("dbLoaded", this);
1663 }
1664 }
1665
1666 @Override
1667 public void processDataBinding() {
1668 if (model != null) {
1669 $JSeparator3.setEnabled(model.isDbLoaded());
1670 }
1671 }
1672
1673 @Override
1674 public void removeDataBinding() {
1675 if (model != null) {
1676 model.removePropertyChangeListener("dbLoaded", this);
1677 }
1678 }
1679 });
1680 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_GENERIC_FORMAT_EXPORT_ENABLED, true) {
1681
1682 @Override
1683 public void applyDataBinding() {
1684 if (model != null) {
1685 model.addPropertyChangeListener("screen", this);
1686 }
1687 }
1688
1689 @Override
1690 public void processDataBinding() {
1691 if (model != null) {
1692 menuActionGenericFormatExport.setEnabled(model.getScreen() != TuttiScreen.GENERIC_FORMAT_EXPORT);
1693 }
1694 }
1695
1696 @Override
1697 public void removeDataBinding() {
1698 if (model != null) {
1699 model.removePropertyChangeListener("screen", this);
1700 }
1701 }
1702 });
1703 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ACTION_GENERIC_FORMAT_IMPORT_ENABLED, true) {
1704
1705 @Override
1706 public void applyDataBinding() {
1707 if (model != null) {
1708 model.addPropertyChangeListener("screen", this);
1709 }
1710 }
1711
1712 @Override
1713 public void processDataBinding() {
1714 if (model != null) {
1715 menuActionGenericFormatImport.setEnabled(model.getScreen() != TuttiScreen.GENERIC_FORMAT_IMPORT);
1716 }
1717 }
1718
1719 @Override
1720 public void removeDataBinding() {
1721 if (model != null) {
1722 model.removePropertyChangeListener("screen", this);
1723 }
1724 }
1725 });
1726 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_ADMINISTRATION_ENABLED, true) {
1727
1728 @Override
1729 public void applyDataBinding() {
1730 if (model != null) {
1731 model.addPropertyChangeListener("dbLoaded", this);
1732 }
1733 }
1734
1735 @Override
1736 public void processDataBinding() {
1737 if (model != null) {
1738 menuAdministration.setEnabled(model.isDbLoaded());
1739 }
1740 }
1741
1742 @Override
1743 public void removeDataBinding() {
1744 if (model != null) {
1745 model.removePropertyChangeListener("dbLoaded", this);
1746 }
1747 }
1748 });
1749 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_IMPORT_TEMPORARY_REFERENTIAL_ENABLED, true) {
1750
1751 @Override
1752 public void applyDataBinding() {
1753 if (model != null) {
1754 model.addPropertyChangeListener("screen", this);
1755 }
1756 }
1757
1758 @Override
1759 public void processDataBinding() {
1760 if (model != null) {
1761 menuImportTemporaryReferential.setEnabled(model.getScreen() != TuttiScreen.IMPORT_TEMPORARY_REFERENTIAL);
1762 }
1763 }
1764
1765 @Override
1766 public void removeDataBinding() {
1767 if (model != null) {
1768 model.removePropertyChangeListener("screen", this);
1769 }
1770 }
1771 });
1772 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_EDIT_SAMPLE_CATEGORY_MODEL_ENABLED, true) {
1773
1774 @Override
1775 public void applyDataBinding() {
1776 if (model != null) {
1777 model.addPropertyChangeListener("dbLoaded", this);
1778 }
1779 }
1780
1781 @Override
1782 public void processDataBinding() {
1783 if (model != null) {
1784 menuEditSampleCategoryModel.setEnabled(model.isDbLoaded());
1785 }
1786 }
1787
1788 @Override
1789 public void removeDataBinding() {
1790 if (model != null) {
1791 model.removePropertyChangeListener("dbLoaded", this);
1792 }
1793 }
1794 });
1795 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_CHANGE_LOCALE_UK_ENABLED, true) {
1796
1797 @Override
1798 public void applyDataBinding() {
1799 if (model != null) {
1800 model.addPropertyChangeListener("locale", this);
1801 }
1802 }
1803
1804 @Override
1805 public void processDataBinding() {
1806 if (model != null) {
1807 menuChangeLocaleUK.setEnabled(!handler.acceptLocale(model.getLocale(), "en_GB"));
1808 }
1809 }
1810
1811 @Override
1812 public void removeDataBinding() {
1813 if (model != null) {
1814 model.removePropertyChangeListener("locale", this);
1815 }
1816 }
1817 });
1818 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_CHANGE_LOCALE_FR_ENABLED, true) {
1819
1820 @Override
1821 public void applyDataBinding() {
1822 if (model != null) {
1823 model.addPropertyChangeListener("locale", this);
1824 }
1825 }
1826
1827 @Override
1828 public void processDataBinding() {
1829 if (model != null) {
1830 menuChangeLocaleFR.setEnabled(!handler.acceptLocale(model.getLocale(), "fr_FR"));
1831 }
1832 }
1833
1834 @Override
1835 public void removeDataBinding() {
1836 if (model != null) {
1837 model.removePropertyChangeListener("locale", this);
1838 }
1839 }
1840 });
1841 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ICHTYOMETER_STATUS_ENABLED, true) {
1842
1843 @Override
1844 public void applyDataBinding() {
1845 if (model != null) {
1846 model.addPropertyChangeListener("ichtyometerConnected", this);
1847 }
1848 }
1849
1850 @Override
1851 public void processDataBinding() {
1852 if (model != null) {
1853 ichtyometerStatus.setEnabled(model.isIchtyometerConnected());
1854 }
1855 }
1856
1857 @Override
1858 public void removeDataBinding() {
1859 if (model != null) {
1860 model.removePropertyChangeListener("ichtyometerConnected", this);
1861 }
1862 }
1863 });
1864 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ICHTYOMETER_STATUS_TOOL_TIP_TEXT, true) {
1865
1866 @Override
1867 public void applyDataBinding() {
1868 if (model != null) {
1869 model.addPropertyChangeListener("ichtyometerConnected", this);
1870 }
1871 }
1872
1873 @Override
1874 public void processDataBinding() {
1875 if (model != null) {
1876 ichtyometerStatus.setToolTipText(t(handler.getIchtyometerStatusTip(model.isIchtyometerConnected())));
1877 }
1878 }
1879
1880 @Override
1881 public void removeDataBinding() {
1882 if (model != null) {
1883 model.removePropertyChangeListener("ichtyometerConnected", this);
1884 }
1885 }
1886 });
1887 registerDataBinding(new DefaultJAXXBinding(this, BINDING_CALIPER_STATUS_TEXT, true) {
1888
1889 @Override
1890 public void applyDataBinding() {
1891 if (model != null) {
1892 model.addPropertyChangeListener("caliperConnected", this);
1893 }
1894 }
1895
1896 @Override
1897 public void processDataBinding() {
1898 if (model != null) {
1899 caliperStatus.setText(t(handler.getCaliperStatusLabel(model.isCaliperConnected())));
1900 }
1901 }
1902
1903 @Override
1904 public void removeDataBinding() {
1905 if (model != null) {
1906 model.removePropertyChangeListener("caliperConnected", this);
1907 }
1908 }
1909 });
1910 registerDataBinding(new DefaultJAXXBinding(this, BINDING_CALIPER_STATUS_ENABLED, true) {
1911
1912 @Override
1913 public void applyDataBinding() {
1914 if (model != null) {
1915 model.addPropertyChangeListener("caliperConnected", this);
1916 }
1917 }
1918
1919 @Override
1920 public void processDataBinding() {
1921 if (model != null) {
1922 caliperStatus.setEnabled(model.isCaliperConnected());
1923 }
1924 }
1925
1926 @Override
1927 public void removeDataBinding() {
1928 if (model != null) {
1929 model.removePropertyChangeListener("caliperConnected", this);
1930 }
1931 }
1932 });
1933 registerDataBinding(new DefaultJAXXBinding(this, BINDING_CALIPER_STATUS_TOOL_TIP_TEXT, true) {
1934
1935 @Override
1936 public void applyDataBinding() {
1937 if (model != null) {
1938 model.addPropertyChangeListener("caliperConnected", this);
1939 }
1940 }
1941
1942 @Override
1943 public void processDataBinding() {
1944 if (model != null) {
1945 caliperStatus.setToolTipText(t(handler.getCaliperStatusTip(model.isCaliperConnected())));
1946 }
1947 }
1948
1949 @Override
1950 public void removeDataBinding() {
1951 if (model != null) {
1952 model.removePropertyChangeListener("caliperConnected", this);
1953 }
1954 }
1955 });
1956 registerDataBinding(new DefaultJAXXBinding(this, BINDING_STATUS_SHOW_MEMORY_STATUS, true) {
1957
1958 @Override
1959 public void applyDataBinding() {
1960 if (model != null) {
1961 model.addPropertyChangeListener("config", this);
1962 }
1963 }
1964
1965 @Override
1966 public void processDataBinding() {
1967 if (model != null && model.getConfig() != null) {
1968 status.setShowMemoryStatus(model.getConfig().isShowMemoryUsage());
1969 }
1970 }
1971
1972 @Override
1973 public void removeDataBinding() {
1974 if (model != null) {
1975 model.removePropertyChangeListener("config", this);
1976 }
1977 }
1978 });
1979 }
1980
1981 }