# HG changeset patch # User Lukas Stadler # Date 1309369980 -7200 # Node ID 28484c5f00d70dbfdbeac8b7f67b41859c863ff1 # Parent 2fb14099d06978173c91ebc714816f2bd9f3db2e# Parent 95e3df7cad3517e999cb5de61a930bc83b12913c merge diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/filters/GraalSlotFilter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/filters/GraalSlotFilter.java Wed Jun 29 19:53:00 2011 +0200 @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ +package com.sun.hotspot.igv.graal.filters; + +import com.sun.hotspot.igv.filter.AbstractFilter; +import com.sun.hotspot.igv.graph.Diagram; +import com.sun.hotspot.igv.graph.Figure; +import com.sun.hotspot.igv.graph.InputSlot; +import com.sun.hotspot.igv.graph.OutputSlot; +import com.sun.hotspot.igv.graph.Slot; +import java.util.ArrayList; +import java.util.List; + +/** + * Filter that hides slots with no connections. + */ +public class GraalSlotFilter extends AbstractFilter { + + public GraalSlotFilter() { + } + + public String getName() { + return "Graal Slot Filter"; + } + + public void apply(Diagram d) { + List
figures = d.getFigures(); + for (Figure f : figures) { + List remove = new ArrayList(); + for (InputSlot is : f.getInputSlots()) { + if (is.getConnections().isEmpty()) { + remove.add(is); + } + } + for (OutputSlot os : f.getOutputSlots()) { + if (os.getConnections().isEmpty()) { + remove.add(os); + } + } + for (Slot s : remove) { + f.removeSlot(s); + } + } + } +} diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/filters/slots.filter --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/filters/slots.filter Wed Jun 29 19:53:00 2011 +0200 @@ -0,0 +1,2 @@ +var f = new com.sun.hotspot.igv.graal.filters.GraalSlotFilter(); +f.apply(graph); diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/layer.xml --- a/src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/layer.xml Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/Graal/src/com/sun/hotspot/igv/graal/layer.xml Wed Jun 29 19:53:00 2011 +0200 @@ -9,5 +9,9 @@ + + + + diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/genfiles.properties --- a/src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/genfiles.properties Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/genfiles.properties Wed Jun 29 19:53:00 2011 +0200 @@ -1,5 +1,5 @@ # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=ac7a776e +nbproject/build-impl.xml.data.CRC32=f0880ef0 nbproject/build-impl.xml.script.CRC32=9388e04e nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.45.1 diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/project.xml --- a/src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/project.xml Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/GraphTextEditor/nbproject/project.xml Wed Jun 29 19:53:00 2011 +0200 @@ -63,6 +63,15 @@ + org.netbeans.modules.diff + + + + 1 + 1.32.1.42.1 + + + org.openide.util diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.form --- a/src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.form Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.form Wed Jun 29 19:53:00 2011 +0200 @@ -1,4 +1,4 @@ - +
diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.java --- a/src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.java Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/GraphTextEditor/src/com/sun/hotspot/igv/graphtexteditor/TextTopComponent.java Wed Jun 29 19:53:00 2011 +0200 @@ -24,24 +24,36 @@ package com.sun.hotspot.igv.graphtexteditor; import com.sun.hotspot.igv.data.ChangedListener; +import com.sun.hotspot.igv.data.Properties; import com.sun.hotspot.igv.texteditor.*; import com.sun.hotspot.igv.data.InputGraph; import com.sun.hotspot.igv.data.Pair; +import com.sun.hotspot.igv.data.Property; import com.sun.hotspot.igv.graph.Diagram; import com.sun.hotspot.igv.graph.services.DiagramProvider; import com.sun.hotspot.igv.graphtotext.services.GraphToTextConverter; import com.sun.hotspot.igv.selectioncoordinator.SelectionCoordinator; +import com.sun.hotspot.igv.structuredtext.MultiElement; import com.sun.hotspot.igv.structuredtext.StructuredText; import com.sun.hotspot.igv.util.LookupHistory; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.io.IOException; import java.io.Serializable; +import java.io.StringReader; import java.util.Collection; import java.util.logging.Logger; +import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSplitPane; +import javax.swing.JToolBar; +import org.netbeans.api.diff.Diff; +import org.netbeans.api.diff.DiffView; +import org.netbeans.api.diff.StreamSource; import org.openide.util.Lookup; import org.openide.util.LookupEvent; import org.openide.util.LookupListener; @@ -52,6 +64,7 @@ /** * @author Thomas Wuerthinger + * @author Peter Hofer */ final class TextTopComponent extends TopComponent implements LookupListener { @@ -65,12 +78,17 @@ private JSplitPane splitPane; private CardLayout cardLayout; private JPanel cardLayoutPanel; + private JComboBox sourceCombo; private boolean firstTimeSlider = true; + private JPanel textDiffPanel; + private static final String TWO_GRAPHS_TEXT_DIFF = "twoGraphsTextDiff"; private static final String TWO_GRAPHS = "twoGraphs"; private static final String ONE_GRAPH = "oneGraph"; private static final String NO_GRAPH = "noGraph"; + private static final String GRAPH_TEXT_REPRESENTATION = "< Graph Text Representation >"; + private DiagramProvider currentDiagramProvider; private TextTopComponent() { @@ -78,16 +96,28 @@ setName(NbBundle.getMessage(TextTopComponent.class, "CTL_TextTopComponent")); setToolTipText(NbBundle.getMessage(TextTopComponent.class, "HINT_TextTopComponent")); + setLayout(new BorderLayout()); + + // Selector for displayed data + JToolBar sourceSelectBar = new JToolBar(); + sourceSelectBar.setLayout(new BorderLayout()); + sourceSelectBar.setFloatable(false); + sourceSelectBar.add(new JLabel("Show: "), BorderLayout.WEST); + sourceCombo = new JComboBox(); + sourceCombo.addItem(GRAPH_TEXT_REPRESENTATION); + sourceCombo.addItemListener(sourceSelectionListener); + sourceSelectBar.add(sourceCombo, BorderLayout.CENTER); + add(sourceSelectBar, BorderLayout.NORTH); + // Card layout for three different views. cardLayout = new CardLayout(); cardLayoutPanel = new JPanel(cardLayout); - this.setLayout(new BorderLayout()); - this.add(cardLayoutPanel, BorderLayout.CENTER); + add(cardLayoutPanel, BorderLayout.CENTER); // No graph selected. - JLabel noGraphLabel = new JLabel("No graph opened"); - noGraphLabel.setBackground(Color.red); - //noGraphPanel.add(noGraphLabel); + JLabel noGraphLabel = new JLabel("No graph open.", JLabel.CENTER); + noGraphLabel.setOpaque(true); + noGraphLabel.setBackground(Color.WHITE); cardLayoutPanel.add(noGraphLabel, NO_GRAPH); // Single graph selected. @@ -101,6 +131,11 @@ rightEditor = new TextEditor(); splitPane.setRightComponent(rightEditor.getComponent()); cardLayoutPanel.add(splitPane, TWO_GRAPHS); + + // Text difference => NetBeans diff view + // Diff component is created and added on demand + textDiffPanel = new JPanel(new BorderLayout()); + cardLayoutPanel.add(textDiffPanel, TWO_GRAPHS_TEXT_DIFF); } @@ -129,15 +164,100 @@ return text; } - private void updateDiagram(Diagram diagram) { + private StructuredText createStructuredPlainText(String name, String text) { + StructuredText structured = new StructuredText(name); + MultiElement multi = new MultiElement(); + multi.print(text); + structured.addChild(multi); + return structured; + } + private ItemListener sourceSelectionListener = new ItemListener() { + public void itemStateChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + if (e.getItem() == GRAPH_TEXT_REPRESENTATION) { + displayDiagram(lastDiagram); + } else { + displayGroupProperty(lastDiagram, (String) e.getItem()); + } + } + } + }; + + private void setDiagram(Diagram diagram) { if (diagram == lastDiagram) { // No change => return. return; } - lastDiagram = diagram; + // Rebuild combobox choices + Object selection = sourceCombo.getSelectedItem(); + sourceCombo.removeAllItems(); + sourceCombo.addItem(GRAPH_TEXT_REPRESENTATION); + if (diagram != null) { + if (diagram.getGraph().getSourceGraphs() != null) { + // Diff graph with source graphs with possibly different groups: + // show properties from both graphs + Pair sourceGraphs = diagram.getGraph().getSourceGraphs(); + Properties props = new Properties(sourceGraphs.getLeft().getGroup().getProperties()); + if (sourceGraphs.getLeft().getGroup() != sourceGraphs.getRight().getGroup()) { + props.add(sourceGraphs.getRight().getGroup().getProperties()); + } + for (Property p : props) { + sourceCombo.addItem(p.getName()); + } + } else { + // Single graph + for (Property p : diagram.getGraph().getGroup().getProperties()) { + sourceCombo.addItem(p.getName()); + } + } + } + // NOTE: The following triggers a display update. + sourceCombo.setSelectedItem(selection); + if (sourceCombo.getSelectedItem() == null) { + // previously selected property doesn't exist in new graph's group: + // default to show graph representation + sourceCombo.setSelectedItem(GRAPH_TEXT_REPRESENTATION); + } + } + + private void displayGroupProperty(Diagram diagram, String property) { + if (diagram == null) { + showCard(NO_GRAPH); + } else if (diagram.getGraph().getSourceGraphs() != null) { + showCard(TWO_GRAPHS_TEXT_DIFF); + textDiffPanel.removeAll(); + try { + Pair sourceGraphs = diagram.getGraph().getSourceGraphs(); + + String ltext = sourceGraphs.getLeft().getGroup().getProperties().get(property); + if (ltext == null) { + ltext = ""; + } + StreamSource leftsrc = StreamSource.createSource("left", sourceGraphs.getLeft().getName(), "text/plain", new StringReader(ltext)); + + String rtext = sourceGraphs.getRight().getGroup().getProperties().get(property); + if (rtext == null) { + rtext = ""; + } + StreamSource rightsrc = StreamSource.createSource("right", sourceGraphs.getRight().getName(), "text/plain", new StringReader(rtext)); + + DiffView view = Diff.getDefault().createDiff(leftsrc, rightsrc); + textDiffPanel.add(view.getComponent(), BorderLayout.CENTER); + } catch (IOException e) { + throw new RuntimeException(e); + } + textDiffPanel.revalidate(); // required when card was visible before + } else { + showCard(ONE_GRAPH); + String text = diagram.getGraph().getGroup().getProperties().get(property); + singleEditor.setStructuredText(createStructuredPlainText(diagram.getGraph().getName(), text)); + } + } + + private void displayDiagram(Diagram diagram) { if (diagram == null) { showCard(NO_GRAPH); } else if (diagram.getGraph().getSourceGraphs() != null) { @@ -161,11 +281,11 @@ SelectionCoordinator.getInstance().getHighlightedChangedEvent().fire(); } } - + private ChangedListener diagramChangedListener = new ChangedListener() { public void changed(DiagramProvider source) { - updateDiagram(source.getDiagram()); + setDiagram(source.getDiagram()); } }; @@ -184,9 +304,9 @@ if (currentDiagramProvider != null) { currentDiagramProvider.getChangedEvent().addListener(diagramChangedListener); - updateDiagram(currentDiagramProvider.getDiagram()); + setDiagram(currentDiagramProvider.getDiagram()); } else { - updateDiagram(null); + setDiagram(null); } } diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java --- a/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/HierarchicalLayout/src/com/sun/hotspot/igv/hierarchicallayout/HierarchicalLayoutManager.java Wed Jun 29 19:53:00 2011 +0200 @@ -530,9 +530,11 @@ } }; private static final Comparator nodeProcessingDownComparator = new Comparator() { - public int compare(LayoutNode n1, LayoutNode n2) { if (n1.vertex == null) { + if (n2.vertex == null) { + return 0; + } return -1; } if (n2.vertex == null) { @@ -545,6 +547,9 @@ public int compare(LayoutNode n1, LayoutNode n2) { if (n1.vertex == null) { + if (n2.vertex == null) { + return 0; + } return -1; } if (n2.vertex == null) { diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/Bundle.properties --- a/src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/Bundle.properties Wed Jun 29 19:52:51 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -OpenIDE-Module-Name=Text Editor diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/layer.xml --- a/src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/layer.xml Wed Jun 29 19:52:51 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/preferences.xml --- a/src/share/tools/IdealGraphVisualizer/Text Editor/build/classes/at/ssw/visualizer/texteditor/preferences.xml Wed Jun 29 19:52:51 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - - diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Text Editor/build/depcache/dependencies.txt --- a/src/share/tools/IdealGraphVisualizer/Text Editor/build/depcache/dependencies.txt Wed Jun 29 19:52:51 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ -||:at.ssw.visualizer.texteditor.Editor -at.ssw.visualizer.core.selection.SelectionManager -at.ssw.visualizer.core.selection.SelectionProvider -org.openide.text.CloneableEditor -javax.swing.JEditorPane -at.ssw.visualizer.texteditor.Editor$2 -at.ssw.visualizer.texteditor.Editor$1 -at.ssw.visualizer.core.selection.Selection -at.ssw.visualizer.texteditor.Editor -at.ssw.visualizer.texteditor.EditorSupport -||:at.ssw.visualizer.texteditor.EditorSupport -java.lang.StringBuilder -java.lang.UnsupportedOperationException -org.openide.windows.CloneableOpenSupport$Env -org.openide.text.CloneableEditorSupport -at.ssw.visualizer.texteditor.EditorSupport$Env -javax.swing.text.StyledDocument -org.openide.windows.CloneableOpenSupport -at.ssw.visualizer.texteditor.model.Text -org.openide.cookies.EditorCookie$Observable -com.sun.hotspot.igv.data.InputGraph -org.openide.cookies.EditCookie -org.openide.cookies.EditorCookie -org.openide.text.CloneableEditorSupport$Env -at.ssw.visualizer.texteditor.EditorSupport -com.sun.hotspot.igv.data.Group -||:at.ssw.visualizer.texteditor.fold.FoldManager$SideBarFactory -java.lang.Object -at.ssw.visualizer.texteditor.fold.FoldManager$SideBarFactory -org.netbeans.editor.SideBarFactory -at.ssw.visualizer.texteditor.fold.FoldManager -org.netbeans.editor.CodeFoldingSideBar -||:at.ssw.visualizer.texteditor.model.FoldingRegion -at.ssw.visualizer.texteditor.model.FoldingRegion -at.ssw.visualizer.texteditor.model.TextRegion -||:at.ssw.visualizer.texteditor.tooltip.StyledToolTip -java.awt.Color -javax.swing.border.LineBorder -java.awt.BorderLayout -java.lang.StringBuilder -java.awt.Dimension -at.ssw.visualizer.texteditor.tooltip.StyledToolTip -javax.swing.JEditorPane -javax.swing.JPanel -||:at.ssw.visualizer.texteditor.model.TextRegion -java.lang.Object -at.ssw.visualizer.texteditor.model.TextRegion -||:at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent$1 -java.lang.Object -at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent -at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent$1 -javax.swing.event.ChangeListener -||:at.ssw.visualizer.texteditor.model.TextBuilder -java.lang.StringBuilder -com.sun.hotspot.igv.data.InputBlock -java.util.HashSet -java.util.Set -java.util.List -java.util.ArrayList -at.ssw.visualizer.texteditor.model.Text -at.ssw.visualizer.texteditor.model.TextBuilder -java.util.Iterator -java.util.HashMap -java.util.Map -[Lat.ssw.visualizer.texteditor.model.FoldingRegion; -at.ssw.visualizer.texteditor.model.FoldingRegion -java.lang.Object -java.lang.String -||:at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent -at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent -javax.swing.JScrollPane -at.ssw.visualizer.core.selection.SelectionManager -javax.swing.JEditorPane -javax.swing.BorderFactory -java.awt.BorderLayout -com.sun.hotspot.igv.data.InputGraph -[Lcom.sun.hotspot.igv.data.InputBlock; -at.ssw.visualizer.core.selection.Selection -org.openide.windows.TopComponent -at.ssw.visualizer.texteditor.view.AbstractTextViewTopComponent$1 -java.util.Arrays -||:at.ssw.visualizer.texteditor.tooltip.ToolTipAction -at.ssw.visualizer.texteditor.model.Scanner -org.netbeans.editor.PopupManager -org.netbeans.editor.Utilities -org.netbeans.editor.TokenID -org.netbeans.editor.PopupManager$HorizontalBounds -org.netbeans.modules.editor.NbEditorKit$NbBuildToolTipAction -org.netbeans.editor.BaseDocument -org.netbeans.editor.EditorUI -at.ssw.visualizer.texteditor.model.Text -javax.swing.plaf.TextUI -java.awt.event.MouseEvent -org.netbeans.modules.editor.NbEditorKit -org.netbeans.editor.ext.ToolTipSupport -at.ssw.visualizer.texteditor.tooltip.ToolTipAction -javax.swing.text.JTextComponent -at.ssw.visualizer.texteditor.tooltip.StyledToolTip -org.netbeans.editor.PopupManager$Placement -||:at.ssw.visualizer.texteditor.fold.FoldManager$FoldManagerFactory -java.lang.Object -org.netbeans.spi.editor.fold.FoldManagerFactory -at.ssw.visualizer.texteditor.fold.FoldManager$FoldManagerFactory -at.ssw.visualizer.texteditor.fold.FoldManager -||:at.ssw.visualizer.core.selection.Selection -[Ljavax.swing.event.ChangeListener; -at.ssw.visualizer.core.selection.Selection$1 -javax.swing.event.ChangeListener -java.util.List -java.util.ArrayList -at.ssw.visualizer.core.selection.SelectionManager -java.lang.Class -java.util.HashMap -java.util.Map -javax.swing.event.ChangeEvent -at.ssw.visualizer.core.selection.Selection -java.lang.Object -javax.swing.Timer -||:at.ssw.visualizer.texteditor.model.BlockRegion -at.ssw.visualizer.texteditor.model.BlockRegion -at.ssw.visualizer.texteditor.model.TextRegion -||:at.ssw.visualizer.texteditor.highlight.HighlightsContainer$HighlightsLayerFactory -at.ssw.visualizer.texteditor.highlight.HighlightsContainer -at.ssw.visualizer.texteditor.model.Text -org.netbeans.spi.editor.highlighting.HighlightsLayerFactory -org.netbeans.spi.editor.highlighting.HighlightsLayer -java.lang.Object -javax.swing.text.Document -org.netbeans.spi.editor.highlighting.ZOrder -org.netbeans.spi.editor.highlighting.HighlightsLayerFactory$Context -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$HighlightsLayerFactory -||:at.ssw.visualizer.texteditor.highlight.HighlightsContainer -javax.swing.text.JTextComponent -org.netbeans.spi.editor.highlighting.support.AbstractHighlightsContainer -org.netbeans.api.editor.mimelookup.MimeLookup -org.openide.util.WeakListeners -org.netbeans.api.editor.mimelookup.MimePath -javax.swing.text.SimpleAttributeSet -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$HighlightsLayerFactory -org.openide.util.Lookup -javax.swing.event.CaretListener -at.ssw.visualizer.texteditor.highlight.HighlightsContainer -at.ssw.visualizer.texteditor.model.Text -at.ssw.visualizer.texteditor.model.Scanner -org.netbeans.api.editor.settings.FontColorSettings -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$1 -javax.swing.text.Caret -org.netbeans.editor.TokenID -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$RegionSequence -javax.swing.text.Document -||:at.ssw.visualizer.core.selection.Selection$1 -java.lang.Object -at.ssw.visualizer.core.selection.Selection -at.ssw.visualizer.core.selection.Selection$1 -java.awt.event.ActionListener -||:at.ssw.visualizer.texteditor.model.HoverParser -java.lang.Object -java.util.Iterator -java.lang.String -java.lang.StringBuilder -java.lang.UnsupportedOperationException -at.ssw.visualizer.texteditor.model.HoverParser -||:at.ssw.visualizer.texteditor.Editor$2 -at.ssw.visualizer.texteditor.Editor -java.util.ArrayList -javax.swing.event.CaretEvent -java.util.List -[Lcom.sun.hotspot.igv.data.InputBlock; -com.sun.hotspot.igv.data.InputBlock -java.util.Map -java.util.Collection -at.ssw.visualizer.core.selection.Selection -at.ssw.visualizer.texteditor.model.BlockRegion -java.util.Iterator -javax.swing.event.CaretListener -at.ssw.visualizer.texteditor.Editor$2 -at.ssw.visualizer.texteditor.model.Text -java.lang.Math -java.lang.Object -javax.swing.JEditorPane -javax.swing.text.Document -||:at.ssw.visualizer.texteditor.EditorSupport$Env -java.lang.UnsupportedOperationException -org.openide.text.CloneableEditorSupport -at.ssw.visualizer.texteditor.EditorSupport$Env -java.beans.VetoableChangeSupport -at.ssw.visualizer.texteditor.model.Text -java.io.ByteArrayInputStream -java.io.IOException -java.lang.Object -at.ssw.visualizer.texteditor.EditorSupport -org.openide.text.CloneableEditorSupport$Env -java.beans.PropertyChangeSupport -java.lang.String -||:at.ssw.visualizer.texteditor.Editor$1 -java.lang.Math -at.ssw.visualizer.texteditor.model.BlockRegion -javax.swing.event.ChangeListener -at.ssw.visualizer.texteditor.model.Text -javax.swing.JEditorPane -java.util.Map -[Lcom.sun.hotspot.igv.data.InputBlock; -at.ssw.visualizer.texteditor.Editor$1 -at.ssw.visualizer.core.selection.Selection -java.lang.Object -javax.swing.text.Document -at.ssw.visualizer.texteditor.Editor -java.util.Arrays -||:at.ssw.visualizer.texteditor.model.Text -java.lang.String -[Lat.ssw.visualizer.texteditor.model.TextRegion; -java.lang.Object -java.util.Iterator -java.util.Map -java.util.Set -at.ssw.visualizer.texteditor.model.Text -at.ssw.visualizer.texteditor.model.TextRegion -||:at.ssw.visualizer.core.selection.SelectionProvider -java.lang.Object -at.ssw.visualizer.core.selection.SelectionProvider -||:at.ssw.visualizer.texteditor.EditorKit -javax.swing.Action -at.ssw.visualizer.texteditor.tooltip.ToolTipAction -at.ssw.visualizer.texteditor.EditorKit -org.netbeans.modules.editor.NbEditorKit -javax.swing.text.TextAction -||:at.ssw.visualizer.core.selection.SelectionManager -at.ssw.visualizer.core.selection.Selection -java.lang.Object -at.ssw.visualizer.core.selection.SelectionManager -||:at.ssw.visualizer.texteditor.model.Scanner -at.ssw.visualizer.texteditor.model.Scanner -javax.swing.text.BadLocationException -java.lang.Math -java.util.Set -java.util.BitSet -java.lang.Class -java.util.logging.Level -java.util.logging.Logger -javax.swing.text.Document -java.lang.String -org.netbeans.editor.Syntax -||:at.ssw.visualizer.texteditor.fold.FoldManager -at.ssw.visualizer.texteditor.fold.FoldManager$FoldManagerFactory -javax.swing.text.BadLocationException -at.ssw.visualizer.texteditor.fold.FoldManager -org.netbeans.api.editor.fold.FoldType -at.ssw.visualizer.texteditor.fold.FoldManager$SideBarFactory -org.netbeans.spi.editor.fold.FoldManager -at.ssw.visualizer.texteditor.model.Text -java.lang.Class -java.util.logging.Level -java.util.logging.Logger -at.ssw.visualizer.texteditor.model.FoldingRegion -java.lang.Object -org.netbeans.api.editor.fold.FoldHierarchy -javax.swing.text.Document -javax.swing.text.JTextComponent -org.netbeans.spi.editor.fold.FoldOperation -||:at.ssw.visualizer.texteditor.highlight.HighlightsContainer$1 -java.lang.Object -javax.swing.event.CaretListener -at.ssw.visualizer.texteditor.highlight.HighlightsContainer -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$1 -javax.swing.text.Document -||:at.ssw.visualizer.texteditor.hyperlink.HyperlinkProvider -at.ssw.visualizer.texteditor.model.Scanner -org.netbeans.editor.Utilities -at.ssw.visualizer.texteditor.hyperlink.HyperlinkProvider -org.netbeans.editor.TokenID -org.netbeans.lib.editor.hyperlink.spi.HyperlinkProvider -at.ssw.visualizer.texteditor.model.Text -java.lang.Object -javax.swing.text.Document -at.ssw.visualizer.texteditor.model.TextRegion -javax.swing.text.JTextComponent -||:at.ssw.visualizer.texteditor.highlight.HighlightsContainer$RegionSequence -java.lang.Object -org.netbeans.spi.editor.highlighting.HighlightsSequence -at.ssw.visualizer.texteditor.highlight.HighlightsContainer -at.ssw.visualizer.texteditor.highlight.HighlightsContainer$RegionSequence -at.ssw.visualizer.texteditor.model.TextRegion diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/Text Editor/build/no-license.txt --- a/src/share/tools/IdealGraphVisualizer/Text Editor/build/no-license.txt Wed Jun 29 19:52:51 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -[NO LICENSE SPECIFIED] \ No newline at end of file diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandPredecessorsAction.java --- a/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandPredecessorsAction.java Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandPredecessorsAction.java Wed Jun 29 19:53:00 2011 +0200 @@ -41,7 +41,7 @@ } public String getName() { - return "Expand Predecessors"; + return "Expand Above"; } @Override diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandSuccessorsAction.java --- a/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandSuccessorsAction.java Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/actions/ExpandSuccessorsAction.java Wed Jun 29 19:53:00 2011 +0200 @@ -41,7 +41,7 @@ } public String getName() { - return "Expand Successors"; + return "Expand Below"; } @Override diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/FigureWidget.java --- a/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/FigureWidget.java Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/View/src/com/sun/hotspot/igv/view/widgets/FigureWidget.java Wed Jun 29 19:53:00 2011 +0200 @@ -271,10 +271,10 @@ public JPopupMenu getPopupMenu(Widget widget, Point point) { JPopupMenu m = diagramScene.createPopupMenu(); - JMenu predecessors = new JMenu("Predecessors"); + JMenu predecessors = new JMenu("Nodes Above"); addFigureToSubMenu(predecessors, getFigure(), false, DEPTH); - JMenu successors = new JMenu("Successors"); + JMenu successors = new JMenu("Nodes Below"); addFigureToSubMenu(successors, getFigure(), true, DEPTH); m.addSeparator(); @@ -308,14 +308,13 @@ } public void addFigureToMenu(JMenu m, final Figure f, boolean successor, int depth) { - Action a = diagramScene.createGotoAction(f); m.add(a); if (depth > 0) { - String name = "Predecessors"; + String name = "Nodes Above"; if (successor) { - name = "Successors"; + name = "Nodes Below"; } JMenu subMenu = new JMenu(name); diff -r 2fb14099d069 -r 28484c5f00d7 src/share/tools/IdealGraphVisualizer/nbproject/platform.properties --- a/src/share/tools/IdealGraphVisualizer/nbproject/platform.properties Wed Jun 29 19:52:51 2011 +0200 +++ b/src/share/tools/IdealGraphVisualizer/nbproject/platform.properties Wed Jun 29 19:53:00 2011 +0200 @@ -56,21 +56,16 @@ org.netbeans.modules.dbapi,\ org.netbeans.modules.defaults,\ org.netbeans.modules.derby,\ - org.netbeans.modules.diff,\ org.netbeans.modules.dlight.nativeexecution,\ org.netbeans.modules.dlight.terminal,\ org.netbeans.modules.editor.bookmarks,\ org.netbeans.modules.editor.bracesmatching,\ org.netbeans.modules.editor.codetemplates,\ org.netbeans.modules.editor.completion,\ - org.netbeans.modules.editor.errorstripe,\ - org.netbeans.modules.editor.errorstripe.api,\ org.netbeans.modules.editor.guards,\ org.netbeans.modules.editor.indent.project,\ org.netbeans.modules.editor.kit,\ org.netbeans.modules.editor.macros,\ - org.netbeans.modules.editor.plain,\ - org.netbeans.modules.editor.plain.lib,\ org.netbeans.modules.editor.structure,\ org.netbeans.modules.extbrowser,\ org.netbeans.modules.extexecution,\ @@ -105,13 +100,11 @@ org.netbeans.modules.lexer.nbbridge,\ org.netbeans.modules.localhistory,\ org.netbeans.modules.mercurial,\ - org.netbeans.modules.options.editor,\ org.netbeans.modules.parsing.api,\ org.netbeans.modules.parsing.lucene,\ org.netbeans.modules.print.editor,\ org.netbeans.modules.project.ant,\ org.netbeans.modules.project.libraries,\ - org.netbeans.modules.projectapi,\ org.netbeans.modules.projectui,\ org.netbeans.modules.projectui.buildmenu,\ org.netbeans.modules.projectuiapi,\