private static void refreshUI() { long ts = System.currentTimeMillis(); if (ts - lastUpdate < 1000) { return; // throttle down updates } lastUpdate = ts; GuiPackage gp = GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } }
@Override public void restore(GuiPackage guiInstance) { MainFrame mainframe = guiInstance.getMainFrame(); if (mainframe == null) { //log? return; } final JTree tree = mainframe.getTree(); if (!savedExpanded.isEmpty()) { savedExpanded.forEach(tree::expandRow); } else { tree.expandRow(0); } tree.setSelectionRow(savedSelected); } }
warnIndicator.addActionListener(this); tree = makeTree(treeModel, treeListener); init(); initTopLevelDndHandler(); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addMouseWheelListener(e -> { if (e.isControlDown()) { final float scale = 1.1f;
setJMenuBar(menuBar); JPanel all = new JPanel(new BorderLayout()); all.add(createToolBar(), BorderLayout.NORTH); treePanel = createTreePanel(); treeAndMain.setLeftComponent(treePanel); topAndDown.setDividerSize(0); mainPanel = createMainPanel(); logPanel = createLoggerPanel(); errorsAndFatalsCounterLogTarget = new ErrorsAndFatalsCounterLogTarget(); GuiPackage.getInstance().getLogEventBus().registerEventListener(logPanel); all.add(treeAndMain, BorderLayout.CENTER); getContentPane().add(all); addWindowListener(new WindowHappenings()); setTitle(DEFAULT_TITLE); setIconImage(JMeterUtils.getImage("icon-apache.png").getImage());// $NON-NLS-1$ setWindowTitle(); // define AWT WM_CLASS string refreshErrorsTimer.start();
GuiPackage.initInstance(treeLis, treeModel); splash.setProgress(80); MainFrame main = new MainFrame(treeModel, treeLis); splash.setProgress(100); ComponentUtil.centerComponentInWindow(main, 80); main.setLocationRelativeTo(splash); main.setVisible(true); main.toFront(); instance.actionPerformed(new ActionEvent(main, 1, ActionNames.ADD_ALL)); if (testFile != null) { JTree jTree = GuiPackage.getInstance().getMainFrame().getTree(); TreePath path = jTree.getPathForRow(0); jTree.setSelectionPath(path);
treevar.setCellRenderer(getCellRenderer()); treevar.setRootVisible(false); treevar.setShowsRootHandles(true); treevar.setTransferHandler(new JMeterTreeTransferHandler()); addQuickComponentHotkeys(treevar);
@Override public void mousePressed(MouseEvent e) { // Get the Main Frame. MainFrame mainFrame = GuiPackage.getInstance().getMainFrame(); // Close any Main Menu that is open mainFrame.closeMenu(); int selRow = tree.getRowForLocation(e.getX(), e.getY()); if (tree.getPathForLocation(e.getX(), e.getY()) != null) { log.debug("mouse pressed, updating currentPath"); currentPath = tree.getPathForLocation(e.getX(), e.getY()); } if (selRow != -1 && isRightClick(e)) { if (tree.getSelectionCount() < 2) { tree.setSelectionPath(currentPath); } log.debug("About to display pop-up"); displayPopUp(e); } }
@Override public void doAction(ActionEvent e) { GuiPackage guiPackage = GuiPackage.getInstance(); final String actionCommand = e.getActionCommand(); if (actionCommand.equals(ActionNames.CLEAR)) { JMeterGUIComponent guiComp = guiPackage.getCurrentGui(); if (guiComp instanceof Clearable){ ((Clearable) guiComp).clearData(); } } else { guiPackage.getMainFrame().clearData(); for (JMeterTreeNode node : guiPackage.getTreeModel().getNodesOfType(Clearable.class)) { JMeterGUIComponent guiComp = guiPackage.getGui(node.getTestElement()); if (guiComp instanceof Clearable){ Clearable item = (Clearable) guiComp; try { item.clearData(); } catch (Exception ex) { log.error("Can't clear: {} {}", node, guiComp, ex); } } } } } }
private static void refreshUI() { long ts = System.currentTimeMillis(); if (ts - lastUpdate < 1000) { return; // throttle down updates } lastUpdate = ts; GuiPackage gp = GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } }
/** * @param selected JMeterTreeNode tree node to expand */ protected void expandToSelectNode(JMeterTreeNode selected) { GuiPackage guiInstance = GuiPackage.getInstance(); JTree jTree = guiInstance.getMainFrame().getTree(); jTree.expandPath(new TreePath(selected.getPath())); selected.setMarkedBySearch(true); }
private static void refreshUI() { long ts = System.currentTimeMillis(); if (ts - lastUpdate < 1000) { return; // throttle down updates } lastUpdate = ts; GuiPackage gp = GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } }
/** * Save tree expanded and selected state * * @param guiPackage {@link GuiPackage} to be used * @return {@link TreeState} */ public static TreeState from(GuiPackage guiPackage) { if (guiPackage == null) { return NOTHING; } MainFrame mainframe = guiPackage.getMainFrame(); if (mainframe != null) { final JTree tree = mainframe.getTree(); int savedSelected = tree.getMinSelectionRow(); ArrayList<Integer> savedExpanded = new ArrayList<>(); for (int rowN = 0; rowN < tree.getRowCount(); rowN++) { if (tree.isExpanded(rowN)) { savedExpanded.add(rowN); } } return new TreeStateImpl(savedSelected, savedExpanded); } return NOTHING; }
@Override public void threadFinished() { JMeterContextService.decrNumberOfThreads(); GuiPackage gp =GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } for (RemoteThreadsLifeCycleListener listener : listeners) { listener.threadNumberDecreased(JMeterContextService.getNumberOfThreads()); } } }
private JMeterTreeNode doNavigateToSearchResult(boolean isNext) { boolean doSearchAgain = lastSearchConditions == null || !Triple.of(searchTF.getText(), isCaseSensitiveCB.isSelected(), isRegexpCB.isSelected()) .equals(lastSearchConditions); if(doSearchAgain) { String wordToSearch = searchTF.getText(); if (StringUtils.isEmpty(wordToSearch)) { this.lastSearchConditions = null; return null; } else { this.lastSearchConditions = Triple.of(wordToSearch, isCaseSensitiveCB.isSelected(), isRegexpCB.isSelected()); } Searcher searcher = createSearcher(wordToSearch); searchInTree(GuiPackage.getInstance(), searcher, wordToSearch); } if(!lastSearchResult.isEmpty()) { if(isNext) { currentSearchIndex = ++currentSearchIndex % lastSearchResult.size(); } else { currentSearchIndex = currentSearchIndex > 0 ? --currentSearchIndex : lastSearchResult.size()-1; } JMeterTreeNode selectedNode = lastSearchResult.get(currentSearchIndex); TreePath selection = new TreePath(selectedNode.getPath()); GuiPackage.getInstance().getMainFrame().getTree().setSelectionPath(selection); GuiPackage.getInstance().getMainFrame().getTree().scrollPathToVisible(selection); return selectedNode; } return null; }
/** * * @see RemoteThreadsListener#threadStarted() */ @Override public void threadStarted() { JMeterContextService.incrNumberOfThreads(); GuiPackage gp =GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } for (RemoteThreadsLifeCycleListener listener : listeners) { listener.threadNumberIncreased(JMeterContextService.getNumberOfThreads()); } }
/** * This method performs the actual command processing. * * @param e * the generic UI action event */ @Override public void doAction(ActionEvent e) { boolean collapse=ActionNames.COLLAPSE_ALL.equals(e.getActionCommand()); GuiPackage guiInstance = GuiPackage.getInstance(); JTree jTree = guiInstance.getMainFrame().getTree(); if (collapse) { for (int i = jTree.getRowCount() - 1; i >= 0; i--) { jTree.collapseRow(i); } return; } for(int i = 0; i < jTree.getRowCount(); i++) { jTree.expandRow(i); } } }
private void threadStarted() { JMeterContextService.incrNumberOfThreads(); threadGroup.incrNumberOfThreads(); GuiPackage gp =GuiPackage.getInstance(); if (gp != null) {// check there is a GUI gp.getMainFrame().updateCounts(); } ThreadListenerTraverser startup = new ThreadListenerTraverser(true); testTree.traverse(startup); // call ThreadListener.threadStarted() }
/** * @param expand true if we want to expand * @param nodes Set of {@link JMeterTreeNode} to mark */ private void markConcernedNodes(boolean expand, Set<JMeterTreeNode> nodes) { GuiPackage guiInstance = GuiPackage.getInstance(); JTree jTree = guiInstance.getMainFrame().getTree(); for (JMeterTreeNode jMeterTreeNode : nodes) { jMeterTreeNode.setMarkedBySearch(true); if (expand) { if(jMeterTreeNode.isLeaf()) { jTree.expandPath(new TreePath(((JMeterTreeNode)jMeterTreeNode.getParent()).getPath())); } else { jTree.expandPath(new TreePath(jMeterTreeNode.getPath())); } } } }
private void threadFinished(LoopIterationListener iterationListener) { ThreadListenerTraverser shut = new ThreadListenerTraverser(false); testTree.traverse(shut); // call ThreadListener.threadFinished() JMeterContextService.decrNumberOfThreads(); threadGroup.decrNumberOfThreads(); GuiPackage gp = GuiPackage.getInstance(); if (gp != null){// check there is a GUI gp.getMainFrame().updateCounts(); } if (iterationListener != null) { // probably not possible, but check anyway threadGroupLoopController.removeIterationListener(iterationListener); } }
/** * This method performs the actual command processing. * * @param e the generic UI action event */ @Override public void doAction(ActionEvent e) { JMeterTreeListener treeListener = GuiPackage.getInstance().getTreeListener(); JTree jTree = GuiPackage.getInstance().getMainFrame().getTree(); JMeterTreeNode[] selectedNodes = treeListener.getSelectedNodes(); for (JMeterTreeNode currentNode : selectedNodes) { if (!currentNode.isLeaf()) { TreeNode[] nodes = GuiPackage.getInstance().getTreeModel().getPathToRoot(currentNode); TreePath path = new TreePath(nodes); boolean collapse = ActionNames.COLLAPSE.equals(e.getActionCommand()); expandCollapseNode(jTree, path, collapse); } } }