/* SASAbusHTML5 - HTML5 App for SASA bus Copyright (C) 2013 TIS Innovation Park - Bolzano/Bozen - Italy Copyright (C) 2013-2014 Davide Montesin <d@vide.bz> - Bolzano/Bozen - Italy This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package it.bz.tis.sasabus.html5.shared; import it.bz.tis.sasabus.html5.shared.ui.AboutInfos; import it.bz.tis.sasabus.html5.shared.ui.AboutPanel; import it.bz.tis.sasabus.html5.shared.ui.HomePanel; import it.bz.tis.sasabus.html5.shared.ui.map.SASAbusMap; import it.bz.tis.sasabus.html5.shared.ui.menu.Menu; import it.bz.tis.sasabus.html5.shared.ui.titlebar.TitleBar; import java.util.ArrayList; import bz.davide.dmweb.shared.view.AbstractHtmlElementView; import bz.davide.dmweb.shared.view.DMHashNavigationPanel; import bz.davide.dmweb.shared.view.DivView; /** * @author Davide Montesin <d@vide.bz> */ public class SASAbusWebPage extends ArrayList<AbstractHtmlElementView> { TitleBar titleBar; Menu menu; HomePanel homePanel; public static class InitParameters { String appTitle; BusStationCustomViewAndI18N custom; HomePageCustomFragment homePageCustomFragment; AboutInfos aboutInfos; String supportEmail; } public SASAbusWebPage(InitParameters initParameters) throws Exception { //super(initParameters); DivView wrapper = new DivView("cover-wrapper"); DivView initialCover = new DivView("cover"); wrapper.appendChild(initialCover); SASAbusMap map = new SASAbusMap(initParameters.custom); this.homePanel = new HomePanel(initParameters.homePageCustomFragment); this.homePanel.setMap(map); DMHashNavigationPanel navigationPanel = new DMHashNavigationPanel("main", this.homePanel); map.setNavigationPanel(navigationPanel); AboutPanel aboutPanel = new AboutPanel(initParameters.aboutInfos); this.menu = new Menu(navigationPanel, null, map, aboutPanel, initParameters.custom, initParameters.supportEmail, initParameters.appTitle); this.menu.addAttachHandler(new SASAbusWebPageAttachHandler(initialCover, wrapper, map, this.menu, this.homePanel, navigationPanel, initParameters.custom, initParameters.appTitle)); this.titleBar = new TitleBar(this.menu, map, null); this.add(this.titleBar); this.add(navigationPanel); this.add(map); this.add(this.menu); this.add(wrapper); this.add(aboutPanel); } }