Author: norman
Date: Tue Sep 22 18:39:22 2009
New Revision: 817756
URL: http://svn.apache.org/viewvc?rev=817756&view=rev
Log:
Move enable / disable of buttons to presenter
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=817756&r1=817755&r2=817756&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
Tue Sep 22 18:39:22 2009
@@ -47,13 +47,17 @@
import org.apache.hupa.shared.rpc.MoveMessage;
import org.apache.hupa.shared.rpc.MoveMessageResult;
import org.apache.hupa.shared.rpc.SetFlag;
+import org.apache.hupa.widgets.ui.HasEnable;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.gen2.event.shared.HandlerRegistration;
import com.google.gwt.gen2.table.event.client.HasPageLoadHandlers;
import com.google.gwt.gen2.table.event.client.HasRowSelectionHandlers;
+import com.google.gwt.gen2.table.event.client.RowSelectionEvent;
+import com.google.gwt.gen2.table.event.client.RowSelectionHandler;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.SourcesTableEvents;
import com.google.gwt.user.client.ui.TableListener;
@@ -72,6 +76,8 @@
public Message getData(int rowIndex);
public HasClickHandlers getDeleteClick();
public HasClickHandlers getDeleteAllClick();
+ public HasEnable getDeleteEnable();
+
public void reloadData(User user, IMAPFolder folder,String
searchValue);
public void removeMessages(ArrayList<Message> messages);
public ArrayList<Message> getSelectedMessages();
@@ -81,16 +87,18 @@
public HasClickHandlers getConfirmDeleteDialogClick();
public HasClickHandlers getConfirmDeleteAllDialogClick();
-
public void selectAllMessages();
public void deselectAllMessages();
public HasClickHandlers getSelectAllClick();
public HasClickHandlers getSelectNoneClick();
public HasClickHandlers getMarkSeenClick();
public HasClickHandlers getMarkUnseenClick();
+ public HasEnable getMarkSeenEnable();
+ public HasEnable getMarkUnseenEnable();
public void redraw();
}
+ private ArrayList<HandlerRegistration> regList = new
ArrayList<HandlerRegistration>();
private User user;
private IMAPFolder folder;
private String searchValue;
@@ -277,10 +285,27 @@
}));
+
regList.add(display.getDataTableSelection().addRowSelectionHandler(new
RowSelectionHandler() {
+ public void onRowSelection(RowSelectionEvent
event) {
+ if (event.getSelectedRows().size() ==
0) {
+
display.getDeleteEnable().setEnabled(false);
+
display.getMarkSeenEnable().setEnabled(false);
+
display.getMarkUnseenEnable().setEnabled(false);
+ } else {
+
display.getDeleteEnable().setEnabled(true);
+
display.getMarkSeenEnable().setEnabled(true);
+
display.getMarkUnseenEnable().setEnabled(true);
+ }
+ }
+
+
+
+ }));
display.addTableListener(tableListener);
isBound = true;
}
+
private void deleteMessages() {
final ArrayList<Message> selectedMessages = new
ArrayList<Message>(display.getSelectedMessages());
ArrayList<Long> uids = new ArrayList<Long>();
@@ -330,6 +355,9 @@
*/
protected void onUnbind() {
display.removeTableListener(tableListener);
+ for (int i = 0; i < regList.size(); i++) {
+ regList.get(i).removeHandler();
+ }
isBound = false;
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java?rev=817756&r1=817755&r2=817756&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
Tue Sep 22 18:39:22 2009
@@ -35,6 +35,7 @@
import org.apache.hupa.client.widgets.ConfirmDialogBox;
import org.apache.hupa.client.widgets.DragRefetchPagingScrollTable;
import org.apache.hupa.client.widgets.HasDialog;
+import org.apache.hupa.client.widgets.MyButton;
import org.apache.hupa.client.widgets.PagingOptions;
import
org.apache.hupa.client.widgets.DragRefetchPagingScrollTable.DragHandlerFactory;
import org.apache.hupa.shared.data.IMAPFolder;
@@ -44,6 +45,7 @@
import org.apache.hupa.shared.events.MessagesReceivedEvent;
import org.apache.hupa.shared.rpc.FetchMessages;
import org.apache.hupa.shared.rpc.FetchMessagesResult;
+import org.apache.hupa.widgets.ui.HasEnable;
import org.cobogw.gwt.user.client.ui.Button;
import org.cobogw.gwt.user.client.ui.ButtonBar;
@@ -74,8 +76,6 @@
import com.google.gwt.gen2.table.event.client.HasRowSelectionHandlers;
import com.google.gwt.gen2.table.event.client.PageLoadEvent;
import com.google.gwt.gen2.table.event.client.PageLoadHandler;
-import com.google.gwt.gen2.table.event.client.RowSelectionEvent;
-import com.google.gwt.gen2.table.event.client.RowSelectionHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -106,13 +106,13 @@
private EventBus bus;
private FixedWidthGrid dataTable = createDataTable();
- private Button deleteMailButton = new
Button(constants.deleteMailButton());
+ private MyButton deleteMailButton = new
MyButton(constants.deleteMailButton());
private Button newMailButton = new Button(constants.newMailButton());
private Button deleteAllMailButton = new Button(constants.deleteAll());
private ConfirmDialogBox confirmBox = new ConfirmDialogBox();
private ConfirmDialogBox confirmDeleteAllBox = new ConfirmDialogBox();
- private Button markSeenButton = new Button(constants.markSeen());
- private Button markUnSeenButton = new Button(constants.markUnseen());
+ private MyButton markSeenButton = new MyButton(constants.markSeen());
+ private MyButton markUnSeenButton = new
MyButton(constants.markUnseen());
private ListBox pageBox = new ListBox();
private Hyperlink allLink = new Hyperlink(constants.all(),"");
@@ -172,17 +172,6 @@
mailTable.getDataTable().setCellSpacing(0);
mailTable.setSortPolicy(SortPolicy.DISABLED);
- dataTable.addRowSelectionHandler(new RowSelectionHandler() {
-
- public void onRowSelection(RowSelectionEvent event) {
- if
(mailTable.getDataTable().getSelectedRows().size() == 0) {
- deleteMailButton.setEnabled(false);
- } else {
- deleteMailButton.setEnabled(true);
- }
- }
-
- });
// This is only needed as workaround in pagingscrolltable
// See
http://code.google.com/p/google-web-toolkit-incubator/wiki/PagingScrollTable
mailTable.setWidth(Window.getClientWidth() -150 -40+"px");
@@ -756,4 +745,28 @@
public HasClickHandlers getMarkUnseenClick() {
return markUnSeenButton;
}
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#getDeleteEnable()
+ */
+ public HasEnable getDeleteEnable() {
+ return deleteMailButton;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#getMarkSeenEnable()
+ */
+ public HasEnable getMarkSeenEnable() {
+ return markSeenButton;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see
org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#getMarkUnseenEnable()
+ */
+ public HasEnable getMarkUnseenEnable() {
+ return markUnSeenButton;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]