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