private Map<String, Object> createContext(final GraphContainer container) { final Map<String, Object> context = Maps.newHashMap(); Optional.ofNullable(Iterables.getOnlyElement(container.getSelectionManager().getSelectedEdgeRefs(), null)) .map(this::createEdgeContext) .ifPresent(context::putAll); Optional.ofNullable(Iterables.getOnlyElement(container.getSelectionManager().getSelectedVertexRefs(), null)) .map(this::createVertexContext) .ifPresent(context::putAll); context.put("measurements", new MeasurementsWrapper(measurementsService)); return context; }
private Map<String, Object> createContext(final GraphContainer container) { final Map<String, Object> context = Maps.newHashMap(); Optional.ofNullable(Iterables.getOnlyElement(container.getSelectionManager().getSelectedEdgeRefs(), null)) .map(this::createEdgeContext) .ifPresent(context::putAll); Optional.ofNullable(Iterables.getOnlyElement(container.getSelectionManager().getSelectedVertexRefs(), null)) .map(this::createVertexContext) .ifPresent(context::putAll); context.put("measurements", new MeasurementsWrapper(measurementsService)); return context; }
@Override protected Optional<VertexRef> findSingleSelectedItem(GraphContainer container) { Collection<VertexRef> selectedVertexRefs = container.getSelectionManager().getSelectedVertexRefs(); if (selectedVertexRefs.size() == 1) { final VertexRef vertexRef = selectedVertexRefs.iterator().next(); Vertex vertex = container.getTopologyServiceClient().getVertex(vertexRef); return Optional.ofNullable(vertex); } return Optional.empty(); } }
@Override protected Optional<VertexRef> findSingleSelectedItem(GraphContainer container) { Collection<VertexRef> selectedVertexRefs = container.getSelectionManager().getSelectedVertexRefs(); if (selectedVertexRefs.size() == 1) { final VertexRef vertexRef = selectedVertexRefs.iterator().next(); Vertex vertex = container.getTopologyServiceClient().getVertex(vertexRef); return Optional.ofNullable(vertex); } return Optional.empty(); } }
@Override protected VertexRef findSingleSelectedItem(GraphContainer container) { Collection<VertexRef> selectedVertexRefs = container.getSelectionManager().getSelectedVertexRefs(); if (selectedVertexRefs.size() == 1) { final VertexRef vertexRef = selectedVertexRefs.iterator().next(); Vertex vertex = container.getBaseTopology().getVertex(vertexRef); return vertex; } return null; } }
@Override @EventConsumer public void verticesUpdated(VerticesUpdateManager.VerticesUpdateEvent event) { Collection<VertexRef> selectedVertexRefs = m_selectionManager.getSelectedVertexRefs(); Set<VertexRef> vertexRefs = event.getVertexRefs(); if(!selectedVertexRefs.equals(vertexRefs) && !event.allVerticesSelected()) { m_selectionManager.setSelectedVertexRefs(vertexRefs); } }
@Override @EventConsumer public void verticesUpdated(VerticesUpdateManager.VerticesUpdateEvent event) { Collection<VertexRef> selectedVertexRefs = m_selectionManager.getSelectedVertexRefs(); Set<VertexRef> vertexRefs = event.getVertexRefs(); if(!selectedVertexRefs.equals(vertexRefs) && !event.allVerticesSelected()) { m_selectionManager.setSelectedVertexRefs(vertexRefs); } }
private static void unselectElementsWhichAreNotVisibleAnymore(Graph graph, SelectionManager selectionManager) { if (selectionManager == null) return; List<VertexRef> selectedVertexRefs = new ArrayList<>(selectionManager.getSelectedVertexRefs()); List<VertexRef> newSelectedVertexRefs = new ArrayList<>(); for (VertexRef eachSelectedVertex : selectedVertexRefs) {
@Override public void showContextMenu(Object target, int left, int top) { Collection<VertexRef> selectedVertexRefs = getGraphContainer().getSelectionManager().getSelectedVertexRefs(); List<VertexRef> targets; // If the user right-clicks on a vertex that is already selected... if(selectedVertexRefs.contains(target)) { // ... then use the entire selection as the target of the operation targets = Lists.newArrayList(selectedVertexRefs); } else{ // Otherwise, just use the single vertex that was right-clicked on as the target targets = TopologyContextMenu.asVertexList(target); } // The target must be set before we update the operation context because the op context // operations are dependent on the target of the right-click // we have to generate the context menu here m_contextMenu.updateMenu(m_graphContainer, this, m_operationManager, targets); m_contextMenu.setAsContextMenuOf(this); m_contextMenu.open(left, top); }
private static void unselectElementsWhichAreNotVisibleAnymore(Graph graph, SelectionManager selectionManager) { if (selectionManager == null) return; List<VertexRef> selectedVertexRefs = new ArrayList<>(selectionManager.getSelectedVertexRefs()); List<VertexRef> newSelectedVertexRefs = new ArrayList<>(); for (VertexRef eachSelectedVertex : selectedVertexRefs) {
@Override public void showContextMenu(Object target, int left, int top) { Collection<VertexRef> selectedVertexRefs = getGraphContainer().getSelectionManager().getSelectedVertexRefs(); List<VertexRef> targets; // If the user right-clicks on a vertex that is already selected... if(selectedVertexRefs.contains(target)) { // ... then use the entire selection as the target of the operation targets = Lists.newArrayList(selectedVertexRefs); } else{ // Otherwise, just use the single vertex that was right-clicked on as the target targets = TopologyContextMenu.asVertexList(target); } // The target must be set before we update the operation context because the op context // operations are dependent on the target of the right-click // we have to generate the context menu here m_contextMenu.updateMenu(m_graphContainer, this, m_operationManager, targets); m_contextMenu.setAsContextMenuOf(this); m_contextMenu.open(left, top); }
private void selectVertices(boolean shiftModifierPressed, boolean ctrlModifierPressed, String... vertexKeys) { m_blockSelectionEvents = true; List<VertexRef> vertexRefsToSelect = new ArrayList<VertexRef>(vertexKeys.length); List<VertexRef> vertexRefsToDeselect = new ArrayList<>(); boolean add = shiftModifierPressed || ctrlModifierPressed; for (String eachVertexKey : vertexKeys) { if (ctrlModifierPressed && m_graphContainer.getSelectionManager().isVertexRefSelected(m_graph.getVertexByKey(eachVertexKey))) { vertexRefsToDeselect.add(getGraph().getVertexByKey(eachVertexKey)); //we want it to be unselected } else { vertexRefsToSelect.add(getGraph().getVertexByKey(eachVertexKey)); } } if (add) { // we want to add, so add the already selected ones (except the explicit removed ones) vertexRefsToSelect.addAll(m_graphContainer.getSelectionManager().getSelectedVertexRefs()); vertexRefsToSelect.removeAll(vertexRefsToDeselect); } Collection<VertexRef> selectedVertices = m_graphContainer.getVertexRefForest(vertexRefsToSelect); if (!m_graphContainer.getSelectionManager().getSelectedVertexRefs().equals(selectedVertices)) { m_graphContainer.getSelectionManager().deselectAll(); m_graphContainer.getSelectionManager().selectVertexRefs(selectedVertices); m_blockSelectionEvents = false; updateMenuItems(); } }
private void selectVertices(boolean shiftModifierPressed, boolean ctrlModifierPressed, String... vertexKeys) { m_blockSelectionEvents = true; List<VertexRef> vertexRefsToSelect = new ArrayList<VertexRef>(vertexKeys.length); List<VertexRef> vertexRefsToDeselect = new ArrayList<>(); boolean add = shiftModifierPressed || ctrlModifierPressed; for (String eachVertexKey : vertexKeys) { if (ctrlModifierPressed && m_graphContainer.getSelectionManager().isVertexRefSelected(m_graph.getVertexByKey(eachVertexKey))) { vertexRefsToDeselect.add(getGraph().getVertexByKey(eachVertexKey)); //we want it to be unselected } else { vertexRefsToSelect.add(getGraph().getVertexByKey(eachVertexKey)); } } if (add) { // we want to add, so add the already selected ones (except the explicit removed ones) vertexRefsToSelect.addAll(m_graphContainer.getSelectionManager().getSelectedVertexRefs()); vertexRefsToSelect.removeAll(vertexRefsToDeselect); } Collection<VertexRef> selectedVertices = m_graphContainer.getVertexRefForest(vertexRefsToSelect); if (!m_graphContainer.getSelectionManager().getSelectedVertexRefs().equals(selectedVertices)) { m_graphContainer.getSelectionManager().deselectAll(); m_graphContainer.getSelectionManager().selectVertexRefs(selectedVertices); m_blockSelectionEvents = false; updateMenuItems(); } }
public SavedHistory(GraphContainer graphContainer, Collection<HistoryOperation> operations) { this( graphContainer.getSemanticZoomLevel(), graphContainer.getMapViewManager().getCurrentBoundingBox(), saveLocations(graphContainer.getGraph()), getUnmodifiableSet(graphContainer.getSelectionManager().getSelectedVertexRefs()), getFocusVertices(graphContainer), getOperationSettings(graphContainer, operations) ); }
public void updateMenu(GraphContainer graphContainer, UI mainWindow, OperationManager operationManager) { final DefaultOperationContext operationContext = new DefaultOperationContext(mainWindow, graphContainer, OperationContext.DisplayLocation.MENUBAR); final ArrayList<VertexRef> targets = new ArrayList<>(graphContainer.getSelectionManager().getSelectedVertexRefs()); // Clear menu removeItems(); // Build new Menu MenuBuilder menuBuilder = new MenuBuilder(); menuBuilder.setTopLevelMenuOrder(operationManager.getTopLevelMenuOrder()); menuBuilder.setSubMenuGroupOrder(operationManager.getSubMenuGroupOrder()); for (OperationServiceWrapper operationServiceWrapper : operationManager.getOperationWrappers()) { if (operationServiceWrapper.getMenuPosition() != null) { // if menu position is null, there is no place to put it org.opennms.features.topology.app.internal.menu.MenuItem item = new OperationMenuItem(operationServiceWrapper); menuBuilder.addMenuItem(item, operationServiceWrapper.getMenuPosition().split("\\|")); } } menuBuilder.apply(this, targets, operationContext, this::notifyMenuUpdateListener); }
public void updateMenu(GraphContainer graphContainer, UI mainWindow, OperationManager operationManager) { final DefaultOperationContext operationContext = new DefaultOperationContext(mainWindow, graphContainer, OperationContext.DisplayLocation.MENUBAR); final ArrayList<VertexRef> targets = new ArrayList<>(graphContainer.getSelectionManager().getSelectedVertexRefs()); // Clear menu removeItems(); // Build new Menu MenuBuilder menuBuilder = new MenuBuilder(); menuBuilder.setTopLevelMenuOrder(operationManager.getTopLevelMenuOrder()); menuBuilder.setSubMenuGroupOrder(operationManager.getSubMenuGroupOrder()); for (OperationServiceWrapper operationServiceWrapper : operationManager.getOperationWrappers()) { if (operationServiceWrapper.getMenuPosition() != null) { // if menu position is null, there is no place to put it org.opennms.features.topology.app.internal.menu.MenuItem item = new OperationMenuItem(operationServiceWrapper); menuBuilder.addMenuItem(item, operationServiceWrapper.getMenuPosition().split("\\|")); } } menuBuilder.apply(this, targets, operationContext, this::notifyMenuUpdateListener); }
public SavedHistory(GraphContainer graphContainer, Collection<HistoryOperation> operations) { this( graphContainer.getSemanticZoomLevel(), graphContainer.getMapViewManager().getCurrentBoundingBox(), saveLocations(graphContainer.getGraph()), getUnmodifiableSet(graphContainer.getSelectionManager().getSelectedVertexRefs()), getFocusVertices(graphContainer), getOperationSettings(graphContainer, operations), getSearchQueries(graphContainer.getCriteria())); }
public SavedHistory(GraphContainer graphContainer, Collection<HistoryOperation> operations) { this( graphContainer.getSemanticZoomLevel(), graphContainer.getMapViewManager().getCurrentBoundingBox(), saveLocations(graphContainer.getGraph()), getUnmodifiableSet(graphContainer.getSelectionManager().getSelectedVertexRefs()), getFocusVertices(graphContainer), getOperationSettings(graphContainer, operations), getSearchQueries(graphContainer.getCriteria())); }