Author: norman
Date: Tue Jul 7 13:41:14 2009
New Revision: 791834
URL: http://svn.apache.org/viewvc?rev=791834&view=rev
Log:
We will use A Stack for handling Views
Added:
labs/hupa/src/main/java/org/apache/hupa/client/events/IMAPFolderChangeEvent.java
labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEvent.java
labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEventHandler.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java
Modified:
labs/hupa/src/main/java/org/apache/hupa/client/Hupa.java
labs/hupa/src/main/java/org/apache/hupa/client/events/EventBus.java
labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java
labs/hupa/src/main/java/org/apache/hupa/client/gin/MyGinjector.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginView.java
Modified: labs/hupa/src/main/java/org/apache/hupa/client/Hupa.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/Hupa.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/Hupa.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/Hupa.java Tue Jul 7
13:41:14 2009
@@ -20,8 +20,6 @@
package org.apache.hupa.client;
import org.apache.hupa.client.gin.MyGinjector;
-import org.apache.hupa.client.mvp.LoginPresenter;
-import org.apache.hupa.client.mvp.LoginView;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
@@ -31,10 +29,7 @@
private final MyGinjector injector = GWT.create(MyGinjector.class);
public void onModuleLoad() {
- LoginView loginView = injector.getLoginView();
- LoginPresenter loginPresenter = injector.getLoginPresenter();
- loginPresenter.bind(loginView);
- RootPanel.get().add(loginView);
+ RootPanel.get().add(injector.getAppView());
}
}
Modified: labs/hupa/src/main/java/org/apache/hupa/client/events/EventBus.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/EventBus.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/events/EventBus.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/events/EventBus.java Tue Jul
7 13:41:14 2009
@@ -1,3 +1,21 @@
+/****************************************************************
+ * 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.events;
import com.google.gwt.event.shared.HandlerManager;
Added:
labs/hupa/src/main/java/org/apache/hupa/client/events/IMAPFolderChangeEvent.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/IMAPFolderChangeEvent.java?rev=791834&view=auto
==============================================================================
---
labs/hupa/src/main/java/org/apache/hupa/client/events/IMAPFolderChangeEvent.java
(added)
+++
labs/hupa/src/main/java/org/apache/hupa/client/events/IMAPFolderChangeEvent.java
Tue Jul 7 13:41:14 2009
@@ -0,0 +1,5 @@
+package org.apache.hupa.client.events;
+
+public class IMAPFolderChangeEvent {
+
+}
Added: labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEvent.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEvent.java?rev=791834&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEvent.java
(added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEvent.java Tue
Jul 7 13:41:14 2009
@@ -0,0 +1,49 @@
+/****************************************************************
+ * 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.events;
+
+import org.apache.hupa.client.data.IMAPUser;
+
+import com.google.gwt.event.shared.GwtEvent;
+
+public class LoginEvent extends GwtEvent<LoginEventHandler>{
+
+ public static Type<LoginEventHandler> TYPE = new
Type<LoginEventHandler>();
+ private IMAPUser user;
+
+ public LoginEvent(IMAPUser user) {
+ this.user = user;
+ }
+
+ public IMAPUser getUser() {
+ return user;
+ }
+
+ @Override
+ public Type<LoginEventHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ protected void dispatch(LoginEventHandler handler) {
+ handler.onLogin(this);
+ }
+
+}
Added:
labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEventHandler.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEventHandler.java?rev=791834&view=auto
==============================================================================
---
labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEventHandler.java
(added)
+++
labs/hupa/src/main/java/org/apache/hupa/client/events/LoginEventHandler.java
Tue Jul 7 13:41:14 2009
@@ -0,0 +1,28 @@
+/****************************************************************
+ * 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.events;
+
+import com.google.gwt.event.shared.EventHandler;
+
+public interface LoginEventHandler extends EventHandler{
+
+ public void onLogin(LoginEvent event);
+
+}
Modified: labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/gin/MyClientModule.java Tue
Jul 7 13:41:14 2009
@@ -20,6 +20,10 @@
package org.apache.hupa.client.gin;
import org.apache.hupa.client.events.EventBus;
+import org.apache.hupa.client.mvp.AppView;
+import org.apache.hupa.client.mvp.FolderPresenter;
+import org.apache.hupa.client.mvp.FolderView;
+import org.apache.hupa.client.mvp.LoginPresenter;
import org.apache.hupa.client.mvp.LoginView;
import com.google.gwt.inject.client.AbstractGinModule;
@@ -31,6 +35,10 @@
protected void configure() {
bind(EventBus.class).in(Singleton.class);
bind(LoginView.class).in(Singleton.class);
+ bind(LoginPresenter.class).in(Singleton.class);
+ bind(FolderView.class).in(Singleton.class);
+ bind(FolderPresenter.class).in(Singleton.class);
+ bind(AppView.class).in(Singleton.class);
}
}
Modified: labs/hupa/src/main/java/org/apache/hupa/client/gin/MyGinjector.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/gin/MyGinjector.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/gin/MyGinjector.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/gin/MyGinjector.java Tue Jul
7 13:41:14 2009
@@ -20,14 +20,12 @@
import net.customware.gwt.dispatch.client.gin.ClientDispatchModule;
-import org.apache.hupa.client.mvp.LoginPresenter;
-import org.apache.hupa.client.mvp.LoginView;
+import org.apache.hupa.client.mvp.AppView;
import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
@GinModules({ClientDispatchModule.class,MyClientModule.class})
public interface MyGinjector extends Ginjector {
- public LoginView getLoginView();
- public LoginPresenter getLoginPresenter();
+ public AppView getAppView();
}
Added: labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java?rev=791834&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java Tue
Jul 7 13:41:14 2009
@@ -0,0 +1,8 @@
+package org.apache.hupa.client.mvp;
+
+public class AppPresenter {
+
+ public interface Display {
+ public void showLogin();
+ }
+}
Added: labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java?rev=791834&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java (added)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/AppView.java Tue Jul 7
13:41:14 2009
@@ -0,0 +1,24 @@
+package org.apache.hupa.client.mvp;
+
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.StackPanel;
+import com.google.inject.Inject;
+
+public class AppView extends Composite implements AppPresenter.Display{
+
+ private StackPanel panel = new StackPanel();
+
+ @Inject
+ public AppView(LoginView view,LoginPresenter pres) {
+ pres.bind(view);
+ panel.setWidth("100%");
+ panel.setHeight("100%");
+ panel.add(view);
+ showLogin();
+ initWidget(panel);
+ }
+
+ public void showLogin() {
+ panel.showStack(0);
+ }
+}
Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java Tue
Jul 7 13:41:14 2009
@@ -3,6 +3,8 @@
import net.customware.gwt.dispatch.client.DispatchAsync;
import org.apache.hupa.client.HupaConstants;
+import org.apache.hupa.client.events.EventBus;
+import org.apache.hupa.client.events.LoginEvent;
import org.apache.hupa.client.rpc.LoginUser;
import org.apache.hupa.client.rpc.LoginUserResult;
@@ -31,10 +33,12 @@
private DispatchAsync dispatcher;
private Display display;
+ private EventBus bus;
@Inject
- public LoginPresenter(DispatchAsync dispatcher) {
+ public LoginPresenter(DispatchAsync dispatcher,EventBus bus) {
this.dispatcher = dispatcher;
+ this.bus = bus;
}
/**
@@ -72,7 +76,7 @@
}
public void onSuccess(LoginUserResult result) {
- GWT.log("SUCCESS", null);
+ bus.fireEvent(new LoginEvent(result.getUser()));
}
});
Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginView.java
URL:
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginView.java?rev=791834&r1=791833&r2=791834&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/LoginView.java Tue Jul
7 13:41:14 2009
@@ -77,8 +77,11 @@
grid.setWidget(2, 1, saveBox);
usernameTextBox.addKeyUpHandler(this);
usernameTextBox.setFocus(true);
+ usernameTextBox.setWidth("150px");
passwordTextBox.addKeyUpHandler(this);
+ passwordTextBox.setWidth("150px");
+
vPanel.add(grid);
ButtonBar buttonBar = new ButtonBar();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]