Author: dongxu
Date: Thu Sep 12 02:06:04 2013
New Revision: 1522114
URL: http://svn.apache.org/r1522114
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=1522114&r1=1522113&r2=1522114&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:06:04 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=1522114&r1=1522113&r2=1522114&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:06:04 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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -19,14 +19,13 @@
package org.apache.hupa.client;
-import com.google.gwt.i18n.client.Constants;
-
-import eu.maydu.gwt.validation.client.i18n.StandardValidationMessagesImpl;
import gwtupload.client.IUploader.UploaderConstants;
import org.apache.hupa.widgets.PagingOptionsConstants;
import org.apache.hupa.widgets.editor.ToolbarConstants;
+import com.google.gwt.i18n.client.Constants;
+
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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -62,8 +62,11 @@ import com.google.gwt.event.shared.Event
<<<<<<< HEAD
=======
import com.google.gwt.place.shared.PlaceController;
+<<<<<<< HEAD
>>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
import com.google.gwt.user.client.Window;
+=======
+>>>>>>> introduce the top activity
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.Focusable;
import com.google.gwt.user.client.ui.HasValue;
@@ -91,7 +94,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
public LoginActivity(Displayable display, EventBus eventBus,
PlaceController placeController,
@@ -136,18 +139,18 @@ 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() {
- public void onSessionExpireEvent(SessionExpireEvent event) {
- eventBus.fireEvent(new FlashEvent(constants.sessionTimedOut(),
4000));
- }
-
- });
+ public void onSessionExpireEvent(SessionExpireEvent
event) {
+ eventBus.fireEvent(new
FlashEvent(constants.sessionTimedOut(), 4000));
+ }
+
+ });
>>>>>>> change the LOGIN progress using native MVP instead of gwt-presenter
}
@@ -190,6 +193,7 @@ public class LoginActivity extends Abstr
public void callbackError(Throwable caught) {
display.setLoading(false);
+<<<<<<< HEAD
Window.alert("error");
<<<<<<< HEAD
LoginActivity.this.placeController.goTo(mailInboxPlaceProvider.get());
@@ -199,6 +203,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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -27,6 +28,16 @@ import org.apache.hupa.shared.domain.Idl
import org.apache.hupa.shared.domain.IdleResult;
import org.apache.hupa.shared.domain.LogoutUserResult;
import org.apache.hupa.shared.domain.User;
+=======
+package org.apache.hupa.client.activity;
+
+import net.customware.gwt.dispatch.client.DispatchAsync;
+
+import org.apache.hupa.client.HupaConstants;
+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;
@@ -36,12 +47,24 @@ import org.apache.hupa.shared.events.Log
import org.apache.hupa.shared.events.ServerStatusEvent;
import org.apache.hupa.shared.events.ServerStatusEvent.ServerStatus;
import org.apache.hupa.shared.events.ServerStatusEventHandler;
+<<<<<<< HEAD
+
+=======
+import org.apache.hupa.shared.rpc.CheckSession;
+import org.apache.hupa.shared.rpc.CheckSessionResult;
+import org.apache.hupa.shared.rpc.Idle;
+import org.apache.hupa.shared.rpc.IdleResult;
+import org.apache.hupa.shared.rpc.LogoutUser;
+import org.apache.hupa.shared.rpc.LogoutUserResult;
+import com.google.gwt.activity.shared.AbstractActivity;
+>>>>>>> introduce the top activity
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.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
+<<<<<<< HEAD
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.HasText;
@@ -52,10 +75,27 @@ public class TopActivity extends AppBase
private static final int IDLE_INTERVAL = 150000;
+=======
+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;
+
+public class TopActivity extends AbstractActivity {
+
+ private static final int IDLE_INTERVAL = 150000;
+ HupaConstants constants;
+>>>>>>> introduce the top activity
@Override
public void start(AcceptsOneWidget container, EventBus eventBus) {
container.setWidget(display.asWidget());
bind();
+<<<<<<< HEAD
+=======
+ checkSession();
+>>>>>>> introduce the top activity
}
private void bind() {
@@ -67,8 +107,15 @@ public class TopActivity extends AppBase
showMain(user);
display.showMessage(constants.welcome(), 3000);
}
+<<<<<<< HEAD
});
eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
+=======
+
+ });
+ eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
+
+>>>>>>> introduce the top activity
public void onLogout(LogoutEvent event) {
User u = event.getUser();
String username = null;
@@ -78,6 +125,7 @@ public class TopActivity extends AppBase
showLogin(username);
noopTimer.cancel();
}
+<<<<<<< HEAD
});
registerHandler(display.getLogoutClick().addClickHandler(new
ClickHandler() {
public void onClick(ClickEvent event) {
@@ -95,6 +143,33 @@ public class TopActivity extends AppBase
}
}));
eventBus.addHandler(ServerStatusEvent.TYPE, new
ServerStatusEventHandler() {
+=======
+
+ });
+ display.getLogoutClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ doLogout();
+ }
+
+ });
+ display.getContactsClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ showContacts();
+ }
+
+ });
+ display.getMainClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ showMain(user);
+ }
+
+ });
+ eventBus.addHandler(ServerStatusEvent.TYPE, new
ServerStatusEventHandler() {
+
+>>>>>>> introduce the top activity
public void onServerStatusChange(ServerStatusEvent
event) {
if (event.getStatus() != serverStatus) {
GWT.log("Server status has hanged from
" + serverStatus + " to" + event.getStatus(), null);
@@ -102,6 +177,7 @@ public class TopActivity extends AppBase
display.setServerStatus(serverStatus);
}
}
+<<<<<<< HEAD
});
eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
public void onFlash(FlashEvent event) {
@@ -117,6 +193,42 @@ public class TopActivity extends AppBase
@Override
public void onSuccess(LogoutUserResult
response) {
eventBus.fireEvent(new
LogoutEvent(response.getUser()));
+=======
+
+ });
+ eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
+
+ public void onFlash(FlashEvent event) {
+ display.showMessage(event.getMessage(),
event.getMillisec());
+ }
+
+ });
+ }
+
+ private void checkSession() {
+ dispatcher.execute(new CheckSession(), new
AsyncCallback<CheckSessionResult>() {
+ public void onFailure(Throwable caught) {
+ serverStatus = ServerStatus.Unavailable;
+ display.setServerStatus(serverStatus);
+ showLogin(null);
+ }
+ public void onSuccess(CheckSessionResult result) {
+ serverStatus = ServerStatus.Available;
+ display.setServerStatus(serverStatus);
+ if (result.isValid()) {
+ eventBus.fireEvent(new
LoginEvent(result.getUser()));
+ } else {
+ showLogin(null);
+ }
+ }
+ });
+ }
+ private void doLogout() {
+ if (user != null) {
+ dispatcher.execute(new LogoutUser(), new
HupaEvoCallback<LogoutUserResult>(dispatcher, eventBus) {
+ public void callback(LogoutUserResult result) {
+ eventBus.fireEvent(new
LogoutEvent(result.getUser()));
+>>>>>>> introduce the top activity
}
});
}
@@ -129,13 +241,17 @@ public class TopActivity extends AppBase
private void showLogin(String username) {
display.showTopNavigation(false);
+<<<<<<< HEAD
// placeController.goTo(new DefaultPlace());
+=======
+>>>>>>> introduce the top activity
}
private void showContacts() {
display.showTopNavigation(true);
display.showMainButton();
}
+<<<<<<< HEAD
private Timer noopTimer = new IdleTimer();
@@ -145,6 +261,20 @@ public class TopActivity extends AppBase
private User user;
private ServerStatus serverStatus = ServerStatus.Available;
+=======
+ private Timer noopTimer = new IdleTimer();
+
+ @Inject
+ public TopActivity(Displayable display, EventBus eventBus,
PlaceController placeController,
+ HupaConstants constants, DispatchAsync dispatcher) {
+ this.dispatcher = dispatcher;
+ this.display = display;
+ this.eventBus = eventBus;
+ this.constants = constants;
+ this.placeController = placeController;
+
+ }
+>>>>>>> introduce the top activity
public interface Displayable extends WidgetDisplayable {
public HasClickHandlers getLogoutClick();
public HasClickHandlers getContactsClick();
@@ -157,6 +287,7 @@ public class TopActivity extends AppBase
public void showMessage(String message, int millisecs);
}
+<<<<<<< HEAD
private class IdleTimer extends Timer {
boolean running = false;
@@ -169,17 +300,41 @@ public class TopActivity extends AppBase
@Override
public void onSuccess(IdleResult
response) {
+=======
+ private final Displayable display;
+ private final EventBus eventBus;
+ private final PlaceController placeController;
+ private final DispatchAsync dispatcher;
+
+ private User user;
+ private ServerStatus serverStatus = ServerStatus.Available;
+
+ private class IdleTimer extends Timer {
+ boolean running = false;
+ public void run() {
+ if (!running) {
+ running = true;
+ dispatcher.execute(new Idle(), new
HupaEvoCallback<IdleResult>(dispatcher, eventBus) {
+ public void callback(IdleResult result)
{
+>>>>>>> introduce the top activity
running = false;
// check if the server is not
supporting the Idle
// command.
// if so cancel this Timer
+<<<<<<< HEAD
if (response.isSupported() ==
false) {
+=======
+ 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
+=======
+>>>>>>> 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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -103,16 +103,19 @@ 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;
import org.apache.hupa.client.place.DefaultPlace;
import org.apache.hupa.client.ui.AppLayout;
import org.apache.hupa.client.ui.AppLayoutImpl;
import org.apache.hupa.client.ui.IMAPMessageListView;
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;
@@ -302,6 +305,7 @@ public class AppGinModule extends Abstra
// Activities
bind(LoginActivity.Displayable.class).to(LoginView.class);
+ bind(TopActivity.Displayable.class).to(TopView.class);
bind(WestActivity.Displayable.class).to(WestView.class);
bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
@@ -321,6 +325,16 @@ public class AppGinModule extends Abstra
>>>>>>> Change to new mvp framework - first step
}
+
+
+ @Provides
+ @Singleton
+ @Named("TopRegion")
+ public ActivityManager getTopRegionActivityMapper(TopActivityMapper
activityMapper,
+ EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
@Provides
@Singleton
<<<<<<< HEAD
@@ -328,8 +342,12 @@ public class AppGinModule extends Abstra
public ActivityManager
getMessageContentActivityMapper(MessageContentActivityMapper activityMapper,
=======
@Named("WestRegion")
+<<<<<<< HEAD
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);
}
@@ -355,8 +373,12 @@ public class AppGinModule extends Abstra
public ActivityManager
getComposeToolBarActivityMapper(ComposeToolBarActivityMapper activityMapper,
=======
@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=1522114&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:06:04 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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -33,11 +33,11 @@ public interface AppLayout {
=======
package org.apache.hupa.client.ui;
-
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.LayoutPanel;
public interface AppLayout {
+<<<<<<< HEAD
LayoutPanel getMainLayoutPanel();
@@ -50,4 +50,12 @@ public interface AppLayout {
void setDefaultLayout();
>>>>>>> Change to new mvp framework - first step
+=======
+ LayoutPanel getMainLayoutPanel();
+ AcceptsOneWidget getTopContainer();
+ AcceptsOneWidget getWestContainer();
+ AcceptsOneWidget getMainContainer();
+ void setLoginLayout();
+ void setDefaultLayout();
+>>>>>>> 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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -80,7 +80,7 @@ public class AppLayoutImpl implements Ap
logoContainer.addStyleName(HupaCSS.C_logo_container);
=======
@UiField
- FlowPanel topPanel;
+ SimplePanel topPanel;
@UiField
SimplePanel westPanel;
@@ -119,6 +119,17 @@ public class AppLayoutImpl implements Ap
return mainLayoutPanel;
}
+
+ @Override
+ public AcceptsOneWidget getTopContainer() {
+ return new AcceptsOneWidget() {
+ @Override
+ public void setWidget(IsWidget w) {
+ Widget widget = Widget.asWidgetOrNull(w);
+ topPanel.setWidget(widget);
+ }
+ };
+ }
@Override
>>>>>>> decorate the theme
public AcceptsOneWidget getWestContainer() {
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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -155,10 +155,8 @@
</ui:style>
<g:LayoutPanel addStyleNames="{style.Hupa}">
<g:layer>
- <g:FlowPanel ui:field="topPanel"
addStyleNames="{style.topPanel}">
- <g:HTMLPanel addStyleNames="{style.hupa-logo}"
/>
- <my:TopView ui:field="topView"
addStyleNames="{style.topView}" />
- </g:FlowPanel>
+ <g:SimplePanel ui:field="topPanel"
addStyleNames="{style.topPanel}">
+ </g:SimplePanel>
</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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -134,14 +134,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> {
}
@@ -149,11 +166,132 @@ public class TopView extends Composite i
private static TopViewUiBinder binder =
GWT.create(TopViewUiBinder.class);
<<<<<<< HEAD
+<<<<<<< HEAD
=======
public TopView() {
FlowPanel panel = binder.createAndBindUi(this);
+=======
+ FlowPanel panel = binder.createAndBindUi(this);
+ private HorizontalPanel buttonContainer = new HorizontalPanel();
+ private HorizontalPanel infoContainer = new HorizontalPanel();
+
+
+ private HorizontalPanel loginInfoPanel = new HorizontalPanel();
+ private Label loginLabel = new Label();
+ private Label loginUserLabel = new Label();
+ private Hyperlink mainButton = new Hyperlink();
+ private Hyperlink contactsButton = new Hyperlink();
+ private Hyperlink logoutButton = new Hyperlink();
+ private Label appnameLabel = new Label();
+
+ private RndPanel flashContainer = new RndPanel();
+ private Label flashLabel = new Label();
+ private Label extraLabel = new Label();
+
+ @Inject
+ @UiConstructor
+ public TopView(HupaConstants constants) {
+ panel.addStyleName(HupaCSS.C_top_container + "-wrap");
+ buttonContainer.addStyleName(HupaCSS.C_button_container);
+ infoContainer.addStyleName(HupaCSS.C_info_container);
+ loginInfoPanel.addStyleName(HupaCSS.C_login_info_container);
+ loginLabel.addStyleName(HupaCSS.C_login_info_label);
+ loginUserLabel.addStyleName(HupaCSS.C_login_info_user);
+ logoutButton.addStyleName(HupaCSS.C_menu_button);
+ contactsButton.addStyleName(HupaCSS.C_menu_button);
+ mainButton.addStyleName(HupaCSS.C_menu_button);
+ appnameLabel.addStyleName(HupaCSS.C_header);
+ flashContainer.addStyleName(HupaCSS.C_flash);
+
+ // internationalize elements
+ logoutButton.setText(constants.logoutButton());
+ loginLabel.setText(constants.loginAs() + ": ");
+ appnameLabel.setText(constants.productName());
+ contactsButton.setText(constants.contactsTab());
+ mainButton.setText(constants.mailTab());
+
+ // Layout containers and panels
+ buttonContainer.add(loginInfoPanel);
+ loginInfoPanel.add(loginLabel);
+ loginInfoPanel.add(loginUserLabel);
+ buttonContainer.add(contactsButton);
+ buttonContainer.add(mainButton);
+ buttonContainer.add(logoutButton);
+ buttonContainer.setCellWidth(loginInfoPanel, "100%");
+
+ infoContainer.add(appnameLabel);
+ infoContainer.add(extraLabel);
+ panel.add(buttonContainer);
+ panel.add(infoContainer);
+ panel.add(flashContainer);
+ flashContainer.add(flashLabel);
+>>>>>>> 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=1522114&r1=1522113&r2=1522114&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:06:04 2013
@@ -42,7 +42,11 @@
overflow: hidden;
}
</ui:style>
+<<<<<<< HEAD
<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: [email protected]
For additional commands, e-mail: [email protected]