mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
Merge remote-tracking branch 'origin/GP-4540-dragonmacher-dt-chooser-filter-issue'
This commit is contained in:
commit
ce731bb7fc
2 changed files with 27 additions and 1 deletions
|
@ -178,6 +178,30 @@ public class DataTypeArchiveGTree extends GTree {
|
||||||
reloadTree();
|
reloadTree();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Signals to this tree that it should configure itself for use inside of a widget that allows
|
||||||
|
* the user to choose a data type.
|
||||||
|
*/
|
||||||
|
public void updateFilterForChoosingDataType() {
|
||||||
|
|
||||||
|
// Only filter on the name so that any extra display text will not cause a filter failure
|
||||||
|
// when attempting to pick a type by its name.
|
||||||
|
boolean filterOnNameOnly = true;
|
||||||
|
boolean includeMembers = false;
|
||||||
|
|
||||||
|
DefaultDtTreeDataTransformer transformer;
|
||||||
|
if (includeMembers) {
|
||||||
|
transformer = new DataTypeTransformer(filterOnNameOnly);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
transformer = new DefaultDtTreeDataTransformer(filterOnNameOnly);
|
||||||
|
}
|
||||||
|
|
||||||
|
setDataTransformer(transformer);
|
||||||
|
|
||||||
|
reloadTree();
|
||||||
|
}
|
||||||
|
|
||||||
public Program getProgram() {
|
public Program getProgram() {
|
||||||
return plugin.getProgram();
|
return plugin.getProgram();
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,9 @@ public class DataTypeChooserDialog extends DialogComponentProvider {
|
||||||
super("Data Type Chooser", true, true, true, false);
|
super("Data Type Chooser", true, true, true, false);
|
||||||
|
|
||||||
tree = new DataTypeArchiveGTree(plugin);
|
tree = new DataTypeArchiveGTree(plugin);
|
||||||
tree.setEditable(isFilterEditable);
|
|
||||||
|
tree.setEditable(false);
|
||||||
|
tree.updateFilterForChoosingDataType();
|
||||||
|
|
||||||
tree.addGTreeSelectionListener(e -> setOkEnabled(getSelectedNode() != null));
|
tree.addGTreeSelectionListener(e -> setOkEnabled(getSelectedNode() != null));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue