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/10 12:36:59 UTC

svn commit: r792876 - in /labs/hupa: src/main/java/org/apache/hupa/client/events/ src/main/java/org/apache/hupa/client/gin/ src/main/java/org/apache/hupa/client/mvp/ war/

Author: norman
Date: Fri Jul 10 10:36:58 2009
New Revision: 792876

URL: http://svn.apache.org/viewvc?rev=792876&view=rev
Log:
Fix some layout bugs
Fill the oracle again

Added:
    labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEvent.java
    labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEventHandler.java
Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
    labs/hupa/war/Hupa.css

Added: labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEvent.java?rev=792876&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEvent.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEvent.java Fri Jul 10 10:36:58 2009
@@ -0,0 +1,30 @@
+package org.apache.hupa.client.events;
+
+import java.util.ArrayList;
+
+import org.apache.hupa.client.data.IMAPMessage;
+
+import com.google.gwt.event.shared.GwtEvent;
+
+public class MessagesReceivedEvent extends GwtEvent<MessagesReceivedEventHandler>{
+	public static Type<MessagesReceivedEventHandler> TYPE = new Type<MessagesReceivedEventHandler>();
+	private ArrayList<IMAPMessage> messages;
+	
+	public MessagesReceivedEvent(ArrayList<IMAPMessage> messages) {
+		this.messages = messages;
+	}
+	
+	public ArrayList<IMAPMessage> getMessages() {
+		return messages;
+	}
+	@Override
+	protected void dispatch(MessagesReceivedEventHandler handler) {
+		handler.onMessagesReceived(this);
+	}
+
+	@Override
+	public com.google.gwt.event.shared.GwtEvent.Type<MessagesReceivedEventHandler> getAssociatedType() {
+		return TYPE;
+	}
+
+}

Added: labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEventHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEventHandler.java?rev=792876&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEventHandler.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/events/MessagesReceivedEventHandler.java Fri Jul 10 10:36:58 2009
@@ -0,0 +1,8 @@
+package org.apache.hupa.client.events;
+
+import com.google.gwt.event.shared.EventHandler;
+
+public interface MessagesReceivedEventHandler extends EventHandler{
+
+	public void onMessagesReceived(MessagesReceivedEvent event);
+}

Modified: labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java?rev=792876&r1=792875&r2=792876&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java Fri Jul 10 10:36:58 2009
@@ -22,6 +22,7 @@
 import org.apache.hupa.client.events.EventBus;
 import org.apache.hupa.client.mvp.AppPresenter;
 import org.apache.hupa.client.mvp.AppView;
+import org.apache.hupa.client.mvp.IMAPMessagePresenter;
 import org.apache.hupa.client.mvp.IMAPMessageView;
 import org.apache.hupa.client.mvp.LoginPresenter;
 import org.apache.hupa.client.mvp.LoginView;
@@ -43,6 +44,7 @@
 		bind(MainView.class).in(Singleton.class);
 		bind(MainPresenter.class).in(Singleton.class);
 		bind(IMAPMessageView.class).in(Singleton.class);
+		bind(IMAPMessagePresenter.class).in(Singleton.class);
 	}
 
 }

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=792876&r1=792875&r2=792876&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 Fri Jul 10 10:36:58 2009
@@ -1,17 +1,52 @@
 package org.apache.hupa.client.mvp;
 
+import org.apache.hupa.client.data.IMAPFolder;
+import org.apache.hupa.client.data.IMAPUser;
+import org.apache.hupa.client.events.EventBus;
+import org.apache.hupa.client.events.LoadMessagesEvent;
+import org.apache.hupa.client.events.LoadMessagesEventHandler;
+
+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.inject.Inject;
 
 public class IMAPMessagePresenter {
 	
 	public interface Display {
 		public HasRowSelectionHandlers getDataTableSelection();
+		public HasPageLoadHandlers getDataTableLoad();
+		public void reloadData(IMAPUser user, IMAPFolder folder,String searchValue);
 	}
+
+
+	private Display display;	
+	private EventBus bus;
+	protected IMAPUser user;
+	protected IMAPFolder folder;
+	protected String searchValue;
 	
+	@Inject
+	public IMAPMessagePresenter(EventBus bus) {
+		this.bus = bus;
+		bindHandlers();
+	}
 	
-	public void bind(Display display) {
+	private void bindHandlers() {
+		bus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
+
+			public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
+				user = loadMessagesEvent.getUser();
+				folder = loadMessagesEvent.getFolder();
+				searchValue = loadMessagesEvent.getSearchValue();
+				display.reloadData(user, folder, searchValue);
+			}
+			
+		});
+	}
+	public void bind(final Display display) {
+		this.display = display;
 		display.getDataTableSelection().addRowSelectionHandler(new RowSelectionHandler() {
 
 			public void onRowSelection(RowSelectionEvent event) {

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java?rev=792876&r1=792875&r2=792876&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java Fri Jul 10 10:36:58 2009
@@ -20,6 +20,7 @@
 package org.apache.hupa.client.mvp;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
@@ -31,8 +32,7 @@
 import org.apache.hupa.client.data.IMAPMessage;
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.events.EventBus;
-import org.apache.hupa.client.events.LoadMessagesEvent;
-import org.apache.hupa.client.events.LoadMessagesEventHandler;
+import org.apache.hupa.client.events.MessagesReceivedEvent;
 import org.apache.hupa.client.mvp.IMAPMessagePresenter.Display;
 import org.apache.hupa.client.rpc.FetchMessages;
 import org.apache.hupa.client.rpc.FetchMessagesResult;
@@ -40,11 +40,10 @@
 import org.cobogw.gwt.user.client.ui.ButtonBar;
 
 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.logical.shared.ResizeEvent;
 import com.google.gwt.event.logical.shared.ResizeHandler;
 import com.google.gwt.gen2.table.client.AbstractColumnDefinition;
+import com.google.gwt.gen2.table.client.CellRenderer;
 import com.google.gwt.gen2.table.client.ColumnDefinition;
 import com.google.gwt.gen2.table.client.DefaultTableDefinition;
 import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
@@ -55,21 +54,25 @@
 import com.google.gwt.gen2.table.client.TableDefinition;
 import com.google.gwt.gen2.table.client.TableModel;
 import com.google.gwt.gen2.table.client.TableModelHelper;
+import com.google.gwt.gen2.table.client.AbstractScrollTable.ColumnResizePolicy;
 import com.google.gwt.gen2.table.client.AbstractScrollTable.ResizePolicy;
 import com.google.gwt.gen2.table.client.AbstractScrollTable.ScrollPolicy;
 import com.google.gwt.gen2.table.client.PagingOptions.PagingOptionsImages;
 import com.google.gwt.gen2.table.client.SelectionGrid.SelectionPolicy;
+import com.google.gwt.gen2.table.client.TableDefinition.AbstractCellView;
 import com.google.gwt.gen2.table.client.TableModelHelper.Request;
+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.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;
-import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.RootPanel;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.inject.Inject;
 
@@ -80,91 +83,100 @@
 	private IMAPUser user;
 	private IMAPFolder folder;
 	private String searchValue;
-
+	
 	private PagingScrollTable<IMAPMessage> mailTable;
+	private EventBus bus;
 	
 	@Inject
 	public IMAPMessageView(DispatchAsync dispatcher,EventBus bus) {
+		this.bus = bus;
 		this.dispatcher = dispatcher;
-		bus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
-
-			public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
-				user = loadMessagesEvent.getUser();
-				folder = loadMessagesEvent.getFolder();
-				searchValue = loadMessagesEvent.getSearchValue();
-				mailTable.getTableModel().setRowCount(0);
-				mailTable.reloadPage();
-			}
-			
-		});
+		
 		
 		
 		VerticalPanel vPanel = new VerticalPanel();
 
+		
 		mailTable = new PagingScrollTable<IMAPMessage>(
 				new IMAPMessageTableModel(), createDataTable(),
 				createHeaderTable(),
 				createTableDefinitation());
 		mailTable.setPageSize(20);
 		HTML emptyTable = new HTML("There is no data to display");
-		emptyTable.setHeight("300px");
+		emptyTable.setHorizontalAlignment(HTML.ALIGN_CENTER);
+		emptyTable.setHeight("600px");
 		mailTable.setEmptyTableWidget(emptyTable);
 		FixedWidthGridBulkRenderer<IMAPMessage> bulkRenderer = new FixedWidthGridBulkRenderer<IMAPMessage>(mailTable.getDataTable(),mailTable);
 		mailTable.setBulkRenderer(bulkRenderer);
 		
 		mailTable.setCellPadding(0);
 		mailTable.setResizePolicy(ResizePolicy.FILL_WIDTH);
+		mailTable.setColumnResizePolicy(ColumnResizePolicy.MULTI_CELL);
 		mailTable.setScrollPolicy(ScrollPolicy.DISABLED);
-		mailTable.setSize(Window.getClientWidth() - 200 + "px", "600px");
+		
 		mailTable.addPageLoadHandler(new PageLoadHandler() {
 
 			public void onPageLoad(PageLoadEvent event) {
 				for (int i = 0; i < mailTable.getDataTable().getRowCount(); i++) {
 					mailTable.getDataTable().getRowFormatter().setStyleName(i,"hupa-Mailtable-row");
-					mailTable.getDataTable().getCellFormatter().setWordWrap(i, 0,false);
-					mailTable.getDataTable().getCellFormatter().setWordWrap(i, 1,false);
-					mailTable.getDataTable().getCellFormatter().setWordWrap(i, 2,false);
-					
-					mailTable.getDataTable().getCellFormatter().addStyleName(i,0,"hupa-Mailtable");
-					mailTable.getDataTable().getCellFormatter().addStyleName(i,1,"hupa-Mailtable");
-					mailTable.getDataTable().getCellFormatter().addStyleName(i,2,"hupa-Mailtable");
-					//mailTable.getDataTable().getCellFormatter().addStyleName(i,2,"hupa-Mailtable-cell-date");
-
+					mailTable.getDataTable().getCellFormatter().addStyleName(i,2,"hupa-Mailtable-cell-date");
 				}
 			}
 			
 		});
+		
+		
+		
 		mailTable.getDataTable().setCellSpacing(0);
+
+		// 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");
+		mailTable.setHeight("600px");
 		Window.addResizeHandler(new ResizeHandler() {
 
 			public void onResize(ResizeEvent event) {
-				int width = event.getWidth() - 200;
-				mailTable.setWidth(width + "px");
-		
+				mailTable.setWidth(Window.getClientWidth() -150 -40+"px");
 			}
+			
 		});
-		
 		mailTable.fillWidth();
-		PagingOptions options = new PagingOptions(mailTable, (PagingOptionsImages) GWT.create(MyPagingOptionImages.class));
 		
+		PagingOptions options = new PagingOptions(mailTable,(PagingOptionsImages) GWT.create(MyPagingOptionImages.class));
 		ButtonBar navigatorBar = new ButtonBar();
 		Button newMailButton = new Button(constants.newMailButton());
 		navigatorBar.add(newMailButton);
-		Button deleteMailButton = new Button(constants.deleteMailButton());
+		final Button deleteMailButton = new Button(constants.deleteMailButton());
+		deleteMailButton.setEnabled(false);
 		navigatorBar.add(deleteMailButton);
+		
+		
+		mailTable.getDataTable().addRowSelectionHandler(new RowSelectionHandler() {
 
+			public void onRowSelection(RowSelectionEvent event) {
+				if (mailTable.getDataTable().getSelectedRows().size() == 0) {
+					deleteMailButton.setEnabled(false);
+
+				} else {
+					deleteMailButton.setEnabled(true);
+				}
+			}
+			
+		});
+		
 		HorizontalPanel hPanel = new HorizontalPanel();
 		hPanel.setStyleName("hupa-MailTableControl");
 		hPanel.setSpacing(10);
 		hPanel.add(navigatorBar);
 		hPanel.add(options);
+	
+		
 		hPanel.setWidth("100%");
 		hPanel.setHeight("100%");
 		vPanel.add(hPanel);
 		vPanel.add(mailTable);
 		initWidget(vPanel);
 	}
-	
 
 	private TableDefinition<IMAPMessage> createTableDefinitation() {
 		DefaultTableDefinition<IMAPMessage> def = new DefaultTableDefinition<IMAPMessage>(createColumnDefinitionList());
@@ -174,55 +186,7 @@
 	private FixedWidthFlexTable createHeaderTable() {
 		FixedWidthFlexTable headerTable = new FixedWidthFlexTable();
 		return headerTable;
-		/*
-		final CheckBox box = new CheckBox();
-		box.addClickHandler(new ClickHandler() {
-
-			public void onClick(ClickEvent event) {
-				CheckBox headerCheckbox = (CheckBox) event.getSource();
-				if (headerCheckbox.getValue()) {
-					mailTable.getDataTable().selectAllRows();
-				} else {
-					mailTable.getDataTable().deselectAllRows();
-				}
-				
-				for (int i = 0; i < mailTable.getDataTable().getRowCount(); i++) {
-					if(headerCheckbox.getValue() == true) {
-						mailTable.getDataTable().getRowFormatter().setStyleName(i, "hupa-Mailtable-row-selected");
-					} else {
-						mailTable.getDataTable().getRowFormatter().removeStyleName(i, "hupa-Mailtable-row-selected");
-
-					}
-				
-				
-					IMAPMessage message = mailTable.getRowValue(i);
-					
-					if (message.getIMAPFlags().contains(IMAPFlag.SEEN) == false) {
-						mailTable.getDataTable().getRowFormatter().addStyleName(i,
-								"hupa-Mailtable-row-notseen");
-					} else {
-						mailTable.getDataTable().getRowFormatter().removeStyleName(i, "hupa-Mailtable-row-notseen");
-					}
-					
-				}
-			}
-
-		});
-		headerTable.setWidget(0, 0, box);
-		headerTable.setText(0, 1, constants.headerFrom());
-		headerTable.setText(0, 2, constants.mailTableSubject());
-		headerTable.setText(0, 3, constants.mailTableDate());
-
-		headerTable.setCellSpacing(0);
-
-		headerTable.getRowFormatter().setStyleName(0,"hupa-Mailtable-Header");
-
-		headerTable.getFlexCellFormatter().addStyleName(0,0,"hupa-Mailtable-Header");
-		headerTable.getFlexCellFormatter().addStyleName(0,1,"hupa-Mailtable-Header");
-		headerTable.getFlexCellFormatter().addStyleName(0,2,"hupa-Mailtable-Header");
-		headerTable.getFlexCellFormatter().addStyleName(0,3,"hupa-Mailtable-Header");
-		return headerTable;
-		*/
+		
 	}
 	
 	/**
@@ -241,17 +205,34 @@
 		FromColumnDefination from = new FromColumnDefination();
 		from.setColumnTruncatable(true);
 		from.setPreferredColumnWidth(250);
+		from.setMinimumColumnWidth(150);
+		from.setMaximumColumnWidth(300);
+
 		cList.add(from);
 
 		
 		SubjectColumnDefination subject =new SubjectColumnDefination();
 		subject.setColumnTruncatable(true);
-		from.setPreferredColumnWidth(800);
+		subject.setPreferredColumnWidth(800);
+		subject.setMinimumColumnWidth(600);
+		subject.setMaximumColumnWidth(1000);
 		cList.add(subject);
 		
 		DateColumnDefination date = new DateColumnDefination();
 		date.setColumnTruncatable(true);
+		date.setCellRenderer(new CellRenderer<IMAPMessage, Date>() {
 
+			
+			public void renderRowValue(IMAPMessage rowValue,
+					ColumnDefinition<IMAPMessage, Date> columnDef,
+					AbstractCellView<IMAPMessage> view) {
+				view.setHTML(DateTimeFormat.getShortTimeFormat().format(rowValue.getIMAPHeader().getReceivedDate()));
+			}
+			
+		});
+		date.setPreferredColumnWidth(100);
+		date.setMinimumColumnWidth(50);
+		date.setMaximumColumnWidth(150);
 		cList.add(date);
 		
 		return cList;
@@ -263,7 +244,7 @@
 		public void requestRows(
 				final Request request,
 				final com.google.gwt.gen2.table.client.TableModel.Callback<IMAPMessage> callback) {
-			GWT.log("HERE", null);
+			
 			if (user == null || folder == null) {
 				setRowCount(0);
 				callback.onRowsReady(request, new TableModelHelper.Response<IMAPMessage>() {
@@ -283,6 +264,7 @@
 				}
 
 				public void onSuccess(final FetchMessagesResult result) {
+					bus.fireEvent(new MessagesReceivedEvent(result.getMessages()));
 					 TableModelHelper.Response<IMAPMessage> response = new TableModelHelper.Response<IMAPMessage>() {
 
 						@Override
@@ -329,17 +311,16 @@
 		
 	}
 	
-	private final class DateColumnDefination extends AbstractColumnDefinition<IMAPMessage, String> {
+	private final class DateColumnDefination extends AbstractColumnDefinition<IMAPMessage, Date> {
 
 		@Override
-		public String getCellValue(IMAPMessage rowValue) {
-			return ""; //rowValue.getIMAPHeader().getReceivedDate().toString();
+		public Date getCellValue(IMAPMessage rowValue) {
+			return rowValue.getIMAPHeader().getReceivedDate();
 		}
 
 		@Override
-		public void setCellValue(IMAPMessage rowValue, String cellValue) {
-			rowValue.getIMAPHeader().setReceivedDate(null);
-
+		public void setCellValue(IMAPMessage rowValue, Date cellValue) {
+			rowValue.getIMAPHeader().setReceivedDate(cellValue);
 		}
 		
 	}
@@ -347,4 +328,17 @@
 	public HasRowSelectionHandlers getDataTableSelection() {
 		return mailTable.getDataTable();
 	}
+	
+	public void reloadData(IMAPUser user, IMAPFolder folder,String searchValue) {
+		this.user = user;
+		this.folder = folder;
+		this.searchValue = searchValue;
+		mailTable.getTableModel().setRowCount(0);
+		mailTable.reloadPage();
+	}
+
+	public HasPageLoadHandlers getDataTableLoad() {
+		return mailTable;
+	}
+	
 }

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=792876&r1=792875&r2=792876&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 Fri Jul 10 10:36:58 2009
@@ -8,6 +8,7 @@
 import net.customware.gwt.dispatch.client.DispatchAsync;
 
 import org.apache.hupa.client.data.IMAPFolder;
+import org.apache.hupa.client.data.IMAPMessage;
 import org.apache.hupa.client.data.IMAPUser;
 import org.apache.hupa.client.events.EventBus;
 import org.apache.hupa.client.events.LoadMessagesEvent;
@@ -15,6 +16,8 @@
 import org.apache.hupa.client.events.LoginEventHandler;
 import org.apache.hupa.client.events.LogoutEvent;
 import org.apache.hupa.client.events.LogoutEventHandler;
+import org.apache.hupa.client.events.MessagesReceivedEvent;
+import org.apache.hupa.client.events.MessagesReceivedEventHandler;
 import org.apache.hupa.client.rpc.FetchFolders;
 import org.apache.hupa.client.rpc.FetchFoldersResult;
 import org.apache.hupa.client.rpc.LogoutUser;
@@ -40,13 +43,11 @@
 	public interface Display {
 		public HasClickHandlers getLogoutClick();
 		public HasSelectionHandlers<TreeItem> getTree();
-		public HasClickHandlers getSearchClick();
-		public HasValue<String> getSearchValue();
-		
 		//public HasRowSelectionHandlers getTableClick();
 		public void bindTreeItems(List<IMAPTreeItem> treeList);
-		//public void bindMessages(List<IMAPMessage> messageList);
-
+		public HasClickHandlers getSearchClick();
+		public HasValue<String> getSearchValue();
+		public void fillOracle(ArrayList<IMAPMessage> messages);
 	}
 	
 	private DispatchAsync dispatcher;
@@ -80,6 +81,15 @@
 			}
 			
 		});
+		
+		bus.addHandler(MessagesReceivedEvent.TYPE, new MessagesReceivedEventHandler() {
+
+			public void onMessagesReceived(MessagesReceivedEvent event) {
+				display.fillOracle(event.getMessages());
+			}
+			
+		});
+		
 	}
 	
 	protected void loadTreeItems() {
@@ -160,7 +170,6 @@
 				TreeItem item = event.getSelectedItem();
 				folder = (IMAPFolder) item.getUserObject();
 				bus.fireEvent(new LoadMessagesEvent(user,folder));
-				
 			}
 			
 		});
@@ -182,7 +191,7 @@
 
 	private void reset() {
 		//display.bindMessages(new ArrayList<IMAPMessage>());
-		display.bindTreeItems(new ArrayList<IMAPTreeItem>());
 		display.getSearchValue().setValue("");
+		display.bindTreeItems(new ArrayList<IMAPTreeItem>());
 	}
 }

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java?rev=792876&r1=792875&r2=792876&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java Fri Jul 10 10:36:58 2009
@@ -1,5 +1,6 @@
 package org.apache.hupa.client.mvp;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.hupa.client.HupaConstants;
@@ -8,7 +9,6 @@
 import org.apache.hupa.client.data.IMAPMessage;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.cobogw.gwt.user.client.ui.Button;
-import org.cobogw.gwt.user.client.ui.ButtonBar;
 import org.cobogw.gwt.user.client.ui.RoundedPanel;
 
 import com.google.gwt.core.client.GWT;
@@ -24,7 +24,6 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
 import com.google.gwt.user.client.ui.SuggestBox;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -38,19 +37,19 @@
 	private RoundedPanel west;
 	private IMAPTreeImages tImages = GWT.create(IMAPTreeImages.class);
 	private Tree folderTree = new Tree(tImages,true);
-	
 	private MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(" ,@");  
 	private SuggestBox searchBox = new SuggestBox(oracle);
 	private Button searchButton = new Button(constants.searchButton());
+	
+
 	private Button logoutButton = new Button(constants.logoutButton());
-	private VerticalPanel centerVP = new VerticalPanel();
-	private TextBox rowsPerPageBox = new TextBox();
 	private RoundedPanel center;
 	private IMAPMessageView messageView;
 	
 	@Inject
-	public MainView(IMAPMessageView messageView) {
+	public MainView(IMAPMessageView messageView,IMAPMessagePresenter presenter) {
 		this.messageView = messageView;
+		presenter.bind(messageView);
 		dockPanel = new DockPanel();
 		
 		dockPanel.setSpacing(10);
@@ -70,12 +69,10 @@
 	}
 
 	private void createWest() {
-			west = new RoundedPanel(RoundedPanel.ALL);
+			west = new RoundedPanel(RoundedPanel.ALL,1);
 			west.add(folderTree);
 			west.setWidth("150px");	
 			folderTree.setAnimationEnabled(true);
-			
-		
 	}
 	private void createNorth() {
 		north = new VerticalPanel();
@@ -97,8 +94,11 @@
 		HorizontalPanel hPanel = new HorizontalPanel();
 		hPanel.setSpacing(5);
 		hPanel.setVerticalAlignment(HorizontalPanel.ALIGN_MIDDLE);
+	
 		
-		searchBox.setWidth("150px");
+		searchBox.setAnimationEnabled(true);
+		searchBox.setAutoSelectEnabled(false);
+		searchBox.setWidth("250px");
 		searchBox.setLimit(20);
 		searchBox.addKeyUpHandler(new KeyUpHandler() {
 
@@ -120,18 +120,12 @@
 	}
 
 	private void createCenter() {
-		center = new RoundedPanel(RoundedPanel.ALL, 3);
+		center = new RoundedPanel(RoundedPanel.ALL, 1);
 		center.setBorderColor("#C3D9FF");
-		
 		center.add(messageView);
-		center.setWidth("100%");
 
 	}
 
-	private void fillOracle(IMAPMessage msg) {
-		oracle.add(msg.getIMAPHeader().getFrom());
-		oracle.add(msg.getIMAPHeader().getSubject());
-	}
 
 	public HasClickHandlers getLogoutClick() {
 		return logoutButton;
@@ -140,6 +134,7 @@
 		return folderTree;
 	}
 	
+	
 	public HasClickHandlers getSearchClick() {
 		return searchButton;
 	}
@@ -147,6 +142,7 @@
 		return searchBox;
 	}
 	
+	
 	public void bindTreeItems(List<IMAPTreeItem> treeList) {
 		folderTree.clear();
 		
@@ -160,4 +156,12 @@
 			}
 		}
 	}
+
+	public void fillOracle(ArrayList<IMAPMessage> messages) {
+		for (int i = 0; i < messages.size();i++) {
+			oracle.add(messages.get(i).getIMAPHeader().getSubject());
+			oracle.add(messages.get(i).getIMAPHeader().getFrom());
+		}
+		searchBox.setText("");
+	}
 }

Modified: labs/hupa/war/Hupa.css
URL: http://svn.apache.org/viewvc/labs/hupa/war/Hupa.css?rev=792876&r1=792875&r2=792876&view=diff
==============================================================================
--- labs/hupa/war/Hupa.css (original)
+++ labs/hupa/war/Hupa.css Fri Jul 10 10:36:58 2009
@@ -37,18 +37,6 @@
 	background-color:	#E0ECFF;
 }
 
-.hupa-Mailtable{
-    border-top:      1pt solid silver;
-}
-
-.hupa-Mailtable-Header {
-	background-color:	#E0ECFF;
-	text-align: 		center;
-	border-top:         1pt solid grey;
-	border-bottom:      1pt solid grey;
-	
-}
-
 .hupa-Mailtable-row-notseen {
 	  font-weight: 		bold;
 }
@@ -57,11 +45,28 @@
 	  background-color:	#F0E68C;
 	  text-align: 		left;
 	  vertical-align: 	top;
-	padding: 			0px 10px 0px 10px;
+	  padding: 			0px 10px 0px 10px;
 	  font-size: 	    80%;
 	  cursor:           hand;
 }
 
+.gwt-ScrollTable .dataTable td {
+  border-color: #silver;
+  border-style: solid;
+  border-width: 1px 0px 0px 0px;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+
+.gwt-ScrollTable .dataTable tr.highlighted {
+  background:           #FAD163;
+}
+
+.gwt-ScrollTable .dataTable tr.selected td {
+  background:           #FFF7D7;
+}
+
 .hupa-Mailtable-row {
     text-align: 		left;
 	vertical-align: 	top;
@@ -72,7 +77,6 @@
 
 .hupa-Mailtable-cell-date {
 	text-align: 		right;
-	vertical-align:		top;
 }
 
 .hupa-IMAPFolder-selected {



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