Author: norman
Date: Sun Aug 23 11:57:45 2009
New Revision: 806955

URL: http://svn.apache.org/viewvc?rev=806955&view=rev
Log:
Remove TableListener on unbind

Modified:
    
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=806955&r1=806954&r2=806955&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
 (original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
 Sun Aug 23 11:57:45 2009
@@ -35,8 +35,6 @@
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.events.DecreaseUnseenEvent;
 import org.apache.hupa.shared.events.ExpandMessageEvent;
-import org.apache.hupa.shared.events.LoadMessagesEvent;
-import org.apache.hupa.shared.events.LoadMessagesEventHandler;
 import org.apache.hupa.shared.events.MoveMessageEvent;
 import org.apache.hupa.shared.events.MoveMessageEventHandler;
 import org.apache.hupa.shared.events.NewMessageEvent;
@@ -62,7 +60,9 @@
        public interface Display extends WidgetDisplay{
                public HasRowSelectionHandlers getDataTableSelection();
                public HasPageLoadHandlers getDataTableLoad();
-               public void addTableListner(TableListener listener) ;
+               public void addTableListener(TableListener listener) ;
+               public void removeTableListener(TableListener listener) ;
+
                public HasClickHandlers getNewClick();
                public IMAPMessage getData(int rowIndex);
                public HasClickHandlers getDeleteClick();
@@ -82,8 +82,10 @@
        private IMAPFolder folder;
        private String searchValue;
        private DispatchAsync dispatcher;
+       private ShowMessageTableListener tableListener = new 
ShowMessageTableListener();
        public final static Place PLACE = new Place("IMAPMessageList");
        
+       
        @Inject
        public IMAPMessageListPresenter(IMAPMessageListPresenter.Display 
display,EventBus bus,DispatchAsync dispatcher) {
                super(display,bus);
@@ -164,17 +166,7 @@
                        
                }));
                
-               display.addTableListner(new TableListener() {
-
-                       public void onCellClicked(SourcesTableEvents sender, 
int row,
-                                       int cell) {
-                               
-                               IMAPMessage message = display.getData(row);
-
-                               eventBus.fireEvent(new 
ExpandMessageEvent(user,folder,message));
-                       }
-
-               });
+               display.addTableListener(tableListener);
                
        }
 
@@ -209,6 +201,7 @@
 
        @Override
        protected void onUnbind() {
+               display.removeTableListener(tableListener);
                display.reset();
                display.deselectAllMessages();
        }
@@ -222,5 +215,17 @@
                // TODO Auto-generated method stub
                
        }
+       
+       private final class ShowMessageTableListener implements TableListener {
+
+               public void onCellClicked(SourcesTableEvents sender, int row,
+                               int cell) {
+                       
+                       IMAPMessage message = display.getData(row);
+
+                       eventBus.fireEvent(new 
ExpandMessageEvent(user,folder,message));
+               }
+
+       };
 
 }

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java?rev=806955&r1=806954&r2=806955&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java 
Sun Aug 23 11:57:45 2009
@@ -530,13 +530,6 @@
                return mailTable;
        }
 
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#addTableListner(com.google.gwt.user.client.ui.TableListener)
-        */
-       public void addTableListner(TableListener listener) {
-               dataTable.addTableListener(listener);
-       }
 
        /*
         * (non-Javadoc)
@@ -677,4 +670,20 @@
        public void removeMessages(ArrayList<IMAPMessage> messages) {
                mailTable.removeRows(messages);
        }
+
+       /*
+        * (non-Javadoc)
+        * @see 
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#addTableListener(com.google.gwt.user.client.ui.TableListener)
+        */
+       public void addTableListener(TableListener listener) {
+               dataTable.addTableListener(listener);
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see 
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#removeTableListener(com.google.gwt.user.client.ui.TableListener)
+        */
+       public void removeTableListener(TableListener listener) {
+               dataTable.removeTableListener(listener);
+       }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to