1 package fr.ifremer.dali.ui.swing.content.manage.campaign.menu;
2
3 import fr.ifremer.dali.dto.SearchDateDTO;
4 import fr.ifremer.dali.dto.data.survey.CampaignDTO;
5 import fr.ifremer.dali.ui.swing.DaliHelpBroker;
6 import fr.ifremer.dali.ui.swing.DaliUIContext;
7 import fr.ifremer.dali.ui.swing.content.manage.filter.element.menu.ApplyFilterUI;
8 import fr.ifremer.dali.ui.swing.content.manage.referential.menu.ReferentialMenuUI;
9 import fr.ifremer.dali.ui.swing.util.DaliUI;
10 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
11 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
12 import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedComboBox;
13 import fr.ifremer.quadrige3.ui.swing.component.date.JDatePicker;
14 import java.awt.BorderLayout;
15 import java.awt.Component;
16 import java.awt.Container;
17 import java.awt.GridBagConstraints;
18 import java.awt.GridLayout;
19 import java.awt.Insets;
20 import java.awt.LayoutManager;
21 import java.awt.event.ActionEvent;
22 import java.awt.event.ActionListener;
23 import java.awt.event.KeyEvent;
24 import java.awt.event.KeyListener;
25 import java.util.ArrayList;
26 import java.util.HashMap;
27 import java.util.List;
28 import java.util.Map;
29 import java.util.TreeMap;
30 import javax.swing.BorderFactory;
31 import javax.swing.Box;
32 import javax.swing.BoxLayout;
33 import javax.swing.JButton;
34 import javax.swing.JLabel;
35 import javax.swing.JPanel;
36 import javax.swing.JTextField;
37 import javax.swing.SwingConstants;
38 import jaxx.runtime.JAXXBinding;
39 import jaxx.runtime.JAXXContext;
40 import jaxx.runtime.JAXXObject;
41 import jaxx.runtime.JAXXObjectDescriptor;
42 import jaxx.runtime.JAXXUtil;
43 import jaxx.runtime.SwingUtil;
44 import jaxx.runtime.binding.DefaultJAXXBinding;
45 import jaxx.runtime.context.DefaultJAXXContext;
46 import jaxx.runtime.swing.Table;
47 import jaxx.runtime.swing.help.JAXXHelpUI;
48 import org.apache.commons.logging.Log;
49 import org.apache.commons.logging.LogFactory;
50 import static org.nuiton.i18n.I18n.t;
51
52 public class CampaignsMenuUI extends JPanel implements JAXXHelpUI<DaliHelpBroker>, ReferentialMenuUI<CampaignsMenuUIModel, CampaignsMenuUIHandler>, JAXXObject {
53
54
55
56
57
58 public static final String BINDING_END_DATE1_EDITOR_DATE = "endDate1Editor.date";
59 public static final String BINDING_END_DATE2_EDITOR_DATE = "endDate2Editor.date";
60 public static final String BINDING_END_DATE_COMBO_SELECTED_ITEM = "endDateCombo.selectedItem";
61 public static final String BINDING_NAME_EDITOR_TEXT = "nameEditor.text";
62 public static final String BINDING_START_DATE1_EDITOR_DATE = "startDate1Editor.date";
63 public static final String BINDING_START_DATE2_EDITOR_DATE = "startDate2Editor.date";
64 public static final String BINDING_START_DATE_COMBO_SELECTED_ITEM = "startDateCombo.selectedItem";
65
66
67
68
69
70 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAM1XzW8bRRQfm3w532lISEIKbUA0KdWkSQEBKeTTURMSWjVBCuQA492JM2W9u50dE5uoiD+BPwHuXJC4cUIcOPfABSHBP1AhDnBEvDdr73rttb3BHEiVbXbmvd/8fm/evDf79RPS7Uly9QErlags2koUON1dPzq6m3vADbXFPUMKVzmS+D+pNEkfkwEzGPcUeeF4D90XK+6Lm07BdWxu13iv7JF+T5Ut7p1yrhS5HPUwPG/xIJheKblFWUUNSMWhfvnH7+kvzM+/ShNScoHdNEi50s4rVNK1R9LCVOQSrPQJW7SYnQcaUth54DuEY5sW87x3WYE/JJ+R3j3S4zIJYIrMJZesMbR/yVVkxGAFl4m87e1zu/jejiLZE0nFieQFLqnJLEGLgnpnQIIajq0AkxaYzfKcVj1pATzpZhTHdfUaPYp0FxyTW4rs/ie4+wgWgvfkpPMxl4pca4q+BW93wGdDW4auQ8x1rfK2sBSXqHsnKb8T7UK5BaY4iizXa7FwgUywzrAHloYSjn2P2RiIqUhG+EscspzFo359L+5qh5uQELj3pYqpP4pGE4Ftxoac2GM5hI8a60G0mgqM+9E4awpICkUmI9aHvKS2BbfMqEeVyhK+z0SXHvYUk2qLKR4sdRkfV2MsIC1zjiJv1UT6YZGZUuT5rdpwV5KX5jizabYEwTe5qZ03nFIUfDQAX6pKej0pvAledBd97wkDciOKXBW9HCM6w2xTy10K9L4cQ2nZp4Tj16M2VfBbMeCDILcxnksN8zogOHYtOj9cmV+qW32pYfVXWklbDpZ+owG6XlhoMRFk+0ZRKcf2gmydiab3gGFxJn0jRcYjaeiPouFqqNoDc+M0nNqszEvybORAQfGmYfEOq2vqmHTLIgzDCTxurPf3Ycqv9FN1lR4B9ezfk+M/fffLt9vV8v48rD0Ra1rTnaDsutJxoUYJXHrEr+1FJazFfeauHJOMHzHdumZjiB1UpoEcrDeG7hTd6R3mnQJEd+/P3/8w+dHjp0h6m/RbDjO3GdrvkIw6lRAFxzJL7uqaZjR41gfPUfjtgkLgVzIsPQreZRH+GwL7sy1uOJLpw9R9wiwPxjM4fp972C0rpl14PBXpPdcF/lEJQjcbE7qAfy7z45/jB9+sVcOXAjnTTc3DEHZ/QHqEbQmb6/5YaX2x/XDA9XjRdMIWF9f0CLS90fqqUukL7+jn3YZopbDVONLEVrN6vqH/8sNcpobkcCQOhbK46c/Mq/k53UKgc5yIvN8iFBrMLSxAoHCN93UE8K9j0tAk3DZ00nCGLTyk27hHg+dhRX+E2wNVHPqAZlDJvTJFk7iVw9bRbtFUAD3mbznNc4XBn4/XVNNnkkNPRVnrEq3raXzUIr0nQdQG/Thzc0fxApy3UMiBLi8HVUDQBDGu8oBz60XnW9PRWZVENOpT5JkaGkE7axLVhoaXQHWQutdjUzdbcFW5krk3b+C/VxfCPBqL7gi0h9g0CjpiZ7KX28pevmhKTcakFI9XEWm9F0+nmfp0yvpw9ck05NXOtiJywUSaCAlUwJulUd0l4X+WRMudSG6WQnWXl3ZLQIO89CF+IwiDYWFe1+UZrirnm3hz8V+pgY0FdPYz/b6D3wpwz6g2Si3+OS3eN6D+1lN9+6GWf2UfUI5jHQr3UJvPNjVXwo0TVnuV+reqnj73M7aVrK4TYZt1lTpKM1bPZIxhEyWRS16CHOixWNkBYzJ8G7KBXckBQbhBvt2AncJnf1tEHP4VH7/FI0x3jDCXQFUfXqwOyy5vgfNSx0xuJGAyfupI8SnsPbPWLfgIxw/eFpC0Y1LtDz4OP2mB8FrHHN5MhPBXC4TbHXNYS7A5/ay6JUctkDaScEmNtEDIJinGwvC/yjpiMdWGxT+Ic4tuHhQAAA==";
71 private static final Log log = LogFactory.getLog(CampaignsMenuUI.class);
72 private static final long serialVersionUID = 1L;
73
74
75
76
77
78 protected List<Object> $activeBindings = new ArrayList<Object>();
79 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
80 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
81 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
82 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
83 private boolean allComponentsCreated;
84 protected final JAXXContext delegateContext = new DefaultJAXXContext();
85
86
87
88
89
90 protected JLabel andLabel1;
91 protected JLabel andLabel2;
92 protected ApplyFilterUI applyFilterUI;
93 protected DaliHelpBroker broker;
94 protected CampaignsMenuUI campaignsMenuUI = this;
95 protected JButton clearButton;
96 protected JDatePicker endDate1Editor;
97 protected JDatePicker endDate2Editor;
98 protected ExtendedComboBox<SearchDateDTO> endDateCombo;
99 protected JLabel endDateLabel;
100 protected final CampaignsMenuUIHandler handler = createHandler();
101 protected CampaignsMenuUIModel model;
102 protected JTextField nameEditor;
103 protected JLabel nameLabel;
104 protected JButton searchButton;
105 protected JPanel selectionButtonsPanel;
106 protected Table selectionPanel;
107 protected JDatePicker startDate1Editor;
108 protected JDatePicker startDate2Editor;
109 protected ExtendedComboBox<SearchDateDTO> startDateCombo;
110 protected JLabel startDateLabel;
111
112
113
114
115
116 private JPanel $JPanel0;
117 private JPanel $JPanel1;
118 private JPanel $JPanel2;
119 private JPanel $JPanel3;
120 private JPanel $JPanel4;
121
122
123
124
125
126 public CampaignsMenuUI(ApplicationUI parentUI) {
127 ApplicationUIUtil.setParentUI(this, parentUI);
128 $initialize();
129 }
130
131 public CampaignsMenuUI() {
132 $initialize();
133 }
134
135 public CampaignsMenuUI(JAXXContext parentContext) {
136 JAXXUtil.initContext(this, parentContext);
137 $initialize();
138 }
139
140 public CampaignsMenuUI(boolean param0) {
141 super(param0);
142 $initialize();
143 }
144
145 public CampaignsMenuUI(JAXXContext parentContext, boolean param1) {
146 super(param1);
147 JAXXUtil.initContext(this, parentContext);
148 $initialize();
149 }
150
151 public CampaignsMenuUI(LayoutManager param0) {
152 super(param0);
153 $initialize();
154 }
155
156 public CampaignsMenuUI(JAXXContext parentContext, LayoutManager param1) {
157 super(param1);
158 JAXXUtil.initContext(this, parentContext);
159 $initialize();
160 }
161
162 public CampaignsMenuUI(LayoutManager param0, boolean param1) {
163 super(param0 ,param1);
164 $initialize();
165 }
166
167 public CampaignsMenuUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
168 super(param1 ,param2);
169 JAXXUtil.initContext(this, parentContext);
170 $initialize();
171 }
172
173
174
175
176
177 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
178 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
179 }
180
181
182
183
184
185 @Override
186 public void applyDataBinding(String $binding) {
187 if (allComponentsCreated && $bindings.containsKey($binding)) {
188 getDataBinding($binding).applyDataBinding();
189 }
190 processDataBinding($binding);
191 }
192
193 @Override
194 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
195 super.firePropertyChange(propertyName, oldValue, newValue);
196 }
197
198 @Override
199 public Map<String, Object> get$objectMap() {
200 return $objectMap;
201 }
202
203 @Override
204 public JAXXBinding getDataBinding(String bindingId) {
205 return $bindings.get(bindingId);
206 }
207
208 @Override
209 public JAXXBinding[] getDataBindings() {
210 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
211 }
212
213 @Override
214 public Object getObjectById(String id) {
215 return $objectMap.get(id);
216 }
217
218 @Override
219 public void processDataBinding(String $binding, boolean $force) {
220 if (!$force && $activeBindings.contains($binding)) {
221 return;
222 }
223 $activeBindings.add($binding);
224 try {
225 if (allComponentsCreated && $bindings.containsKey($binding)) {
226 getDataBinding($binding).processDataBinding();
227 }
228 } finally {
229 $activeBindings.remove($binding);
230 }
231 }
232
233 @Override
234 public void processDataBinding(String $binding) {
235 processDataBinding($binding, false);
236 }
237
238 @Override
239 public void registerDataBinding(JAXXBinding binding) {
240 $bindings.put(binding.getId(), binding);
241 }
242
243 @Override
244 public void removeDataBinding(String $binding) {
245 if (allComponentsCreated && $bindings.containsKey($binding)) {
246 getDataBinding($binding).removeDataBinding();
247 }
248 }
249
250
251
252
253
254 @Override
255 public <T> T getContextValue(Class<T> clazz) {
256 return delegateContext.getContextValue(clazz, null);
257 }
258
259 @Override
260 public <T> T getContextValue(Class<T> clazz, String name) {
261 return delegateContext.getContextValue(clazz, name);
262 }
263
264 @Override
265 public JAXXContext getDelegateContext() {
266 return delegateContext;
267 }
268
269 @Override
270 public <O extends Container> O getParentContainer(Class<O> clazz) {
271 return SwingUtil.getParentContainer(this, clazz);
272 }
273
274 @Override
275 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
276 return SwingUtil.getParentContainer(source, clazz);
277 }
278
279 @Override
280 public <T> void removeContextValue(Class<T> clazz) {
281 delegateContext.removeContextValue(clazz, null);
282 }
283
284 @Override
285 public <T> void removeContextValue(Class<T> clazz, String name) {
286 delegateContext.removeContextValue(clazz, name);
287 }
288
289 @Override
290 public <T> void setContextValue(T o) {
291 delegateContext.setContextValue(o, null);
292 }
293
294 @Override
295 public <T> void setContextValue(T o, String name) {
296 delegateContext.setContextValue(o, name);
297 }
298
299
300
301
302
303 public void doActionPerformed__on__endDate1Editor(ActionEvent event) {
304 if (log.isDebugEnabled()) {
305 log.debug(event);
306 }
307 handler.setDate(event, "endDate1");
308 }
309
310 public void doActionPerformed__on__endDate2Editor(ActionEvent event) {
311 if (log.isDebugEnabled()) {
312 log.debug(event);
313 }
314 handler.setDate(event, "endDate2");
315 }
316
317 public void doActionPerformed__on__startDate1Editor(ActionEvent event) {
318 if (log.isDebugEnabled()) {
319 log.debug(event);
320 }
321 handler.setDate(event, "startDate1");
322 }
323
324 public void doActionPerformed__on__startDate2Editor(ActionEvent event) {
325 if (log.isDebugEnabled()) {
326 log.debug(event);
327 }
328 handler.setDate(event, "startDate2");
329 }
330
331 public void doKeyReleased__on__nameEditor(KeyEvent event) {
332 if (log.isDebugEnabled()) {
333 log.debug(event);
334 }
335 handler.setText(event, "name");
336 }
337
338
339
340
341
342 public JLabel getAndLabel1() {
343 return andLabel1;
344 }
345
346 public JLabel getAndLabel2() {
347 return andLabel2;
348 }
349
350 public ApplyFilterUI getApplyFilterUI() {
351 return applyFilterUI;
352 }
353
354 public DaliHelpBroker getBroker() {
355 return broker;
356 }
357
358 public JButton getClearButton() {
359 return clearButton;
360 }
361
362 public JDatePicker getEndDate1Editor() {
363 return endDate1Editor;
364 }
365
366 public JDatePicker getEndDate2Editor() {
367 return endDate2Editor;
368 }
369
370 public ExtendedComboBox<SearchDateDTO> getEndDateCombo() {
371 return endDateCombo;
372 }
373
374 public JLabel getEndDateLabel() {
375 return endDateLabel;
376 }
377
378 public CampaignsMenuUIHandler getHandler() {
379 return handler;
380 }
381
382 public CampaignsMenuUIModel getModel() {
383 return model;
384 }
385
386 public JTextField getNameEditor() {
387 return nameEditor;
388 }
389
390 public JLabel getNameLabel() {
391 return nameLabel;
392 }
393
394 public JButton getSearchButton() {
395 return searchButton;
396 }
397
398 public JPanel getSelectionButtonsPanel() {
399 return selectionButtonsPanel;
400 }
401
402 public Table getSelectionPanel() {
403 return selectionPanel;
404 }
405
406 public JDatePicker getStartDate1Editor() {
407 return startDate1Editor;
408 }
409
410 public JDatePicker getStartDate2Editor() {
411 return startDate2Editor;
412 }
413
414 public ExtendedComboBox<SearchDateDTO> getStartDateCombo() {
415 return startDateCombo;
416 }
417
418 public JLabel getStartDateLabel() {
419 return startDateLabel;
420 }
421
422
423
424
425
426 @Override
427 public void registerHelpId(DaliHelpBroker broker, Component component, String helpId) {
428 broker.installUI(component, helpId);
429 }
430
431 @Override
432 public void showHelp(String helpId) {
433 getBroker().showHelp(this, helpId);
434 }
435
436
437
438
439
440 protected JPanel get$JPanel0() {
441 return $JPanel0;
442 }
443
444 protected JPanel get$JPanel1() {
445 return $JPanel1;
446 }
447
448 protected JPanel get$JPanel2() {
449 return $JPanel2;
450 }
451
452 protected JPanel get$JPanel3() {
453 return $JPanel3;
454 }
455
456 protected JPanel get$JPanel4() {
457 return $JPanel4;
458 }
459
460
461
462
463
464 protected void addChildrenToCampaignsMenuUI() {
465 if (!allComponentsCreated) {
466 return;
467 }
468 add(applyFilterUI);
469 add(selectionPanel);
470 add(selectionButtonsPanel);
471 }
472
473 protected void addChildrenToSelectionButtonsPanel() {
474 if (!allComponentsCreated) {
475 return;
476 }
477 selectionButtonsPanel.add(clearButton);
478 selectionButtonsPanel.add(searchButton);
479 }
480
481 protected void addChildrenToSelectionPanel() {
482 if (!allComponentsCreated) {
483 return;
484 }
485 selectionPanel.add($JPanel0, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
486 selectionPanel.add($JPanel1, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
487 selectionPanel.add($JPanel2, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
488 selectionPanel.add($JPanel3, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
489 selectionPanel.add($JPanel4, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
490 }
491
492 protected void createAndLabel1() {
493 $objectMap.put("andLabel1", andLabel1 = new JLabel());
494
495 andLabel1.setName("andLabel1");
496 andLabel1.setText(t("dali.property.and"));
497 }
498
499 protected void createAndLabel2() {
500 $objectMap.put("andLabel2", andLabel2 = new JLabel());
501
502 andLabel2.setName("andLabel2");
503 andLabel2.setText(t("dali.property.and"));
504 }
505
506 protected void createApplyFilterUI() {
507 $objectMap.put("applyFilterUI", applyFilterUI = new ApplyFilterUI(this));
508
509 applyFilterUI.setName("applyFilterUI");
510 }
511
512 protected void createBroker() {
513 $objectMap.put("broker", broker = new DaliHelpBroker("dali.home.help"));
514 }
515
516 protected void createClearButton() {
517 $objectMap.put("clearButton", clearButton = new JButton());
518
519 clearButton.setName("clearButton");
520 clearButton.setText(t("dali.action.search.clear.label"));
521 clearButton.setToolTipText(t("dali.action.search.clear.tip"));
522 clearButton.putClientProperty("applicationAction", ClearAction.class);
523 }
524
525 protected void createEndDate1Editor() {
526 $objectMap.put("endDate1Editor", endDate1Editor = new JDatePicker());
527
528 endDate1Editor.setName("endDate1Editor");
529 endDate1Editor.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__endDate1Editor"));
530 }
531
532 protected void createEndDate2Editor() {
533 $objectMap.put("endDate2Editor", endDate2Editor = new JDatePicker());
534
535 endDate2Editor.setName("endDate2Editor");
536 endDate2Editor.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__endDate2Editor"));
537 }
538
539 protected void createEndDateCombo() {
540 $objectMap.put("endDateCombo", endDateCombo = new ExtendedComboBox<SearchDateDTO>(this));
541
542 endDateCombo.setName("endDateCombo");
543 endDateCombo.setFilterable(true);
544 endDateCombo.setShowDecorator(false);
545 endDateCombo.setProperty("searchEndDate");
546 endDateCombo.setShowReset(true);
547 }
548
549 protected void createEndDateLabel() {
550 $objectMap.put("endDateLabel", endDateLabel = new JLabel());
551
552 endDateLabel.setName("endDateLabel");
553 endDateLabel.setText(t("dali.property.date.end"));
554 }
555
556 protected CampaignsMenuUIHandler createHandler() {
557 return new CampaignsMenuUIHandler();
558 }
559
560 protected void createModel() {
561 $objectMap.put("model", model = getContextValue(CampaignsMenuUIModel.class));
562 }
563
564 protected void createNameEditor() {
565 $objectMap.put("nameEditor", nameEditor = new JTextField());
566
567 nameEditor.setName("nameEditor");
568 nameEditor.setColumns(15);
569 nameEditor.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__nameEditor"));
570 }
571
572 protected void createNameLabel() {
573 $objectMap.put("nameLabel", nameLabel = new JLabel());
574
575 nameLabel.setName("nameLabel");
576 nameLabel.setText(t("dali.property.name"));
577 }
578
579 protected void createSearchButton() {
580 $objectMap.put("searchButton", searchButton = new JButton());
581
582 searchButton.setName("searchButton");
583 searchButton.setText(t("dali.action.search.label"));
584 searchButton.setToolTipText(t("dali.action.search.tip"));
585 searchButton.putClientProperty("applicationAction", SearchAction.class);
586 }
587
588 protected void createSelectionButtonsPanel() {
589 $objectMap.put("selectionButtonsPanel", selectionButtonsPanel = new JPanel());
590
591 selectionButtonsPanel.setName("selectionButtonsPanel");
592 selectionButtonsPanel.setLayout(new GridLayout(1,0));
593 }
594
595 protected void createSelectionPanel() {
596 $objectMap.put("selectionPanel", selectionPanel = new Table());
597
598 selectionPanel.setName("selectionPanel");
599 }
600
601 protected void createStartDate1Editor() {
602 $objectMap.put("startDate1Editor", startDate1Editor = new JDatePicker());
603
604 startDate1Editor.setName("startDate1Editor");
605 startDate1Editor.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__startDate1Editor"));
606 }
607
608 protected void createStartDate2Editor() {
609 $objectMap.put("startDate2Editor", startDate2Editor = new JDatePicker());
610
611 startDate2Editor.setName("startDate2Editor");
612 startDate2Editor.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__startDate2Editor"));
613 }
614
615 protected void createStartDateCombo() {
616 $objectMap.put("startDateCombo", startDateCombo = new ExtendedComboBox<SearchDateDTO>(this));
617
618 startDateCombo.setName("startDateCombo");
619 startDateCombo.setFilterable(true);
620 startDateCombo.setShowDecorator(false);
621 startDateCombo.setProperty("searchStartDate");
622 startDateCombo.setShowReset(true);
623 }
624
625 protected void createStartDateLabel() {
626 $objectMap.put("startDateLabel", startDateLabel = new JLabel());
627
628 startDateLabel.setName("startDateLabel");
629 startDateLabel.setText(t("dali.property.date.start"));
630 }
631
632
633
634
635
636 private void $completeSetup() {
637 allComponentsCreated = true;
638 if (log.isDebugEnabled()) {
639 log.debug(this);
640 }
641 addChildrenToCampaignsMenuUI();
642 addChildrenToSelectionPanel();
643
644 $JPanel0.add(nameLabel, BorderLayout.PAGE_START);
645 $JPanel0.add(nameEditor);
646
647 $JPanel1.add(startDateLabel, BorderLayout.PAGE_START);
648 $JPanel1.add(startDateCombo, BorderLayout.LINE_START);
649 $JPanel1.add(startDate1Editor);
650
651 $JPanel2.add(andLabel1);
652 $JPanel2.add(startDate2Editor, BorderLayout.LINE_END);
653
654 $JPanel3.add(endDateLabel, BorderLayout.PAGE_START);
655 $JPanel3.add(endDateCombo, BorderLayout.LINE_START);
656 $JPanel3.add(endDate1Editor);
657
658 $JPanel4.add(andLabel2);
659 $JPanel4.add(endDate2Editor, BorderLayout.LINE_END);
660 addChildrenToSelectionButtonsPanel();
661
662
663 JAXXUtil.applyDataBinding(this, $bindings.keySet());
664
665
666 startDateCombo.setBeanType(SearchDateDTO.class);
667 andLabel1.setHorizontalAlignment(JLabel.RIGHT);
668 endDateCombo.setBeanType(SearchDateDTO.class);
669 andLabel2.setHorizontalAlignment(JLabel.RIGHT);
670 clearButton.setAlignmentX(Component.CENTER_ALIGNMENT);
671 searchButton.setAlignmentX(Component.CENTER_ALIGNMENT);
672 selectionPanel.setBorder(BorderFactory.createTitledBorder(t("dali.config.menu.title")));
673 nameLabel.setLabelFor(nameEditor);
674 startDateCombo.setBean(model);
675 andLabel1.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
676 endDateCombo.setBean(model);
677 andLabel2.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
678 clearButton.setIcon(SwingUtil.createActionIcon("reset"));
679 searchButton.setIcon(SwingUtil.createActionIcon("find"));
680 }
681
682 private void $initialize() {
683 if (allComponentsCreated) {
684 return;
685 }
686 if (log.isDebugEnabled()) {
687 log.debug(this);
688 }
689 handler.beforeInit(this);
690 $objectMap.put("campaignsMenuUI", campaignsMenuUI);
691 createModel();
692 createBroker();
693 createApplyFilterUI();
694 createSelectionPanel();
695
696 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
697
698 $JPanel0.setName("$JPanel0");
699 $JPanel0.setLayout(new BorderLayout());
700 createNameLabel();
701 createNameEditor();
702
703 $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
704
705 $JPanel1.setName("$JPanel1");
706 $JPanel1.setLayout(new BorderLayout());
707 createStartDateLabel();
708 createStartDateCombo();
709 createStartDate1Editor();
710
711 $objectMap.put("$JPanel2", $JPanel2 = new JPanel());
712
713 $JPanel2.setName("$JPanel2");
714 $JPanel2.setLayout(new BorderLayout());
715 createAndLabel1();
716 createStartDate2Editor();
717
718 $objectMap.put("$JPanel3", $JPanel3 = new JPanel());
719
720 $JPanel3.setName("$JPanel3");
721 $JPanel3.setLayout(new BorderLayout());
722 createEndDateLabel();
723 createEndDateCombo();
724 createEndDate1Editor();
725
726 $objectMap.put("$JPanel4", $JPanel4 = new JPanel());
727
728 $JPanel4.setName("$JPanel4");
729 $JPanel4.setLayout(new BorderLayout());
730 createAndLabel2();
731 createEndDate2Editor();
732 createSelectionButtonsPanel();
733 createClearButton();
734 createSearchButton();
735
736 setName("campaignsMenuUI");
737 setLayout(new BoxLayout(campaignsMenuUI, BoxLayout.PAGE_AXIS));
738
739
740 $registerDefaultBindings();
741 $completeSetup();
742 handler.afterInit(this);
743 }
744
745 private void $registerDefaultBindings() {
746
747 registerDataBinding(new DefaultJAXXBinding(this, BINDING_NAME_EDITOR_TEXT, true) {
748
749 @Override
750 public void applyDataBinding() {
751 if (model != null) {
752 model.addPropertyChangeListener("name", this);
753 }
754 }
755
756 @Override
757 public void processDataBinding() {
758 if (model != null) {
759 SwingUtil.setText(nameEditor, model.getName());
760 }
761 }
762
763 @Override
764 public void removeDataBinding() {
765 if (model != null) {
766 model.removePropertyChangeListener("name", this);
767 }
768 }
769 });
770 registerDataBinding(new DefaultJAXXBinding(this, BINDING_START_DATE_COMBO_SELECTED_ITEM, true) {
771
772 @Override
773 public void applyDataBinding() {
774 if (model != null) {
775 model.addPropertyChangeListener("searchStartDate", this);
776 }
777 }
778
779 @Override
780 public void processDataBinding() {
781 if (model != null) {
782 startDateCombo.setSelectedItem(model.getSearchStartDate());
783 }
784 }
785
786 @Override
787 public void removeDataBinding() {
788 if (model != null) {
789 model.removePropertyChangeListener("searchStartDate", this);
790 }
791 }
792 });
793 registerDataBinding(new DefaultJAXXBinding(this, BINDING_START_DATE1_EDITOR_DATE, true) {
794
795 @Override
796 public void applyDataBinding() {
797 if (model != null) {
798 model.addPropertyChangeListener("startDate1", this);
799 }
800 }
801
802 @Override
803 public void processDataBinding() {
804 if (model != null) {
805 startDate1Editor.setDate(model.getStartDate1());
806 }
807 }
808
809 @Override
810 public void removeDataBinding() {
811 if (model != null) {
812 model.removePropertyChangeListener("startDate1", this);
813 }
814 }
815 });
816 registerDataBinding(new DefaultJAXXBinding(this, BINDING_START_DATE2_EDITOR_DATE, true) {
817
818 @Override
819 public void applyDataBinding() {
820 if (model != null) {
821 model.addPropertyChangeListener("startDate2", this);
822 }
823 }
824
825 @Override
826 public void processDataBinding() {
827 if (model != null) {
828 startDate2Editor.setDate(model.getStartDate2());
829 }
830 }
831
832 @Override
833 public void removeDataBinding() {
834 if (model != null) {
835 model.removePropertyChangeListener("startDate2", this);
836 }
837 }
838 });
839 registerDataBinding(new DefaultJAXXBinding(this, BINDING_END_DATE_COMBO_SELECTED_ITEM, true) {
840
841 @Override
842 public void applyDataBinding() {
843 if (model != null) {
844 model.addPropertyChangeListener("searchEndDate", this);
845 }
846 }
847
848 @Override
849 public void processDataBinding() {
850 if (model != null) {
851 endDateCombo.setSelectedItem(model.getSearchEndDate());
852 }
853 }
854
855 @Override
856 public void removeDataBinding() {
857 if (model != null) {
858 model.removePropertyChangeListener("searchEndDate", this);
859 }
860 }
861 });
862 registerDataBinding(new DefaultJAXXBinding(this, BINDING_END_DATE1_EDITOR_DATE, true) {
863
864 @Override
865 public void applyDataBinding() {
866 if (model != null) {
867 model.addPropertyChangeListener("endDate1", this);
868 }
869 }
870
871 @Override
872 public void processDataBinding() {
873 if (model != null) {
874 endDate1Editor.setDate(model.getEndDate1());
875 }
876 }
877
878 @Override
879 public void removeDataBinding() {
880 if (model != null) {
881 model.removePropertyChangeListener("endDate1", this);
882 }
883 }
884 });
885 registerDataBinding(new DefaultJAXXBinding(this, BINDING_END_DATE2_EDITOR_DATE, true) {
886
887 @Override
888 public void applyDataBinding() {
889 if (model != null) {
890 model.addPropertyChangeListener("endDate2", this);
891 }
892 }
893
894 @Override
895 public void processDataBinding() {
896 if (model != null) {
897 endDate2Editor.setDate(model.getEndDate2());
898 }
899 }
900
901 @Override
902 public void removeDataBinding() {
903 if (model != null) {
904 model.removePropertyChangeListener("endDate2", this);
905 }
906 }
907 });
908 }
909
910 }