View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.user.privileges;
2   
3   import fr.ifremer.dali.dto.referential.PrivilegeDTO;
4   import fr.ifremer.dali.ui.swing.DaliHelpBroker;
5   import fr.ifremer.dali.ui.swing.DaliUIContext;
6   import fr.ifremer.dali.ui.swing.util.DaliUI;
7   import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
8   import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedBeanDoubleList;
9   import java.awt.BorderLayout;
10  import java.awt.Container;
11  import java.awt.Dialog;
12  import java.awt.Dialog.ModalityType;
13  import java.awt.Frame;
14  import java.awt.GraphicsConfiguration;
15  import java.awt.GridLayout;
16  import java.awt.Window;
17  import java.awt.event.ActionEvent;
18  import java.awt.event.ActionListener;
19  import java.util.ArrayList;
20  import java.util.HashMap;
21  import java.util.List;
22  import java.util.Map;
23  import java.util.TreeMap;
24  import javax.swing.BorderFactory;
25  import javax.swing.JButton;
26  import javax.swing.JDialog;
27  import javax.swing.JList;
28  import javax.swing.JPanel;
29  import javax.swing.SwingConstants;
30  import jaxx.runtime.JAXXBinding;
31  import jaxx.runtime.JAXXContext;
32  import jaxx.runtime.JAXXObject;
33  import jaxx.runtime.JAXXObjectDescriptor;
34  import jaxx.runtime.JAXXUtil;
35  import jaxx.runtime.SwingUtil;
36  import jaxx.runtime.binding.DefaultJAXXBinding;
37  import jaxx.runtime.context.DefaultJAXXContext;
38  import jaxx.runtime.swing.CardLayout2Ext;
39  import org.apache.commons.logging.Log;
40  import org.apache.commons.logging.LogFactory;
41  import static org.nuiton.i18n.I18n.t;
42  
43  public class PrivilegesDialogUI extends JDialog implements DaliUI<PrivilegesDialogUIModel, PrivilegesDialogUIHandler>, JAXXObject {
44  
45      /*-----------------------------------------------------------------------*/
46      /*------------------ Constants for all public bindings ------------------*/
47      /*-----------------------------------------------------------------------*/
48  
49      public static final String BINDING_VALIDATE_BUTTON_ENABLED = "validateButton.enabled";
50  
51      /*-----------------------------------------------------------------------*/
52      /*------------------------- Other static fields -------------------------*/
53      /*-----------------------------------------------------------------------*/
54  
55      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVVTW8bRRgeu3ESO01bmjQKpBGhpRIIadyPA6AgKE0akcqhVROqCl8Y7752phrPbGdmkw0IhMQf4CfAnQsSN06IA2cOXBB/ASEOXBHv7K53/bGOLUVY8tj7fjzv1z7vfPcnqRhNXnnGoojqUFreBfrg/adPH7aegWe3wXiaB1ZpknxKZVJukgU/kxtLrjcbzr2eute3VDdQEmSf92aD1Iw9EWAOAawl64MenjH1/Uy9GQWh7qFmSRWhfvP3X+Wv/S+/LRMSBZjdApayMckrr2SmQcrct+QyRjpidcFkB9PQXHYw30Un2xLMmA9ZF56TL8hcg8wGTCOYJdemLznGiP2jwJJLgeZHXEAHzDZnQnUsedLWlLc1dEFTnwlOQ07NMWZBPSUtgtIuk6wDVEMbXHj0o6FB6xyLPhqC/Wg3COKos5ZUusoHYUnz/wm059DzaBcFN/YRkyAa7ESF2KzBtyuJuMW0n+hv349s7j3/6oPY9yaOxU0gSu0TqTOqZrbVLJITLLvjcqZc7mu0ClsCGmhsyVZfD56HzNe8A3f6G5EOkraASYqpgfTBv4cPOYqLcGUk41tZErnuQp5EEv6FgZp6YC+NgN0uqOi8x6QH4h62FMdFlgagEqmzfDmPfoRD9pmFXHk9tdBkbWAoyECaMzCnSKlJKjpEsSWrzVHSPkZVQtfVIbo6wFj778rSbz/+8cNOj6OLGPtKoWnfikHuBFoFoC13oS8mBA0tF/U9Fmw2SdWAwP0U75+rBYntp2pMDuPFXafOnX7AzCFCVOZ+/+nnlU9+PUfKO6QmFPN3mLPfJVV7qLELSvhR8N7dOKPzx/N4XsLvOXzpUMs/ZfgqWDJjdYg/Fcute1yPSZUmfjLMnISHTKRuETbtakHTssxb1V/+Wdr//m6vcSUs5MWx5nnzKh+TWS4FlxCvt3RzFa6zhcBA6Kt8QxXtLFKwtIKUsG/EZ32kT2VLam0uLOikUZU2EwZ/F7Gxx9vgKc0w5548Ch3Km3GN7t/bZAx9J4WdQZLwW2/JPQldJblnyVo8EmQ1PtOEP7SbaWs4c67krlt/ZDZRu/FA5Kg64CqUy3/BKiUOeHAwxqKokgHaTqqgMlLBen+QHqHH1sA8DwKb1bBc5DxcxhijOZBueHg/Ln8WXyCUm/s+t0742uufF5U6tHAmFVvChEV6R1x4B/3YRotLH/fZuyPoJXfWJiI6secOvxhh6cwIK1NUNe8uj4OTAE7BWZ2mOy2lfdCnoKyduZ6zI2xMUckM95ILaAzGtamy+OoUhBuI8B82AiGdzgoAAA==";
56      private static final Log log = LogFactory.getLog(PrivilegesDialogUI.class);
57      private static final long serialVersionUID = 1L;
58  
59      /*-----------------------------------------------------------------------*/
60      /*--------------------------- Internal states ---------------------------*/
61      /*-----------------------------------------------------------------------*/
62  
63      protected List<Object> $activeBindings = new ArrayList<Object>();
64      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
65      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
66      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
67      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
68      private boolean allComponentsCreated;
69      protected final JAXXContext delegateContext = new DefaultJAXXContext();
70  
71      /*-----------------------------------------------------------------------*/
72      /*------------------------ Protected components  ------------------------*/
73      /*-----------------------------------------------------------------------*/
74  
75      protected JButton cancelButton;
76      protected final PrivilegesDialogUIHandler handler = createHandler();
77      protected JPanel listPanel;
78      protected CardLayout2Ext listPanelLayout;
79      protected PrivilegesDialogUIModel model;
80      protected PrivilegesDialogUI privilegesDialog = this;
81      protected ExtendedBeanDoubleList<PrivilegeDTO> privilegesDoubleList;
82      protected JList<PrivilegeDTO> privilegesList;
83      protected JButton validateButton;
84  
85      /*-----------------------------------------------------------------------*/
86      /*------------------------- Private components  -------------------------*/
87      /*-----------------------------------------------------------------------*/
88  
89      private JPanel $JPanel0;
90      private JPanel $JPanel1;
91      private JPanel $JPanel2;
92  
93      /*-----------------------------------------------------------------------*/
94      /*---------------------------- Constructors  ----------------------------*/
95      /*-----------------------------------------------------------------------*/
96  
97      public PrivilegesDialogUI(DaliUIContext context) {
98          super(context.getMainUI());
99          			ApplicationUIUtil.setApplicationContext(this, context);
100             $initialize();
101     }
102 
103     public PrivilegesDialogUI(Window param0) {
104         super(param0);
105         $initialize();
106     }
107 
108     public PrivilegesDialogUI(JAXXContext parentContext, Window param1) {
109         super(param1);
110         JAXXUtil.initContext(this, parentContext);
111         $initialize();
112     }
113 
114     public PrivilegesDialogUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
115         super(param0 ,param1 ,param2 ,param3);
116         $initialize();
117     }
118 
119     public PrivilegesDialogUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
120         super(param1 ,param2 ,param3 ,param4);
121         JAXXUtil.initContext(this, parentContext);
122         $initialize();
123     }
124 
125     public PrivilegesDialogUI(Dialog param0, String param1, boolean param2) {
126         super(param0 ,param1 ,param2);
127         $initialize();
128     }
129 
130     public PrivilegesDialogUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
131         super(param1 ,param2 ,param3);
132         JAXXUtil.initContext(this, parentContext);
133         $initialize();
134     }
135 
136     public PrivilegesDialogUI(Dialog param0, String param1) {
137         super(param0 ,param1);
138         $initialize();
139     }
140 
141     public PrivilegesDialogUI(JAXXContext parentContext, Dialog param1, String param2) {
142         super(param1 ,param2);
143         JAXXUtil.initContext(this, parentContext);
144         $initialize();
145     }
146 
147     public PrivilegesDialogUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
148         super(param0 ,param1 ,param2 ,param3);
149         $initialize();
150     }
151 
152     public PrivilegesDialogUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
153         super(param1 ,param2 ,param3 ,param4);
154         JAXXUtil.initContext(this, parentContext);
155         $initialize();
156     }
157 
158     public PrivilegesDialogUI(Window param0, String param1, ModalityType param2) {
159         super(param0 ,param1 ,param2);
160         $initialize();
161     }
162 
163     public PrivilegesDialogUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
164         super(param1 ,param2 ,param3);
165         JAXXUtil.initContext(this, parentContext);
166         $initialize();
167     }
168 
169     public PrivilegesDialogUI(Window param0, String param1) {
170         super(param0 ,param1);
171         $initialize();
172     }
173 
174     public PrivilegesDialogUI(JAXXContext parentContext, Window param1, String param2) {
175         super(param1 ,param2);
176         JAXXUtil.initContext(this, parentContext);
177         $initialize();
178     }
179 
180     public PrivilegesDialogUI(Window param0, ModalityType param1) {
181         super(param0 ,param1);
182         $initialize();
183     }
184 
185     public PrivilegesDialogUI(JAXXContext parentContext, Window param1, ModalityType param2) {
186         super(param1 ,param2);
187         JAXXUtil.initContext(this, parentContext);
188         $initialize();
189     }
190 
191     public PrivilegesDialogUI(Frame param0, String param1) {
192         super(param0 ,param1);
193         $initialize();
194     }
195 
196     public PrivilegesDialogUI(JAXXContext parentContext, Frame param1, String param2) {
197         super(param1 ,param2);
198         JAXXUtil.initContext(this, parentContext);
199         $initialize();
200     }
201 
202     public PrivilegesDialogUI(Frame param0, boolean param1) {
203         super(param0 ,param1);
204         $initialize();
205     }
206 
207     public PrivilegesDialogUI(JAXXContext parentContext, Frame param1, boolean param2) {
208         super(param1 ,param2);
209         JAXXUtil.initContext(this, parentContext);
210         $initialize();
211     }
212 
213     public PrivilegesDialogUI(Frame param0) {
214         super(param0);
215         $initialize();
216     }
217 
218     public PrivilegesDialogUI(JAXXContext parentContext, Frame param1) {
219         super(param1);
220         JAXXUtil.initContext(this, parentContext);
221         $initialize();
222     }
223 
224     public PrivilegesDialogUI() {
225         $initialize();
226     }
227 
228     public PrivilegesDialogUI(JAXXContext parentContext) {
229         JAXXUtil.initContext(this, parentContext);
230         $initialize();
231     }
232 
233     public PrivilegesDialogUI(Dialog param0, boolean param1) {
234         super(param0 ,param1);
235         $initialize();
236     }
237 
238     public PrivilegesDialogUI(JAXXContext parentContext, Dialog param1, boolean param2) {
239         super(param1 ,param2);
240         JAXXUtil.initContext(this, parentContext);
241         $initialize();
242     }
243 
244     public PrivilegesDialogUI(Dialog param0) {
245         super(param0);
246         $initialize();
247     }
248 
249     public PrivilegesDialogUI(JAXXContext parentContext, Dialog param1) {
250         super(param1);
251         JAXXUtil.initContext(this, parentContext);
252         $initialize();
253     }
254 
255     public PrivilegesDialogUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
256         super(param0 ,param1 ,param2 ,param3);
257         $initialize();
258     }
259 
260     public PrivilegesDialogUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
261         super(param1 ,param2 ,param3 ,param4);
262         JAXXUtil.initContext(this, parentContext);
263         $initialize();
264     }
265 
266     public PrivilegesDialogUI(Frame param0, String param1, boolean param2) {
267         super(param0 ,param1 ,param2);
268         $initialize();
269     }
270 
271     public PrivilegesDialogUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
272         super(param1 ,param2 ,param3);
273         JAXXUtil.initContext(this, parentContext);
274         $initialize();
275     }
276 
277     /*-----------------------------------------------------------------------*/
278     /*--------------------------- Statics methods ---------------------------*/
279     /*-----------------------------------------------------------------------*/
280 
281     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
282         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
283     }
284 
285     /*-----------------------------------------------------------------------*/
286     /*---------------------- JAXXObject implementation ----------------------*/
287     /*-----------------------------------------------------------------------*/
288 
289     @Override
290     public void applyDataBinding(String $binding) {
291         if (allComponentsCreated && $bindings.containsKey($binding)) {
292             getDataBinding($binding).applyDataBinding();
293         }
294         processDataBinding($binding);
295     }
296 
297     @Override
298     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
299         super.firePropertyChange(propertyName, oldValue, newValue);
300     }
301 
302     @Override
303     public Map<String, Object> get$objectMap() {
304         return $objectMap;
305     }
306 
307     @Override
308     public JAXXBinding getDataBinding(String bindingId) {
309         return $bindings.get(bindingId);
310     }
311 
312     @Override
313     public JAXXBinding[] getDataBindings() {
314         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
315     }
316 
317     @Override
318     public Object getObjectById(String id) {
319         return $objectMap.get(id);
320     }
321 
322     @Override
323     public void processDataBinding(String $binding, boolean $force) {
324         if (!$force && $activeBindings.contains($binding)) { 
325             return;
326         }
327         $activeBindings.add($binding);
328         try {
329             if (allComponentsCreated && $bindings.containsKey($binding)) {
330                 getDataBinding($binding).processDataBinding();
331             }
332         } finally {
333             $activeBindings.remove($binding);
334         }
335     }
336 
337     @Override
338     public void processDataBinding(String $binding) {
339         processDataBinding($binding, false);
340     }
341 
342     @Override
343     public void registerDataBinding(JAXXBinding binding) {
344         $bindings.put(binding.getId(), binding);
345     }
346 
347     @Override
348     public void removeDataBinding(String $binding) {
349         if (allComponentsCreated && $bindings.containsKey($binding)) {
350             getDataBinding($binding).removeDataBinding();
351         }
352     }
353 
354     /*-----------------------------------------------------------------------*/
355     /*--------------------- JAXXContext implementation  ---------------------*/
356     /*-----------------------------------------------------------------------*/
357 
358     @Override
359     public <T> T getContextValue(Class<T> clazz) {
360         return delegateContext.getContextValue(clazz, null);
361     }
362 
363     @Override
364     public <T> T getContextValue(Class<T> clazz, String name) {
365         return delegateContext.getContextValue(clazz, name);
366     }
367 
368     @Override
369     public JAXXContext getDelegateContext() {
370         return delegateContext;
371     }
372 
373     @Override
374     public <O extends Container> O getParentContainer(Class<O> clazz) {
375         return SwingUtil.getParentContainer(this, clazz);
376     }
377 
378     @Override
379     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
380         return SwingUtil.getParentContainer(source, clazz);
381     }
382 
383     @Override
384     public <T> void removeContextValue(Class<T> clazz) {
385         delegateContext.removeContextValue(clazz, null);
386     }
387 
388     @Override
389     public <T> void removeContextValue(Class<T> clazz, String name) {
390         delegateContext.removeContextValue(clazz, name);
391     }
392 
393     @Override
394     public <T> void setContextValue(T o) {
395         delegateContext.setContextValue(o, null);
396     }
397 
398     @Override
399     public <T> void setContextValue(T o, String name) {
400         delegateContext.setContextValue(o, name);
401     }
402 
403     /*-----------------------------------------------------------------------*/
404     /*---------------------------- Event methods ----------------------------*/
405     /*-----------------------------------------------------------------------*/
406 
407     public void doActionPerformed__on__cancelButton(ActionEvent event) {
408         if (log.isDebugEnabled()) {
409             log.debug(event);
410         }
411         handler.cancel();
412     }
413 
414     public void doActionPerformed__on__validateButton(ActionEvent event) {
415         if (log.isDebugEnabled()) {
416             log.debug(event);
417         }
418         handler.valid();
419     }
420 
421     /*-----------------------------------------------------------------------*/
422     /*----------------------- Public acessor methods  -----------------------*/
423     /*-----------------------------------------------------------------------*/
424 
425     public JButton getCancelButton() {
426         return cancelButton;
427     }
428 
429     public PrivilegesDialogUIHandler getHandler() {
430         return handler;
431     }
432 
433     public JPanel getListPanel() {
434         return listPanel;
435     }
436 
437     public CardLayout2Ext getListPanelLayout() {
438         return listPanelLayout;
439     }
440 
441     public PrivilegesDialogUIModel getModel() {
442         return model;
443     }
444 
445     public ExtendedBeanDoubleList<PrivilegeDTO> getPrivilegesDoubleList() {
446         return privilegesDoubleList;
447     }
448 
449     public JList<PrivilegeDTO> getPrivilegesList() {
450         return privilegesList;
451     }
452 
453     public JButton getValidateButton() {
454         return validateButton;
455     }
456 
457     /*-----------------------------------------------------------------------*/
458     /*--------------------- Protected acessors methods  ---------------------*/
459     /*-----------------------------------------------------------------------*/
460 
461     protected JPanel get$JPanel0() {
462         return $JPanel0;
463     }
464 
465     protected JPanel get$JPanel1() {
466         return $JPanel1;
467     }
468 
469     protected JPanel get$JPanel2() {
470         return $JPanel2;
471     }
472 
473     /*-----------------------------------------------------------------------*/
474     /*--------------------- Components creation methods ---------------------*/
475     /*-----------------------------------------------------------------------*/
476 
477     protected void addChildrenToListPanel() {
478         if (!allComponentsCreated) {
479             return;
480         }
481         listPanel.add(privilegesDoubleList, PrivilegesDialogUIHandler.DOUBLE_LIST);
482         listPanel.add($JPanel1, PrivilegesDialogUIHandler.LIST);
483     }
484 
485     protected void addChildrenToPrivilegesDialog() {
486         if (!allComponentsCreated) {
487             return;
488         }
489         add($JPanel0);
490     }
491 
492     protected void createCancelButton() {
493         $objectMap.put("cancelButton", cancelButton = new JButton());
494         
495         cancelButton.setName("cancelButton");
496         cancelButton.setText(t("dali.common.close"));
497         cancelButton.setToolTipText(t("dali.common.close"));
498         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
499     }
500 
501     protected PrivilegesDialogUIHandler createHandler() {
502         return new PrivilegesDialogUIHandler();
503     }
504 
505     protected void createListPanel() {
506         $objectMap.put("listPanel", listPanel = new JPanel());
507         
508         listPanel.setName("listPanel");
509         listPanel.setLayout(listPanelLayout);
510     }
511 
512     protected void createListPanelLayout() {
513         $objectMap.put("listPanelLayout", listPanelLayout = new CardLayout2Ext(this, "listPanel"));
514     }
515 
516     protected void createModel() {
517         $objectMap.put("model", model = getContextValue(PrivilegesDialogUIModel.class));
518     }
519 
520     protected void createPrivilegesDoubleList() {
521         $objectMap.put("privilegesDoubleList", privilegesDoubleList = new ExtendedBeanDoubleList<PrivilegeDTO>());
522         
523         privilegesDoubleList.setName("privilegesDoubleList");
524         privilegesDoubleList.setFilterable(false);
525         privilegesDoubleList.setShowDecorator(false);
526     }
527 
528     protected void createPrivilegesList() {
529         $objectMap.put("privilegesList", privilegesList = new JList<PrivilegeDTO>());
530         
531         privilegesList.setName("privilegesList");
532     }
533 
534     protected void createValidateButton() {
535         $objectMap.put("validateButton", validateButton = new JButton());
536         
537         validateButton.setName("validateButton");
538         validateButton.setText(t("dali.common.validate"));
539         validateButton.setToolTipText(t("dali.common.validate"));
540         validateButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validateButton"));
541     }
542 
543     /*-----------------------------------------------------------------------*/
544     /*------------------------ Internal jaxx methods ------------------------*/
545     /*-----------------------------------------------------------------------*/
546 
547     private void $completeSetup() {
548         allComponentsCreated = true;
549         if (log.isDebugEnabled()) {
550             log.debug(this);
551         }
552         addChildrenToPrivilegesDialog();
553         // inline complete setup of $JPanel0
554         $JPanel0.add(listPanel);
555         $JPanel0.add($JPanel2, BorderLayout.PAGE_END);
556         addChildrenToListPanel();
557         // inline complete setup of $JPanel1
558         $JPanel1.add(privilegesList);
559         // inline complete setup of $JPanel2
560         $JPanel2.add(cancelButton);
561         $JPanel2.add(validateButton);
562         
563         // apply 1 data bindings
564         JAXXUtil.applyDataBinding(this, $bindings.keySet());
565         
566         // apply 11 property setters
567         privilegesDoubleList.setBeanType(PrivilegeDTO.class);
568         $JPanel1.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
569         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
570         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
571         validateButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
572         validateButton.setIcon(SwingUtil.createActionIcon("accept"));
573         // late initializer
574         privilegesDialog.pack();
575     }
576 
577     private void $initialize() {
578         if (allComponentsCreated) {
579             return;
580         }
581         if (log.isDebugEnabled()) {
582             log.debug(this);
583         }
584         handler.beforeInit(this);
585         $objectMap.put("privilegesDialog", privilegesDialog);
586         createModel();
587         createListPanelLayout();
588         // inline creation of $JPanel0
589         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
590         
591         $JPanel0.setName("$JPanel0");
592         $JPanel0.setLayout(new BorderLayout());
593         createListPanel();
594         createPrivilegesDoubleList();
595         // inline creation of $JPanel1
596         $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
597         
598         $JPanel1.setName("$JPanel1");
599         $JPanel1.setLayout(new BorderLayout());
600         createPrivilegesList();
601         // inline creation of $JPanel2
602         $objectMap.put("$JPanel2", $JPanel2 = new JPanel());
603         
604         $JPanel2.setName("$JPanel2");
605         $JPanel2.setLayout(new GridLayout(1,0));
606         createCancelButton();
607         createValidateButton();
608         // inline creation of privilegesDialog
609         setName("privilegesDialog");
610         privilegesDialog.getContentPane().setLayout(new BorderLayout());
611         setResizable(true);
612         setTitle(t("dali.property.user.privileges"));
613         setModal(true);
614         
615         // registers 1 data bindings
616         $registerDefaultBindings();
617         $completeSetup();
618         handler.afterInit(this);
619     }
620 
621     private void $registerDefaultBindings() {
622         // register 1 data bindings
623         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_ENABLED, true) {
624         
625             @Override
626             public void applyDataBinding() {
627                 if (model != null) {
628                     model.addPropertyChangeListener("editable", this);
629                 }
630             }
631         
632             @Override
633             public void processDataBinding() {
634                 if (model != null) {
635                     validateButton.setEnabled(model.isEditable());
636                 }
637             }
638         
639             @Override
640             public void removeDataBinding() {
641                 if (model != null) {
642                     model.removePropertyChangeListener("editable", this);
643                 }
644             }
645         });
646     }
647 
648 }