List of usage examples for com.vaadin.ui HorizontalSplitPanel HorizontalSplitPanel
public HorizontalSplitPanel()
From source file:org.jumpmind.metl.ui.views.DesignView.java
License:Open Source License
@PostConstruct protected void init() { setSizeFull();// w w w . ja v a 2 s . c o m tabbedPanel = new TabbedPanel(); HorizontalSplitPanel leftSplit = new HorizontalSplitPanel(); leftSplit.setSizeFull(); leftSplit.setSplitPosition(AppConstants.DEFAULT_LEFT_SPLIT, Unit.PIXELS); projectNavigator = new DesignNavigator(context, tabbedPanel); leftSplit.setFirstComponent(projectNavigator); VerticalLayout container = new VerticalLayout(); container.setSizeFull(); container.addComponent(tabbedPanel); leftSplit.setSecondComponent(container); addComponent(leftSplit); }
From source file:org.jumpmind.metl.ui.views.ManageView.java
License:Open Source License
@SuppressWarnings("serial") @PostConstruct//from w w w . j a va2 s . c om protected void init() { viewButton = new Button("View Log"); viewButton.setEnabled(false); viewButton.addClickListener(new ClickListener() { public void buttonClick(ClickEvent event) { viewLog(table.getValue()); } }); VerticalLayout mainTab = new VerticalLayout(); mainTab.setSizeFull(); HorizontalLayout header = new HorizontalLayout(); header.addComponent(viewButton); header.setComponentAlignment(viewButton, Alignment.BOTTOM_RIGHT); statusSelect = new ComboBox("Status"); statusSelect.setNewItemsAllowed(false); statusSelect.setNullSelectionAllowed(false); statusSelect.addItem(ANY); statusSelect.setValue(ANY); for (ExecutionStatus status : ExecutionStatus.values()) { statusSelect.addItem(status.toString()); } ; statusSelect.addValueChangeListener(new ValueChangeListener() { @Override public void valueChange(ValueChangeEvent event) { refreshUI(getBackgroundData()); } }); header.addComponent(statusSelect); header.setComponentAlignment(statusSelect, Alignment.BOTTOM_RIGHT); HorizontalLayout limitLayout = new HorizontalLayout(); limitLayout.setSpacing(true); Label limitLabel = new Label("Limit:"); limitLayout.addComponent(limitLabel); limitLayout.setComponentAlignment(limitLabel, Alignment.MIDDLE_CENTER); TextField limitField = new TextField(null, String.valueOf(DEFAULT_LIMIT)); limitField.setWidth("5em"); limitField.setImmediate(true); limitField.setTextChangeEventMode(TextChangeEventMode.LAZY); limitField.setTextChangeTimeout(200); limitField.addTextChangeListener(new TextChangeListener() { public void textChange(TextChangeEvent event) { try { limit = Integer.parseInt(event.getText()); } catch (Exception e) { } refreshUI(getBackgroundData()); } }); limitLayout.addComponent(limitField); limitLayout.setComponentAlignment(limitField, Alignment.BOTTOM_RIGHT); header.addComponent(limitLayout); header.setComponentAlignment(limitLayout, Alignment.BOTTOM_RIGHT); header.setExpandRatio(limitLayout, 1.0f); TextField filterField = new TextField(); filterField.setInputPrompt("Filter"); filterField.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON); filterField.setIcon(FontAwesome.SEARCH); filterField.setImmediate(true); filterField.setTextChangeEventMode(TextChangeEventMode.LAZY); filterField.setTextChangeTimeout(200); filterField.addTextChangeListener(new TextChangeListener() { public void textChange(TextChangeEvent event) { executionContainer.removeAllContainerFilters(); if (!StringUtils.isBlank(event.getText())) { executionContainer.addContainerFilter(new MultiPropertyFilter(event.getText(), new String[] { "agentName", "hostName", "flowName", "status", "startTime", "endTime" })); } } }); header.addComponent(filterField); header.setComponentAlignment(filterField, Alignment.BOTTOM_RIGHT); header.setSpacing(true); header.setMargin(true); header.setWidth("100%"); mainTab.addComponent(header); table = new Table(); table.setContainerDataSource(executionContainer); table.setSelectable(true); table.setMultiSelect(false); table.setSizeFull(); table.addItemClickListener(new ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { if (event.isDoubleClick()) { viewLog(event.getItemId()); } } }); table.setVisibleColumns( new Object[] { "agentName", "deploymentName", "hostName", "status", "startTime", "endTime" }); table.setColumnHeaders(new String[] { "Agent", "Deployment", "Host", "Status", "Start", "End" }); table.setSortContainerPropertyId("startTime"); table.setSortAscending(false); table.addValueChangeListener(new ValueChangeListener() { public void valueChange(ValueChangeEvent event) { viewButton.setEnabled(table.getValue() != null); } }); mainTab.addComponent(table); mainTab.setExpandRatio(table, 1.0f); tabs = new TabbedPanel(); tabs.setMainTab("Executions", Icons.EXECUTION, mainTab); HorizontalSplitPanel split = new HorizontalSplitPanel(); split.setSizeFull(); split.setSplitPosition(AppConstants.DEFAULT_LEFT_SPLIT, Unit.PIXELS, false); manageNavigator = new ManageNavigator(FolderType.AGENT, context); manageNavigator.addValueChangeListener(new ValueChangeListener() { public void valueChange(ValueChangeEvent event) { refreshUI(getBackgroundData()); } }); split.setFirstComponent(manageNavigator); VerticalLayout container = new VerticalLayout(); container.setSizeFull(); container.addComponent(tabs); split.setSecondComponent(container); addComponent(split); setSizeFull(); context.getBackgroundRefresherService().register(this); }
From source file:org.lunifera.runtime.web.ecview.presentation.vaadin.internal.SplitPanelPresentation.java
License:Open Source License
@Override public ComponentContainer doCreateWidget(Object parent) { if (splitPanel == null) { splitPanel = modelAccess.yLayout.isVertical() ? new VerticalSplitPanel() : new HorizontalSplitPanel(); setupComponent(splitPanel, getCastedModel()); splitPanel.setSplitPosition(modelAccess.yLayout.getSplitPosition(), Unit.PERCENTAGE); associateWidget(splitPanel, modelAccess.yLayout); if (modelAccess.isCssIdValid()) { splitPanel.setId(modelAccess.getCssID()); } else {/*ww w . j a va 2 s . c o m*/ splitPanel.setId(getEditpart().getId()); } if (modelAccess.isCssClassValid()) { splitPanel.addStyleName(modelAccess.getCssClass()); } else { splitPanel.addStyleName(CSS_CLASS_CONTROL); } // creates the binding for the field createBindings(modelAccess.yLayout, splitPanel, null); // initialize all children initializeChildren(); renderChildren(false); } return splitPanel; }
From source file:org.opencms.ui.apps.CmsFileExplorer.java
License:Open Source License
/** * @see org.opencms.ui.apps.I_CmsWorkplaceApp#initUI(org.opencms.ui.apps.I_CmsAppUIContext) *//*from www .j av a 2s .c om*/ public void initUI(I_CmsAppUIContext context) { m_appContext = context; m_appContext.setMenuDialogContext( new CmsExplorerDialogContext(ContextType.appToolbar, m_fileTable, this, null)); HorizontalSplitPanel sp = new HorizontalSplitPanel(); sp.setSizeFull(); sp.setFirstComponent(m_fileTree); CmsFileExplorerSettings settings; try { settings = OpenCms.getWorkplaceAppManager().getAppSettings(A_CmsUI.getCmsObject(), CmsFileExplorerSettings.class); m_fileTable.setTableState(settings); } catch (Exception e) { LOG.error("Error while reading file explorer settings from user.", e); } sp.setSecondComponent(m_fileTable); sp.setSplitPosition(LAYOUT_SPLIT_POSITION, Unit.PIXELS); context.setAppContent(sp); context.showInfoArea(true); HorizontalLayout inf = new HorizontalLayout(); inf.setSizeFull(); inf.setSpacing(true); inf.setMargin(true); m_siteSelector.setWidth("379px"); inf.addComponent(m_siteSelector); CssLayout crumbWrapper = new CssLayout(); crumbWrapper.setSizeFull(); crumbWrapper.setPrimaryStyleName(OpenCmsTheme.CRUMB_WRAPPER); crumbWrapper.addComponent(m_crumbs); m_infoPath.setWidth("100%"); crumbWrapper.addComponent(m_infoPath); inf.addComponent(crumbWrapper); inf.setExpandRatio(crumbWrapper, 1); m_searchField.setWidth("200px"); inf.addComponent(m_searchField); context.setAppInfo(inf); initToolbarButtons(context); m_fileTable.updateColumnWidths(A_CmsUI.get().getPage().getBrowserWindowWidth() - LAYOUT_SPLIT_POSITION); }
From source file:org.opencms.ui.apps.search.CmsSourceSearchApp.java
License:Open Source License
/** * @see org.opencms.ui.apps.A_CmsWorkplaceApp#getComponentForState(java.lang.String) *//* ww w.j a v a2 s .com*/ @Override protected Component getComponentForState(String state) { m_rootLayout.setMainHeightFull(true); HorizontalSplitPanel sp = new HorizontalSplitPanel(); sp.setSizeFull(); m_searchForm = new CmsSourceSearchForm(this); sp.setFirstComponent(m_searchForm); m_resultTable = new CmsFileTable(null); m_resultTable.applyWorkplaceAppSettings(); m_resultTable.setContextProvider(new I_CmsContextProvider() { /** * @see org.opencms.ui.apps.I_CmsContextProvider#getDialogContext() */ public I_CmsDialogContext getDialogContext() { CmsFileTableDialogContext context = new CmsFileTableDialogContext( CmsProjectManagerConfiguration.APP_ID, ContextType.fileTable, m_resultTable, m_resultTable.getSelectedResources()); storeCurrentFileSelection(m_resultTable.getSelectedResources()); context.setEditableProperties(CmsFileExplorer.INLINE_EDIT_PROPERTIES); return context; } }); m_resultTable.setSizeFull(); m_resultTableFilter = new TextField(); m_resultTableFilter.setIcon(FontOpenCms.FILTER); m_resultTableFilter.setInputPrompt( Messages.get().getBundle(UI.getCurrent().getLocale()).key(Messages.GUI_EXPLORER_FILTER_0)); m_resultTableFilter.addStyleName(ValoTheme.TEXTFIELD_INLINE_ICON); m_resultTableFilter.setWidth("200px"); m_resultTableFilter.addTextChangeListener(new TextChangeListener() { private static final long serialVersionUID = 1L; public void textChange(TextChangeEvent event) { m_resultTable.filterTable(event.getText()); } }); m_infoLayout.addComponent(m_resultTableFilter); sp.setSecondComponent(m_resultTable); sp.setSplitPosition(CmsFileExplorer.LAYOUT_SPLIT_POSITION, Unit.PIXELS); if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(state)) { CmsSearchReplaceSettings settings = getSettingsFromState(state); if (settings != null) { m_currentState = state; m_searchForm.initFormValues(settings); search(settings, false); } } return sp; }
From source file:org.openeos.usertask.ui.internal.vaadin.TasksWindow.java
License:Apache License
private void createMainComponent() { VerticalLayout main = new VerticalLayout(); main.setMargin(false);/* w w w . j ava2 s . c o m*/ main.setSizeFull(); main.addComponent(createToolbar()); mainSplitPanel = new HorizontalSplitPanel(); mainSplitPanel.setMargin(false); mainSplitPanel.setMaxSplitPosition(80f, HorizontalSplitPanel.UNITS_PERCENTAGE); mainSplitPanel.setMinSplitPosition(20f, HorizontalSplitPanel.UNITS_PERCENTAGE); mainSplitPanel.setSizeFull(); mainSplitPanel.setSplitPosition(30f, HorizontalSplitPanel.UNITS_PERCENTAGE); taskTable = createTable(); mainSplitPanel.setFirstComponent(taskTable); displayEmptyTask(); main.addComponent(mainSplitPanel); main.setExpandRatio(mainSplitPanel, 1.0f); mainComponent = main; }
From source file:org.opennms.features.jmxconfiggenerator.webui.ui.mbeans.MBeansView.java
License:Open Source License
private AbstractSplitPanel initMainPanel(Component first, Component second) { AbstractSplitPanel layout = new HorizontalSplitPanel(); layout.setSizeFull();//from w w w . ja v a 2 s .c o m layout.setLocked(false); layout.setSplitPosition(20, UNITS_PERCENTAGE); layout.setFirstComponent(first); layout.setSecondComponent(second); layout.setCaption(first.getCaption()); return layout; }
From source file:org.opennms.features.pluginmgr.vaadin.pluginmanager.PluginManagerUIMainPanel.java
License:Apache License
@AutoGenerated private HorizontalSplitPanel buildPluginMgrHorSplitPanel_1() { // common part: create layout pluginMgrHorSplitPanel_1 = new HorizontalSplitPanel(); pluginMgrHorSplitPanel_1.setCaption("Plugin Manager Settings"); pluginMgrHorSplitPanel_1.setImmediate(true); pluginMgrHorSplitPanel_1.setWidth("100.0%"); pluginMgrHorSplitPanel_1.setHeight("100.0%"); // generalSettingsPanel generalSettingsPanel = buildGeneralSettingsPanel(); pluginMgrHorSplitPanel_1.addComponent(generalSettingsPanel); // featureSettingsPanel featureSettingsPanel = buildFeatureSettingsPanel(); pluginMgrHorSplitPanel_1.addComponent(featureSettingsPanel); return pluginMgrHorSplitPanel_1; }
From source file:org.opennms.features.topology.app.internal.TopologyWidgetTestApplication.java
License:Open Source License
@SuppressWarnings("serial") @Override/* w w w . j ava2 s .co m*/ public void init() { setTheme("topo_default"); m_rootLayout = new AbsoluteLayout(); m_rootLayout.setSizeFull(); m_window = new Window("OpenNMS Topology"); m_window.setContent(m_rootLayout); setMainWindow(m_window); m_uriFragUtil = new UriFragmentUtility(); m_window.addComponent(m_uriFragUtil); m_uriFragUtil.addListener(this); m_layout = new AbsoluteLayout(); m_layout.setSizeFull(); m_rootLayout.addComponent(m_layout); if (m_showHeader) { HEADER_HEIGHT = 100; Panel header = new Panel("header"); header.setCaption(null); header.setSizeUndefined(); header.addStyleName("onmsheader"); m_rootLayout.addComponent(header, "top: 0px; left: 0px; right:0px;"); try { CustomLayout customLayout = new CustomLayout(getHeaderLayout()); header.setContent(customLayout); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { HEADER_HEIGHT = 0; } Refresher refresher = new Refresher(); refresher.setRefreshInterval(5000); getMainWindow().addComponent(refresher); m_graphContainer.setLayoutAlgorithm(new FRLayoutAlgorithm()); final Property scale = m_graphContainer.getScaleProperty(); m_topologyComponent = new TopologyComponent(m_graphContainer, m_iconRepositoryManager, m_selectionManager, this); m_topologyComponent.setSizeFull(); m_topologyComponent.addMenuItemStateListener(this); m_topologyComponent.addVertexUpdateListener(this); final Slider slider = new Slider(0, 1); slider.setPropertyDataSource(scale); slider.setResolution(1); slider.setHeight("300px"); slider.setOrientation(Slider.ORIENTATION_VERTICAL); slider.setImmediate(true); final Button zoomInBtn = new Button(); zoomInBtn.setIcon(new ThemeResource("images/plus.png")); zoomInBtn.setDescription("Expand Semantic Zoom Level"); zoomInBtn.setStyleName("semantic-zoom-button"); zoomInBtn.addListener(new ClickListener() { public void buttonClick(ClickEvent event) { int szl = (Integer) m_graphContainer.getSemanticZoomLevel(); szl++; m_graphContainer.setSemanticZoomLevel(szl); setSemanticZoomLevel(szl); saveHistory(); } }); Button zoomOutBtn = new Button(); zoomOutBtn.setIcon(new ThemeResource("images/minus.png")); zoomOutBtn.setDescription("Collapse Semantic Zoom Level"); zoomOutBtn.setStyleName("semantic-zoom-button"); zoomOutBtn.addListener(new ClickListener() { public void buttonClick(ClickEvent event) { int szl = (Integer) m_graphContainer.getSemanticZoomLevel(); if (szl > 0) { szl--; m_graphContainer.setSemanticZoomLevel(szl); setSemanticZoomLevel(szl); saveHistory(); } } }); final Button panBtn = new Button(); panBtn.setIcon(new ThemeResource("images/cursor_drag_arrow.png")); panBtn.setDescription("Pan Tool"); panBtn.setStyleName("toolbar-button down"); final Button selectBtn = new Button(); selectBtn.setIcon(new ThemeResource("images/selection.png")); selectBtn.setDescription("Selection Tool"); selectBtn.setStyleName("toolbar-button"); selectBtn.addListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { selectBtn.setStyleName("toolbar-button down"); panBtn.setStyleName("toolbar-button"); m_topologyComponent.setActiveTool("select"); } }); panBtn.addListener(new ClickListener() { @Override public void buttonClick(ClickEvent event) { panBtn.setStyleName("toolbar-button down"); selectBtn.setStyleName("toolbar-button"); m_topologyComponent.setActiveTool("pan"); } }); VerticalLayout toolbar = new VerticalLayout(); toolbar.setWidth("31px"); toolbar.addComponent(panBtn); toolbar.addComponent(selectBtn); HorizontalLayout semanticLayout = new HorizontalLayout(); semanticLayout.addComponent(zoomInBtn); semanticLayout.addComponent(m_zoomLevelLabel); semanticLayout.addComponent(zoomOutBtn); semanticLayout.setComponentAlignment(m_zoomLevelLabel, Alignment.MIDDLE_CENTER); AbsoluteLayout mapLayout = new AbsoluteLayout(); mapLayout.addComponent(m_topologyComponent, "top:0px; left: 0px; right: 0px; bottom: 0px;"); mapLayout.addComponent(slider, "top: 5px; left: 20px; z-index:1000;"); mapLayout.addComponent(toolbar, "top: 324px; left: 12px;"); mapLayout.addComponent(semanticLayout, "top: 380px; left: 2px;"); mapLayout.setSizeFull(); m_treeMapSplitPanel = new HorizontalSplitPanel(); m_treeMapSplitPanel.setFirstComponent(createWestLayout()); m_treeMapSplitPanel.setSecondComponent(mapLayout); m_treeMapSplitPanel.setSplitPosition(222, Sizeable.UNITS_PIXELS); m_treeMapSplitPanel.setSizeFull(); m_commandManager.addCommandUpdateListener(this); menuBarUpdated(m_commandManager); if (m_widgetManager.widgetCount() != 0) { updateWidgetView(m_widgetManager); } else { m_layout.addComponent(m_treeMapSplitPanel, getBelowMenuPosition()); } if (m_treeWidgetManager.widgetCount() != 0) { updateAccordionView(m_treeWidgetManager); } }
From source file:org.opennms.features.vaadin.app.TopologyWidgetTestApplication.java
License:Open Source License
@Override public void init() { //This timer is a hack at the moment to disable and enable menuItems m_timer.scheduleAtFixedRate(new TimerTask() { @Override/*from ww w .ja va 2 s. com*/ public void run() { List<MenuItem> items = m_menuBar.getItems(); for (MenuItem item : items) { if (item.getText().equals("Device")) { List<MenuItem> children = item.getChildren(); for (MenuItem child : children) { if (m_graphContainer.getSelectedVertexIds().size() > 0) { if (!child.isEnabled()) { child.setEnabled(true); } } else { if (child.isEnabled()) { child.setEnabled(false); } } } } } } }, 1000, 1000); m_commandManager.addCommand(new Command("Redo Layout") { ; @Override public void doCommand(Object target) { m_graphContainer.redoLayout(); } @Override public boolean appliesToTarget(Object target) { //Applies to background as a whole return target == null; } }, true); m_commandManager.addCommand(new Command("Open") { @Override public void doCommand(Object target) { m_graphContainer.load("graph.xml"); } }, false, "File"); m_commandManager.addCommand(new Command("Save") { @Override public void doCommand(Object target) { m_graphContainer.save("graph.xml"); } }, false, "File"); m_commandManager.addCommand(new Command("Add Vertex") { @Override public boolean appliesToTarget(Object itemId) { return itemId == null || m_graphContainer.getVertexContainer().containsId(itemId); } @Override public void doCommand(Object vertexId) { if (vertexId == null) { addRandomVertex(); } else { connectNewVertexTo(vertexId.toString(), SERVER_ICON); } m_graphContainer.redoLayout(); } }, true, "File"); m_commandManager.addCommand(new Command("Lock") { @Override public boolean appliesToTarget(Object itemId) { if (m_graphContainer.getVertexContainer().containsId(itemId)) { Item v = m_graphContainer.getVertexContainer().getItem(itemId); return !(Boolean) v.getItemProperty("locked").getValue(); } return false; } @Override public void doCommand(Object vertexId) { Item v = m_graphContainer.getVertexContainer().getItem(vertexId); v.getItemProperty("locked").setValue(true); } }, true); m_commandManager.addCommand(new Command("Unlock") { @Override public boolean appliesToTarget(Object itemId) { if (m_graphContainer.getVertexContainer().containsId(itemId)) { Item v = m_graphContainer.getVertexContainer().getItem(itemId); return (Boolean) v.getItemProperty("locked").getValue(); } return false; } @Override public void doCommand(Object vertexId) { Item v = m_graphContainer.getVertexContainer().getItem(vertexId); v.getItemProperty("locked").setValue(false); } }, true); m_commandManager.addCommand(new Command("Add Switch Vertex") { @Override public boolean appliesToTarget(Object itemId) { return itemId == null || m_graphContainer.getVertexContainer().containsId(itemId); } @Override public void doCommand(Object vertexId) { if (vertexId == null) { addRandomVertex(); } else { connectNewVertexTo(vertexId.toString(), SWITCH_ICON); } m_graphContainer.redoLayout(); } }, true); m_commandManager.addCommand(new Command("Remove Vertex") { @Override public boolean appliesToTarget(Object itemId) { return itemId == null || m_graphContainer.getVertexContainer().containsId(itemId); } @Override public void doCommand(Object vertexId) { if (vertexId == null) { System.err.println("need to handle selection!!!"); } else { m_graphContainer.removeVertex(vertexId.toString()); m_graphContainer.redoLayout(); } } }, true, "File"); m_commandManager.addCommand(new Command("Connect") { @Override public boolean appliesToTarget(Object itemId) { return m_graphContainer.getSelectedVertexIds().size() == 2; } @Override public void doCommand(Object unused) { List<Object> endPoints = new ArrayList<Object>(m_graphContainer.getSelectedVertexIds()); m_graphContainer.connectVertices(m_graphContainer.getNextEdgeId(), (String) endPoints.get(0), (String) endPoints.get(1)); } }, true, "File"); m_commandManager.addCommand(new Command("Create Group") { @Override public boolean appliesToTarget(Object itemId) { return m_graphContainer.getSelectedVertexIds().size() > 0; } @Override public void doCommand(Object vertexId) { String groupId = m_graphContainer.getNextGroupId(); m_graphContainer.addGroup(groupId, GROUP_ICON); m_graphContainer.getVertexContainer().setParent(groupId, ROOT_GROUP_ID); for (Object itemId : m_graphContainer.getSelectedVertexIds()) { m_graphContainer.getVertexContainer().setParent(itemId, groupId); } } }, true, "Edit"); m_commandManager.addCommand(new Command("Manual Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new ManualLayoutAlgorithm()); } }, false, "Edit|Layout"); m_commandManager.addCommand(new Command("Balloon Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new BalloonLayoutAlgorithm(CENTER_VERTEX_ID)); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("Circle Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new CircleLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("DAG Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new DAGLayoutAlgorithm(CENTER_VERTEX_ID)); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("Radial Tree Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new RadialTreeLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("Tree Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new TreeLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("Simple Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new SimpleLayoutAlgorithm()); } }, false, "Edit|Layout"); m_commandManager.addCommand(new Command("Spring Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new SpringLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("KK Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new KKLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("ISOM Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new ISOMLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("FR Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new FRLayoutAlgorithm()); } }, false, "Edit|Layout|JUNG"); m_commandManager.addCommand(new Command("Other Layout") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { m_graphContainer.setLayoutAlgorithm(new AlternativeLayoutAlgorithm()); } }, false, "Edit|Layout"); m_commandManager.addCommand(new Command("Reset") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { resetView(); } }, false, null); m_commandManager.addCommand(new Command("History") { @Override public boolean appliesToTarget(Object target) { return true; } @Override public void doCommand(Object target) { showHistoryList(m_commandManager.getHistoryList()); } }, false, null); m_commandManager.addCommand(new Command("Show Map") { @Override public void doCommand(Object target) { getMainWindow().showNotification("This has not been implemented yet"); } }, false, "View"); m_commandManager.addCommand(new Command("Get Info") { @Override public boolean appliesToTarget(Object itemId) { return itemId == null || m_graphContainer.getEdgeContainer().containsId(itemId); } @Override public void doCommand(Object target) { getMainWindow().showNotification("This has not been implemented yet"); } }, true, "Device"); AbsoluteLayout layout = new AbsoluteLayout(); layout.setSizeFull(); m_window = new Window("Topology Widget Test"); m_window.setContent(layout); setMainWindow(m_window); m_graphContainer.addGroup(ROOT_GROUP_ID, GROUP_ICON); m_graphContainer.addVertex(CENTER_VERTEX_ID, 50, 50, SERVER_ICON); m_graphContainer.getVertexContainer().setParent(CENTER_VERTEX_ID, ROOT_GROUP_ID); m_graphContainer.setLayoutAlgorithm(new KKLayoutAlgorithm()); m_topologyComponent = new TopologyComponent(m_graphContainer); m_commandManager.addActionHandlers(m_topologyComponent); m_topologyComponent.setSizeFull(); final Property scale = m_graphContainer.getProperty("scale"); final Slider slider = new Slider(1, 4); slider.setResolution(2); slider.setHeight("300px"); slider.setOrientation(Slider.ORIENTATION_VERTICAL); slider.addListener(new ValueChangeListener() { public void valueChange(ValueChangeEvent event) { scale.setValue((Double) slider.getValue()); } }); slider.setImmediate(true); m_tree = createTree(); Label semanticZoomLabel = new Label(); final Property zoomLevel = m_graphContainer.getProperty("semanticZoomLevel"); semanticZoomLabel.setPropertyDataSource(zoomLevel); Button zoomInBtn = new Button("Zoom In"); zoomInBtn.addListener(new ClickListener() { public void buttonClick(ClickEvent event) { int szl = (Integer) zoomLevel.getValue(); szl++; zoomLevel.setValue(szl); m_graphContainer.redoLayout(); } }); Button zoomOutBtn = new Button("Zoom Out"); zoomOutBtn.addListener(new ClickListener() { public void buttonClick(ClickEvent event) { int szl = (Integer) zoomLevel.getValue(); szl--; zoomLevel.setValue(szl); m_graphContainer.redoLayout(); } }); VerticalLayout vLayout = new VerticalLayout(); vLayout.setWidth("100%"); vLayout.setHeight("100%"); vLayout.addComponent(m_tree); AbsoluteLayout mapLayout = new AbsoluteLayout(); mapLayout.addComponent(m_topologyComponent, "top:0px; left: 0px; right: 0px; bottom: 0px;"); mapLayout.addComponent(slider, "top: 20px; left: 20px; z-index:1000;"); mapLayout.addComponent(semanticZoomLabel, "bottom: 10px; right: 10px; z-index: 2000;"); mapLayout.setSizeFull(); HorizontalSplitPanel treeMapSplitPanel = new HorizontalSplitPanel(); treeMapSplitPanel.setFirstComponent(vLayout); treeMapSplitPanel.setSecondComponent(mapLayout); treeMapSplitPanel.setSplitPosition(100, Sizeable.UNITS_PIXELS); treeMapSplitPanel.setSizeFull(); VerticalSplitPanel bottomLayoutBar = new VerticalSplitPanel(); bottomLayoutBar.setFirstComponent(treeMapSplitPanel); VerticalLayout zoomLayout = new VerticalLayout(); zoomLayout.addComponent(zoomInBtn); zoomLayout.addComponent(zoomOutBtn); bottomLayoutBar.setSecondComponent(zoomLayout); bottomLayoutBar.setSplitPosition(80, Sizeable.UNITS_PERCENTAGE); bottomLayoutBar.setSizeFull(); m_menuBar = m_commandManager.getMenuBar(); m_menuBar.setWidth("100%"); layout.addComponent(m_menuBar, "top: 0px; left: 0px; right:0px;"); layout.addComponent(bottomLayoutBar, "top: 23px; left: 0px; right:0px; bottom:0px;"); }