Revision: 1354
          http://svn.sourceforge.net/spring-rich-c/?rev=1354&view=rev
Author:   anodos
Date:     2006-08-30 13:22:39 -0700 (Wed, 30 Aug 2006)

Log Message:
-----------
Added setActiveWindow property change event to WindowManager (RCP-395).

Modified Paths:
--------------
    
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/WindowManager.java

Modified: 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/WindowManager.java
===================================================================
--- 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/WindowManager.java
 2006-08-30 20:20:19 UTC (rev 1353)
+++ 
trunk/spring-richclient/support/src/main/java/org/springframework/richclient/application/WindowManager.java
 2006-08-30 20:22:39 UTC (rev 1354)
@@ -20,8 +20,11 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Observable;
+import java.beans.PropertyChangeSupport;
+import java.beans.PropertyChangeListener;
 
 import org.springframework.util.Assert;
+import org.springframework.binding.value.PropertyChangePublisher;
 
 /**
  * A manager for a group of windows. Window managers are needed in applications
@@ -37,7 +40,7 @@
  * 
  * @see Window
  */
-public class WindowManager extends Observable {
+public class WindowManager extends Observable implements 
PropertyChangePublisher {
 
     /**
      * List of windows managed by this window manager (element type:
@@ -60,6 +63,8 @@
      * Holds the currently active window.
      */
     private ApplicationWindow activeWindow;
+    
+    private final PropertyChangeSupport changeSupport = new 
PropertyChangeSupport(this);
 
     /**
      * Creates an empty window manager without a parent window manager (that 
is,
@@ -179,15 +184,15 @@
      * Set the currently active window. When a window gets focus, it will set 
itself
      * as the current window of it's manager.
      * 
-     * TODO maybe provide a way to listen to activeWindow changes?
-     * 
      * @param window
      */
     public final void setActiveWindow(ApplicationWindow window)
     {
+        final ApplicationWindow old = this.activeWindow;
         this.activeWindow = window;
         if (getParent() != null) // let things ripple up
             getParent().setActiveWindow(window);
+        getChangeSupport().firePropertyChange("activeWindow", old, window);
     }
     
     /**
@@ -204,4 +209,33 @@
     public int size() {
         return windows.size();
     }
+    
+    
+    protected PropertyChangeSupport getChangeSupport() {
+        return changeSupport;
+    }
+
+    
+    
+    
+    //
+    // METHODS FROM INTERFACE PropertyChangePublisher
+    //
+
+
+    public void addPropertyChangeListener(PropertyChangeListener listener) {
+        getChangeSupport().addPropertyChangeListener(listener);
+    }
+
+    public void addPropertyChangeListener(String propertyName, 
PropertyChangeListener listener) {
+        getChangeSupport().addPropertyChangeListener(propertyName, listener);
+    }
+
+    public void removePropertyChangeListener(PropertyChangeListener listener) {
+        getChangeSupport().removePropertyChangeListener(listener);
+    }
+
+    public void removePropertyChangeListener(String propertyName, 
PropertyChangeListener listener) {
+        getChangeSupport().removePropertyChangeListener(propertyName, 
listener);
+    }
 }
\ No newline at end of file


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
spring-rich-c-cvs mailing list
spring-rich-c-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs

Reply via email to