/[schmitzm]/trunk/src/skrueger/swing/DialogManager.java
ViewVC logotype

Diff of /trunk/src/skrueger/swing/DialogManager.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 422 by alfonx, Fri Oct 2 00:47:48 2009 UTC revision 435 by alfonx, Sun Oct 4 23:33:30 2009 UTC
# Line 17  public abstract class DialogManager<KEY, Line 17  public abstract class DialogManager<KEY,
17          public abstract class FactoryInterface {          public abstract class FactoryInterface {
18    
19                  public abstract DIALOG create();                  public abstract DIALOG create();
20                    
21                    /** May be overridden to add Listeners **/
22                    public void appendListeners(DIALOG newInstance){};
23    
24                    /** May be overridden to remove Listeners added earlier **/
25                    public void removeListeners(DIALOG newInstance){};
26    
27          }          }
28    
# Line 96  public abstract class DialogManager<KEY, Line 102  public abstract class DialogManager<KEY,
102           * @return Always a visible and inFront instance of DIALOG for the given           * @return Always a visible and inFront instance of DIALOG for the given
103           *         key.           *         key.
104           */           */
105          public DIALOG getInstanceFor(final KEY key, FactoryInterface factory) {          public DIALOG getInstanceFor(final KEY key, final FactoryInterface factory) {
106                  DIALOG dialog;                  final DIALOG dialog;
107                  if (isVisibleFor(key)) {                  if (isVisibleFor(key)) {
108                          dialog = dialogCache.get(key);                          dialog = dialogCache.get(key);
109                  } else {                  } else {
# Line 109  public abstract class DialogManager<KEY, Line 115  public abstract class DialogManager<KEY,
115                          dialog.addWindowListener(new WindowAdapter() {                          dialog.addWindowListener(new WindowAdapter() {
116                                  @Override                                  @Override
117                                  public void windowClosed(final WindowEvent e) {                                  public void windowClosed(final WindowEvent e) {
118                                            factory.removeListeners(dialog);
119                                          disposeInstanceFor(key);                                          disposeInstanceFor(key);
120                                  }                                  }
121                          });                          });
122                            
123                            factory.appendListeners(dialog);
124                  }                  }
125                    
126                    dialog.setVisible(true);
127                    dialog.toFront();
128                    
129                  return dialog;                  return dialog;
130          }          }
131    

Legend:
Removed from v.422  
changed lines
  Added in v.435

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26