[jbpm-commits] JBoss JBPM SVN: r4556 - in projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client: v2 and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Apr 15 08:43:05 EDT 2009
Author: heiko.braun at jboss.com
Date: 2009-04-15 08:43:05 -0400 (Wed, 15 Apr 2009)
New Revision: 4556
Added:
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java
Modified:
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java
projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java
Log:
Added bootstrap event: authentication, config, urlBuilder
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java 2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/MainView.java 2009-04-15 12:43:05 UTC (rev 4556)
@@ -40,6 +40,7 @@
*/
public class MainView extends Composite implements ApplicationContext
{
+
private HTML status = new HTML();
private Header header;
private Menu menu;
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java 2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/LoginView.java 2009-04-15 12:43:05 UTC (rev 4556)
@@ -41,6 +41,7 @@
import org.jboss.bpm.console.client.Authentication;
import org.jboss.bpm.console.client.ConsoleConfig;
import org.jboss.bpm.console.client.URLBuilder;
+import org.jboss.bpm.console.client.v2.events.BootstrapEvent;
import org.jboss.bpm.console.client.util.ConsoleLog;
/**
@@ -149,7 +150,9 @@
window.hide();
// assemble main view
- controller.handleEvent( new Event("loginSuccessful", auth) );
+ controller.handleEvent( new Event("loginSuccessful",
+ new BootstrapEvent(auth, urlBuilder, config))
+ );
}
public void onLoginFailed(Request request, Throwable t)
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java 2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainView.java 2009-04-15 12:43:05 UTC (rev 4556)
@@ -21,18 +21,193 @@
*/
package org.jboss.bpm.console.client.v2;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.RootPanel;
import com.mvc4g.client.ViewInterface;
import com.mvc4g.client.Controller;
+import org.gwt.mosaic.ui.client.MessageBox;
+import org.gwt.mosaic.ui.client.Viewport;
+import org.gwt.mosaic.ui.client.layout.BorderLayout;
+import static org.gwt.mosaic.ui.client.layout.BorderLayout.Region;
+import org.gwt.mosaic.ui.client.layout.BorderLayoutData;
+import org.gwt.mosaic.ui.client.layout.LayoutPanel;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.*;
/**
+ * The main composite that assembles the gwt console application.
+ *
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
-public class MainView implements ViewInterface
+public class MainView extends Composite implements ApplicationContext, ViewInterface
{
+
+ public final static String NAME = "mainView";
+
+ private HTML status = new HTML();
+ private Header header;
+ private Menu menu;
+ private Workspace workspace;
+
+ private URLBuilder urlBuilder;
+ private Authentication auth;
+
+ private ConsoleConfig config;
+
private Controller controller;
+ private boolean isInitialized;
+
+ public void init(Authentication auth, URLBuilder urlBuilder, ConsoleConfig config)
+ {
+ this.auth = auth;
+ this.config = config;
+ this.urlBuilder = urlBuilder;
+
+ isInitialized = true;
+ }
+
+ public void display()
+ {
+ if(!isInitialized)
+ throw new IllegalStateException("Not initalized");
+
+ Viewport viewport = new Viewport();
+
+ LayoutPanel layout = createLayout();
+ viewport.add(layout);
+
+ RootPanel.get().add(viewport);
+ }
+
public void setController(Controller controller)
{
this.controller = controller;
}
+
+ private LayoutPanel createLayout()
+ {
+ final LayoutPanel layoutPanel = new LayoutPanel(new BorderLayout());
+
+ // header
+ header = new Header(this, auth.getUsername(), auth.getRolesAssigned());
+ layoutPanel.add(header, new BorderLayoutData(Region.NORTH, 50));
+
+ // menu
+ menu = new Menu(this);
+ layoutPanel.add(menu, new BorderLayoutData(Region.WEST, 200));
+
+ // workspace
+ workspace = createWorkspace(layoutPanel);
+ layoutPanel.add(workspace, new BorderLayoutData(Region.CENTER, false));
+
+ //layoutPanel.add(b2, new BorderLayoutData(Region.SOUTH, 10, 200));
+ //layoutPanel.add(b3, new BorderLayoutData(Region.EAST, 10, 200));
+
+ return layoutPanel;
+ }
+
+ private Workspace createWorkspace(LayoutPanel layoutPanel)
+ {
+ Workspace workspace = new Workspace(menu);
+ WorkspaceLauncher launcher = GWT.create(WorkspaceLauncher.class);
+ launcher.launch(this, workspace);
+ return workspace;
+ }
+
+ /*private Panel createMainPanel()
+ {
+ Panel mainPanel = new Panel();
+ mainPanel.setBorder(false);
+ mainPanel.setPaddings(5); // outer most padding
+ mainPanel.setLayout(new FitLayout());
+ mainPanel.setWidth(UIConstants.OVERALL_WIDTH);
+ mainPanel.setHeight(UIConstants.OVERALL_WIDTH);
+ mainPanel.setAutoWidth(false);
+ return mainPanel;
+ }
+
+ private void assembleMainApplication(Panel mainPanel)
+ {
+ Panel borderPanel = new Panel();
+ borderPanel.setBorder(false);
+ borderPanel.setLayout(new BorderLayout());
+
+ // ------------------------------------------
+
+ header = new Header(this);
+ borderPanel.add(header, new BorderLayoutData(RegionPosition.NORTH));
+ header.setUserInfo(auth.getUsername(), auth.getRolesAssigned());
+
+ // ------------------------------------------
+
+ menu = new Menu(this);
+ BorderLayoutData menuData = new BorderLayoutData(RegionPosition.WEST);
+ menuData.setSplit(false);
+ menuData.setMinSize(UIConstants.MAIN_MENU_MIN);
+ menuData.setMaxSize(UIConstants.MAIN_MENU_MAX);
+ menuData.setMargins(new Margins(0, 5, 0, 0));
+ borderPanel.add(menu, menuData);
+
+ // ------------------------------------------
+
+ workspace = new Workspace(menu);
+ WorkspaceLauncher launcher = GWT.create(WorkspaceLauncher.class);
+ launcher.launch(this, workspace);
+
+ borderPanel.add(workspace, new BorderLayoutData(RegionPosition.CENTER));
+
+ // ------------------------------------------
+
+ mainPanel.add(borderPanel);
+ } */
+
+ public void addEditor(Editor editor)
+ {
+ ConsoleLog.debug("Add editor " + editor.getEditorId());
+ workspace.addEditor(editor, true);
+ }
+
+ public boolean hasEditor(String id)
+ {
+ return workspace.hasEditor(id);
+ }
+
+ public void showEditor(String id)
+ {
+ workspace.showEditor(id);
+ }
+
+ public URLBuilder getUrlBuilder()
+ {
+ return this.urlBuilder;
+ }
+
+ public void displayMessage(final String message, final boolean isError)
+ {
+ status.setText(message);
+
+ if(isError)
+ MessageBox.error("Error", message);
+ else
+ MessageBox.alert("Alert", message);
+ }
+
+ public Authentication getAuthentication()
+ {
+ return auth;
+ }
+
+ public ConsoleConfig getConfig()
+ {
+ return config;
+ }
+
+ public Workspace getWorkpace()
+ {
+ return workspace;
+ }
}
+
Modified: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java 2009-04-15 12:31:41 UTC (rev 4555)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/MainViewAction.java 2009-04-15 12:43:05 UTC (rev 4556)
@@ -23,6 +23,7 @@
import com.mvc4g.client.ActionInterface;
import com.mvc4g.client.Controller;
+import org.jboss.bpm.console.client.v2.events.BootstrapEvent;
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
@@ -31,6 +32,14 @@
{
public void execute(Controller controller, Object object)
{
- System.out.println("MainViewAction:" + object);
+ BootstrapEvent bootstrap = (BootstrapEvent)object;
+ MainView mainView = (MainView)controller.getView(MainView.NAME);
+ mainView.init(
+ bootstrap.getAuth(),
+ bootstrap.getUrlBuilder(),
+ bootstrap.getConfig()
+ );
+
+ mainView.display();
}
}
Added: projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java
===================================================================
--- projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java (rev 0)
+++ projects/gwt-console/branches/hbraun/war/src/main/java/org/jboss/bpm/console/client/v2/events/BootstrapEvent.java 2009-04-15 12:43:05 UTC (rev 4556)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bpm.console.client.v2.events;
+
+import org.jboss.bpm.console.client.Authentication;
+import org.jboss.bpm.console.client.URLBuilder;
+import org.jboss.bpm.console.client.ConsoleConfig;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public final class BootstrapEvent
+{
+ Authentication auth;
+ URLBuilder urlBuilder;
+ ConsoleConfig config;
+
+ public BootstrapEvent(Authentication auth, URLBuilder urlBuilder, ConsoleConfig config)
+ {
+ this.auth = auth;
+ this.urlBuilder = urlBuilder;
+ this.config = config;
+ }
+
+ public Authentication getAuth()
+ {
+ return auth;
+ }
+
+ public URLBuilder getUrlBuilder()
+ {
+ return urlBuilder;
+ }
+
+ public ConsoleConfig getConfig()
+ {
+ return config;
+ }
+}
More information about the jbpm-commits
mailing list