Active Resource API Changes
This commit is contained in:
parent
d6be70dfb2
commit
99fde7156e
7 changed files with 41 additions and 26 deletions
|
@ -12,7 +12,6 @@ import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bootloader.Boot;
|
import the.bytecode.club.bootloader.Boot;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ClassNodeLoader;
|
import the.bytecode.club.bytecodeviewer.api.ClassNodeLoader;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
||||||
|
@ -277,13 +276,39 @@ public class BytecodeViewer
|
||||||
return Configuration.java;
|
return Configuration.java;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if there is currently a tab open with a resource inside of it
|
||||||
|
*/
|
||||||
|
public static boolean hasActiveResource()
|
||||||
|
{
|
||||||
|
return getActiveResource() != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if there is currently a tab open with a resource inside of it
|
||||||
|
*/
|
||||||
|
public static boolean isActiveResourceClass()
|
||||||
|
{
|
||||||
|
ResourceViewer resource = getActiveResource();
|
||||||
|
return resource instanceof ClassViewer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the currently opened & viewed resource
|
||||||
|
*/
|
||||||
|
public static ResourceViewer getActiveResource()
|
||||||
|
{
|
||||||
|
return BytecodeViewer.viewer.workPane.getActiveResource();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the currently opened ClassNode
|
* Returns the currently opened ClassNode
|
||||||
*
|
*
|
||||||
* @return the currently opened ClassNode
|
* @return the currently opened ClassNode
|
||||||
*/
|
*/
|
||||||
public static ClassNode getCurrentlyOpenedClassNode() {
|
public static ClassNode getCurrentlyOpenedClassNode()
|
||||||
return viewer.workPane.getCurrentViewer().cn;
|
{
|
||||||
|
return getActiveResource().cn;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -96,8 +96,9 @@ public class GlobalHotKeys
|
||||||
else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
|
else if ((e.getKeyCode() == KeyEvent.VK_W) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0))
|
||||||
{
|
{
|
||||||
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
|
Configuration.lastHotKeyExecuted = System.currentTimeMillis();
|
||||||
if (BytecodeViewer.viewer.workPane.getCurrentViewer() != null)
|
|
||||||
BytecodeViewer.viewer.workPane.tabs.remove(BytecodeViewer.viewer.workPane.getCurrentViewer());
|
if (BytecodeViewer.hasActiveResource())
|
||||||
|
BytecodeViewer.viewer.workPane.tabs.remove(BytecodeViewer.viewer.workPane.getActiveResource());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,6 @@ import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.WorkPaneMainComponent;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.VisibleComponent;
|
import the.bytecode.club.bytecodeviewer.gui.components.VisibleComponent;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
import the.bytecode.club.bytecodeviewer.searching.BackgroundSearchThread;
|
||||||
|
@ -179,11 +177,10 @@ public class SearchBoxPane extends VisibleComponent
|
||||||
}
|
}
|
||||||
else if (radius == SearchRadius.Current_Class)
|
else if (radius == SearchRadius.Current_Class)
|
||||||
{
|
{
|
||||||
final ResourceViewer cv = Objects.requireNonNull(MainViewerGUI.getComponent(WorkPaneMainComponent.class)).getCurrentViewer();
|
final ResourceViewer cv = BytecodeViewer.getActiveResource();
|
||||||
|
|
||||||
if (cv != null)
|
if (cv != null)
|
||||||
{
|
|
||||||
searchType.details.search(cv.container, cv.cn, srn, exact.isSelected());
|
searchType.details.search(cv.container, cv.cn, srn, exact.isSelected());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,7 @@ public class WorkPaneMainComponent extends VisibleComponent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ResourceViewer getCurrentViewer() {
|
public ResourceViewer getActiveResource() {
|
||||||
return (ResourceViewer) tabs.getSelectedComponent();
|
return (ResourceViewer) tabs.getSelectedComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,6 @@ import org.objectweb.asm.tree.MethodNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Resources;
|
import the.bytecode.club.bytecodeviewer.Resources;
|
||||||
import the.bytecode.club.bytecodeviewer.api.Plugin;
|
import the.bytecode.club.bytecodeviewer.api.Plugin;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginManager;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -58,19 +57,13 @@ public class CodeSequenceDiagram extends Plugin
|
||||||
if (BytecodeViewer.promptIfNoLoadedClasses())
|
if (BytecodeViewer.promptIfNoLoadedClasses())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (BytecodeViewer.viewer.workPane.getCurrentViewer() == null || !(BytecodeViewer.viewer.workPane.getCurrentViewer() instanceof ClassViewer))
|
if (!BytecodeViewer.isActiveResourceClass())
|
||||||
{
|
{
|
||||||
BytecodeViewer.showMessage("First open a class file.");
|
BytecodeViewer.showMessage("First open a class file.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClassNode c = BytecodeViewer.viewer.workPane.getCurrentViewer().cn;
|
ClassNode c = BytecodeViewer.getCurrentlyOpenedClassNode();
|
||||||
if (c == null)
|
|
||||||
{
|
|
||||||
BytecodeViewer.showMessage("Current viewer ClassNode is null inside of CodeSequenceDiagram. Please report to @Konloch");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
JFrame frame = new JFrame("Code Sequence Diagram - " + c.name);
|
JFrame frame = new JFrame("Code Sequence Diagram - " + c.name);
|
||||||
|
|
||||||
frame.setIconImages(Resources.iconList);
|
frame.setIconImages(Resources.iconList);
|
||||||
|
|
|
@ -5,10 +5,8 @@ import org.objectweb.asm.ClassWriter;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
import the.bytecode.club.bytecodeviewer.gui.components.FileChooser;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.util.DialogueUtils;
|
import the.bytecode.club.bytecodeviewer.util.DialogueUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
import the.bytecode.club.bytecodeviewer.util.JarUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
@ -182,7 +180,7 @@ public class ResourceDecompiling
|
||||||
if (BytecodeViewer.promptIfNoLoadedClasses())
|
if (BytecodeViewer.promptIfNoLoadedClasses())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (BytecodeViewer.viewer.workPane.getCurrentViewer() == null || !(BytecodeViewer.viewer.workPane.getCurrentViewer() instanceof ClassViewer))
|
if (!BytecodeViewer.isActiveResourceClass())
|
||||||
{
|
{
|
||||||
BytecodeViewer.showMessage("First open a class file.");
|
BytecodeViewer.showMessage("First open a class file.");
|
||||||
return;
|
return;
|
||||||
|
@ -193,7 +191,7 @@ public class ResourceDecompiling
|
||||||
if (BytecodeViewer.autoCompileSuccessful())
|
if (BytecodeViewer.autoCompileSuccessful())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
final String s = BytecodeViewer.viewer.workPane.getCurrentViewer().cn.name;
|
final String s = BytecodeViewer.getCurrentlyOpenedClassNode().name;
|
||||||
|
|
||||||
if (s == null)
|
if (s == null)
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -14,8 +14,9 @@ public class RefreshWorkPane implements ActionListener
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e)
|
public void actionPerformed(ActionEvent e)
|
||||||
{
|
{
|
||||||
if (BytecodeViewer.viewer.refreshOnChange.isSelected()) {
|
if (BytecodeViewer.viewer.refreshOnChange.isSelected())
|
||||||
if (BytecodeViewer.viewer.workPane.getCurrentViewer() == null)
|
{
|
||||||
|
if (!BytecodeViewer.hasActiveResource())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BytecodeViewer.viewer.workPane.refreshClass.doClick();
|
BytecodeViewer.viewer.workPane.refreshClass.doClick();
|
||||||
|
|
Loading…
Reference in a new issue