diff --git a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java index b60bf4a9b..a6a4741d7 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java @@ -85,6 +85,8 @@ public class DebugPanel extends JPanel { private boolean loading = false; + public ABCPanel.VariablesTableModel localsTable; + public static enum SelectedTab { LOG, STACK, SCOPECHAIN, LOCALS, REGISTERS, CALLSTACK, CONSTANTPOOL @@ -346,6 +348,7 @@ public class DebugPanel extends JPanel { synchronized (DebugPanel.this) { SelectedTab oldSel = selectedTab; + localsTable = null; InFrame f = Main.getDebugHandler().getFrame(); if (f != null) { @@ -362,7 +365,8 @@ public class DebugPanel extends JPanel { localIds.addAll(f.argumentFrameIds); localIds.addAll(f.frameIds); - safeSetTreeModel(debugLocalsTable, new ABCPanel.VariablesTableModel(debugLocalsTable, locals, localIds)); + localsTable = new ABCPanel.VariablesTableModel(debugLocalsTable, locals, localIds); + safeSetTreeModel(debugLocalsTable, localsTable); safeSetTreeModel(debugScopeTable, new ABCPanel.VariablesTableModel(debugScopeTable, f.scopeChain, f.scopeChainFrameIds)); /*TableModelListener refreshListener = new TableModelListener() { diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 9cab00508..e560bc18e 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -823,7 +823,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se return abcPanel; } - private ActionPanel getActionPanel() { + public ActionPanel getActionPanel() { if (actionPanel == null) { actionPanel = new ActionPanel(MainPanel.this); displayPanel.add(actionPanel, CARDACTIONSCRIPTPANEL); diff --git a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java index fe96e26d4..941868d3a 100644 --- a/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/abc/ABCPanel.java @@ -119,6 +119,7 @@ import javax.swing.JTable; import javax.swing.JToggleButton; import javax.swing.SwingConstants; import javax.swing.SwingWorker; +import javax.swing.ToolTipManager; import javax.swing.border.BevelBorder; import javax.swing.event.EventListenerList; import javax.swing.event.TableModelListener; @@ -820,6 +821,31 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener" + text + ""; + } + + private void FindVarAndAppendDataToString(VariableNode node, String lowerVarName, StringBuilder builder) { + if (node.var != null && node.var.name.toLowerCase().contains(lowerVarName)) { + builder.append(node.var.name + ": " + node.var.getValueAsStr() + "
"); + } + + if (node.childs != null) { + for (int i = 0; i < node.childs.size(); i++) { + FindVarAndAppendDataToString(node.childs.get(i), lowerVarName, builder); + } + } + } } public ABCPanel(MainPanel mainPanel) { @@ -847,6 +873,28 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener(new FlowLayout(), this); decompiledScrollPane = new JScrollPane(decompiledTextArea); @@ -1534,4 +1582,8 @@ public class ABCPanel extends JPanel implements ItemListener, SearchListener