From 79a5c754269d61407ae9a9af9da88f786312e048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Tue, 15 Dec 2015 20:15:20 +0100 Subject: [PATCH] variable tree view fixes --- lib/treetable.jar | Bin 26340 -> 26528 bytes .../de/hameister/treetable/MyTreeTable.java | 6 +++++- .../de/hameister/treetable/TreeTableMain.java | 8 ++++---- .../decompiler/flash/gui/DebugPanel.java | 12 ++++++------ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/treetable.jar b/lib/treetable.jar index 610bf18d4ec4fb1abc7d9cdb2a5634e1c3fe89b7..9e96de9996e2122a4757cb6704ce2c0be884a1e9 100644 GIT binary patch delta 1565 zcmZux?N6Ik6#w0)rB5jjFbeY0l~T%E`v5DW@-8bf80Bre4Q6=}p3)-S7$k#?L}$o8 znD}9dGj}o0FG#Y)_zlw0#t=1r(!?yr#l)yFF3}jHe}P|&=RC0B5})Lr-#O==d+s^E zd!PH;WAWiPLK`2pSRH^JsM>v33n;$bgSJAURPD+UQNeIS1Q^~IA%fIn(VNRykpEsb zrrsL)G?G`st~m|!SkUk) z7Fk;osFUA@>+Bi~!~`1Tp0~EGKc3v$xXIzm8sbQ3Siy{d^O|wX2pZd4!M@~;#QJ7( zW1VAO)3A!9ppu3{<%LFUEipZ);To=M2%<^AM>&16vwEQ^Z!@vQ&CMh?lN3hH`>8E~ zLh?^h`jW|crFDL4XcTQsq|2LMp<5*hvC*`yd z-q!06q3B1jMD_X%tcMW1HI1w^Y^++-P-)&Ct!FEP>> zgBIefn;7dS&PIu+t5kfFT3@H8-ypV_5btp#6USrYiaL zTztdLZCl7v(E8ukA@!r*q4Gcfd(dNNw6#wtjM2_HD`Wb?l=&v)MDAPI-W&eZ#HFz> zE#@2X^xS7_uM=N9bm`4^$urU1)Z)~%?c~>^AMuyy*CP9f%C}MlV=^`87Z&-`+(1_& zRo4tRQRBfN-ObCya396!$C1SJC9?hflm_hNXmC`6NP~ zX1Sjz@^UHjlfQm+o$djTR_gfK_wdfx2nDvwyK!?1eZ{ThjmygXGGuM}1A^5@Rr T*;>MfcfOZ$GF)>+mx6Z^%HR}6*WlR#=ocB5Jd7ty1=RH5) z>OJxBuF!{K7OMt0fQi`KdcATcw%%4Cl!=%e5S0w)MLok+agZQ=SM=mF?s2`J$M|W< z0o6SbTZ!KJ=0U|R%EGMGSO|y!F8Z2m0(W=3QLmE72Q_-%G zf)0*!axbhA_bC;J8M{q8w2+{i+McRh$s8 zUV3qUUZ6?75UP=pW|!>gJ}lQP)^w8M1Nyx0=5>1aTVdbQHkt845H z=orLFd7-AYumPuZ3}INuX^e1hRKPFA5x+yn7{&#Ha^2^Ze;HZ>&pe}J0&yLam=bV5 zmv}kRn0Vz|VH18hev=A;Dftyf_O<3YaAPehF2y$%kfbls*7WOREO*rCN~Ws&Z<#swUlh#8iuc2r&*&W`Ty(c6nn&S7?z! zl2b%7im8H<3`&ha24zo_xM{b6MzT$GCqvjv8hDS3a+9}LE8JR55SOcH`tL(qiP~nq z2;Z^;AAeY{@;h2>+UH>Wx_ww-EC^3o881dg%y;%}|GO6Urv|<>v25tJC7<8jL&LUy zIUl&3el+r`T?FMvAs^jbn+T^rnEYPkZP1>v;*)Y|x=vo1j)sFMBi$Z!(H{1b%0aq2 zeZ(+wJRHR_@@i;fq7-JGUk{ zQC+S@?9#blF5p@4DE~w`@=k2GTv~9Oxu;M6a^rcr{@ixvelM2eI;Ag}czt>Fl&p4@%16U489bLGZyz8XqOpTqF|tL@m#>{Gvi~&0(SHHT?jSY* diff --git a/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java b/libsrc/treetable/src/de/hameister/treetable/MyTreeTable.java index 2da462026..9237c7880 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 class MyTreeTable extends JTable { // 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 class MyTreeTable extends JTable { 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 fa9947af2..e0bfd0e95 100644 --- a/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java +++ b/libsrc/treetable/src/de/hameister/treetable/TreeTableMain.java @@ -21,7 +21,7 @@ public class TreeTableMain extends JFrame { 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 class TreeTableMain extends JFrame { } 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 f90e6cd2f..b23c9ac94 100644 --- a/src/com/jpexs/decompiler/flash/gui/DebugPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DebugPanel.java @@ -127,8 +127,8 @@ public class DebugPanel extends JPanel { 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 @@ public class DebugPanel extends JPanel { 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 class DebugPanel extends JPanel { 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 class DebugPanel extends JPanel { 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());