Merge remote-tracking branch 'origin/GP-4540-dragonmacher-dt-chooser-filter-issue'

This commit is contained in:
Ryan Kurtz 2024-06-07 14:35:46 -04:00
commit ce731bb7fc
2 changed files with 27 additions and 1 deletions

View File

@ -178,6 +178,30 @@ public class DataTypeArchiveGTree extends GTree {
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() {
return plugin.getProgram();
}

View File

@ -56,7 +56,9 @@ public class DataTypeChooserDialog extends DialogComponentProvider {
super("Data Type Chooser", true, true, true, false);
tree = new DataTypeArchiveGTree(plugin);
tree.setEditable(isFilterEditable);
tree.setEditable(false);
tree.updateFilterForChoosingDataType();
tree.addGTreeSelectionListener(e -> setOkEnabled(getSelectedNode() != null));