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

svn commit: r1522295 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: activity/ ioc/ mapper/ ui/

Author: dongxu
Date: Thu Sep 12 04:04:37 2013
New Revision: 1522295

URL: http://svn.apache.org/r1522295
Log:
make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism

Added:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeContentActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeHeaderActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeStatusActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeContentActivityMapper.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeHeaderActivityMapper.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeStatusActivityMapper.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.java
      - copied, changed from r1522294, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.ui.xml
Removed:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java
Modified:
    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/mapper/ActivityManagerInitializer.java
    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/HupaLayoutable.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeContentActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeContentActivity.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeContentActivity.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeContentActivity.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,38 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.activity;
+
+import org.apache.hupa.client.ui.WidgetDisplayable;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.inject.Inject;
+
+public class ComposeContentActivity extends AppBaseActivity {
+
+	@Override
+	public void start(AcceptsOneWidget container, EventBus eventBus) {
+		container.setWidget(display.asWidget());
+	}
+
+	@Inject private Displayable display;
+	
+	public interface Displayable extends WidgetDisplayable {}
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeHeaderActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeHeaderActivity.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeHeaderActivity.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeHeaderActivity.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,38 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.activity;
+
+import org.apache.hupa.client.ui.WidgetDisplayable;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.inject.Inject;
+
+public class ComposeHeaderActivity extends AppBaseActivity {
+
+	@Override
+	public void start(AcceptsOneWidget container, EventBus eventBus) {
+		container.setWidget(display.asWidget());
+	}
+
+	@Inject private Displayable display;
+	
+	public interface Displayable extends WidgetDisplayable {}
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeStatusActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeStatusActivity.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeStatusActivity.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeStatusActivity.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,38 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.activity;
+
+import org.apache.hupa.client.ui.WidgetDisplayable;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.inject.Inject;
+
+public class ComposeStatusActivity extends AppBaseActivity {
+
+	@Override
+	public void start(AcceptsOneWidget container, EventBus eventBus) {
+		container.setWidget(display.asWidget());
+	}
+
+	@Inject private Displayable display;
+	
+	public interface Displayable extends WidgetDisplayable {}
+}

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=1522295&r1=1522294&r2=1522295&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 04:04:37 2013
@@ -46,10 +46,16 @@ import org.apache.hupa.client.HupaConsta
 >>>>>>> integrate them as a whole one - first: make the default place work
 import org.apache.hupa.client.HupaController;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.activity.ComposeActivity;
 import org.apache.hupa.client.activity.ComposeToolBarActivity;
 import org.apache.hupa.client.activity.ContactPropertiesActivity;
 import org.apache.hupa.client.activity.ContactsListActivity;
+=======
+import org.apache.hupa.client.activity.ComposeContentActivity;
+import org.apache.hupa.client.activity.ComposeHeaderActivity;
+import org.apache.hupa.client.activity.ComposeStatusActivity;
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 import org.apache.hupa.client.activity.FolderListActivity;
 import org.apache.hupa.client.activity.LabelListActivity;
 import org.apache.hupa.client.activity.LabelPropertiesActivity;
@@ -146,6 +152,7 @@ import org.apache.hupa.client.activity.T
 import org.apache.hupa.client.activity.WestActivity;
 import org.apache.hupa.client.mapper.AppPlaceHistoryMapper;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.mapper.CachingTopActivityMapper;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -189,6 +196,11 @@ import org.apache.hupa.client.mapper.Mai
 =======
 =======
 >>>>>>> make message list view panel work as expected partly
+=======
+import org.apache.hupa.client.mapper.ComposeContentActivityMapper;
+import org.apache.hupa.client.mapper.ComposeHeaderActivityMapper;
+import org.apache.hupa.client.mapper.ComposeStatusActivityMapper;
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 import org.apache.hupa.client.mapper.FolderListActivityMapper;
 import org.apache.hupa.client.mapper.LoginActivityMapper;
 import org.apache.hupa.client.mapper.LogoActivityMapper;
@@ -207,6 +219,9 @@ import org.apache.hupa.client.mapper.Wes
 >>>>>>> make message list view panel work as expected partly
 import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.rf.HupaRequestFactory;
+import org.apache.hupa.client.ui.ComposeContentView;
+import org.apache.hupa.client.ui.ComposeHeaderView;
+import org.apache.hupa.client.ui.ComposeStatusView;
 import org.apache.hupa.client.ui.FolderListView;
 import org.apache.hupa.client.ui.FoldersTreeViewModel;
 import org.apache.hupa.client.ui.HupaLayout;
@@ -266,7 +281,6 @@ import com.google.gwt.user.cellview.clie
 >>>>>>> refactoring.
 import com.google.inject.Provides;
 import com.google.inject.Singleton;
-import com.google.inject.assistedinject.FactoryModuleBuilder;
 import com.google.inject.name.Named;
 
 <<<<<<< HEAD
@@ -475,13 +489,16 @@ public class AppGinModule extends Abstra
 		bind(LogoActivity.Displayable.class).to(LogoView.class);
 		bind(NavigationActivity.Displayable.class).to(NavigationView.class);
 		bind(ToolBarActivity.Displayable.class).to(ToolBarView.class);
-//		bind(FolderListActivity.Displayable.class).to(FolderListView.class);
+		// bind(FolderListActivity.Displayable.class).to(FolderListView.class);
 		bind(MessageListActivity.Displayable.class).to(MessageListView.class);
 		bind(MessageListFooterActivity.Displayable.class).to(
 				MessageListFooterView.class);
 		bind(MessageContentActivity.Displayable.class).to(
 				MessageContentView.class);
 		bind(StatusActivity.Displayable.class).to(StatusView.class);
+		bind(ComposeStatusActivity.Displayable.class).to(ComposeStatusView.class);
+		bind(ComposeHeaderActivity.Displayable.class).to(ComposeHeaderView.class);
+		bind(ComposeContentActivity.Displayable.class).to(ComposeContentView.class);
 
 		bind(LoginActivity.class).in(Singleton.class);
 		bind(TopBarActivity.class).in(Singleton.class);
@@ -493,6 +510,9 @@ public class AppGinModule extends Abstra
 		// bind(MessageListFooterActivity.class).in(Singleton.class);
 		// bind(MessageContentActivity.class).in(Singleton.class);
 		// bind(StatusActivity.class).in(Singleton.class);
+		bind(ComposeHeaderActivity.class).in(Singleton.class);
+		bind(ComposeContentActivity.class).in(Singleton.class);
+		bind(ComposeStatusActivity.class).in(Singleton.class);
 
 >>>>>>> integrate all of the views to their corresponding activities and mappers
 		bind(TopActivity.Displayable.class).to(TopView.class);
@@ -693,15 +713,22 @@ public class AppGinModule extends Abstra
 >>>>>>> track the folder list tree model issue of invalid session, TODO how to retrieve folders data using GIN
 	@Provides
 	@Singleton
+<<<<<<< HEAD
 	@Named("TopRegion")
 	public ActivityManager getTopRegionActivityMapper(
 			CachingTopActivityMapper activityMapper, EventBus eventBus) {
+=======
+	@Named("ComposeHeaderRegion")
+	public ActivityManager getComposeHeaderActivityMapper(
+			ComposeHeaderActivityMapper activityMapper, EventBus eventBus) {
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 		return new ActivityManager(activityMapper, eventBus);
 	}
 
 	@Provides
 	@Singleton
 <<<<<<< HEAD
+<<<<<<< HEAD
 	@Named("MessageContentRegion")
 	public ActivityManager getMessageContentActivityMapper(MessageContentActivityMapper activityMapper,
 =======
@@ -742,6 +769,11 @@ public class AppGinModule extends Abstra
 =======
 	public ActivityManager getWestRegionActivityMapper(WestActivityMapper activityMapper, EventBus eventBus) {
 >>>>>>> delete messages, make WestActivity Singleton
+=======
+	@Named("ComposeContentRegion")
+	public ActivityManager getComposeContentActivityMapper(
+			ComposeContentActivityMapper activityMapper, EventBus eventBus) {
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 		return new ActivityManager(activityMapper, eventBus);
 	}
 
@@ -749,13 +781,20 @@ public class AppGinModule extends Abstra
 	@Singleton
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	@Named("StatusRegion")
 	public ActivityManager getStatusActivityMapper(StatusActivityMapper activityMapper, EventBus eventBus) {
+=======
+	@Named("ComposeStatusRegion")
+	public ActivityManager getComposeStatusActivityMapper(
+			ComposeStatusActivityMapper activityMapper, EventBus eventBus) {
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 		return new ActivityManager(activityMapper, eventBus);
 	}
 
 	@Provides
 	@Singleton
+<<<<<<< HEAD
 	@Named("ComposeRegion")
 	public ActivityManager getComposeActivityMapper(ComposeActivityMapper activityMapper, EventBus eventBus) {
 =======
@@ -839,6 +878,8 @@ public class AppGinModule extends Abstra
 	@Provides
 	@Singleton
 >>>>>>> use GinFactoryModuleBuilder to inject multiple displayable instances of some activities
+=======
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 	public PlaceController getPlaceController(EventBus eventBus) {
 		return new PlaceController(eventBus);
 	}
@@ -873,11 +914,16 @@ public class AppGinModule extends Abstra
 		PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(
 				historyMapper);
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> integrate all of the views to their corresponding activities and mappers
 		historyHandler.register(placeController, eventBus, new DefaultPlace());
 =======
 		historyHandler.register(placeController, eventBus, new DefaultPlace("@"));
 >>>>>>> cope with issue #36, the default place and and the mail folder place, we would always come up with the default place whenever giving a empty string token
+=======
+		historyHandler.register(placeController, eventBus,
+				new DefaultPlace("@"));
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 		return historyHandler;
 	}
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java?rev=1522295&r1=1522294&r2=1522295&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java Thu Sep 12 04:04:37 2013
@@ -33,7 +33,8 @@ import com.google.inject.name.Named;
 public class ActivityManagerInitializer {
 
 	@Inject
-	public ActivityManagerInitializer(LoginLayoutable loginLayout,
+	public ActivityManagerInitializer(
+			LoginLayoutable loginLayout,
 			HupaLayoutable hupaLayout,
 			@Named("LoginPage") ActivityManager loginActivityManager,
 			@Named("TopBarRegion") ActivityManager topBarActivityManager,
@@ -44,7 +45,10 @@ public class ActivityManagerInitializer 
 			@Named("MessageListRegion") ActivityManager messageListActivityManager,
 			@Named("MessageListFooterRegion") ActivityManager messageListFooterActivityManager,
 			@Named("MessageContentRegion") ActivityManager messageContentActivityManager,
-			@Named("StatusRegion") ActivityManager statusActivityManager) {
+			@Named("StatusRegion") ActivityManager statusActivityManager,
+			@Named("ComposeHeaderRegion") ActivityManager composeHeaderActivityManager,
+			@Named("ComposeContentRegion") ActivityManager composeContentActivityManager,
+			@Named("ComposeStatusRegion") ActivityManager composeStatusActivityManager) {
 		loginActivityManager.setDisplay(loginLayout.getLoginView());
 		topBarActivityManager.setDisplay(hupaLayout.getTopBarView());
 		logoActivityManager.setDisplay(hupaLayout.getLogoView());
@@ -52,9 +56,15 @@ public class ActivityManagerInitializer 
 		toolBarActivityManager.setDisplay(hupaLayout.getToolBarView());
 		folderListActivityManager.setDisplay(hupaLayout.getFolderListView());
 		messageListActivityManager.setDisplay(hupaLayout.getMessageListView());
-		messageListFooterActivityManager.setDisplay(hupaLayout.getMessageListFooterView());
-		messageContentActivityManager.setDisplay(hupaLayout.getMessageContentView());
+		messageListFooterActivityManager.setDisplay(hupaLayout
+				.getMessageListFooterView());
+		messageContentActivityManager.setDisplay(hupaLayout
+				.getMessageContentView());
 		statusActivityManager.setDisplay(hupaLayout.getStatusView());
+		composeHeaderActivityManager.setDisplay(hupaLayout.getComposeHeader());
+		composeContentActivityManager
+				.setDisplay(hupaLayout.getComposeContent());
+		composeStatusActivityManager.setDisplay(hupaLayout.getComposeStatus());
 	}
 
 }

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeContentActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeContentActivityMapper.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeContentActivityMapper.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeContentActivityMapper.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,53 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.mapper;
+
+import org.apache.hupa.client.activity.ComposeContentActivity;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.RunAsyncCallback;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class ComposeContentActivityMapper implements ActivityMapper {
+	private final Provider<ComposeContentActivity> composeContentActivityProvider;
+
+	@Inject
+	public ComposeContentActivityMapper(Provider<ComposeContentActivity> composeContentActivityProvider) {
+		this.composeContentActivityProvider = composeContentActivityProvider;
+	}
+
+	public Activity getActivity(Place place) {
+		return new ActivityAsyncProxy() {
+			@Override
+			protected void doAsync(RunAsyncCallback callback) {
+				GWT.runAsync(callback);
+			}
+
+			@Override
+			protected Activity createInstance() {
+				return composeContentActivityProvider.get();
+			}
+		};
+	}
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeHeaderActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeHeaderActivityMapper.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeHeaderActivityMapper.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeHeaderActivityMapper.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,54 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.mapper;
+
+import org.apache.hupa.client.activity.ComposeHeaderActivity;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.RunAsyncCallback;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class ComposeHeaderActivityMapper implements ActivityMapper {
+	private final Provider<ComposeHeaderActivity> composeHeaderActivityProvider;
+
+	@Inject
+	public ComposeHeaderActivityMapper(
+			Provider<ComposeHeaderActivity> composeHeaderActivityProvider) {
+		this.composeHeaderActivityProvider = composeHeaderActivityProvider;
+	}
+
+	public Activity getActivity(Place place) {
+		return new ActivityAsyncProxy() {
+			@Override
+			protected void doAsync(RunAsyncCallback callback) {
+				GWT.runAsync(callback);
+			}
+
+			@Override
+			protected Activity createInstance() {
+				return composeHeaderActivityProvider.get();
+			}
+		};
+	}
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeStatusActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeStatusActivityMapper.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeStatusActivityMapper.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ComposeStatusActivityMapper.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,53 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.mapper;
+
+import org.apache.hupa.client.activity.ComposeStatusActivity;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.RunAsyncCallback;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class ComposeStatusActivityMapper implements ActivityMapper {
+	private final Provider<ComposeStatusActivity> composeStatusActivityProvider;
+
+	@Inject
+	public ComposeStatusActivityMapper(Provider<ComposeStatusActivity> composeStatusActivityProvider) {
+		this.composeStatusActivityProvider = composeStatusActivityProvider;
+	}
+
+	public Activity getActivity(Place place) {
+		return new ActivityAsyncProxy() {
+			@Override
+			protected void doAsync(RunAsyncCallback callback) {
+				GWT.runAsync(callback);
+			}
+
+			@Override
+			protected Activity createInstance() {
+				return composeStatusActivityProvider.get();
+			}
+		};
+	}
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,43 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.ui;
+
+import org.apache.hupa.client.activity.ComposeContentActivity;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+
+public class ComposeContentView extends Composite implements
+		ComposeContentActivity.Displayable {
+
+	public ComposeContentView() {
+		initWidget(binder.createAndBindUi(this));
+	}
+
+	interface ComposeContentUiBinder extends
+			UiBinder<DockLayoutPanel, ComposeContentView> {
+	}
+
+	private static ComposeContentUiBinder binder = GWT
+			.create(ComposeContentUiBinder.class);
+
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeContentView.ui.xml Thu Sep 12 04:04:37 2013
@@ -0,0 +1,57 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+	<ui:style>
+		.composeoptionsbox {
+			padding: 4px 8px 0 8px;
+			background: #d2d2d2;
+			border-bottom: 1px solid #e8e8e8;
+			-webkit-box-shadow: 0 2px 3px 0 #999;
+			-moz-box-shadow: 0 2px 3px 0 #999;
+			box-shadow: 0 2px 3px 0 #999;
+			white-space: nowrap;
+		}
+		
+		.composeattachments {
+			position: absolute;
+			right: 0;
+			top: 1px;
+			bottom: 0;
+			width: 240px;
+			background: #f0f0f0;
+			border-left: 1px solid #ddd;
+			padding: 8px;
+			overflow: auto;
+		}
+		
+		.composebodycontainer {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 260px;
+			bottom: 0;
+		}
+	</ui:style>
+	<g:DockLayoutPanel unit="PX">
+		<g:north size="23">
+			<g:HTMLPanel addStyleNames="{style.composeoptionsbox}">composeOption</g:HTMLPanel>
+		</g:north>
+		<g:east size="257">
+			<g:HTMLPanel addStyleNames="{style.composeattachments}">composeAttachment
+			</g:HTMLPanel>
+		</g:east>
+		<g:center>
+			<g:HTMLPanel addStyleNames="{style.composebodycontainer}">composeBody</g:HTMLPanel>
+		</g:center>
+	</g:DockLayoutPanel>
+</ui:UiBinder>
\ No newline at end of file

Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.java (from r1522294, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java&r1=1522294&r2=1522295&rev=1522295&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.java Thu Sep 12 04:04:37 2013
@@ -19,10 +19,10 @@
 
 package org.apache.hupa.client.ui;
 
+import org.apache.hupa.client.activity.ComposeHeaderActivity;
+
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.resources.client.ClientBundle;
 import com.google.gwt.resources.client.CssResource;
-import com.google.gwt.resources.client.CssResource.NotStrict;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.uibinder.client.UiField;
 <<<<<<< HEAD
@@ -85,27 +85,20 @@ import com.google.gwt.user.client.ui.Anc
 >>>>>>> composing composing panel
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.DockLayoutPanel;
 import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+import com.google.gwt.user.client.ui.HTMLTable.RowFormatter;
 
-public class ComposeView extends Composite {
+public class ComposeHeaderView extends Composite implements
+		ComposeHeaderActivity.Displayable {
 
-	@UiField FlexTable headerTable;
-	@UiField Style style;
-	private static final int ROW_FROM = 0;
-	private static final int ROW_TO = 1;
-	private static final int ROW_CC = 2;
-	private static final int ROW_BCC = 3;
-	private static final int ROW_REPLY = 4;
-	private static final int ROW_FOLLOWUP = 5;
-	private static final int ROW_SWITCH = 6;
-	private static final int ROW_SUBJECT = 7;
+	@UiField protected FlexTable headerTable;
+
+	@UiField protected Style style;
 
 	interface Style extends CssResource {
 		String hiddenInput();
@@ -123,19 +116,16 @@ public class ComposeView extends Composi
 		String operation();
 	}
 
-	public interface Resources extends ClientBundle {
-
-		Resources INSTANCE = GWT.create(Resources.class);
-
-		@NotStrict
-		@Source("res/CssComposePanel.css")
-		public Css stylesheet();
-
-		public interface Css extends CssResource {
-		}
-	}
+	private static final int ROW_FROM = 0;
+	private static final int ROW_TO = 1;
+	private static final int ROW_CC = 2;
+	private static final int ROW_BCC = 3;
+	private static final int ROW_REPLY = 4;
+	private static final int ROW_FOLLOWUP = 5;
+	private static final int ROW_SWITCH = 6;
+	private static final int ROW_SUBJECT = 7;
 
-	public ComposeView() {
+	public ComposeHeaderView() {
 		initWidget(binder.createAndBindUi(this));
 		FlexCellFormatter cellFormatter = headerTable.getFlexCellFormatter();
 		RowFormatter rowFormatter = headerTable.getRowFormatter();
@@ -177,7 +167,6 @@ public class ComposeView extends Composi
 		operationPanel.add(buttonPanel);
 		operationPanel.addStyleName(style.operation());
 		headerTable.setWidget(ROW_FROM, 1, operationPanel);
-		
 
 		TextBox to = new TextBox();
 		to.setWidth("100%");
@@ -232,12 +221,12 @@ public class ComposeView extends Composi
 		return t;
 	}
 
-	interface __ComposePanelUiBinder extends
-			UiBinder<DockLayoutPanel, ComposeView> {
+	interface ComposeHeaderUiBinder extends
+			UiBinder<FlexTable, ComposeHeaderView> {
 	}
 
-	private static __ComposePanelUiBinder binder = GWT
-			.create(__ComposePanelUiBinder.class);
+	private static ComposeHeaderUiBinder binder = GWT
+			.create(ComposeHeaderUiBinder.class);
 
 >>>>>>> preparing for composing panel
 }

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeHeaderView.ui.xml Thu Sep 12 04:04:37 2013
@@ -0,0 +1,68 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+	<ui:image field="buttons" src="res/buttons.png" />
+	<ui:style type="org.apache.hupa.client.ui.ComposeHeaderView.Style">
+		@sprite .iconlink {
+			gwt-image: 'buttons';
+			background-position: -1000px 0;
+			width: auto;
+			height: auto;
+			display: inline-block;
+			color: #888;
+			text-decoration: none;
+			white-space: nowrap;
+			padding: 2px 8px 2px 20px;
+		}
+		
+		.left {
+			float: left;
+		}
+		
+		.right {
+			float: right;
+		}
+		
+		.operation {
+			margin: 0 -1px;
+		}
+		
+		.add {
+			background-position: -7px -357px;
+			margin-right: 6px;
+		}
+		
+		.formlinks {
+			padding: 0 4px;
+		}
+		
+		.hiddenInput {
+			display: none
+		}
+		
+		.headerTable {
+			display: table;
+			border-collapse: separate;
+			border-spacing: 2px;
+			border-color: gray;
+			width: 99%;
+			margin: 4px 0;
+		}
+		
+		.headerTable td {
+			color: #666;
+			cursor: default;
+		}
+	</ui:style>
+	<g:FlexTable ui:field="headerTable" addStyleNames="{style.headerTable}" />
+</ui:UiBinder>
\ No newline at end of file

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,43 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.ui;
+
+import org.apache.hupa.client.activity.ComposeStatusActivity;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTMLPanel;
+
+public class ComposeStatusView extends Composite implements
+		ComposeStatusActivity.Displayable {
+
+	public ComposeStatusView() {
+		initWidget(binder.createAndBindUi(this));
+	}
+
+	interface ComposeStatusUiBinder extends
+			UiBinder<HTMLPanel, ComposeStatusView> {
+	}
+
+	private static ComposeStatusUiBinder binder = GWT
+			.create(ComposeStatusUiBinder.class);
+
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/ComposeStatusView.ui.xml Thu Sep 12 04:04:37 2013
@@ -0,0 +1,37 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+	xmlns:g='urn:import:com.google.gwt.user.client.ui'>
+	<ui:style>
+		.statusbar {
+			position: absolute;
+			bottom: 0;
+			left: 0;
+			right: 0;
+			height: 27px;
+			padding-left: 8px;
+			border-top: 1px solid #ddd;
+			border-radius: 0 0 4px 4px;
+			background: #eaeaea;
+			background: -moz-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+			background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eaeaea),
+				color-stop(100%, #c8c8c8) );
+			background: -o-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+			background: -ms-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+			background: linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+		}
+	</ui:style>
+	<g:HTMLPanel addStyleNames="{style.statusbar}">composeStatus</g:HTMLPanel>
+</ui:UiBinder>
\ No newline at end of file

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=1522295&r1=1522294&r2=1522295&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 04:04:37 2013
@@ -333,6 +333,21 @@ public class HupaLayout implements HupaL
 	public AcceptsOneWidget getStatusView() {
 		return centerPanel.getStatusView();
 	}
+	
+	@Override
+	public AcceptsOneWidget getComposeHeader(){
+		return centerPanel.getComposeHeader();
+	}
+	
+	@Override
+	public AcceptsOneWidget getComposeContent(){
+		return centerPanel.getComposeContent();
+	}
+	
+	@Override
+	public AcceptsOneWidget getComposeStatus(){
+		return centerPanel.getComposeStatus();
+	}
 
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -351,7 +366,7 @@ public interface HupaLayout {
 
 	private void changeToCompose() {
 		centerPanel.thisPanel.remove(centerPanel.contentPanel);
-		centerPanel.thisPanel.add(centerPanel.composeView);
+		centerPanel.thisPanel.add(centerPanel.composePanel);
 	}
 
 	private boolean isMessageOccupied() {
@@ -371,12 +386,12 @@ public interface HupaLayout {
 >>>>>>> could change main panel dynamically currently by clicking the compose button
 =======
 	private void changeToMessage() {
-		centerPanel.thisPanel.remove(centerPanel.composeView);
+		centerPanel.thisPanel.remove(centerPanel.composePanel);
 		centerPanel.thisPanel.add(centerPanel.contentPanel);
 	}
 
 	private boolean isComposeOccupied() {
-		return centerPanel.thisPanel.getWidgetIndex(centerPanel.composeView) >= 0;
+		return centerPanel.thisPanel.getWidgetIndex(centerPanel.composePanel) >= 0;
 	}
 
 >>>>>>> scrub code

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutable.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutable.java?rev=1522295&r1=1522294&r2=1522295&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutable.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutable.java Thu Sep 12 04:04:37 2013
@@ -111,5 +111,14 @@ public interface HupaLayoutable extends 
 	void switchToCompose();
 
 	void switchToMessage();
+<<<<<<< HEAD
 >>>>>>> could change main panel dynamically currently by clicking the compose button
+=======
+
+	AcceptsOneWidget getComposeHeader();
+
+	AcceptsOneWidget getComposeContent();
+
+	AcceptsOneWidget getComposeStatus();
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java?rev=1522295&r1=1522294&r2=1522295&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.java Thu Sep 12 04:04:37 2013
@@ -29,6 +29,7 @@ import com.google.gwt.user.client.ui.Spl
 public class _CenterPanel extends Composite {
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	@UiField protected SplitLayoutPanel thisPanel;
 	@UiField protected __OutlinePanel outlinePanel;
 	@UiField protected __ContentPanel contentPanel;
@@ -45,13 +46,23 @@ public class _CenterPanel extends Compos
 =======
 	@UiField ComposeView composeView;
 >>>>>>> scrub code
+=======
+	@UiField protected SplitLayoutPanel thisPanel;
+	@UiField protected __OutlinePanel outlinePanel;
+	@UiField protected __ContentPanel contentPanel;
+	@UiField protected __ComposePanel composePanel;
+>>>>>>> make compose panel managed by activity manager, there is a problem here that whether the hidden view will be lazy loaded regarding the code split mechnism
 
 	public _CenterPanel() {
 		initWidget(binder.createAndBindUi(this));
 		thisPanel.setWidgetMinSize(outlinePanel, 144);
-		thisPanel.setWidgetHidden(composeView, true);
-		// thisPanel.remove(contentPanel);
-		// thisPanel.add(composePanel);
+		temporarilyHiddenTheUnimplementedContactPanel();
+		thisPanel.setWidgetHidden(composePanel, true);
+	}
+
+	// TODO make it display
+	private void temporarilyHiddenTheUnimplementedContactPanel() {
+		thisPanel.setWidgetHidden(outlinePanel, true);
 	}
 
 	public AcceptsOneWidget getFolderListView() {
@@ -81,4 +92,16 @@ public class _CenterPanel extends Compos
 	private static _CenterPanelUiBinder binder = GWT
 			.create(_CenterPanelUiBinder.class);
 
+	public AcceptsOneWidget getComposeHeader() {
+		return composePanel.getComposeHeaderContainer();
+	}
+
+	public AcceptsOneWidget getComposeContent() {
+		return composePanel.getComposeContentContainer();
+	}
+
+	public AcceptsOneWidget getComposeStatus() {
+		return composePanel.getComposeStatusContainer();
+	}
+
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml?rev=1522295&r1=1522294&r2=1522295&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/_CenterPanel.ui.xml Thu Sep 12 04:04:37 2013
@@ -26,7 +26,7 @@
 			<hupa:__ContentPanel ui:field="contentPanel" />
 		</g:center>
 		<g:south size="0">
-			<hupa:ComposeView ui:field="composeView" />
+			<hupa:__ComposePanel ui:field="composePanel" />
 		</g:south>
 	</g:SplitLayoutPanel>
 </ui:UiBinder>
\ No newline at end of file

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.java?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.java Thu Sep 12 04:04:37 2013
@@ -0,0 +1,93 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.client.ui;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.CssResource;
+import com.google.gwt.resources.client.CssResource.NotStrict;
+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.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.SimpleLayoutPanel;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class __ComposePanel extends Composite {
+
+	@UiField protected SimplePanel composeHeaderContainer;
+	@UiField protected SimpleLayoutPanel composeContentContainer;
+	@UiField protected SimplePanel composeStatusContainer;
+
+
+	public interface Resources extends ClientBundle {
+
+		Resources INSTANCE = GWT.create(Resources.class);
+
+		@NotStrict
+		@Source("res/CssComposePanel.css")
+		public Css stylesheet();
+
+		public interface Css extends CssResource {
+		}
+	}
+
+	public __ComposePanel() {
+		initWidget(binder.createAndBindUi(this));
+	}
+
+	interface __ComposePanelUiBinder extends
+			UiBinder<DockLayoutPanel, __ComposePanel> {
+	}
+
+	private static __ComposePanelUiBinder binder = GWT
+			.create(__ComposePanelUiBinder.class);
+
+	public AcceptsOneWidget getComposeHeaderContainer() {
+		return new AcceptsOneWidget() {
+			@Override
+			public void setWidget(IsWidget w) {
+				composeHeaderContainer.setWidget(Widget.asWidgetOrNull(w));
+			}
+		};
+	}
+
+	public AcceptsOneWidget getComposeContentContainer() {
+		return new AcceptsOneWidget() {
+			@Override
+			public void setWidget(IsWidget w) {
+				composeContentContainer.setWidget(Widget.asWidgetOrNull(w));
+			}
+		};
+	}
+
+	public AcceptsOneWidget getComposeStatusContainer() {
+		return new AcceptsOneWidget() {
+			@Override
+			public void setWidget(IsWidget w) {
+				composeStatusContainer.setWidget(Widget.asWidgetOrNull(w));
+			}
+		};
+	}
+
+}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.ui.xml?rev=1522295&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.ui.xml (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/__ComposePanel.ui.xml Thu Sep 12 04:04:37 2013
@@ -0,0 +1,72 @@
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
+	language governing permissions and limitations under the License. -->
+
+<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
+	xmlns:g='urn:import:com.google.gwt.user.client.ui' xmlns:hupa='urn:import:org.apache.hupa.client.ui'>
+	<ui:style>
+		.box {
+			border: 1px solid #A3A3A3;
+			border-radius: 4px;
+			overflow: hidden;
+			box-shadow: 0 0 2px #999;
+			-o-box-shadow: 0 0 2px #999;
+			-webkit-box-shadow: 0 0 2px #999;
+			-moz-box-shadow: 0 0 2px #999;
+			background: white;
+		}
+		
+		.composeHeader {
+			border-radius: 4px 4px 0 0;
+			-webkit-box-shadow: 0 2px 3px 0 #999;
+			-moz-box-shadow: 0 2px 3px 0 #999;
+			box-shadow: 0 2px 3px 0 #999;
+			border-bottom: 0;
+			position: relative;
+			padding: 3px 0;
+			background: #f9f9f9;
+			background: -moz-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+			background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff),
+				color-stop(100%, #f0f0f0) );
+			background: -o-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+			background: -ms-linear-gradient(top, #fff 0%, #f0f0f0 100%);
+			background: linear-gradient(top, #fff 0%, #f0f0f0 100%);
+			border-bottom: 1px solid #dfdfdf;
+		}
+		
+		.composeHeader td {
+			padding: 3px 8px;
+		}
+		
+		.mailviewbottom {
+			position: absolute;
+			left: 0;
+			bottom: 0;
+			width: 100%;
+			height: 26px;
+		}
+	</ui:style>
+	<g:DockLayoutPanel ui:field="thisPanel" unit="PX"
+		addStyleNames="{style.box}">
+		<g:north size="135">
+			<g:SimplePanel ui:field="composeHeaderContainer"
+				addStyleNames="{style.composeHeader}">
+			</g:SimplePanel>
+		</g:north>
+		<g:center>
+			<g:SimpleLayoutPanel ui:field="composeContentContainer">
+			</g:SimpleLayoutPanel>
+		</g:center>
+		<g:south size="28">
+			<g:SimplePanel ui:field="composeStatusContainer"
+				addStyleNames="{style.mailviewbottom}{style.box}" />
+		</g:south>
+	</g:DockLayoutPanel>
+</ui:UiBinder>
\ No newline at end of file



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