Author: dongxu
Date: Thu Sep 12 03:44:03 2013
New Revision: 1522240

URL: http://svn.apache.org/r1522240
Log:
make folder list in west panel partly work

Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.java
 Thu Sep 12 03:44:03 2013
@@ -213,14 +213,24 @@ import org.apache.hupa.client.activity.F
 
 >>>>>>> integrate all of the views to their corresponding activities and 
 >>>>>>> mappers
 import com.google.gwt.core.client.GWT;
+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.CellTree;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.inject.Inject;
 
-public class FolderListView extends Composite implements
-               FolderListActivity.Displayable {
+public class FolderListView extends Composite implements 
FolderListActivity.Displayable {
 
-       public FolderListView() {
+       @UiField(provided = true)
+       FoldersCellTree cellTree;
+
+       @Inject
+       public FolderListView(final FoldersTreeViewModel viewModel, final 
EventBus eventBus) {
+               CellTree.Resources res = 
GWT.create(CellTree.BasicResources.class);
+               cellTree = new FoldersCellTree(viewModel, res);
+               cellTree.setAnimationEnabled(true);
                initWidget(binder.createAndBindUi(this));
 >>>>>>> make login page as one part of the overall layout & splite layout to 
 >>>>>>> little one
        }
@@ -228,7 +238,6 @@ public class FolderListView extends Comp
        interface FolderListUiBinder extends UiBinder<SimplePanel, 
FolderListView> {
        }
 
-       private static FolderListUiBinder binder = GWT
-                       .create(FolderListUiBinder.class);
+       private static FolderListUiBinder binder = 
GWT.create(FolderListUiBinder.class);
 
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FolderListView.ui.xml
 Thu Sep 12 03:44:03 2013
@@ -10,12 +10,17 @@
        language governing permissions and limitations under the License. -->
 
 <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+<<<<<<< HEAD
        xmlns:g='urn:import:com.google.gwt.user.client.ui'>
 <<<<<<< HEAD
        <g:SimplePanel ui:field="thisView" />
 =======
+=======
+       xmlns:g='urn:import:com.google.gwt.user.client.ui'
+       xmlns:hupa='urn:import:org.apache.hupa.client.ui'>
+>>>>>>> make folder list in west panel partly work
        <g:SimplePanel ui:field="FolderListView">
-               <g:HTMLPanel></g:HTMLPanel>
+               <hupa:FoldersCellTree ui:field="cellTree"/>
        </g:SimplePanel>
 >>>>>>> make login page as one part of the overall layout & splite layout to 
 >>>>>>> little one
 </ui:UiBinder>
\ No newline at end of file

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersCellTree.java
 Thu Sep 12 03:44:03 2013
@@ -23,7 +23,6 @@ import com.google.gwt.user.cellview.clie
 import com.google.inject.Inject;
 
 public class FoldersCellTree extends CellTree {
-
        @Inject
        public FoldersCellTree(final FoldersTreeViewModel viewModel, Resources 
resources) {
                super(viewModel, null, resources);

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/FoldersTreeViewModel.java
 Thu Sep 12 03:44:03 2013
@@ -23,12 +23,16 @@ import java.util.List;
 
 import org.apache.hupa.client.rf.HupaRequestFactory;
 import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.LoadMessagesEvent;
 
 import com.google.gwt.cell.client.AbstractCell;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
 import com.google.gwt.view.client.AsyncDataProvider;
 import com.google.gwt.view.client.HasData;
+import com.google.gwt.view.client.ProvidesKey;
+import com.google.gwt.view.client.SelectionChangeEvent;
 import com.google.gwt.view.client.SingleSelectionModel;
 import com.google.gwt.view.client.TreeViewModel;
 import com.google.inject.Inject;
@@ -36,15 +40,32 @@ import com.google.web.bindery.requestfac
 
 public class FoldersTreeViewModel implements TreeViewModel {
 
+       protected User user;
        @Inject protected HupaRequestFactory rf;
        @Inject protected EventBus eventBus;
        
-       protected SingleSelectionModel<ImapFolder> selectionModel;
        
-       public void setSelectionModel(SingleSelectionModel<ImapFolder> 
selectionModel){
-               this.selectionModel = selectionModel;
+       public FoldersTreeViewModel(){
+
+               selectionModel.addSelectionChangeHandler(new 
SelectionChangeEvent.Handler() {
+                       @SuppressWarnings("unchecked")
+                       @Override
+                       public void onSelectionChange(SelectionChangeEvent 
event) {
+                               SingleSelectionModel<ImapFolder> selectionModel 
= (SingleSelectionModel<ImapFolder>) event.getSource();
+                               eventBus.fireEvent(new LoadMessagesEvent(user, 
selectionModel.getSelectedObject()));
+                       }
+               });
        }
 
+
+       private final SingleSelectionModel<ImapFolder> selectionModel = new 
SingleSelectionModel<ImapFolder>(
+               new ProvidesKey<ImapFolder>() {
+                       @Override
+                       public Object getKey(ImapFolder item) {
+                               return item == null ? null : item.getFullName();
+                       }
+               });
+
        /**
         * Get the {@link NodeInfo} that provides the children of the specified
         * value.
@@ -77,13 +98,15 @@ public class FoldersTreeViewModel implem
 
                @Override
                protected void onRangeChanged(HasData<ImapFolder> display) {
+                       System.out.print(rf == null);
                        rf.fetchFoldersRequest().fetch(folder).fire(new 
Receiver<List<ImapFolder>>() {
                                @Override
                                public void onSuccess(List<ImapFolder> 
response) {
                                        if (response == null || response.size() 
== 0) {
                                                updateRowCount(-1, true);
-                                       } else
+                                       } else{
                                                updateRowData(0, response);
+                                       }
                                }
                        });
 

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java?rev=1522240&r1=1522239&r2=1522240&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java 
Thu Sep 12 03:44:03 2013
@@ -778,10 +778,10 @@ public class WestView extends Composite 
 =======
                        }
                });
-               viewModel.setSelectionModel(selectionModel);
+//             viewModel.setSelectionModel(selectionModel);
 
                CellTree.Resources res = 
GWT.create(CellTree.BasicResources.class);
-               cellTree = new FoldersCellTree(viewModel, res);
+//             cellTree = new FoldersCellTree(viewModel, res);
                cellTree.setAnimationEnabled(true);
                initWidget(cellTree);
 >>>>>>> refactoring.



---------------------------------------------------------------------
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