Author: dongxu
Date: Thu Sep 12 02:48:50 2013
New Revision: 1522144

URL: http://svn.apache.org/r1522144
Log:
introduce the top activity

Added:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
 Thu Sep 12 02:48:50 2013
@@ -7,17 +7,19 @@ import com.google.inject.Inject;
 import com.google.inject.name.Named;
 
 /**
- * This class is responsible for ActivityManager instantiations through GIN,
- * it also associate every ActivityManager with the corresponding display 
region
+ * This class is responsible for ActivityManager instantiations through GIN, it
+ * also associate every ActivityManager with the corresponding display region
  */
 public class ActivityManagerInitializer {
 
-  @Inject
-  public ActivityManagerInitializer(AppLayout appPanelView,
-                                    @Named("WestRegion") ActivityManager 
verticalMasterActivityManager,
-                                    @Named("MainContentRegion") 
ActivityManager mainContentActivityManager) {
-    verticalMasterActivityManager.setDisplay(appPanelView.getWestContainer());
-    mainContentActivityManager.setDisplay(appPanelView.getMainContainer());
-  }
+       @Inject
+       public ActivityManagerInitializer(AppLayout appPanelView, 
+                       @Named("TopRegion") ActivityManager topActivityManager,
+                       @Named("WestRegion") ActivityManager 
westActivityManager,
+                       @Named("MainContentRegion") ActivityManager 
mainContentActivityManager) {
+               topActivityManager.setDisplay(appPanelView.getTopContainer());
+               westActivityManager.setDisplay(appPanelView.getWestContainer());
+               
mainContentActivityManager.setDisplay(appPanelView.getMainContainer());
+       }
 
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java 
Thu Sep 12 02:48:50 2013
@@ -15,54 +15,57 @@ import com.google.inject.Inject;
 /**
  * This is the main controller of the application.
  */
-public class AppController{
+public class AppController {
 
-  private final PlaceController placeController;
-  private final PlaceHistoryHandler placeHistoryHandler;
-  private final AppLayout appPanelView;
-  private Place currentPlace;
-
-  /**
-   * All parameters are injected by GIN
-   *
-   * @param placeController the application's PlaceController
-   * @param eventBus the application's EventBus
-   * @param placeHistoryHandler the application's PlaceHistoryHandler
-   * @param appLayout this is the application's main panel
-   * @param mainMenuView this is the application's navigation top bar
-   * @param activityManagerInitializer unused parameter, it's here just to 
force GIN's initialization of ActivityManagers
-   */
-  @Inject
-  public AppController(PlaceController placeController,
-                           EventBus eventBus,
-                           PlaceHistoryHandler placeHistoryHandler,
-                           AppLayout appLayout,
-                           ActivityManagerInitializer 
activityManagerInitializer) {
-    this.placeController = placeController;
-    this.placeHistoryHandler = placeHistoryHandler;
-    this.appPanelView = appLayout;
-    eventBus.addHandler(PlaceChangeEvent.TYPE, new PlaceLayoutHandler());
-  }
-
-  public void start() {
-    RootLayoutPanel.get().add(appPanelView.getMainLayoutPanel());
-    placeHistoryHandler.handleCurrentHistory();
-  }
-
-
-  private final class PlaceLayoutHandler implements PlaceChangeEvent.Handler {
-    @Override
-    public void onPlaceChange(PlaceChangeEvent event) {
-      Place newPlace = event.getNewPlace();
-      if (newPlace != currentPlace) {
-        if (newPlace instanceof MailInboxPlace) {
-          appPanelView.setDefaultLayout();
-        } else if (newPlace instanceof DefaultPlace){
-          appPanelView.setLoginLayout();
-        }
-        currentPlace = newPlace;
-      }
-    }
-  }
+       private final PlaceController placeController;
+       private final PlaceHistoryHandler placeHistoryHandler;
+       private final AppLayout appPanelView;
+       private Place currentPlace;
+
+       /**
+        * All parameters are injected by GIN
+        * 
+        * @param placeController
+        *            the application's PlaceController
+        * @param eventBus
+        *            the application's EventBus
+        * @param placeHistoryHandler
+        *            the application's PlaceHistoryHandler
+        * @param appLayout
+        *            this is the application's main panel
+        * @param mainMenuView
+        *            this is the application's navigation top bar
+        * @param activityManagerInitializer
+        *            unused parameter, it's here just to force GIN's 
initialization
+        *            of ActivityManagers
+        */
+       @Inject
+       public AppController(PlaceController placeController, EventBus 
eventBus, PlaceHistoryHandler placeHistoryHandler,
+                       AppLayout appLayout, ActivityManagerInitializer 
activityManagerInitializer) {
+               this.placeController = placeController;
+               this.placeHistoryHandler = placeHistoryHandler;
+               this.appPanelView = appLayout;
+               eventBus.addHandler(PlaceChangeEvent.TYPE, new 
PlaceLayoutHandler());
+       }
+
+       public void start() {
+               RootLayoutPanel.get().add(appPanelView.getMainLayoutPanel());
+               placeHistoryHandler.handleCurrentHistory();
+       }
+
+       private final class PlaceLayoutHandler implements 
PlaceChangeEvent.Handler {
+               @Override
+               public void onPlaceChange(PlaceChangeEvent event) {
+                       Place newPlace = event.getNewPlace();
+                       if (newPlace != currentPlace) {
+                               if (newPlace instanceof MailInboxPlace) {
+                                       appPanelView.setDefaultLayout();
+                               } else if (newPlace instanceof DefaultPlace) {
+                                       appPanelView.setLoginLayout();
+                               }
+                               currentPlace = newPlace;
+                       }
+               }
+       }
 
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java 
Thu Sep 12 02:48:50 2013
@@ -20,21 +20,29 @@
 package org.apache.hupa.client;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 import com.google.gwt.i18n.client.Constants;
 
 import eu.maydu.gwt.validation.client.i18n.StandardValidationMessagesImpl;
 >>>>>>> first commit
+=======
+>>>>>>> introduce the top activity
 import gwtupload.client.IUploader.UploaderConstants;
 
 import org.apache.hupa.widgets.PagingOptionsConstants;
 import org.apache.hupa.widgets.editor.ToolbarConstants;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import com.google.gwt.i18n.client.Constants;
 
 =======
 >>>>>>> first commit
+=======
+import com.google.gwt.i18n.client.Constants;
+
+>>>>>>> introduce the top activity
 public interface HupaConstants extends Constants, UploaderConstants, 
PagingOptionsConstants, ToolbarConstants {
 
     public String usernameLabel();

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
 Thu Sep 12 02:48:50 2013
@@ -135,7 +135,6 @@ public class LoginActivity extends Abstr
                        DispatchAsync dispatcher) {
 =======
 import com.google.gwt.place.shared.PlaceController;
-import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.Focusable;
 import com.google.gwt.user.client.ui.HasValue;
@@ -150,7 +149,7 @@ public class LoginActivity extends Abstr
        private final PlaceController placeController;
        private final Provider<MailInboxPlace> mailInboxPlaceProvider;
        private DispatchAsync dispatcher;
-    private HupaConstants constants = GWT.create(HupaConstants.class);
+       private HupaConstants constants = GWT.create(HupaConstants.class);
 
        @Inject
 <<<<<<< HEAD
@@ -232,19 +231,25 @@ public class LoginActivity extends Abstr
 =======
                display.getResetClick().addClickHandler(new ClickHandler() {
 
-            public void onClick(ClickEvent event) {
-                doReset();
-            }
-            
-        });
+                       public void onClick(ClickEvent event) {
+                               doReset();
+                       }
+
+               });
                eventBus.addHandler(SessionExpireEvent.TYPE, new 
SessionExpireEventHandler() {
 
+<<<<<<< HEAD
             public void onSessionExpireEvent(SessionExpireEvent event) {
                 eventBus.fireEvent(new FlashEvent(constants.sessionTimedOut(), 
4000));
             }
             
         });
 >>>>>>> decorate the theme
+=======
+                       public void onSessionExpireEvent(SessionExpireEvent 
event) {
+                               eventBus.fireEvent(new 
FlashEvent(constants.sessionTimedOut(), 4000));
+                       }
+>>>>>>> introduce the top activity
 
                });
 
@@ -332,6 +337,7 @@ public class LoginActivity extends Abstr
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                                Window.alert("error");
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -348,6 +354,9 @@ public class LoginActivity extends Abstr
 =======
                                // eventBus.fireEvent(new 
FlashEvent(constants.loginInvalid(),4000));
 >>>>>>> decorate the theme
+=======
+                               eventBus.fireEvent(new 
FlashEvent(constants.loginInvalid(), 4000));
+>>>>>>> introduce the top activity
                                doReset();
                        }
                });

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
 Thu Sep 12 02:48:50 2013
@@ -1,4 +1,5 @@
 <<<<<<< HEAD
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -29,16 +30,24 @@ import org.apache.hupa.shared.domain.Idl
 import org.apache.hupa.shared.domain.LogoutUserResult;
 import org.apache.hupa.shared.domain.User;
 =======
+=======
+>>>>>>> introduce the top activity
 package org.apache.hupa.client.activity;
 
 import net.customware.gwt.dispatch.client.DispatchAsync;
 
 import org.apache.hupa.client.HupaConstants;
+<<<<<<< HEAD
 import org.apache.hupa.client.evo.HupaEvoCallback;
 import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.shared.data.User;
 >>>>>>> introduce the top activity
+=======
+import org.apache.hupa.client.HupaEvoCallback;
+import org.apache.hupa.client.mvp.WidgetDisplayable;
+import org.apache.hupa.shared.data.User;
+>>>>>>> introduce the top activity
 import org.apache.hupa.shared.events.FlashEvent;
 import org.apache.hupa.shared.events.FlashEventHandler;
 import org.apache.hupa.shared.events.LoginEvent;
@@ -49,8 +58,11 @@ import org.apache.hupa.shared.events.Ser
 import org.apache.hupa.shared.events.ServerStatusEvent.ServerStatus;
 import org.apache.hupa.shared.events.ServerStatusEventHandler;
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 =======
+=======
+>>>>>>> introduce the top activity
 import org.apache.hupa.shared.rpc.CheckSession;
 import org.apache.hupa.shared.rpc.CheckSessionResult;
 import org.apache.hupa.shared.rpc.Idle;
@@ -59,6 +71,9 @@ import org.apache.hupa.shared.rpc.Logout
 import org.apache.hupa.shared.rpc.LogoutUserResult;
 
 import com.google.gwt.activity.shared.AbstractActivity;
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
@@ -66,6 +81,7 @@ import com.google.gwt.event.dom.client.C
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.shared.EventBus;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasText;
@@ -77,24 +93,36 @@ public class TopActivity extends AppBase
        private static final int IDLE_INTERVAL = 150000;
 
 =======
+=======
+>>>>>>> introduce the top activity
 import com.google.gwt.place.shared.PlaceController;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.inject.Inject;
+<<<<<<< HEAD
 import com.google.inject.Provider;
+=======
+>>>>>>> introduce the top activity
 
 public class TopActivity extends AbstractActivity {
 
        private static final int IDLE_INTERVAL = 150000;
        HupaConstants constants;
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
        @Override
        public void start(AcceptsOneWidget container, EventBus eventBus) {
                container.setWidget(display.asWidget());
                bind();
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+               checkSession();
+>>>>>>> introduce the top activity
 =======
                checkSession();
 >>>>>>> introduce the top activity
@@ -110,13 +138,19 @@ public class TopActivity extends Abstrac
                                display.showMessage(constants.welcome(), 3000);
                        }
 <<<<<<< HEAD
+<<<<<<< HEAD
                });
                eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
 =======
+=======
+>>>>>>> introduce the top activity
 
                });
                eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
 
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
                        public void onLogout(LogoutEvent event) {
                                User u = event.getUser();
@@ -126,6 +160,7 @@ public class TopActivity extends Abstrac
                                }
                                showLogin(username);
                                noopTimer.cancel();
+<<<<<<< HEAD
                                
TopActivity.this.placeController.goTo(defaultPlaceProvider.get());
                        }
 <<<<<<< HEAD
@@ -147,6 +182,9 @@ public class TopActivity extends Abstrac
                }));
                eventBus.addHandler(ServerStatusEvent.TYPE, new 
ServerStatusEventHandler() {
 =======
+=======
+                       }
+>>>>>>> introduce the top activity
 
                });
                display.getLogoutClick().addClickHandler(new ClickHandler() {
@@ -172,6 +210,9 @@ public class TopActivity extends Abstrac
                });
                eventBus.addHandler(ServerStatusEvent.TYPE, new 
ServerStatusEventHandler() {
 
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
                        public void onServerStatusChange(ServerStatusEvent 
event) {
                                if (event.getStatus() != serverStatus) {
@@ -181,6 +222,7 @@ public class TopActivity extends Abstrac
                                }
                        }
 <<<<<<< HEAD
+<<<<<<< HEAD
                });
                eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
                        public void onFlash(FlashEvent event) {
@@ -197,6 +239,8 @@ public class TopActivity extends Abstrac
                                public void onSuccess(LogoutUserResult 
response) {
                                        eventBus.fireEvent(new 
LogoutEvent(response.getUser()));
 =======
+=======
+>>>>>>> introduce the top activity
 
                });
                eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
@@ -231,6 +275,9 @@ public class TopActivity extends Abstrac
                        dispatcher.execute(new LogoutUser(), new 
HupaEvoCallback<LogoutUserResult>(dispatcher, eventBus) {
                                public void callback(LogoutUserResult result) {
                                        eventBus.fireEvent(new 
LogoutEvent(result.getUser()));
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
                                }
                        });
@@ -245,9 +292,12 @@ public class TopActivity extends Abstrac
        private void showLogin(String username) {
                display.showTopNavigation(false);
 <<<<<<< HEAD
+<<<<<<< HEAD
 //             placeController.goTo(new DefaultPlace());
 =======
 >>>>>>> introduce the top activity
+=======
+>>>>>>> introduce the top activity
        }
 
        private void showContacts() {
@@ -255,6 +305,7 @@ public class TopActivity extends Abstrac
                display.showMainButton();
        }
 <<<<<<< HEAD
+<<<<<<< HEAD
 
        private Timer noopTimer = new IdleTimer();
 
@@ -269,15 +320,27 @@ public class TopActivity extends Abstrac
 
        @Inject
        public TopActivity(Displayable display, EventBus eventBus, 
PlaceController placeController, Provider<DefaultPlace> defaultPlaceProvider,
+=======
+       private Timer noopTimer = new IdleTimer();
+
+       @Inject
+       public TopActivity(Displayable display, EventBus eventBus, 
PlaceController placeController,
+>>>>>>> introduce the top activity
                        HupaConstants constants, DispatchAsync dispatcher) {
                this.dispatcher = dispatcher;
                this.display = display;
                this.eventBus = eventBus;
+<<<<<<< HEAD
                this.defaultPlaceProvider = defaultPlaceProvider;
+=======
+>>>>>>> introduce the top activity
                this.constants = constants;
                this.placeController = placeController;
 
        }
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
        public interface Displayable extends WidgetDisplayable {
                public HasClickHandlers getLogoutClick();
@@ -292,6 +355,7 @@ public class TopActivity extends Abstrac
        }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
        private class IdleTimer extends Timer {
                boolean running = false;
 
@@ -305,11 +369,16 @@ public class TopActivity extends Abstrac
                                        @Override
                                        public void onSuccess(IdleResult 
response) {
 =======
+=======
+>>>>>>> introduce the top activity
        private final Displayable display;
        private final EventBus eventBus;
        private final PlaceController placeController;
        private final DispatchAsync dispatcher;
+<<<<<<< HEAD
        private final Provider<DefaultPlace> defaultPlaceProvider;
+=======
+>>>>>>> introduce the top activity
 
        private User user;
        private ServerStatus serverStatus = ServerStatus.Available;
@@ -321,25 +390,35 @@ public class TopActivity extends Abstrac
                                running = true;
                                dispatcher.execute(new Idle(), new 
HupaEvoCallback<IdleResult>(dispatcher, eventBus) {
                                        public void callback(IdleResult result) 
{
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
                                                running = false;
                                                // check if the server is not 
supporting the Idle
                                                // command.
                                                // if so cancel this Timer
 <<<<<<< HEAD
+<<<<<<< HEAD
                                                if (response.isSupported() == 
false) {
 =======
                                                if (result.isSupported() == 
false) {
 >>>>>>> introduce the top activity
+=======
+                                               if (result.isSupported() == 
false) {
+>>>>>>> introduce the top activity
                                                        IdleTimer.this.cancel();
                                                }
                                                // Noop
                                                // TODO: put code here to read 
new events from server
                                                // (new messages ...)
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 =======
 >>>>>>> introduce the top activity
+=======
+>>>>>>> introduce the top activity
                                        }
                                });
                        }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
 Thu Sep 12 02:48:50 2013
@@ -124,10 +124,12 @@ import org.apache.hupa.client.AppControl
 import org.apache.hupa.client.CachingDispatchAsync;
 import org.apache.hupa.client.activity.IMAPMessageListActivity;
 import org.apache.hupa.client.activity.LoginActivity;
+import org.apache.hupa.client.activity.TopActivity;
 import org.apache.hupa.client.activity.WestActivity;
 import org.apache.hupa.client.dnd.PagingScrollTableRowDragController;
 import org.apache.hupa.client.mvp.AppPlaceHistoryMapper;
 import org.apache.hupa.client.mvp.MainContentActivityMapper;
+import org.apache.hupa.client.mvp.TopActivityMapper;
 import org.apache.hupa.client.mvp.WestActivityMapper;
 >>>>>>> Change to new mvp framework - first step
 import org.apache.hupa.client.place.DefaultPlace;
@@ -145,6 +147,7 @@ import com.google.gwt.activity.shared.Ac
 >>>>>>> Change to new mvp framework - first step
 =======
 import org.apache.hupa.client.ui.LoginView;
+import org.apache.hupa.client.ui.TopView;
 import org.apache.hupa.client.ui.WestView;
 
 import com.google.gwt.activity.shared.ActivityManager;
@@ -344,12 +347,16 @@ public class AppGinModule extends Abstra
                // Activities
                bind(LoginActivity.Displayable.class).to(LoginView.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
                bind(TopActivity.Displayable.class).to(TopView.class);
                bind(WestActivity.Displayable.class).to(WestView.class);
                
bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
                
bind(MessageSendActivity.Displayable.class).to(MessageSendView.class);
                
bind(IMAPMessageActivity.Displayable.class).to(IMAPMessageView.class);
 =======
+=======
+               bind(TopActivity.Displayable.class).to(TopView.class);
+>>>>>>> introduce the top activity
                bind(WestActivity.Displayable.class).to(WestView.class);
                
bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
 >>>>>>> Change to new mvp framework - first step
@@ -373,6 +380,17 @@ public class AppGinModule extends Abstra
 
 
 
+<<<<<<< HEAD
+=======
+       @Provides
+       @Singleton
+       @Named("TopRegion")
+       public ActivityManager getTopRegionActivityMapper(TopActivityMapper 
activityMapper,
+                       EventBus eventBus) {
+               return new ActivityManager(activityMapper, eventBus);
+       }
+       
+>>>>>>> introduce the top activity
        @Provides
        @Singleton
        @Named("TopRegion")
@@ -390,6 +408,7 @@ public class AppGinModule extends Abstra
        @Named("WestRegion")
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
        public ActivityManager 
getVerticalMasterRegionActivityMapper(WestActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
 =======
@@ -406,6 +425,9 @@ public class AppGinModule extends Abstra
        @Named("WestRegion")
        public ActivityManager 
getVerticalMasterRegionActivityMapper(WestActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
+=======
+       public ActivityManager getWestRegionActivityMapper(WestActivityMapper 
activityMapper,
+>>>>>>> introduce the top activity
                        EventBus eventBus) {
                return new ActivityManager(activityMapper, eventBus);
        }
@@ -440,8 +462,12 @@ public class AppGinModule extends Abstra
 >>>>>>> introduce the top activity
 =======
        @Named("MainContentRegion")
+<<<<<<< HEAD
        public ActivityManager 
getVerticalMasterRegionActivityMapper(MainContentActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
+=======
+       public ActivityManager 
getMainContentRegionActivityMapper(MainContentActivityMapper activityMapper,
+>>>>>>> introduce the top activity
                        EventBus eventBus) {
                return new ActivityManager(activityMapper, eventBus);
        }

Added: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java?rev=1522144&view=auto
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
 (added)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
 Thu Sep 12 02:48:50 2013
@@ -0,0 +1,22 @@
+package org.apache.hupa.client.mvp;
+
+import org.apache.hupa.client.activity.TopActivity;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class TopActivityMapper implements ActivityMapper {
+       private final Provider<TopActivity> topActivityProvider;
+
+       @Inject
+       public TopActivityMapper(Provider<TopActivity> topActivityProvider) {
+               this.topActivityProvider = topActivityProvider;
+       }
+
+       public Activity getActivity(Place place) {
+               return topActivityProvider.get();
+       }
+}

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java 
Thu Sep 12 02:48:50 2013
@@ -36,14 +36,18 @@ package org.apache.hupa.client.ui;
 =======
 package org.apache.hupa.client.ui;
 
+<<<<<<< HEAD
 >>>>>>> Change to new mvp framework - first step
 
+=======
+>>>>>>> introduce the top activity
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.LayoutPanel;
 
 public interface AppLayout {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> Change to new mvp framework - first step
 
@@ -60,13 +64,18 @@ public interface AppLayout {
 <<<<<<< HEAD
 >>>>>>> Change to new mvp framework - first step
 =======
+=======
+>>>>>>> introduce the top activity
        LayoutPanel getMainLayoutPanel();
        AcceptsOneWidget getTopContainer();
        AcceptsOneWidget getWestContainer();
        AcceptsOneWidget getMainContainer();
        void setLoginLayout();
        void setDefaultLayout();
+<<<<<<< HEAD
 >>>>>>> introduce the top activity
 =======
 >>>>>>> Change to new mvp framework - first step
+=======
+>>>>>>> introduce the top activity
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
 Thu Sep 12 02:48:50 2013
@@ -104,8 +104,12 @@ public class AppLayoutImpl implements Ap
        SimplePanel topPanel;
 =======
        @UiField
+<<<<<<< HEAD
        FlowPanel topPanel;
 >>>>>>> decorate the theme
+=======
+       SimplePanel topPanel;
+>>>>>>> introduce the top activity
 
        @UiField
        SimplePanel westPanel;
@@ -151,7 +155,21 @@ public class AppLayoutImpl implements Ap
        }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 
+=======
+
+       @Override
+       public AcceptsOneWidget getTopContainer() {
+               return new AcceptsOneWidget() {
+                       @Override
+                       public void setWidget(IsWidget w) {
+                               Widget widget = Widget.asWidgetOrNull(w);
+                               topPanel.setWidget(widget);
+                       }
+               };
+       }
+>>>>>>> introduce the top activity
        @Override
        public AcceptsOneWidget getTopContainer() {
                return new AcceptsOneWidget() {

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
 Thu Sep 12 02:48:50 2013
@@ -188,6 +188,7 @@
        <g:LayoutPanel addStyleNames="{style.Hupa}">
                <g:layer>
 <<<<<<< HEAD
+<<<<<<< HEAD
                        <g:SimplePanel ui:field="topPanel" 
addStyleNames="{style.topPanel}">
                        </g:SimplePanel>
 =======
@@ -196,6 +197,10 @@
                                <my:TopView ui:field="topView" 
addStyleNames="{style.topView}" />
                        </g:FlowPanel>
 >>>>>>> decorate the theme
+=======
+                       <g:SimplePanel ui:field="topPanel" 
addStyleNames="{style.topPanel}">
+                       </g:SimplePanel>
+>>>>>>> introduce the top activity
                </g:layer>
                <g:layer>
                        <g:SimplePanel ui:field="westPanel" 
addStyleNames="{style.westPanel}" />

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java 
Thu Sep 12 02:48:50 2013
@@ -163,14 +163,31 @@ public class TopView extends Composite i
 =======
 package org.apache.hupa.client.ui;
 
+import org.apache.hupa.client.HupaCSS;
+import org.apache.hupa.client.HupaConstants;
+import org.apache.hupa.client.activity.TopActivity;
+import org.apache.hupa.shared.events.ServerStatusEvent.ServerStatus;
+import org.apache.hupa.widgets.ui.RndPanel;
+
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiConstructor;
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Hyperlink;
+import com.google.gwt.user.client.ui.Label;
+import com.google.inject.Inject;
 
+<<<<<<< HEAD
 public class TopView extends Composite implements IsWidget {
 >>>>>>> decorate the theme
+=======
+public class TopView extends Composite implements TopActivity.Displayable {
+>>>>>>> introduce the top activity
 
        interface TopViewUiBinder extends UiBinder<FlowPanel, TopView> {
        }
@@ -180,10 +197,13 @@ public class TopView extends Composite i
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
        public TopView() {
                FlowPanel panel = binder.createAndBindUi(this);
 =======
+=======
+>>>>>>> introduce the top activity
        FlowPanel panel = binder.createAndBindUi(this);
        private HorizontalPanel buttonContainer = new HorizontalPanel();
        private HorizontalPanel infoContainer = new HorizontalPanel();
@@ -238,6 +258,7 @@ public class TopView extends Composite i
                panel.add(infoContainer);
                panel.add(flashContainer);
                flashContainer.add(flashLabel);
+<<<<<<< HEAD
 >>>>>>> introduce the top activity
                initWidget(panel);
                showTopNavigation(false);
@@ -310,8 +331,74 @@ public class TopView extends Composite i
 =======
        public TopView() {
                FlowPanel panel = binder.createAndBindUi(this);
+=======
+>>>>>>> introduce the top activity
                initWidget(panel);
+               showTopNavigation(false);
        }
 
+       @Override
+       public HasClickHandlers getLogoutClick() {
+               return logoutButton;
+       }
+
+       @Override
+       public HasClickHandlers getContactsClick() {
+               return contactsButton;
+       }
+
+       @Override
+       public HasClickHandlers getMainClick() {
+               return mainButton;
+       }
+
+<<<<<<< HEAD
 >>>>>>> decorate the theme
+=======
+       @Override
+       public void showTopNavigation(boolean show) {
+               buttonContainer.setVisible(show);
+       }
+
+       @Override
+       public void showContactsButton() {
+               mainButton.setVisible(false);
+               contactsButton.setVisible(true);
+       }
+
+       @Override
+       public void showMainButton() {
+               mainButton.setVisible(true);
+               contactsButton.setVisible(false);
+       }
+
+       @Override
+       public HasText getUserText() {
+               return loginUserLabel;
+       }
+
+       @Override
+       public void setServerStatus(ServerStatus status) {
+               if (status == ServerStatus.Available)
+                       showMessage("Server available.", 20000);
+               else
+                       showMessage("Server unavailable", 0);
+       }
+
+       @Override
+       public void showMessage(String message, int millisecs) {
+               flashLabel.setText(message);
+               flashContainer.setVisible(true);
+               if (millisecs > 0)
+                       hideMessage.schedule(millisecs);
+       }
+
+       private final Timer hideMessage = new Timer() {
+               public void run() {
+                       flashContainer.setVisible(false);
+                       flashLabel.setText("");
+               }
+       };
+
+>>>>>>> introduce the top activity
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml 
(original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml 
Thu Sep 12 02:48:50 2013
@@ -47,6 +47,7 @@
        </ui:style>
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
        <g:FlowPanel addStyleNames="{style.round-corner-panel}">
 >>>>>>> decorate the theme
 =======
@@ -55,5 +56,8 @@
 =======
        <g:FlowPanel addStyleNames="{style.round-corner-panel}">
 >>>>>>> decorate the theme
+=======
+       <g:FlowPanel ui:field="topWrapper" 
addStyleNames="{style.round-corner-panel}">
+>>>>>>> introduce the top activity
        </g:FlowPanel>
 </ui:UiBinder>
\ No newline at end of file



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