Search in sources :

Example 1 with ToolbarPanel

use of org.opennms.features.topology.app.internal.ui.ToolbarPanel in project opennms by OpenNMS.

the class TopologyUI method createMapLayout.

private Component createMapLayout() {
    // Topology (Map) Component
    m_topologyComponent = new TopologyComponent(m_graphContainer, m_iconRepositoryManager, this);
    m_topologyComponent.setSizeFull();
    m_topologyComponent.addMenuItemStateListener(this);
    m_topologyComponent.addVertexUpdateListener(this);
    // Search Box
    m_searchBox = new SearchBox(m_serviceManager, new DefaultOperationContext(this, m_graphContainer, OperationContext.DisplayLocation.SEARCH));
    // Info Panel
    m_infoPanel = new InfoPanel(m_searchBox);
    // Breadcrumb
    m_breadcrumbComponent = new BreadcrumbComponent();
    // Layout hint
    m_layoutHintComponent = new LayoutHintComponent(m_layoutManager, m_graphContainer);
    // Toolbar
    m_toolbarPanel = new ToolbarPanel(new ToolbarPanelController() {

        @Override
        public void refreshUI() {
            new TopologyUI.DynamicUpdateRefresher().refreshUI();
        }

        @Override
        public void saveHistory() {
            TopologyUI.this.saveHistory();
        }

        @Override
        public void saveLayout() {
            m_graphContainer.saveLayout();
        }

        @Override
        public void setActiveTool(ActiveTool activeTool) {
            Objects.requireNonNull(activeTool);
            m_topologyComponent.setActiveTool(activeTool.name());
        }

        @Override
        public void showAllMap() {
            m_topologyComponent.showAllMap();
        }

        @Override
        public void centerMapOnSelection() {
            m_topologyComponent.centerMapOnSelection();
        }

        @Override
        public void toggleHighlightFocus() {
            m_topologyComponent.getState().setHighlightFocus(!m_topologyComponent.getState().isHighlightFocus());
            m_topologyComponent.updateGraph();
        }

        @Override
        public void setSemanticZoomLevel(int semanticZoomLevel) {
            m_graphContainer.setSemanticZoomLevel(semanticZoomLevel);
            m_graphContainer.redoLayout();
        }

        public int getSemanticZoomLevel() {
            return m_graphContainer.getSemanticZoomLevel();
        }

        @Override
        public Property<Double> getScaleProperty() {
            return m_graphContainer.getScaleProperty();
        }

        @Override
        public LayoutManager getLayoutManager() {
            return m_layoutManager;
        }
    });
    // Map Layout (we need to wrap it in an absolute layout otherwise it shows up twice on the topology map)
    AbsoluteLayout mapLayout = new AbsoluteLayout();
    mapLayout.addComponent(m_topologyComponent, "top:0px; left: 0px; right: 0px; bottom: 0px;");
    mapLayout.addComponent(m_breadcrumbComponent, "top:10px; left: 50px");
    mapLayout.addComponent(m_layoutHintComponent, "bottom: 10px; left:20px");
    mapLayout.setSizeFull();
    HorizontalLayout layout = new HorizontalLayout();
    layout.addStyleName("map-layout");
    layout.addComponent(m_infoPanel);
    layout.addComponent(mapLayout);
    layout.addComponent(m_toolbarPanel);
    layout.setExpandRatio(mapLayout, 1);
    layout.setSizeFull();
    return layout;
}
Also used : LayoutHintComponent(org.opennms.features.topology.app.internal.ui.LayoutHintComponent) InfoPanel(org.opennms.features.topology.app.internal.ui.InfoPanel) BreadcrumbComponent(org.opennms.features.topology.app.internal.ui.breadcrumbs.BreadcrumbComponent) SearchBox(org.opennms.features.topology.app.internal.ui.SearchBox) AbsoluteLayout(com.vaadin.ui.AbsoluteLayout) HorizontalLayout(com.vaadin.ui.HorizontalLayout) ToolbarPanelController(org.opennms.features.topology.app.internal.ui.ToolbarPanelController) ToolbarPanel(org.opennms.features.topology.app.internal.ui.ToolbarPanel)

Aggregations

AbsoluteLayout (com.vaadin.ui.AbsoluteLayout)1 HorizontalLayout (com.vaadin.ui.HorizontalLayout)1 InfoPanel (org.opennms.features.topology.app.internal.ui.InfoPanel)1 LayoutHintComponent (org.opennms.features.topology.app.internal.ui.LayoutHintComponent)1 SearchBox (org.opennms.features.topology.app.internal.ui.SearchBox)1 ToolbarPanel (org.opennms.features.topology.app.internal.ui.ToolbarPanel)1 ToolbarPanelController (org.opennms.features.topology.app.internal.ui.ToolbarPanelController)1 BreadcrumbComponent (org.opennms.features.topology.app.internal.ui.breadcrumbs.BreadcrumbComponent)1