mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
Changes to the GTree code to improve performance. Completely changed
GTreeNode base implementations and filtering code.
This commit is contained in:
parent
04f7366a62
commit
5c6b32714c
137 changed files with 2834 additions and 3081 deletions
|
@ -28,7 +28,8 @@ import docking.*;
|
|||
import docking.action.DockingActionIf;
|
||||
import docking.widgets.table.GTable;
|
||||
import docking.widgets.table.GTableCellRenderer;
|
||||
import docking.widgets.tree.*;
|
||||
import docking.widgets.tree.GTree;
|
||||
import docking.widgets.tree.GTreeNode;
|
||||
import ghidra.app.plugin.core.datamgr.*;
|
||||
import ghidra.app.plugin.core.datamgr.archive.DataTypeManagerHandler;
|
||||
import ghidra.app.plugin.core.datamgr.archive.InvalidFileArchive;
|
||||
|
@ -88,7 +89,7 @@ public class DataTypeManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
public void testDataTypeTreeWithAssociations() {
|
||||
DataTypesProvider provider = getProvider(DataTypesProvider.class);
|
||||
GTree tree = (GTree) getInstanceField("archiveGTree", provider);
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode child = rootNode.getChild("WinHelloCPP.exe");
|
||||
child = child.getChild("basetsd.h");
|
||||
tree.expandPath(child);
|
||||
|
@ -140,7 +141,7 @@ public class DataTypeManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
public void testFavoriteDts() {
|
||||
DataTypesProvider provider = getProvider(DataTypesProvider.class);
|
||||
GTree tree = (GTree) getInstanceField("archiveGTree", provider);
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode child = rootNode.getChild("BuiltInTypes");
|
||||
tree.expandPath(child);
|
||||
captureIsolatedProvider(DataTypesProvider.class, 500, 400);
|
||||
|
@ -162,7 +163,7 @@ public class DataTypeManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
|
||||
DataTypesProvider provider = getProvider(DataTypesProvider.class);
|
||||
GTree tree = (GTree) getInstanceField("archiveGTree", provider);
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode child = rootNode.getChild("WinHelloCPP.exe");
|
||||
child = child.getChild("DOS");
|
||||
tree.expandPath(child);
|
||||
|
|
|
@ -25,7 +25,8 @@ import org.junit.Test;
|
|||
import docking.ComponentProvider;
|
||||
import docking.DockingWindowManager;
|
||||
import docking.widgets.pathmanager.PathManager;
|
||||
import docking.widgets.tree.*;
|
||||
import docking.widgets.tree.GTree;
|
||||
import docking.widgets.tree.GTreeNode;
|
||||
import generic.jar.ResourceFile;
|
||||
import generic.util.Path;
|
||||
import ghidra.app.plugin.core.console.ConsoleComponentProvider;
|
||||
|
@ -244,7 +245,7 @@ public class GhidraScriptMgrPluginScreenShots extends GhidraScreenShotGenerator
|
|||
|
||||
private void collapse(final GTree tree, final String nodeName) {
|
||||
runSwing(() -> {
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode exmaplesNode = rootNode.getChild(nodeName);
|
||||
tree.collapseAll(exmaplesNode);
|
||||
});
|
||||
|
@ -255,7 +256,7 @@ public class GhidraScriptMgrPluginScreenShots extends GhidraScreenShotGenerator
|
|||
Arrays.asList("Examples", "Data Types", "Binary", "Functions", "Import", "Analysis"));
|
||||
|
||||
List<GTreeNode> toRemove = new ArrayList<>();
|
||||
final GTreeRootNode rootNode = scriptCategoryTree.getRootNode();
|
||||
final GTreeNode rootNode = scriptCategoryTree.getViewRoot();
|
||||
List<GTreeNode> children = rootNode.getChildren();
|
||||
for (GTreeNode child : children) {
|
||||
String name = child.getName();
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
*/
|
||||
package help.screenshot;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.IOException;
|
||||
|
@ -33,7 +32,8 @@ import docking.DialogComponentProvider;
|
|||
import docking.options.editor.DateEditor;
|
||||
import docking.options.editor.OptionsDialog;
|
||||
import docking.widgets.OptionDialog;
|
||||
import docking.widgets.tree.*;
|
||||
import docking.widgets.tree.GTree;
|
||||
import docking.widgets.tree.GTreeNode;
|
||||
import ghidra.app.plugin.core.codebrowser.CodeViewerProvider;
|
||||
import ghidra.app.plugin.core.datamgr.DataTypesProvider;
|
||||
import ghidra.app.plugin.core.progmgr.MultiTabPlugin;
|
||||
|
@ -111,8 +111,9 @@ public class ProgramManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
public void testOpenHistory() throws Exception {
|
||||
Project project = env.getProject();
|
||||
ProjectData projectData = project.getProjectData();
|
||||
projectData.getRootFolder().createFile("WinHelloCpp.exe", program,
|
||||
TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
projectData.getRootFolder()
|
||||
.createFile("WinHelloCpp.exe", program,
|
||||
TaskMonitorAdapter.DUMMY_MONITOR);
|
||||
|
||||
DomainFile df = program.getDomainFile();
|
||||
|
||||
|
@ -138,7 +139,7 @@ public class ProgramManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
waitForSwing();
|
||||
Object treePanel = getInstanceField("treePanel", dialog);
|
||||
final GTree tree = (GTree) getInstanceField("tree", treePanel);
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode child = rootNode.getChild(0);
|
||||
tree.setSelectedNode(child);
|
||||
assertNotNull(dialog);
|
||||
|
@ -184,7 +185,7 @@ public class ProgramManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
OptionsDialog dialog = (OptionsDialog) getDialog();
|
||||
Object optionsPanel = getInstanceField("panel", dialog);
|
||||
GTree tree = (GTree) getInstanceField("gTree", optionsPanel);
|
||||
GTreeRootNode rootNode = tree.getRootNode();
|
||||
GTreeNode rootNode = tree.getViewRoot();
|
||||
GTreeNode child = rootNode.getChild("Program Information");
|
||||
tree.setSelectedNode(child);
|
||||
waitForTree(tree);
|
||||
|
@ -307,8 +308,9 @@ public class ProgramManagerPluginScreenShots extends GhidraScreenShotGenerator
|
|||
List<DomainFile> list = new ArrayList<>();
|
||||
for (int i = 0; i < count; i++) {
|
||||
String programName = "Program" + (i + 1) + ".exe";
|
||||
list.add(projectData.getRootFolder().createFile(programName, program,
|
||||
TaskMonitorAdapter.DUMMY_MONITOR));
|
||||
list.add(projectData.getRootFolder()
|
||||
.createFile(programName, program,
|
||||
TaskMonitorAdapter.DUMMY_MONITOR));
|
||||
|
||||
}
|
||||
program.flushEvents();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue