/******************************************************************************* * Copyright (c) 2012 Dmitry Tikhomirov. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: * Dmitry Tikhomirov - initial API and implementation ******************************************************************************/ package org.opensheet.client.mvc.views; import org.opensheet.client.mvc.events.AppEvents; import org.opensheet.client.widges.admin.AdminToolBar; import com.extjs.gxt.ui.client.Registry; import com.extjs.gxt.ui.client.Style.LayoutRegion; import com.extjs.gxt.ui.client.mvc.AppEvent; import com.extjs.gxt.ui.client.mvc.Controller; import com.extjs.gxt.ui.client.mvc.Dispatcher; import com.extjs.gxt.ui.client.mvc.View; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.Viewport; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; import com.extjs.gxt.ui.client.widget.layout.FitLayout; import com.google.gwt.user.client.ui.RootPanel; public class AppView extends View { public static final String VIEWPORT = "viewport"; public static final String NORTH_PANEL = "north"; public static final String CENTER_PANEL = "center"; Dispatcher dispatcher = Dispatcher.get(); public AdminToolBar adminToolBar; private Viewport viewport; private LayoutContainer north; private LayoutContainer center; public AppView(Controller controller) { super(controller); } protected void initialize() { } private void initUI() { viewport = new Viewport(); viewport.setLayout(new BorderLayout()); createNorth(); createCenter(); Registry.register(VIEWPORT, viewport); Registry.register(NORTH_PANEL, north); Registry.register(CENTER_PANEL, center); RootPanel.get().add(viewport); dispatcher.dispatch( AppEvents.Sheet); } private void createNorth() { north = new LayoutContainer(); // north.setLayout(new RowLayout()); // north.setLayout(new FitLayout()); north.setLayout(new FitLayout()); // new BorderLayout() BorderLayoutData adminToolbarLayoutData = new BorderLayoutData(LayoutRegion.NORTH, 25); adminToolbarLayoutData.setMargins(new Margins(5)); viewport.add(north, adminToolbarLayoutData); } private void createCenter() { center = new LayoutContainer(); // center.setLayout(new RowLayout()); center.setLayout(new FitLayout()); BorderLayoutData data = new BorderLayoutData(LayoutRegion.CENTER); data.setMargins(new Margins(5, 5, 5, 5)); viewport.add(center, data); } protected void handleEvent(AppEvent event) { if (event.getType() == AppEvents.Init) { initUI(); } } }