public ColorMapVisualization(MRAPanel panel, String defaultEntity, String fieldToPlot) { this.logSource = panel.getSource(); this.curEntity = defaultEntity; setLayout(new MigLayout()); // Parse field to plot String part[] = fieldToPlot.split("\\."); messageName = part[0]; varName = part[1]; // Initialize entityList with the ALL shorthand entityList.add("ALL"); // Misc setups and interface build redrawButton.addActionListener(this); entCombo.setModel(new DefaultComboBoxModel<String>(entityList)); toolbar.add(Box.createHorizontalGlue()); toolbar.add(cmapMinValue); toolbar.add(cmapMaxValue); toolbar.add(cmapCombo); toolbar.add(entCombo); toolbar.add(redrawButton); toolbar.add(savePng); toolbar.add(savePdf); add(toolbar, "w 100%, wrap"); add(container, "w 100%, h 100%"); cmapCombo.setSelectedItem(ColorMapFactory.createJetColorMap()); cmapCombo.setRenderer(new ColorMapListRenderer()); revalidate(); }
@Override public void mouseClicked(MouseEvent e) { TreePath[] path = tree.getSelectionPaths(); if (e.getButton() == MouseEvent.BUTTON1 && e.getClickCount() == 2) { if (path == null) return; if (path.length == 1 && path[0].getPath().length == 2) { final String fileToOpen = path[0].getPath()[1].toString(); IMraLog log = source.getLog(fileToOpen); panel.loadVisualization(new LogTableVisualization(log, panel), true); } } if (e.getButton() == MouseEvent.BUTTON3) { if (path == null) return; if (path.length == 1 && path[0].getPath().length == 2) { final String fileToOpen = path[0].getPath()[1].toString(); JPopupMenu popup = new JPopupMenu(); String text = I18n.textf("Show %log data", fileToOpen); popup .add(text) .addActionListener( new ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { IMraLog log = source.getLog(fileToOpen); panel.loadVisualization(new LogTableVisualization(log, panel), true); } }); popup.show(tree, e.getX(), e.getY()); return; } final Vector<String> fieldsToPlot = new Vector<String>(); int count = 0; for (int i = 0; i < path.length; i++) { if (path[i].getPath().length == 3) { count++; String message = path[i].getPath()[1].toString(); String field = path[i].getPath()[2].toString(); fieldsToPlot.add(message + "." + field); } } if (count == 0) return; JPopupMenu popup = new JPopupMenu(); popup .add(I18n.text("Plot data")) .addActionListener( new ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { panel.loadVisualization( new GenericPlot(fieldsToPlot.toArray(new String[0]), panel), true); } }); popup .add(I18n.text("Timeline Plot")) .addActionListener( new ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { panel.loadVisualization( new ReplayPlot(panel, fieldsToPlot.toArray(new String[0])), true); } }); popup .add(I18n.text("Plot data on new window")) .addActionListener( new ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { LLFChart chart = new GenericPlot(fieldsToPlot.toArray(new String[0]), panel); MRAChartPanel fcp = new MRAChartPanel(chart, source, panel); JDialog dialog = new JDialog(ConfigFetch.getSuperParentAsFrame()); dialog.setTitle("[MRA] " + chart.getName()); dialog.setIconImage(ImageUtils.getScaledImage("images/menus/graph.png", 16, 16)); dialog.add(fcp); dialog.setSize(640, 480); dialog.setResizable(true); dialog.setVisible(true); fcp.regeneratePanel(); } }); if (count == 1) { popup .add(I18n.text("Plot ColorMap")) .addActionListener( new ActionListener() { @Override public void actionPerformed(java.awt.event.ActionEvent e) { NeptusLog.pub().info("<###> " + fieldsToPlot); panel.loadVisualization( new ColorMapVisualization(panel, "ALL", fieldsToPlot.get(0)), true); } }); } popup.show(tree, e.getX(), e.getY()); } }
public LsfTreeMouseAdapter(MRAPanel mraPanel) { panel = mraPanel; tree = panel.getTree(); source = panel.getSource(); }