You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:50:13 UTC

svn commit: r1522256 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui: HupaLayout.java HupaLayout.ui.xml MessageListView.java MessageListView.ui.xml MessagesCellTable.java

Author: dongxu
Date: Thu Sep 12 03:50:13 2013
New Revision: 1522256

URL: http://svn.apache.org/r1522256
Log:
deal with onResizeEvent of folder list panel, but found issue #25

Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java?rev=1522256&r1=1522255&r2=1522256&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java Thu Sep 12 03:50:13 2013
@@ -28,10 +28,12 @@ import com.google.gwt.dom.client.Style.U
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
 import com.google.gwt.user.client.ui.HTMLPanel;
 import com.google.gwt.user.client.ui.IsWidget;
 import com.google.gwt.user.client.ui.LayoutPanel;
 import com.google.gwt.user.client.ui.SimpleLayoutPanel;
+<<<<<<< HEAD
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.Widget;
 
@@ -241,6 +243,8 @@ import com.google.gwt.user.client.ui.Acc
 import com.google.gwt.user.client.ui.IsWidget;
 >>>>>>> integrate all of the views to their corresponding activities and mappers
 import com.google.gwt.user.client.ui.LayoutPanel;
+=======
+>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.SplitLayoutPanel;
 import com.google.gwt.user.client.ui.Widget;
@@ -250,7 +254,7 @@ public class HupaLayout implements HupaL
 	@UiField SimplePanel topBarContainer;
 
 	@UiField SimplePanel logoContainer;
-	@UiField LayoutPanel navigationContainer;
+	@UiField SimpleLayoutPanel navigationContainer;
 
 	@UiField SimplePanel toolBarContainer;
 
@@ -259,8 +263,8 @@ public class HupaLayout implements HupaL
 
 	@UiField SplitLayoutPanel messageArea;
 	@UiField SimplePanel folderListContainer;
-	@UiField LayoutPanel messageListBox;
-	@UiField LayoutPanel messageListContainer;
+	@UiField DockLayoutPanel messageListBox;
+	@UiField SimpleLayoutPanel messageListContainer;
 	@UiField SimplePanel messageListFooterContainer;
 	@UiField SimplePanel messageContentContainer;
 	@UiField SimplePanel statusContainer;
@@ -312,11 +316,7 @@ public class HupaLayout implements HupaL
 		return new AcceptsOneWidget() {
 			@Override
 			public void setWidget(IsWidget w) {
-				Widget widget = Widget.asWidgetOrNull(w);
-				if (navigationContainer.getWidgetCount() > 0)
-					navigationContainer.remove(0);
-				if (widget != null)
-					navigationContainer.add(widget);
+				navigationContainer.setWidget(Widget.asWidgetOrNull(w));
 			}
 		};
 	}
@@ -346,11 +346,13 @@ public class HupaLayout implements HupaL
 		return new AcceptsOneWidget() {
 			@Override
 			public void setWidget(IsWidget w) {
-				Widget widget = Widget.asWidgetOrNull(w);
-				if (messageListContainer.getWidgetCount() > 0)
-					messageListContainer.remove(0);
-				if (widget != null)
-					messageListContainer.add(widget);
+//				Widget widget = Widget.asWidgetOrNull(w);
+				messageListContainer.setWidget(Widget.asWidgetOrNull(w));
+//				messageListContainer.add(Widget.asWidgetOrNull(w));
+//				if (messageListContainer.getWidgetCount() > 0)
+//					messageListContainer.remove(0);
+//				if (widget != null)
+//					messageListContainer.add(widget);
 			}
 		};
 	}

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml?rev=1522256&r1=1522255&r2=1522256&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.ui.xml Thu Sep 12 03:50:13 2013
@@ -159,6 +159,7 @@
 						<g:layer width="287px" right="0">
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> track the folder list tree model issue of invalid session, TODO how to retrieve folders data using GIN
 							<g:LayoutPanel ui:field="navigationContainer"/><!-- why can not be SimplePanel here -->
 >>>>>>> integrate all of the views to their corresponding activities and mappers
@@ -169,6 +170,9 @@
 =======
 							<g:LayoutPanel ui:field="navigationContainer" />
 >>>>>>> DataGrid requires to be put in a LayoutPanel or Panel that implements the ProvidesResize interface to be visible
+=======
+							<g:SimpleLayoutPanel ui:field="navigationContainer" />
+>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
 						</g:layer>
                         <g:layer left="0%" width="0%" top="0%" height="0%">
                             <hupa:_CenterContactPanel ui:field="contactPanel" />
@@ -217,15 +221,15 @@
 						<g:center>
 							<g:SplitLayoutPanel ui:field="messageArea">
 								<g:north size="200">
-									<g:LayoutPanel addStyleNames="{style.box}"
+									<g:DockLayoutPanel unit="PX" addStyleNames="{style.box}"
 										ui:field="messageListBox">
-										<g:layer top="0" height="175px">
-											<g:LayoutPanel ui:field="messageListContainer" />
-										</g:layer>
-										<g:layer bottom="0" height="25px">
+										<g:center>
+											<g:SimpleLayoutPanel ui:field="messageListContainer" />
+										</g:center>
+										<g:south size="25">
 											<g:SimplePanel ui:field="messageListFooterContainer" />
-										</g:layer>
-									</g:LayoutPanel>
+										</g:south>
+									</g:DockLayoutPanel>
 								</g:north>
 								<g:west size="200">
 									<g:HTMLPanel ui:field="contactBox" addStyleNames="{style.box}">

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java?rev=1522256&r1=1522255&r2=1522256&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.java Thu Sep 12 03:50:13 2013
@@ -75,8 +75,8 @@ import com.google.gwt.core.client.Schedu
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.cellview.client.DataGrid;
 import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.LayoutPanel;
 import com.google.gwt.view.client.CellPreviewEvent;
 import com.google.gwt.view.client.CellPreviewEvent.Handler;
 import com.google.gwt.view.client.RangeChangeEvent;
@@ -87,7 +87,7 @@ import com.google.web.bindery.requestfac
 public class MessageListView extends Composite implements MessageListActivity.Displayable {
 
 	@UiField(provided = true)
-	MessagesCellTable table;
+	DataGrid<Message> table;
 	private HupaRequestFactory requestFactory;
 	private EventBus eventBus;
 	private ImapFolder folder;
@@ -102,20 +102,20 @@ public class MessageListView extends Com
 		this.eventBus = eventBus;
 		this.table = table;
 		initWidget(binder.createAndBindUi(this));
-		table.addCellPreviewHandler(new Handler<Message>() {
-			@Override
-			public void onCellPreview(CellPreviewEvent<Message> event) {
-				if (hasClickedButFirstCol(event)) {
-					eventBus.fireEvent(new ExpandMessageEvent(user, folder, event.getValue()));
-				}
-			}
-
-			private boolean hasClickedButFirstCol(CellPreviewEvent<Message> event) {
-				return "click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
-			}
-
-		});
-		table.addRangeChangeHandler(new RangeChangeEvent.Handler() {
+//		this.table.addCellPreviewHandler(new Handler<Message>() {
+//			@Override
+//			public void onCellPreview(CellPreviewEvent<Message> event) {
+//				if (hasClickedButFirstCol(event)) {
+//					eventBus.fireEvent(new ExpandMessageEvent(user, folder, event.getValue()));
+//				}
+//			}
+//
+//			private boolean hasClickedButFirstCol(CellPreviewEvent<Message> event) {
+//				return "click".equals(event.getNativeEvent().getType()) && 0 != event.getColumn();
+//			}
+//
+//		});
+		this.table.addRangeChangeHandler(new RangeChangeEvent.Handler() {
 			@Override
 			public void onRangeChange(RangeChangeEvent event) {
 				fetch(event.getNewRange().getStart());
@@ -191,6 +191,7 @@ public class MessageListView extends Com
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	interface MessageListUiBinder extends UiBinder<HTMLPanel, MessageListView> {
 >>>>>>> make login page as one part of the overall layout & splite layout to little one
 =======
@@ -202,6 +203,9 @@ public class MessageListView extends Com
 =======
 	interface MessageListUiBinder extends UiBinder<MessagesCellTable, MessageListView> {
 >>>>>>> adjust to the ui of folder list panel
+=======
+	interface MessageListUiBinder extends UiBinder<DataGrid, MessageListView> {
+>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
 	}
 
 	private static MessageListUiBinder binder = GWT.create(MessageListUiBinder.class);

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml?rev=1522256&r1=1522255&r2=1522256&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageListView.ui.xml Thu Sep 12 03:50:13 2013
@@ -13,6 +13,7 @@
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     xmlns:g='urn:import:com.google.gwt.user.client.ui'>
 	<g:SimpleLayoutPanel ui:field="thisView" />
 =======
@@ -39,4 +40,8 @@
 	xmlns:hupa='urn:import:org.apache.hupa.client.ui'>
 	<hupa:MessagesCellTable ui:field="table" />
 >>>>>>> adjust to the ui of folder list panel
+=======
+	xmlns:hupa='urn:import:org.apache.hupa.client.ui' xmlns:c='urn:import:com.google.gwt.user.cellview.client'>
+	<c:DataGrid ui:field="table" />
+>>>>>>> deal with onResizeEvent of folder list panel, but found issue #25
 </ui:UiBinder>
\ No newline at end of file

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java?rev=1522256&r1=1522255&r2=1522256&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessagesCellTable.java Thu Sep 12 03:50:13 2013
@@ -504,6 +504,7 @@ import java.util.List;
 
 import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.client.bundles.HupaImageBundle;
+import org.apache.hupa.client.ui.res.DataGridResources;
 import org.apache.hupa.shared.domain.Message;
 
 import com.google.gwt.cell.client.CheckboxCell;
@@ -512,12 +513,15 @@ import com.google.gwt.cell.client.FieldU
 import com.google.gwt.cell.client.ImageResourceCell;
 import com.google.gwt.cell.client.TextCell;
 import com.google.gwt.cell.client.ValueUpdater;
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Style.Unit;
 import com.google.gwt.i18n.client.DateTimeFormat;
 import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
 import com.google.gwt.user.cellview.client.Column;
 import com.google.gwt.user.cellview.client.DataGrid;
 import com.google.gwt.user.cellview.client.Header;
+import com.google.gwt.user.cellview.client.SafeHtmlHeader;
 import com.google.gwt.view.client.DefaultSelectionEventManager;
 import com.google.gwt.view.client.MultiSelectionModel;
 import com.google.gwt.view.client.ProvidesKey;
@@ -548,10 +552,12 @@ public class MessagesCellTable extends D
 	private final SelectionModel<? super Message> selectionModel = new MultiSelectionModel<Message>(
 			KEY_PROVIDER);
 
+	static DataGrid.Resources res = GWT.create(DataGridResources.class);
 	@Inject
 	public MessagesCellTable(final HupaImageBundle imageBundle,
 			final HupaConstants constants) {
-		super(PAGE_SIZE);
+		super(PAGE_SIZE, res);
+
 		this.imageBundle = imageBundle;
 
 		CheckboxCell headerCheckbox = new CheckboxCell();
@@ -574,7 +580,7 @@ public class MessagesCellTable extends D
 
 		addColumn(checkboxCol, header);
 		setColumnWidth(checkboxCol, 3, Unit.EM);
-		addColumn(fromCol, constants.mailTableFrom());
+		addColumn(fromCol, new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.mailTableFrom())), fromFooter);
 		setColumnWidth(fromCol, 40, Unit.PCT);
 		addColumn(subjectCol, constants.mailTableSubject());
 		setColumnWidth(subjectCol, 60, Unit.PCT);
@@ -617,7 +623,6 @@ public class MessagesCellTable extends D
 			return object.getFrom();
 		}
 	}
-
 	private class SubjectColumn extends Column<Message, String> {
 		public SubjectColumn() {
 			super(new TextCell());
@@ -650,5 +655,11 @@ public class MessagesCellTable extends D
 			return object.getReceivedDate();
 		}
 	}
+	Header<String> fromFooter = new Header<String>(new TextCell()) {
+	      @Override
+	      public String getValue() {
+	        return "From Footer";
+	    };
+	};
 }
 >>>>>>> fix some bugs related to RF, and try to use new CellView to replace gwt-incubator 



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org