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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to