/* * Copyright 2011 Serbian Object Laboratories (SOL) * * Licensed under the GPL licence * * http://www.gnu.org/licenses/gpl.html */ package companyorganization; import rs.sol.soloist.helpers.init.DefaultContextInit; import rs.sol.soloist.helpers.init.Initializer; import rs.sol.soloist.helpers.init.InitializerFailedException; import rs.sol.soloist.server.builtindomains.builtindatatypes.Text; import rs.sol.soloist.server.guiconfiguration.components.GUIApplicationComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIDeckComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIHTMLComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIImageComponent; import rs.sol.soloist.server.guiconfiguration.components.GUILabelComponent; import rs.sol.soloist.server.guiconfiguration.components.GUILinkComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIPanelComponent; import rs.sol.soloist.server.guiconfiguration.components.GUIStatusBarComponent; import rs.sol.soloist.server.guiconfiguration.layout.CellLayoutData; import rs.sol.soloist.server.guiconfiguration.layout.HorizontalAlignment; import rs.sol.soloist.server.guiconfiguration.layout.VerticalAlignment; import rs.sol.soloist.server.guiconfiguration.style.GUIContext; import rs.sol.soloist.server.server.SoloistServiceServlet; public class ApplicationInit implements Initializer { private static final String COPYRIGHT_TEXT = "Copyright © 2011 - Serbian Object Laboratories (SOL) - Licence "; private static final String TITLE = "SOLoist Demo - Company Organization"; private GUIApplicationComponent application; private GUIContext context; private GUIPanelComponent mainPanel; private GUIPanelComponent titlePanel; private GUIDeckComponent centralPanel; public void init() throws InitializerFailedException { application = new GUIApplicationComponent(); SoloistServiceServlet.registerApplication(application); application.name.set(Text.fromString("CompanyOrganization")); application.title.set(Text.fromString("Company Organization")); context = new GUIContext(); context.supercontext.set(DefaultContextInit.getRoot()); application.context.set(context); mainPanel = GUIPanelComponent.createVertical(application); mainPanel.styleName.set(Text.fromString("main_panel")); // Title titlePanel = GUIPanelComponent.createHorizontal(mainPanel); titlePanel.styleName.set(Text.fromString("titlePanel")); CellLayoutData.setAlignment(titlePanel, VerticalAlignment.TOP); CellLayoutData.setCellSize(titlePanel, "100%", "80"); // Logo GUIImageComponent leftLogoComponent = GUIImageComponent.create(titlePanel); leftLogoComponent.url.set(Text.fromString("res/img/logo-left.png")); leftLogoComponent.styleName.set(Text.fromString("logo-image")); CellLayoutData.setCellSize(leftLogoComponent, "200", null); GUILabelComponent pageTitle = GUILabelComponent.create(titlePanel, TITLE, null); pageTitle.styleName.set(Text.fromString("page_title")); GUILinkComponent poweredBy = GUILinkComponent.create(titlePanel, "Powered by SOLoist", "http://www.soloist4uml.com/"); poweredBy.styleName.set(Text.fromString("poweredBy")); CellLayoutData.setAlignment(poweredBy, VerticalAlignment.BOTTOM); // Central panel centralPanel = GUIDeckComponent.create(GUIPanelComponent.createFlow(mainPanel)); centralPanel.styleName.set(Text.fromString("centralPanel")); // Bottom panel GUIPanelComponent bottomPanel = GUIPanelComponent.createVertical(mainPanel); bottomPanel.styleName.set(Text.fromString("bottomPanel")); GUIPanelComponent statusBarPanel = GUIPanelComponent.createHorizontal(bottomPanel); statusBarPanel.styleName.set(Text.fromString("status_bar_panel")); CellLayoutData.setCellSize(statusBarPanel, "100%", null); GUILabelComponent statusBarLabel = GUILabelComponent.create(statusBarPanel, "Status bar: ", null); CellLayoutData.setCellSize(statusBarLabel, "75px", null); statusBarLabel.styleName.set(Text.fromString("status_bar_label")); GUIStatusBarComponent statusBar = GUIStatusBarComponent.create(statusBarPanel); statusBar.styleName.set(Text.fromString("status_bar")); GUIHTMLComponent html = new GUIHTMLComponent(); html.parent.set(statusBarPanel); html.html.set(Text.fromString(COPYRIGHT_TEXT)); html.styleName.set(Text.fromString("footer_panel")); CellLayoutData.setAlignment(html, HorizontalAlignment.LEFT); CellLayoutData.setSize(html, "400", null); } }