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]

Reply via email to