private void onStopProcess(@NotNull ProcessTreeNode node) { String processId = node.getId(); ProcessTreeNode parentNode = node.getParent(); int processIndex = view.getNodeIndex(processId); if (processIndex < 0) { return; } int countWidgets = terminals.size() + consoles.size(); if (countWidgets == 1) { view.hideProcessOutput(processId); removeChildFromMachineNode(node, parentNode); return; } int neighborIndex = processIndex > 0 ? processIndex - 1 : processIndex + 1; ProcessTreeNode neighborNode = view.getNodeByIndex(neighborIndex); String neighborNodeId = neighborNode.getId(); removeChildFromMachineNode(node, parentNode); view.selectNode(neighborNode); resfreshStopButtonState(neighborNodeId); view.showProcessOutput(neighborNodeId); view.hideProcessOutput(processId); }
@Override public void onWorkspaceStopped(WorkspaceStoppedEvent event) { for (ProcessTreeNode processTreeNode : rootNode.getChildren()) { if (processTreeNode.getType() == MACHINE_NODE) { onCloseTerminal(processTreeNode); processTreeNode.setRunning(false); if (processTreeNode.getChildren() != null) { processTreeNode.getChildren().clear(); } } } rootNode.getChildren().clear(); rootChildren.clear(); view.clear(); view.selectNode(null); view.setProcessesData(rootNode); }
private void addChildToMachineNode(ProcessTreeNode childNode, ProcessTreeNode machineTreeNode) { machineTreeNode.getChildren().add(childNode); view.setProcessesData(rootNode); view.selectNode(childNode); }