001: /*
002: * CoadunationAdmin: The admin frontend for coadunation.
003: * Copyright (C) 2007 - 2008 Rift IT Contracting
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2.1 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
018: *
019: * MainEntryPoint.java
020: */
021:
022: // package path
023: package com.rift.coad.web.admin.client;
024:
025: // imports
026: import com.google.gwt.core.client.EntryPoint;
027: import com.google.gwt.user.client.Command;
028: import com.google.gwt.user.client.DeferredCommand;
029: import com.google.gwt.user.client.Window;
030: import com.google.gwt.user.client.WindowResizeListener;
031: import com.google.gwt.user.client.ui.RootPanel;
032: import com.google.gwt.user.client.ui.DockPanel;
033: import com.google.gwt.user.client.ui.HTML;
034: import com.google.gwt.user.client.ui.SourcesTabEvents;
035: import com.google.gwt.user.client.ui.SourcesTableEvents;
036: import com.google.gwt.user.client.ui.TabPanel;
037: import com.google.gwt.user.client.ui.TabListener;
038: import com.google.gwt.user.client.ui.VerticalPanel;
039:
040: /**
041: * The entry point for the Coadunation Admin Console.
042: *
043: * @author brett chaldecott
044: */
045: public class MainEntryPoint implements EntryPoint, WindowResizeListener {
046:
047: // private member variables
048: //private ShortCutBar shortCutBar = new ShortCutBar();
049: private TopPanel topPanel = new TopPanel();
050: private TabPanel tabPanel = new TabPanel();
051: private MXPanel mxPanel = null;
052: private DaemonPanel daemonPanel = null;
053: private WebServicePanel webServicePanel = null;
054:
055: /**
056: * Creates a new instance of MainEntryPoint
057: */
058: public MainEntryPoint() {
059: }
060:
061: /**
062: * The entry point method, called automatically by loading a module
063: * that declares an implementing class as an entry-point
064: */
065: public void onModuleLoad() {
066:
067: topPanel.setWidth("100%");
068: tabPanel.setWidth("100%");
069:
070: // mx panel
071: mxPanel = new MXPanel();
072: mxPanel.setWidth("100%");
073: tabPanel.add(mxPanel, "MX Beans");
074:
075: // daemon panel
076: daemonPanel = new DaemonPanel();
077: daemonPanel.setWidth("100%");
078: tabPanel.add(daemonPanel, "Daemons");
079:
080: // web service panel
081: webServicePanel = new WebServicePanel();
082: webServicePanel.setWidth("100%");
083: tabPanel.add(webServicePanel, "Web Services");
084:
085: // set the tab index
086: tabPanel.selectTab(0);
087:
088: // the dock panel
089: DockPanel outer = new DockPanel();
090: outer.add(topPanel, DockPanel.NORTH);
091: outer.add(tabPanel, DockPanel.CENTER);
092: outer.setSize("100%", "100%");
093:
094: outer.setSpacing(4);
095: outer.setCellWidth(tabPanel, "100%");
096:
097: // Hook the window resize event, so that we can adjust the UI.
098: Window.addWindowResizeListener(this );
099:
100: // Get rid of scrollbars, and clear out the window's built-in margin,
101: // because we want to take advantage of the entire client area.
102: //Window.enableScrolling(false);
103: Window.setMargin("0px");
104:
105: // Finally, add the outer panel to the RootPanel, so that it will be
106: // displayed.
107: RootPanel.get().add(outer);
108:
109: // Call the window resized handler to get the initial sizes setup. Doing
110: // this in a deferred command causes it to occur after all widgets' sizes
111: // have been computed by the browser.
112: DeferredCommand.addCommand(new Command() {
113: public void execute() {
114: onWindowResized(Window.getClientWidth(), Window
115: .getClientHeight());
116: }
117: });
118:
119: onWindowResized(Window.getClientWidth(), Window
120: .getClientHeight());
121: }
122:
123: /**
124: * This method is responsible for adjusting the size of the various components
125: *
126: * @param width The width of the panel.
127: * @param height The height of the panel.
128: */
129: public void onWindowResized(int width, int height) {
130: }
131:
132: }
|