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/08/24 20:00:16 UTC

svn commit: r807322 - in /labs/hupa/src/main/java/org/apache/hupa/client: mvp/IMAPMessageListPresenter.java mvp/IMAPMessageListView.java mvp/IMAPMessagePresenter.java widgets/RefetchPagingScrollTable.java

Author: norman
Date: Mon Aug 24 18:00:16 2009
New Revision: 807322

URL: http://svn.apache.org/viewvc?rev=807322&view=rev
Log:
only bind handlers if the presenter is not already bound
fix deleting of rows from the table

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
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.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=807322&r1=807321&r2=807322&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 Mon Aug 24 18:00:16 2009
@@ -83,6 +83,7 @@
 	private String searchValue;
 	private DispatchAsync dispatcher;
 	private ShowMessageTableListener tableListener = new ShowMessageTableListener();
+	private boolean isBound = false;
 	public final static Place PLACE = new Place("IMAPMessageList");
 	
 	
@@ -167,7 +168,7 @@
 		}));
 		
 		display.addTableListener(tableListener);
-		
+		isBound = true;
 	}
 
 	private void deleteMessages() {
@@ -190,7 +191,10 @@
 		this.user = user;
 		this.folder = folder;
 		this.searchValue  = searchValue;
-		bind();
+		// workaround
+		if (isBound == false) {
+			bind();
+		}
 		refreshDisplay();
 	}
 	@Override
@@ -204,6 +208,7 @@
 		display.removeTableListener(tableListener);
 		display.reset();
 		display.deselectAllMessages();
+		isBound = false;
 	}
 
 	public void refreshDisplay() {

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=807322&r1=807321&r2=807322&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 Mon Aug 24 18:00:16 2009
@@ -113,7 +113,6 @@
 	private Hyperlink allLink = new Hyperlink(constants.all(),"");	
 	private Hyperlink noneLink = new Hyperlink(constants.none(),"");
 
-
 	
 	@Inject
 	public IMAPMessageListView(DispatchAsync dispatcher,EventBus bus, PagingScrollTableRowDragController controller) {

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=807322&r1=807321&r2=807322&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 Mon Aug 24 18:00:16 2009
@@ -74,6 +74,7 @@
 	private DispatchAsync dispatcher;
 	private IMAPFolder folder;
 	private User user;
+	private boolean isBound = false;
 
 	@Inject
 	private IMAPMessagePresenter(IMAPMessagePresenter.Display display,EventBus bus, DispatchAsync dispatcher) {
@@ -86,7 +87,9 @@
 		this.message = message;
 		this.folder = folder;
 		this.user = user;
-		bind();
+		if (isBound == false) { 
+			bind();
+		}
 		refreshDisplay();
 	}
 
@@ -149,7 +152,7 @@
 			}
 			
 		}));
-		
+		isBound = true;
 	}
 
 	@Override
@@ -181,7 +184,7 @@
 
 	@Override
 	protected void onUnbind() {
-		
+		isBound = false;
 	}
 
 	public void refreshDisplay() {

Modified: labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java?rev=807322&r1=807321&r2=807322&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/widgets/RefetchPagingScrollTable.java Mon Aug 24 18:00:16 2009
@@ -23,6 +23,7 @@
 import java.util.HashSet;
 import java.util.Iterator;
 
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
 import com.google.gwt.gen2.table.client.FixedWidthGrid;
 import com.google.gwt.gen2.table.client.MutableTableModel;
@@ -97,10 +98,12 @@
 		// Check if we found any rows to remove
 		if (rowsIndex.isEmpty() == false) {
 			// remove the row value on deletion
-			getRowValues().removeAll(rows);
-			selectedRows.removeAll(rows);
 			for (int i = 0; i <rowsIndex.size();i++) {
-				((MutableTableModel) getTableModel()).removeRow(rowsIndex.get(i));
+				int index = rowsIndex.get(i) -i;
+				selectedRows.remove(getRowValue(index));
+				getRowValues().remove(index);
+
+				((MutableTableModel) getTableModel()).removeRow(index);
 			}
 			
 			// Check if we need to refetch rows



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org