You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/07/16 22:03:52 UTC
svn commit: r794819 - in /labs/hupa/src/main/java/org/apache/hupa/client/mvp:
IMAPMessageListPresenter.java IMAPMessageListView.java
Author: norman
Date: Thu Jul 16 20:03:51 2009
New Revision: 794819
URL: http://svn.apache.org/viewvc?rev=794819&view=rev
Log:
Start to implements deletion of messages
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=794819&r1=794818&r2=794819&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 Thu Jul 16 20:03:51 2009
@@ -19,6 +19,9 @@
package org.apache.hupa.client.mvp;
+import java.util.ArrayList;
+
+import net.customware.gwt.dispatch.client.DispatchAsync;
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.place.Place;
import net.customware.gwt.presenter.client.place.PlaceRequest;
@@ -36,9 +39,12 @@
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.rpc.DeleteMessage;
+import org.apache.hupa.shared.rpc.DeleteMessageResult;
import com.google.gwt.gen2.table.event.client.HasPageLoadHandlers;
import com.google.gwt.gen2.table.event.client.HasRowSelectionHandlers;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.inject.Inject;
public class IMAPMessageListPresenter extends WidgetPresenter<IMAPMessageListPresenter.Display>{
@@ -47,16 +53,20 @@
public HasRowSelectionHandlers getDataTableSelection();
public HasPageLoadHandlers getDataTableLoad();
public HasClickHandlers getDataTableClick();
+ public ArrayList<Integer> getSelectedMessagesUids();
+ public com.google.gwt.event.dom.client.HasClickHandlers getDeleteClick();
public void reloadData(IMAPUser user, IMAPFolder folder,String searchValue);
}
protected IMAPUser user;
protected IMAPFolder folder;
protected String searchValue;
+ private DispatchAsync dispatcher;
@Inject
- public IMAPMessageListPresenter(IMAPMessageListPresenter.Display display,EventBus bus) {
+ public IMAPMessageListPresenter(IMAPMessageListPresenter.Display display,EventBus bus,DispatchAsync dispatcher) {
super(display,bus);
+ this.dispatcher = dispatcher;
bind();
}
@@ -98,6 +108,25 @@
}
});
+ display.getDeleteClick().addClickHandler(new com.google.gwt.event.dom.client.ClickHandler() {
+
+ public void onClick(com.google.gwt.event.dom.client.ClickEvent event) {
+ dispatcher.execute(new DeleteMessage(user,folder,display.getSelectedMessagesUids()), new AsyncCallback<DeleteMessageResult>() {
+
+ public void onFailure(Throwable caught) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onSuccess(DeleteMessageResult result) {
+ // TODO Auto-generated method stub
+
+ }
+
+ });
+ }
+
+ });
}
@Override
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=794819&r1=794818&r2=794819&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 Thu Jul 16 20:03:51 2009
@@ -45,6 +45,7 @@
import org.cobogw.gwt.user.client.ui.Rating;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.logical.shared.ResizeEvent;
import com.google.gwt.event.logical.shared.ResizeHandler;
import com.google.gwt.gen2.table.client.AbstractColumnDefinition;
@@ -70,6 +71,7 @@
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.gen2.table.event.client.TableEvent.Row;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
@@ -92,6 +94,9 @@
private PagingScrollToolTipTable<IMAPMessage> mailTable;
private EventBus bus;
private MyFixedWidthGrid<IMAPMessage> dataTable = createDataTable();
+ private ArrayList<Integer> selectedUids = new ArrayList<Integer>();
+ private Button deleteMailButton = new Button(constants.deleteMailButton());
+
@Inject
public IMAPMessageListView(DispatchAsync dispatcher,EventBus bus) {
@@ -183,7 +188,6 @@
ButtonBar navigatorBar = new ButtonBar();
Button newMailButton = new Button(constants.newMailButton());
navigatorBar.add(newMailButton);
- final Button deleteMailButton = new Button(constants.deleteMailButton());
deleteMailButton.setEnabled(false);
navigatorBar.add(deleteMailButton);
@@ -196,6 +200,13 @@
} else {
deleteMailButton.setEnabled(true);
}
+ selectedUids.clear();
+ Iterator<Row> rowIt = event.getSelectedRows().iterator();
+ while(rowIt.hasNext()) {
+ int uid = mailTable.getRowValue(rowIt.next().getRowIndex()).getUid();
+ selectedUids.add(uid);
+ }
+
}
});
@@ -442,5 +453,13 @@
// TODO Auto-generated method stub
}
+
+ public ArrayList<Integer> getSelectedMessagesUids() {
+ return selectedUids;
+ }
+
+ public HasClickHandlers getDeleteClick() {
+ return deleteMailButton;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org