@Override public SpanElement renderNodeContents(ProcessTreeNode node) { final ProcessTreeNodeRenderStrategy renderStrategy = renderStrategyMap.get(node.getType().getStringValue()); checkNotNull(renderStrategy, "Unknown node type"); final SpanElement spanElement = renderStrategy.renderSpanElementFor(node); addClassName(resources.getCss().processTreeNode(), spanElement); return spanElement; }
@Override public void markProcessHasOutput(String processId) { if (processId.equals(activeProcessId)) { return; } final ProcessTreeNode treeNode = processTreeNodes.get(processId); if (treeNode != null) { treeNode.setHasUnreadContent(true); treeNode.getTreeNodeElement().getClassList().add(machineResources.getCss().badgeVisible()); } }
@Override public void setStopButtonVisibility(String nodeId, boolean visible) { ProcessTreeNode processTreeNode = processTreeNodes.get(nodeId); if (processTreeNode == null) { return; } if (visible) { processTreeNode .getTreeNodeElement() .getClassList() .remove(machineResources.getCss().hideStopButton()); } else { processTreeNode .getTreeNodeElement() .getClassList() .add(machineResources.getCss().hideStopButton()); } }
@Override public void showProcessOutput(String processId) { if (!processWidgets.containsKey(processId)) { processId = ""; } onResize(); final WidgetToShow widgetToShow = processWidgets.get(processId); if (!focusedSubPanel.getAllWidgets().contains(widgetToShow)) { return; } final SubPanel subPanel = widget2Panels.get(widgetToShow); if (subPanel != null) { subPanel.activateWidget(widgetToShow); } activeProcessId = processId; final ProcessTreeNode treeNode = processTreeNodes.get(processId); if (treeNode != null && !MACHINE_NODE.equals(treeNode.getType())) { treeNode.setHasUnreadContent(false); treeNode.getTreeNodeElement().getClassList().remove(machineResources.getCss().badgeVisible()); } }
/** Instantiates {@link StandardComponentInitializer} an creates standard content. */ @Inject public StandardComponentInitializer( IconRegistry iconRegistry, MachineResources machineResources, StandardComponentInitializer.ParserResource parserResource) { iconRegistry.registerIcon( new Icon(BLANK_CATEGORY + ".samples.category.icon", parserResource.samplesCategoryBlank())); iconRegistry.registerIcon(new Icon("che.machine.icon", machineResources.devMachine())); machineResources.getCss().ensureInjected(); }
private SpanElement createStopProcessElement(final ProcessTreeNode node) { SpanElement stopProcessButton = Elements.createSpanElement(resources.getCss().processesPanelStopButtonForProcess()); ensureDebugId(stopProcessButton, "stop-process-button-element"); Tooltip.create(stopProcessButton, BOTTOM, MIDDLE, locale.viewStropProcessTooltip()); stopProcessButton.addEventListener( Event.CLICK, event -> { if (stopProcessHandler != null) { stopProcessHandler.onStopProcessClick(node); } }, true); return stopProcessButton; }
@Override public void setProcessesData(ProcessTreeNode root) { splitLayoutPanel.setWidgetHidden(navigationPanel, false); navigationPanelVisible = true; processTree.asWidget().setVisible(true); processTree.getModel().setRoot(root); processTree.renderTree(); for (ProcessTreeNode processTreeNode : processTreeNodes.values()) { if (!processTreeNode.getId().equals(activeProcessId) && processTreeNode.hasUnreadContent()) { processTreeNode .getTreeNodeElement() .getClassList() .add(machineResources.getCss().badgeVisible()); } } }
private SpanElement createCommandElement(ProcessTreeNode node) { SpanElement root = Elements.createSpanElement(resources.getCss().commandTreeNode()); root.appendChild(createCloseElement(node)); root.appendChild(createStopProcessElement(node)); SVGResource icon = node.getTitleIcon(); if (icon != null) { SpanElement iconElement = Elements.createSpanElement(resources.getCss().processIcon()); root.appendChild(iconElement); DivElement divElement = Elements.createDivElement(resources.getCss().processIconPanel()); iconElement.appendChild(divElement); divElement.appendChild((Node) new SVGImage(icon).getElement()); DivElement badgeElement = Elements.createDivElement(resources.getCss().processBadge()); divElement.appendChild(badgeElement); } Element nameElement = Elements.createSpanElement(); nameElement.setTextContent(node.getName()); nameElement.setClassName(resources.getCss().processName()); Tooltip.create(nameElement, BOTTOM, MIDDLE, node.getName()); root.appendChild(nameElement); Element spanElement = Elements.createSpanElement(); spanElement.setInnerHTML(" "); root.appendChild(spanElement); return root; }
private SpanElement createCloseElement(final ProcessTreeNode node) { SpanElement closeButton = Elements.createSpanElement(resources.getCss().processesPanelCloseButtonForProcess()); ensureDebugId(closeButton, "close-terminal-node-button"); SVGImage icon = new SVGImage(partResources.closeIcon()); closeButton.appendChild((Node) icon.getElement()); Tooltip.create(closeButton, BOTTOM, MIDDLE, locale.viewCloseProcessOutputTooltip()); closeButton.addEventListener( Event.CLICK, event -> { if (stopProcessHandler != null) { stopProcessHandler.onCloseProcessOutputClick(node); } }, true); return closeButton; }
private SpanElement createTerminalElement(ProcessTreeNode node) { SpanElement root = Elements.createSpanElement(); ensureDebugId(root, "terminal-root-element"); root.appendChild(createCloseElement(node)); SVGResource icon = node.getTitleIcon(); if (icon != null) { SpanElement iconElement = Elements.createSpanElement(resources.getCss().processIcon()); ensureDebugId(iconElement, "terminal-icon-element"); root.appendChild(iconElement); DivElement divElement = Elements.createDivElement(resources.getCss().processIconPanel()); iconElement.appendChild(divElement); divElement.appendChild((Node) new SVGImage(icon).getElement()); } Element nameElement = Elements.createSpanElement(); nameElement.setTextContent(node.getName()); nameElement.setClassName(resources.getCss().processName()); ensureDebugId(nameElement, "terminal-name-element"); Tooltip.create(nameElement, BOTTOM, MIDDLE, node.getName()); root.appendChild(nameElement); Element spanElement = Elements.createSpanElement(); spanElement.setInnerHTML(" "); root.appendChild(spanElement); return root; }
private SpanElement createCloseElement(final ProcessTreeNode node) { SpanElement closeButton = Elements.createSpanElement(resources.getCss().processesPanelCloseButtonForProcess()); ensureDebugId(closeButton, "close-command-node-button"); SVGImage icon = new SVGImage(partResources.closeIcon()); closeButton.appendChild((Node) icon.getElement()); Tooltip.create(closeButton, BOTTOM, MIDDLE, locale.viewCloseProcessOutputTooltip()); closeButton.addEventListener( Event.CLICK, event -> { if (stopProcessHandler != null) { stopProcessHandler.onCloseProcessOutputClick(node); } }, true); return closeButton; }
processTree.asWidget().addStyleName(machineResources.getCss().processTree()); processTree.setTreeEventHandler( new Tree.Listener<ProcessTreeNode>() {
Elements.createSpanElement(resources.getCss().newTerminalButton()); newTerminalButton.appendChild((Node) new SVGImage(resources.addTerminalIcon()).getElement()); root.appendChild(newTerminalButton); SpanElement sshButton = Elements.createSpanElement(resources.getCss().sshButton()); sshButton.setTextContent("SSH"); root.appendChild(sshButton); Element monitorsElement = Elements.createSpanElement(resources.getCss().machineMonitors()); root.appendChild(monitorsElement); monitorsElement.appendChild(monitorNode); Element nameElement = Elements.createSpanElement(resources.getCss().machineName()); nameElement.setTextContent(machineName); Tooltip.create(nameElement, BOTTOM, MIDDLE, machineName);