diff --git a/lib/treetable.jar b/lib/treetable.jar index 610bf18d4e..9e96de9996 100644 Binary files a/lib/treetable.jar and b/lib/treetable.jar differ diff --git a/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java b/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java index 2da462026e..9237c78808 100644 --- a/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java +++ b/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java @@ -9,6 +9,7 @@ public class MyTreeTable extends JTable { private MyTreeTableCellRenderer tree; private MyTreeTableModel treeTableModel; + private boolean showRoot; public MyTreeTableCellRenderer getTree() { return tree; @@ -22,6 +23,8 @@ public void setTreeModel(MyTreeTableModel treeTableModel) { // JTree erstellen. this.treeTableModel = treeTableModel; tree = new MyTreeTableCellRenderer(this, treeTableModel); + tree.setRootVisible(showRoot); + tree.setShowsRootHandles(true); // Modell setzen. super.setModel(new MyTreeTableModelAdapter(treeTableModel, tree)); @@ -43,8 +46,9 @@ public void setTreeModel(MyTreeTableModel treeTableModel) { setIntercellSpacing(new Dimension(0, 0)); } - public MyTreeTable(MyTreeTableModel treeTableModel) { + public MyTreeTable(MyTreeTableModel treeTableModel, boolean showRoot) { super(); + this.showRoot = showRoot; setUI(new BasicTableUI()); setTreeModel(treeTableModel); } diff --git a/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java b/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java index fa9947af2c..e0bfd0e95f 100644 --- a/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java +++ b/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java @@ -21,7 +21,7 @@ public TreeTableMain() { setLayout(new GridLayout(0, 1)); MyAbstractTreeTableModel treeTableModel = new MyDataModel(createDataStructure()); - MyTreeTable myTreeTable = new MyTreeTable(treeTableModel); + MyTreeTable myTreeTable = new MyTreeTable(treeTableModel, false); Container cPane = getContentPane(); @@ -33,19 +33,19 @@ public TreeTableMain() { } private static MyDataNode createDataStructure() { - List children1 = new ArrayList(); + List children1 = new ArrayList<>(); children1.add(new MyDataNode("N12", "C12", new Date(), Integer.valueOf(50), null)); children1.add(new MyDataNode("N13", "C13", new Date(), Integer.valueOf(60), null)); children1.add(new MyDataNode("N14", "C14", new Date(), Integer.valueOf(70), null)); children1.add(new MyDataNode("N15", "C15", new Date(), Integer.valueOf(80), null)); - List children2 = new ArrayList(); + List children2 = new ArrayList<>(); children2.add(new MyDataNode("N12", "C12", new Date(), Integer.valueOf(10), null)); children2.add(new MyDataNode("N13", "C13", new Date(), Integer.valueOf(20), children1)); children2.add(new MyDataNode("N14", "C14", new Date(), Integer.valueOf(30), null)); children2.add(new MyDataNode("N15", "C15", new Date(), Integer.valueOf(40), null)); - List rootNodes = new ArrayList(); + List rootNodes = new ArrayList<>(); rootNodes.add(new MyDataNode("N1", "C1", new Date(), Integer.valueOf(10), children2)); rootNodes.add(new MyDataNode("N2", "C2", new Date(), Integer.valueOf(10), children1)); rootNodes.add(new MyDataNode("N3", "C3", new Date(), Integer.valueOf(10), children2)); diff --git a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java index f90e6cd2f5..b23c9ac943 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java @@ -127,8 +127,8 @@ private void safeSetTreeModel(MyTreeTable tt, MyTreeTableModel tmodel) { public DebugPanel() { super(new BorderLayout()); - debugRegistersTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugRegistersTable, new ArrayList<>(), new ArrayList<>())); - debugLocalsTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugLocalsTable, new ArrayList<>(), new ArrayList<>())); + debugRegistersTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugRegistersTable, new ArrayList<>(), new ArrayList<>()), false); + debugLocalsTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugLocalsTable, new ArrayList<>(), new ArrayList<>()), false); //Add watch feature, commented out. I tried it, but without success. I can't add watch in Flash Pro or FDB either. :-( /* @@ -198,7 +198,7 @@ private void dopop(MouseEvent e) { debugScopeTable.addMouseListener(watchHandler); */ - debugScopeTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugScopeTable, new ArrayList<>(), new ArrayList<>())); + debugScopeTable = new MyTreeTable(new ABCPanel.VariablesTableModel(debugScopeTable, new ArrayList<>(), new ArrayList<>()), false); callStackTable = new JTable(); stackTable = new JTable(); @@ -397,13 +397,13 @@ public void treeStructureChanged(TreeModelEvent e) { varTabs.removeAll(); tabTypes.clear(); JPanel pa; - if (debugRegistersTable.getRowCount() > 1 /*root*/) { + if (debugRegistersTable.getRowCount() > 0) { tabTypes.add(SelectedTab.REGISTERS); pa = new JPanel(new BorderLayout()); pa.add(new JScrollPane(debugRegistersTable), BorderLayout.CENTER); varTabs.addTab(AppStrings.translate("variables.header.registers"), pa); } - if (debugLocalsTable.getRowCount() > 1 /*root*/) { + if (debugLocalsTable.getRowCount() > 0) { tabTypes.add(SelectedTab.LOCALS); pa = new JPanel(new BorderLayout()); @@ -411,7 +411,7 @@ public void treeStructureChanged(TreeModelEvent e) { varTabs.addTab(AppStrings.translate("variables.header.locals"), pa); } - if (debugScopeTable.getRowCount() > 1 /*root*/) { + if (debugScopeTable.getRowCount() > 0) { tabTypes.add(SelectedTab.SCOPECHAIN); pa = new JPanel(new BorderLayout());