/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.venky.swf.views; import com.venky.core.collections.SequenceSet; import com.venky.swf.exceptions.MultiException; import com.venky.swf.extensions.MenuBuilderFactory; import com.venky.swf.path.Path; import com.venky.swf.views.controls._IControl; import com.venky.swf.views.controls.page.HotLink; import com.venky.swf.views.controls.page._IMenu; import com.venky.swf.views.controls.page.layout.FluidContainer; import com.venky.swf.views.controls.page.layout.FluidContainer.Column; import com.venky.swf.views.controls.page.layout.Nav; /** * * @author venky */ public class DashboardView extends HtmlView{ RuntimeException ex = null; public DashboardView(Path path){ super(path); ex = new RuntimeException(); } HtmlView child = null; public void setChildView(HtmlView child){ if (child instanceof DashboardView){ MultiException ex = new MultiException("Multiple Dashboard views added"); ex.add(((DashboardView)child).ex); throw ex; } this.child = child; } @Override protected void _createBody(_IControl b, boolean includeStatusMessage) { createBody(b,includeStatusMessage,true); } @Override protected void createBody(_IControl b) { createBody(b,false, true); } public void createBody(_IControl b, boolean includeStatusMessage, boolean includeMenu) { createBody(b, includeStatusMessage , includeMenu, new SequenceSet<HotLink>()); } public void createBody(_IControl b, boolean includeStatusMessage,boolean includeMenu,SequenceSet<HotLink> excludeLinks) { if (includeMenu){ _IMenu menu = MenuBuilderFactory.instance().getMenuBuilder().createAppMenu(getPath()); if (menu != null && !menu.getContainedControls().isEmpty()){ Nav nav = new Nav(); nav.addControl(menu); b.addControl(nav); } } if (child == null){ super.showErrorsIfAny(b, b.getContainedControls().size(),includeStatusMessage); return; } addHotLinks(b, child.getHotLinks(), excludeLinks); child._createBody(b,includeStatusMessage); } }