From ebd0dea4a8dfaf2b3f5085eae57c9bc924a6cb2e Mon Sep 17 00:00:00 2001 From: honfika Date: Sun, 22 Jun 2014 13:55:32 +0200 Subject: [PATCH] small dump view change --- .../decompiler/flash/gui/DumpViewPanel.java | 22 ++++++++++++++++++- .../jpexs/decompiler/flash/gui/MainPanel.java | 9 +------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/com/jpexs/decompiler/flash/gui/DumpViewPanel.java b/src/com/jpexs/decompiler/flash/gui/DumpViewPanel.java index 144e0689c..5ec487ee8 100644 --- a/src/com/jpexs/decompiler/flash/gui/DumpViewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/DumpViewPanel.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.gui; +import com.jpexs.decompiler.flash.dumpview.DumpInfo; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; @@ -116,8 +117,27 @@ public class DumpViewPanel extends JPanel { add(new JScrollPane(dumpViewHexTable), BorderLayout.CENTER); } - public void setData(byte[] data) { + public void setData(byte[] data, DumpInfo dumpInfo) { this.data = data; + + if (dumpInfo.lengthBytes != 0 || dumpInfo.lengthBits != 0) { + // todo + int end = (int) dumpInfo.startByte; + if (dumpInfo.lengthBytes != 0) { + end += dumpInfo.lengthBytes; + } else { + int bits = dumpInfo.startBit + dumpInfo.lengthBits; + end += bits / 8; + if (bits % 8 != 0) { + end++; + } + } + //setSelectedRange((int) dumpInfo.startByte, end - 1); + setLabelText("startByte: " + dumpInfo.startByte + + " startBit: " + dumpInfo.startBit + + " lengthBytes: " + dumpInfo.lengthBytes + + " lengthBits: " + dumpInfo.lengthBits); + } } public void setLabelText(String text) { diff --git a/src/com/jpexs/decompiler/flash/gui/MainPanel.java b/src/com/jpexs/decompiler/flash/gui/MainPanel.java index 7b6b829df..8e2c631b3 100644 --- a/src/com/jpexs/decompiler/flash/gui/MainPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/MainPanel.java @@ -2381,16 +2381,9 @@ public final class MainPanel extends JPanel implements ActionListener, TreeSelec private void dumpTreeValueChanged(TreeSelectionEvent e) { DumpInfo dumpInfo = (DumpInfo) e.getPath().getLastPathComponent(); - if (dumpInfo.lengthBytes != 0 || dumpInfo.lengthBits != 0) { - // todo - dumpViewPanel.setLabelText("startByte: " + dumpInfo.startByte - + " startBit: " + dumpInfo.startBit - + " lengthBytes: " + dumpInfo.lengthBytes - + " lengthBits: " + dumpInfo.lengthBits); - } // todo honfika: support multiple swf - dumpViewPanel.setData(swfs.get(0).swfs.get(0).uncompressedData); + dumpViewPanel.setData(swfs.get(0).swfs.get(0).uncompressedData, dumpInfo); dumpViewPanel.revalidate(); showCard(CARDDUMPVIEW); }