Author: norman
Date: Sun Aug 23 11:38:49 2009
New Revision: 806954

URL: http://svn.apache.org/viewvc?rev=806954&view=rev
Log:
right usage of bind() unbind() pattern (still in progress)

Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
    
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java Sun 
Aug 23 11:38:49 2009
@@ -85,7 +85,7 @@
                                        
                                };
                                noopTimer.scheduleRepeating(30000);
-                               showMain();
+                               showMain(user);
                        }
                });
                bus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
@@ -102,13 +102,19 @@
        }
        
 
-       private void showMain() {
+       private void showMain(User user) {
+               loginPresenter.unbind();
+               mainPresenter.bind(user);
+               
                container.clear();
                container.add(mainPresenter.getDisplay().asWidget());
        }
        
        
        private void showLogin() {
+               mainPresenter.unbind();
+               loginPresenter.bind();
+
                container.clear();
                container.add(loginPresenter.getDisplay().asWidget());
        }

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java 
Sun Aug 23 11:38:49 2009
@@ -42,8 +42,6 @@
 import org.apache.hupa.shared.events.DecreaseUnseenEvent;
 import org.apache.hupa.shared.events.DecreaseUnseenEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
-import org.apache.hupa.shared.events.LoginEvent;
-import org.apache.hupa.shared.events.LoginEventHandler;
 import org.apache.hupa.shared.rpc.CreateFolder;
 import org.apache.hupa.shared.rpc.DeleteFolder;
 import org.apache.hupa.shared.rpc.EmptyResult;
@@ -73,7 +71,6 @@
        public IMAPFolderPresenter(Display display, EventBus eventBus, 
DispatchAsync dispatcher) {
                super(display, eventBus);
                this.dispatcher = dispatcher;
-               bind();
        }
 
        public interface Display extends WidgetDisplay {
@@ -190,24 +187,16 @@
 
        @Override
        protected void onBind() {
-               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
-
-                       public void onLogin(LoginEvent event) {
-                               user = event.getUser();
-                               loadTreeItems();
-                       }
-                       
-               });
                
-               eventBus.addHandler(DecreaseUnseenEvent.TYPE, new 
DecreaseUnseenEventHandler() {
+               registerHandler(eventBus.addHandler(DecreaseUnseenEvent.TYPE, 
new DecreaseUnseenEventHandler() {
 
                        public void onDecreaseUnseenEvent(DecreaseUnseenEvent 
event) {
                                
                                
tItem.descreaseUnseenMessageCount(event.getAmount());
                        }
                        
-               });
-               display.getTree().addSelectionHandler(new 
SelectionHandler<TreeItem>() {
+               }));
+               registerHandler(display.getTree().addSelectionHandler(new 
SelectionHandler<TreeItem>() {
 
                        public void onSelection(SelectionEvent<TreeItem> event) 
{
                                tItem = (IMAPTreeItem)event.getSelectedItem();
@@ -215,9 +204,9 @@
                                eventBus.fireEvent(new 
LoadMessagesEvent(user,folder));
                        }
                        
-               });
+               }));
                
-               display.getTree().addSelectionHandler(new 
SelectionHandler<TreeItem>() {
+               registerHandler(display.getTree().addSelectionHandler(new 
SelectionHandler<TreeItem>() {
 
                        public void onSelection(SelectionEvent<TreeItem> event) 
{
                                tItem = (IMAPTreeItem)event.getSelectedItem();
@@ -231,25 +220,25 @@
                                }
                        }
                        
-               });
+               }));
                
-               display.getRenameClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getRenameClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                tItem.startEdit();
                        }
                        
-               });
+               }));
                
-               display.getDeleteClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getDeleteClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                display.getDeleteConfirmDialog().show();
                        }
                        
-               });
+               }));
                
-               display.getDeleteConfirmClick().addClickHandler(new 
ClickHandler() {
+               
registerHandler(display.getDeleteConfirmClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                dispatcher.execute(new 
DeleteFolder(user.getSessionId(),folder), new AsyncCallback<EmptyResult>() {
@@ -265,9 +254,9 @@
                                });
                        }
                        
-               });
+               }));
                
-               display.getNewClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getNewClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                display.createFolder(new EditHandler() {
@@ -294,9 +283,16 @@
                                });
                        }
                        
-               });
+               }));
        }
 
+       public void bind(User user) {
+               this.user = user;
+               bind();
+
+               refreshDisplay();
+       }
+       
        @Override
        protected void onPlaceRequest(PlaceRequest request) {
                // TODO Auto-generated method stub
@@ -310,8 +306,7 @@
        }
 
        public void refreshDisplay() {
-               // TODO Auto-generated method stub
-               
+               loadTreeItems();                
        }
 
        public void revealDisplay() {

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=806954&r1=806953&r2=806954&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:38:49 2009
@@ -37,10 +37,6 @@
 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.LoginEvent;
-import org.apache.hupa.shared.events.LoginEventHandler;
-import org.apache.hupa.shared.events.LogoutEvent;
-import org.apache.hupa.shared.events.LogoutEventHandler;
 import org.apache.hupa.shared.events.MoveMessageEvent;
 import org.apache.hupa.shared.events.MoveMessageEventHandler;
 import org.apache.hupa.shared.events.NewMessageEvent;
@@ -92,7 +88,6 @@
        public IMAPMessageListPresenter(IMAPMessageListPresenter.Display 
display,EventBus bus,DispatchAsync dispatcher) {
                super(display,bus);
                this.dispatcher = dispatcher;
-               bind();
        }
        
        @Override
@@ -102,46 +97,8 @@
 
        @Override
        protected void onBind() {
-               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
-
-                       public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
-                               user = loadMessagesEvent.getUser();
-                               folder = loadMessagesEvent.getFolder();
-                               searchValue = 
loadMessagesEvent.getSearchValue();
-                               display.reloadData(user, folder, searchValue);
-                               display.deselectAllMessages();
-                       }
-                       
-               });
-               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
-
-                       public void onLogin(LoginEvent event) {
-                               user = event.getUser();
-                               folder = new 
IMAPFolder(IMAPFolder.DEFAULT_INBOX);
-                               display.reloadData(user, folder, null);
-                               display.deselectAllMessages();
-
-                       }
-
-                       
-               });
-               eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
-
-                       public void onLogout(LogoutEvent event) {
-                               display.reset();
-                               display.deselectAllMessages();
-                       }
-
-                       
-               });
-               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
-
-                       public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
-                               display.deselectAllMessages();
-                       }
-                       
-               });
-               eventBus.addHandler(MoveMessageEvent.TYPE, new 
MoveMessageEventHandler() {
+               
+               registerHandler(eventBus.addHandler(MoveMessageEvent.TYPE, new 
MoveMessageEventHandler() {
 
                        public void onMoveMessageHandler(MoveMessageEvent 
event) {
                                final IMAPMessage message = event.getMessage();
@@ -160,36 +117,26 @@
                                });
                        }
                        
-               });
-               display.getSelectAllClick().addClickHandler(new ClickHandler() {
+               }));
+               registerHandler(display.getSelectAllClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                display.deselectAllMessages();
                                display.selectAllMessages();
                        }
                        
-               });
+               }));
                
-               display.getSelectNoneClick().addClickHandler(new ClickHandler() 
{
+               
registerHandler(display.getSelectNoneClick().addClickHandler(new ClickHandler() 
{
 
                        public void onClick(ClickEvent event) {
                                display.deselectAllMessages();
                        }
                        
-               });
-               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.getDeleteClick().addClickHandler(new 
com.google.gwt.event.dom.client.ClickHandler() {
+               registerHandler(display.getDeleteClick().addClickHandler(new 
com.google.gwt.event.dom.client.ClickHandler() {
 
                        public void 
onClick(com.google.gwt.event.dom.client.ClickEvent event) {
                                if 
(folder.getFullName().equals(IMAPFolder.DEFAULT_TRASH)) {
@@ -200,21 +147,33 @@
                                
                        }
                        
-               });
-               display.getConfirmDialogClick().addClickHandler(new 
ClickHandler() {
+               }));
+               
registerHandler(display.getConfirmDialogClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                deleteMessages();
                        }
                        
-               });
+               }));
                
-               display.getNewClick().addClickHandler(new 
com.google.gwt.event.dom.client.ClickHandler() {
+               registerHandler(display.getNewClick().addClickHandler(new 
com.google.gwt.event.dom.client.ClickHandler() {
 
                        public void 
onClick(com.google.gwt.event.dom.client.ClickEvent event) {
                                eventBus.fireEvent(new NewMessageEvent());
                        }
                        
+               }));
+               
+               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));
+                       }
+
                });
                
        }
@@ -234,6 +193,14 @@
                        
                });
        }
+       
+       public void bind(User user, IMAPFolder folder, String searchValue) {
+               this.user = user;
+               this.folder = folder;
+               this.searchValue  = searchValue;
+               bind();
+               refreshDisplay();
+       }
        @Override
        protected void onPlaceRequest(PlaceRequest request) {
                // TODO Auto-generated method stub
@@ -242,12 +209,13 @@
 
        @Override
        protected void onUnbind() {
-               
+               display.reset();
+               display.deselectAllMessages();
        }
 
        public void refreshDisplay() {
-               // TODO Auto-generated method stub
-               
+               display.reloadData(user, folder, searchValue);
+               display.deselectAllMessages();
        }
 
        public void revealDisplay() {

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java 
Sun Aug 23 11:38:49 2009
@@ -79,7 +79,6 @@
        private IMAPMessagePresenter(IMAPMessagePresenter.Display 
display,EventBus bus, DispatchAsync dispatcher) {
                super(display,bus);
                this.dispatcher = dispatcher;
-               bind();
        }
 
        
@@ -87,7 +86,8 @@
                this.message = message;
                this.folder = folder;
                this.user = user;
-               updateDisplay();
+               bind();
+               refreshDisplay();
        }
 
        private void updateDisplay() {
@@ -110,7 +110,7 @@
 
        @Override
        protected void onBind() {
-               display.getDeleteButtonClick().addClickHandler(new 
ClickHandler() {
+               
registerHandler(display.getDeleteButtonClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                ArrayList<Long> uidList = new ArrayList<Long>();
@@ -124,31 +124,31 @@
                                });
                        }
                        
-               });
+               }));
                
-               display.getForwardButtonClick().addClickHandler(new 
ClickHandler() {
+               
registerHandler(display.getForwardButtonClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                eventBus.fireEvent(new 
ForwardMessageEvent(user,folder,message));
                        }
                        
-               });
+               }));
                
-               display.getReplyButtonClick().addClickHandler(new 
ClickHandler() {
+               
registerHandler(display.getReplyButtonClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                eventBus.fireEvent(new 
ReplyMessageEvent(user,folder,message,false));
                        }
                        
-               });
+               }));
                
-               display.getReplyAllButtonClick().addClickHandler(new 
ClickHandler() {
+               
registerHandler(display.getReplyAllButtonClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                eventBus.fireEvent(new 
ReplyMessageEvent(user,folder,message,true));
                        }
                        
-               });
+               }));
                
        }
 

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java Sun 
Aug 23 11:38:49 2009
@@ -60,7 +60,6 @@
        public LoginPresenter(LoginPresenter.Display display,EventBus 
bus,DispatchAsync dispatcher) {
                super(display,bus);
                this.dispatcher = dispatcher;
-               bind();
        }
 
        
@@ -103,20 +102,20 @@
 
        @Override
        protected void onBind() {
-               display.getLoginClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getLoginClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                doLogin();
                        }
                        
-               });
-               display.getResetClick().addClickHandler(new ClickHandler() {
+               }));
+               registerHandler(display.getResetClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                doReset();
                        }
                        
-               });
+               }));
        }
 
        @Override
@@ -135,7 +134,7 @@
 
        public void refreshDisplay() {
                // TODO Auto-generated method stub
-               
+       
        }
 
        public void revealDisplay() {

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java Sun 
Aug 23 11:38:49 2009
@@ -43,10 +43,7 @@
 import org.apache.hupa.shared.events.ForwardMessageEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.events.LoadMessagesEventHandler;
-import org.apache.hupa.shared.events.LoginEvent;
-import org.apache.hupa.shared.events.LoginEventHandler;
 import org.apache.hupa.shared.events.LogoutEvent;
-import org.apache.hupa.shared.events.LogoutEventHandler;
 import org.apache.hupa.shared.events.MessagesReceivedEvent;
 import org.apache.hupa.shared.events.MessagesReceivedEventHandler;
 import org.apache.hupa.shared.events.NewMessageEvent;
@@ -88,7 +85,7 @@
        private CachingDispatchAsync cachingDispatcher;
        private User user;
        private IMAPFolder folder;
-       
+       private String searchValue;
        private IMAPMessageListPresenter messageListPresenter;
        private IMAPMessagePresenter messagePresenter;
        private MessageSendPresenter sendPresenter;
@@ -103,8 +100,6 @@
                this.messagePresenter = messagePresenter;
                this.sendPresenter = sendPresenter;
                this.folderPresenter = folderPresenter;
-               showMessageTable();
-               bind();
        }
        
        
@@ -125,27 +120,47 @@
                }
        }
 
-       private void showMessageTable() {
+       private void showMessageTable(User user, IMAPFolder folder, String 
searchValue) {
+               this.user = user;
+               this.folder = folder;
+               this.searchValue = searchValue;
+               
+               messagePresenter.unbind();
+               sendPresenter.unbind();
+               
+               messageListPresenter.bind(user, folder, searchValue);
                display.setCenter(messageListPresenter.getDisplay().asWidget());
        }
        
-       private void showMessage(IMAPMessage message) {
+       private void showMessage(User user, IMAPFolder folder, IMAPMessage 
message) {
+               sendPresenter.unbind();
+               messageListPresenter.unbind();
+               
                messagePresenter.bind(user,folder,message);
                display.setCenter(messagePresenter.getDisplay().asWidget());
        }
        
        
        private void showNewMessage() {
+               messagePresenter.unbind();
+               messageListPresenter.unbind();
+               
                sendPresenter.bind(user, Type.NEW);
                display.setCenter(sendPresenter.getDisplay().asWidget());
        }
        
        private void showForwardMessage(ForwardMessageEvent event) {
+               messagePresenter.unbind();
+               messageListPresenter.unbind();
+
                
sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),Type.FORWARD);
                display.setCenter(sendPresenter.getDisplay().asWidget());
        }
        
        private void showReplyMessage(ReplyMessageEvent event) {
+               messagePresenter.unbind();
+               messageListPresenter.unbind();
+
                if (event.getReplyAll()) {
                        
sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),Type.REPLY_ALL);
                } else {
@@ -165,35 +180,31 @@
                return PLACE;
        }
 
-       @Override
-       protected void onBind() {
-               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+       private void showIMAPFolders(User user) {
+               folderPresenter.bind(user);
+               display.setWest(folderPresenter.getDisplay().asWidget());
 
-                       public void onLogin(LoginEvent event) {
-                               user = event.getUser();
-                               folder = new 
IMAPFolder(IMAPFolder.DEFAULT_INBOX);
-                               
display.setWest(folderPresenter.getDisplay().asWidget());
-                               showMessageTable();
-                       }
-                       
-               });
-               eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
+       }
+       
+       public void bind(User user) {
+               this.user = user;
+               folder = new IMAPFolder(IMAPFolder.DEFAULT_INBOX);
 
-                       public void onLogout(LogoutEvent logoutEvent) {
-                               reset();
-                       }
-                       
-               });
-               
-               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
+               bind();
+               refreshDisplay();
+       }
+       
+       @Override
+       protected void onBind() {
+       
+               registerHandler(eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
 
                        public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
-                               folder = loadMessagesEvent.getFolder();
-                               showMessageTable();
+                               showMessageTable(loadMessagesEvent.getUser(), 
loadMessagesEvent.getFolder(), loadMessagesEvent.getSearchValue());
                        }
                        
-               });
-               eventBus.addHandler(MessagesReceivedEvent.TYPE, new 
MessagesReceivedEventHandler() {
+               }));
+               registerHandler(eventBus.addHandler(MessagesReceivedEvent.TYPE, 
new MessagesReceivedEventHandler() {
 
                        public void onMessagesReceived(MessagesReceivedEvent 
event) {
                                
@@ -201,9 +212,9 @@
                                display.fillOracle(event.getMessages());
                        }
                        
-               });
+               }));
                
-               eventBus.addHandler(ExpandMessageEvent.TYPE, new 
ExpandMessageEventHandler() {
+               registerHandler(eventBus.addHandler(ExpandMessageEvent.TYPE, 
new ExpandMessageEventHandler() {
 
                        public void onExpandMessage(ExpandMessageEvent event) {
                                final boolean decreaseUnseen;
@@ -217,8 +228,7 @@
 
                                        @Override
                                        protected void handleFailure(Throwable 
e) {
-                                               // TODO Auto-generated method 
stub
-                                               
+                                               GWT.log("ERROR", e);
                                        }
 
                                        @Override
@@ -228,37 +238,37 @@
                                                        eventBus.fireEvent(new 
DecreaseUnseenEvent(user,folder));
                                                }
                                                
-                                               
showMessage(result.getMessage());
+                                               showMessage(user, folder, 
result.getMessage());
                                        }
 
                                        
                                });
                        }
                        
-               });
-               eventBus.addHandler(NewMessageEvent.TYPE, new 
NewMessageEventHandler() {
+               }));
+               registerHandler(eventBus.addHandler(NewMessageEvent.TYPE, new 
NewMessageEventHandler() {
 
                        public void onNewMessageEvent(NewMessageEvent event) {
                                showNewMessage();
                        }
                        
-               });
+               }));
                
-               eventBus.addHandler(SentMessageEvent.TYPE, new 
SentMessageEventHandler() {
+               registerHandler(eventBus.addHandler(SentMessageEvent.TYPE, new 
SentMessageEventHandler() {
 
                        public void onSentMessageEvent(SentMessageEvent ev) {
-                               showMessageTable();
+                               showMessageTable(user,folder,searchValue);
                        }
                        
-               });
+               }));
                
-               eventBus.addHandler(ForwardMessageEvent.TYPE, new 
ForwardMessageEventHandler() {
+               registerHandler(eventBus.addHandler(ForwardMessageEvent.TYPE, 
new ForwardMessageEventHandler() {
 
                        public void onForwardMessageEvent(ForwardMessageEvent 
event) {
                                showForwardMessage(event);
                        }
                        
-               });
+               }));
                eventBus.addHandler(ReplyMessageEvent.TYPE, new 
ReplyMessageEventHandler() {
 
                        public void onReplyMessageEvent(ReplyMessageEvent 
event) {
@@ -266,33 +276,30 @@
                        }
                        
                });
-               eventBus.addHandler(FolderSelectionEvent.TYPE, new 
FolderSelectionEventHandler() {
+               registerHandler(eventBus.addHandler(FolderSelectionEvent.TYPE, 
new FolderSelectionEventHandler() {
 
                        public void onFolderSelectionEvent(FolderSelectionEvent 
event) {
-                               showMessageTable();
+                               
showMessageTable(user,event.getFolder(),searchValue);
                        }
                        
-               });
-               Window.addWindowClosingHandler(new ClosingHandler() {
+               }));
+               registerHandler(Window.addWindowClosingHandler(new 
ClosingHandler() {
 
                        public void onWindowClosing(ClosingEvent event) {
                                doLogout();
                        }
                        
-               });
+               }));
                
-               reset();
-               display.getLogoutClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getLogoutClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                doLogout();
                        }
                        
-               });
-               
+               }));
                
-               
-               display.getSearchClick().addClickHandler(new ClickHandler() {
+               registerHandler(display.getSearchClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                String searchValue = null;
@@ -302,7 +309,7 @@
                                eventBus.fireEvent(new 
LoadMessagesEvent(user,folder,searchValue));
                        }
                        
-               });
+               }));
                
        }
 
@@ -315,13 +322,17 @@
 
        @Override
        protected void onUnbind() {
-               // TODO Auto-generated method stub
-               
+               messagePresenter.unbind();
+               sendPresenter.unbind();
+               messageListPresenter.unbind();
+               folderPresenter.unbind();
+               reset();
+       
        }
 
        public void refreshDisplay() {
-               // TODO Auto-generated method stub
-               
+               showIMAPFolders(user);
+               showMessageTable(user,folder,null);
        }
 
        public void revealDisplay() {

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=806954&r1=806953&r2=806954&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java 
(original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java 
Sun Aug 23 11:38:49 2009
@@ -45,8 +45,6 @@
 import org.apache.hupa.shared.events.FolderSelectionEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.events.LoadMessagesEventHandler;
-import org.apache.hupa.shared.events.LoginEvent;
-import org.apache.hupa.shared.events.LoginEventHandler;
 import org.apache.hupa.shared.events.SentMessageEvent;
 import org.apache.hupa.shared.rpc.EmptyResult;
 import org.apache.hupa.shared.rpc.ForwardMessage;
@@ -76,9 +74,7 @@
        @Inject
        public MessageSendPresenter(Display display, EventBus eventBus, 
DispatchAsync dispatcher) {
                super(display, eventBus);
-               this.dispatcher = dispatcher;
-               bind();
-               
+               this.dispatcher = dispatcher;           
        }
 
        public enum Type {
@@ -108,30 +104,23 @@
 
        @Override
        protected void onBind() {
-               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
-
-                       public void onLogin(LoginEvent event) {
-                               user = event.getUser();
-                               display.getFromText().setText(user.getName());
-                       }
-                       
-               });
-               eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
+               registerHandler(eventBus.addHandler(LoadMessagesEvent.TYPE, new 
LoadMessagesEventHandler() {
 
                        public void onLoadMessagesEvent(LoadMessagesEvent 
loadMessagesEvent) {
                                reset();
                        }
                        
-               });
-               eventBus.addHandler(FolderSelectionEvent.TYPE, new 
FolderSelectionEventHandler() {
+               }));
+               registerHandler(eventBus.addHandler(FolderSelectionEvent.TYPE, 
new FolderSelectionEventHandler() {
 
                        public void onFolderSelectionEvent(FolderSelectionEvent 
event) {
                                reset();
                        }
                        
-               });
+               }));
                display.getUploader().setOnFinishHandler(handler);
-               display.getSendClick().addClickHandler(new ClickHandler() {
+               
+               registerHandler(display.getSendClick().addClickHandler(new 
ClickHandler() {
 
                        public void onClick(ClickEvent event) {
                                
@@ -206,7 +195,7 @@
                                }
                
                        
-               });
+               }));
        }
 
        private void reset() {
@@ -296,6 +285,11 @@
                this.folder = folder;
                this.user = user;
                this.type = type;
+               
+               bind();
+               
+               display.getFromText().setText(user.getName());
+
                if (type.equals(Type.FORWARD)) {
                        display.getSubjectText().setText("Fwd: " + 
oldmessage.getHeader().getSubject());
                        display.getMessageText().setText("\n\n-------- Original 
Message -------\n" );



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

Reply via email to