public class ALS implements EntryPoint {
ScrollPanel basePanel = new ScrollPanel();
DockLayoutPanel baseDockLayoutPanel = new DockLayoutPanel(Unit.PX);
SimplePanel simpleContentPanel = new SimplePanel();
public void onModuleLoad() {
RootLayoutPanel rootPanel = RootLayoutPanel.get();
rootPanel.add(basePanel);
basePanel.add(baseDockLayoutPanel);
baseDockLayoutPanel.setSize("1200", "800");
baseDockLayoutPanel.addNorth(CommonPanel.getHeaderPanel(), 20);
baseDockLayoutPanel.addSouth(CommonPanel.getFooterPanel(), 40);
FlowPanel leftSidePanel = CommonPanel.getLeftSidePanel();
FlowPanel menuPanel = new FlowPanel();
menuPanel.setWidth("150px");
menuPanel.addStyleName("menu");
menuPanel.add(buildTree());
leftSidePanel.add(menuPanel);
baseDockLayoutPanel.addWest(leftSidePanel, 220);
baseDockLayoutPanel.add(simpleContentPanel);
baseDockLayoutPanel.setSize("1024", "800");
}
Tree buildTree(){
Tree treeMenu = new Tree();
final TreeItem searchLogs = new TreeItem("Search Logs");
treeMenu.addItem(searchLogs);
searchLogs.setState(true);
treeMenu.addSelectionHandler(new SelectionHandler<TreeItem>(){
@Override
public void onSelection(SelectionEvent<TreeItem> event) {
if (event.getSelectedItem().equals(advancedSearchLogs)){
//System.out.println(splitLayoutPanel.getWidgetCount());
simpleContentPanel.remove(simpleContentPanel.getWidget());
simpleContentPanel.add(new AdvancedSearchLogsPanel());
advancedSearchLogsPanel.forceLayout();
baseDockLayoutPanel.forceLayout();
int width = advancedSearchLogsPanel.getOffsetWidth() + 220;
int height = advancedSearchLogsPanel.getOffsetHeight()+ 60;
// Problem here, getOffSetheight() return zero!!
// AdvancedSearchLogsPanel is a docklayoutPanel
baseDockLayoutPanel.setSize(String.valueOf(width), String.valueOf(height));
}
}});
return treeMenu;
}
}