Package tv.porst.swfretools.dissector.gui.main.hexview

Source Code of tv.porst.swfretools.dissector.gui.main.hexview.FlashHexView

package tv.porst.swfretools.dissector.gui.main.hexview;

import java.awt.BorderLayout;

import javax.swing.JPanel;

import tv.porst.jhexview.JHexView;
import tv.porst.jhexview.JHexView.DefinitionStatus;
import tv.porst.jhexview.SimpleDataProvider;
import tv.porst.swfretools.dissector.gui.main.models.LoadedFile;

/**
* Panel that contains the hex view component where Flash structures
* are highlighted.
*/
public final class FlashHexView extends JPanel {

  /**
   * Shows the selected Flash structure.
   */
  private final JHexView hexView;

  /**
   * The file shown in the hex view.
   */
  private LoadedFile loadedFile = null;

  /**
   * Creates a new hex view object.
   */
  public FlashHexView() {
    super(new BorderLayout());

    hexView = new JHexView();

    add(hexView);
  }

  /**
   * Returns the hex view component.
   *
   * @return The hex view component.
   */
  public JHexView getHexView() {
    return hexView;
  }

  /**
   * Sets the file shown in the hex view.
   *
   * @param file The new file shown in the hex view.
   */
  public void setFile(final LoadedFile file) {

    if (file == loadedFile) {
      return;
    }

    hexView.setData(new SimpleDataProvider(file.getSWFFile().getDecompressedData()));

    if (loadedFile == null) {
      hexView.setDefinitionStatus(DefinitionStatus.DEFINED);
      hexView.setEnabled(true);
    }

    loadedFile = file;
  }
}
TOP

Related Classes of tv.porst.swfretools.dissector.gui.main.hexview.FlashHexView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.