Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/GP-4583_ghidragon_fixing_open_ve…
Browse files Browse the repository at this point in the history
…rsioned_file_dialog--SQUASHED' into Ghidra_11.1
  • Loading branch information
ryanmkurtz committed May 10, 2024
2 parents 15b929f + a3f16ff commit bb122d8
Show file tree
Hide file tree
Showing 30 changed files with 790 additions and 661 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.debug.gui.modules;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.event.MouseEvent;
import java.io.File;
import java.lang.invoke.MethodHandles;
Expand Down Expand Up @@ -1190,7 +1192,7 @@ private DataTreeDialog getProgramChooserDialog() {

DomainFileFilter filter = df -> Program.class.isAssignableFrom(df.getDomainObjectClass());

return new DataTreeDialog(null, "Map Module to Program", DataTreeDialog.OPEN, filter);
return new DataTreeDialog(null, "Map Module to Program", OPEN, filter);
}

public DomainFile askProgram(Program program) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.debug.service.tracemgr;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.net.ConnectException;
Expand Down Expand Up @@ -430,7 +432,7 @@ public boolean followLinkedFolders() {
}
};

return new DataTreeDialog(null, OpenTraceAction.NAME, DataTreeDialog.OPEN, filter);
return new DataTreeDialog(null, OpenTraceAction.NAME, OPEN, filter);
}

public DomainFile askTrace(Trace trace) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.machinelearning.functionfinding;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.BorderLayout;
import java.util.*;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -483,10 +485,11 @@ private void searchTrainingProgram(RandomForestRowObject modelRow) {
}

private void searchOtherProgram(RandomForestRowObject modelRow) {
DataTreeDialog dtd = new DataTreeDialog(null, "Select Program", DataTreeDialog.OPEN, f -> {
Class<?> c = f.getDomainObjectClass();
return Program.class.isAssignableFrom(c);
});
DataTreeDialog dtd =
new DataTreeDialog(null, "Select Program", OPEN, f -> {
Class<?> c = f.getDomainObjectClass();
return Program.class.isAssignableFrom(c);
});
dtd.show();
DomainFile dFile = dtd.getDomainFile();
if (dFile == null) {
Expand Down
4 changes: 3 additions & 1 deletion Ghidra/Features/Base/developer_scripts/FixLangId.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import static ghidra.framework.main.DataTreeDialogType.*;

import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
Expand Down Expand Up @@ -137,7 +139,7 @@ record = table.getSchema().createRecord(new StringField(LANGUAGE_VERSION));

public DomainFile askProgramFile(String title) {
final DomainFile[] domainFile = new DomainFile[] { null };
final DataTreeDialog dtd = new DataTreeDialog(null, title, DataTreeDialog.OPEN);
final DataTreeDialog dtd = new DataTreeDialog(null, title, OPEN);
dtd.addOkActionListener(e -> {
dtd.close();
domainFile[0] = dtd.getDomainFile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.analysis;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.Component;
import java.awt.event.MouseListener;
import java.beans.PropertyEditorSupport;
Expand Down Expand Up @@ -126,7 +128,7 @@ private ProjectFileChooserPanel() {
private void displayFileChooser() {
AtomicReference<String> result = new AtomicReference<>();
DataTreeDialog dataTreeDialog =
new DataTreeDialog(this, title, DataTreeDialog.OPEN, filter);
new DataTreeDialog(this, title, OPEN, filter);
dataTreeDialog.addOkActionListener(e -> {
dataTreeDialog.close();
DomainFile df = dataTreeDialog.getDomainFile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.datamgr.archive;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.Component;
import java.awt.event.ActionListener;
import java.io.*;
Expand All @@ -31,6 +33,7 @@
import ghidra.app.util.HelpTopics;
import ghidra.framework.client.*;
import ghidra.framework.main.DataTreeDialog;
import ghidra.framework.main.DataTreeDialogType;
import ghidra.framework.model.*;
import ghidra.framework.options.SaveState;
import ghidra.framework.plugintool.PluginTool;
Expand Down Expand Up @@ -1410,7 +1413,7 @@ else if (result == OptionDialog.OPTION_TWO) {

private DataTreeDialog getSaveDialog() {
DataTreeDialog dialog =
new DataTreeDialog(null, "Save As", DataTreeDialog.SAVE, createArchiveFileFilter);
new DataTreeDialog(null, "Save As", SAVE, createArchiveFileFilter);

ActionListener listener = event -> {
DomainFolder folder = dialog.getDomainFolder();
Expand Down Expand Up @@ -1442,7 +1445,7 @@ else if (folder == null) {
private CreateDataTypeArchiveDataTreeDialog getCreateDialog() {

CreateDataTypeArchiveDataTreeDialog dialog = new CreateDataTypeArchiveDataTreeDialog(null,
"Create", DataTreeDialog.CREATE, createArchiveFileFilter);
"Create", CREATE, createArchiveFileFilter);

ActionListener listener = event -> {
DomainFolder folder = dialog.getDomainFolder();
Expand Down Expand Up @@ -1498,7 +1501,7 @@ private class CreateDataTypeArchiveDataTreeDialog extends DataTreeDialog {

private DataTypeArchiveDB dataTypeArchiveDB;

CreateDataTypeArchiveDataTreeDialog(Component parent, String title, int type,
CreateDataTypeArchiveDataTreeDialog(Component parent, String title, DataTreeDialogType type,
DomainFileFilter filter) {
super(parent, title, type, filter);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.gotoquery;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.util.Stack;

import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -437,7 +439,7 @@ private void createExternalAssociation(Program program, String extProgName) {
}

DataTreeDialog dialog = new DataTreeDialog(null,
"Choose External Program (" + extProgName + ")", DataTreeDialog.OPEN);
"Choose External Program (" + extProgName + ")", OPEN);
dialog.setSearchText(extProgName);
dialog.setHelpLocation(new HelpLocation("ReferencesPlugin", "ChooseExternalProgram"));
tool.showDialog(dialog);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.progmgr;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.event.ActionListener;
import java.io.IOException;
import java.rmi.ConnectException;
Expand Down Expand Up @@ -442,7 +444,7 @@ else if (result == OptionDialog.OPTION_TWO) {

private DataTreeDialog getSaveDialog() {
DataTreeDialog dialog =
new DataTreeDialog(null, "Save As", DataTreeDialog.SAVE, domainFileFilter);
new DataTreeDialog(null, "Save As", SAVE, domainFileFilter);

ActionListener listener = event -> {
DomainFolder folder = dialog.getDomainFolder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.references;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.*;
Expand Down Expand Up @@ -186,7 +188,7 @@ private void updateExtLibPath() {
*/
private void popupProgramChooser() {
DataTreeDialog d =
new DataTreeDialog(this.getParent(), "Choose External Program", DataTreeDialog.OPEN);
new DataTreeDialog(this.getParent(), "Choose External Program", OPEN);
final DataTreeDialog dialog = d;
d.addOkActionListener(new ActionListener() {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.references;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.util.*;
Expand Down Expand Up @@ -236,7 +238,7 @@ private void setExternalProgramAssociation() {
List<String> selectedExternalNames = getSelectedExternalNames();
String externalName = selectedExternalNames.get(0); // must be exactly one for us to be enabled.
DataTreeDialog dialog = new DataTreeDialog(mainPanel,
"Choose External Program (" + externalName + ")", DataTreeDialog.OPEN);
"Choose External Program (" + externalName + ")", OPEN);

dialog.setSearchText(externalName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.symboltree;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.*;
import java.awt.event.ItemListener;
import java.util.Arrays;
Expand Down Expand Up @@ -269,7 +271,7 @@ private void updateExtLibPath() {
*/
private void popupProgramChooser() {
DataTreeDialog d =
new DataTreeDialog(this.getParent(), "Choose External Program", DataTreeDialog.OPEN);
new DataTreeDialog(this.getParent(), "Choose External Program", OPEN);
final DataTreeDialog dialog = d;
d.addOkActionListener(e -> {
DomainFile df = dialog.getDomainFile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.plugin.core.symboltree.actions;

import static ghidra.framework.main.DataTreeDialogType.*;

import javax.swing.Icon;
import javax.swing.SwingUtilities;
import javax.swing.tree.TreePath;
Expand Down Expand Up @@ -81,7 +83,7 @@ public void actionPerformed(SymbolTreeActionContext context) {
final String externalLibraryPath = externalManager.getExternalLibraryPath(externalName);

final DataTreeDialog dialog = new DataTreeDialog(provider.getComponent(),
"Choose External Program (" + externalName + ")", DataTreeDialog.OPEN);
"Choose External Program (" + externalName + ")", OPEN);

dialog.setSearchText(externalName);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.script;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.Color;
import java.io.*;
import java.rmi.ConnectException;
Expand Down Expand Up @@ -2304,7 +2306,7 @@ public DomainFolder askProjectFolder(final String title) throws CancelledExcepti

DomainFolder choice = doAsk(Program.class, title, "", existingValue, lastValue -> {

DataTreeDialog dtd = new DataTreeDialog(null, title, DataTreeDialog.CHOOSE_FOLDER);
DataTreeDialog dtd = new DataTreeDialog(null, title, CHOOSE_FOLDER);
dtd.show();
if (dtd.wasCancelled()) {
throw new CancelledException();
Expand Down Expand Up @@ -2834,7 +2836,7 @@ public Program askProgram(String title, boolean upgradeIfNeeded)
if (!isRunningHeadless()) {
choice = doAsk(Program.class, title, "", choice, lastValue -> {

DataTreeDialog dtd = new DataTreeDialog(null, title, DataTreeDialog.OPEN);
DataTreeDialog dtd = new DataTreeDialog(null, title, OPEN);
dtd.show();
if (dtd.wasCancelled()) {
return null;
Expand Down Expand Up @@ -2939,7 +2941,7 @@ public DomainFile askDomainFile(String title) throws CancelledException {
String message = "";
DomainFile choice = doAsk(DomainFile.class, title, message, existingValue, lastValue -> {

DataTreeDialog dtd = new DataTreeDialog(null, title, DataTreeDialog.OPEN);
DataTreeDialog dtd = new DataTreeDialog(null, title, OPEN);
dtd.show();
if (dtd.wasCancelled()) {
throw new CancelledException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.app.util;

import static ghidra.framework.main.DataTreeDialogType.*;

import java.awt.*;
import java.util.*;
import java.util.List;
Expand Down Expand Up @@ -276,7 +278,7 @@ private Component buildProjectFolderEditor(Option option) {
JButton button = new BrowseButton();
button.addActionListener(e -> {
DataTreeDialog dataTreeDialog =
new DataTreeDialog(this, "Choose a project folder", DataTreeDialog.CHOOSE_FOLDER);
new DataTreeDialog(this, "Choose a project folder", CHOOSE_FOLDER);
String folderPath = lastFolderPath.isBlank() ? "/" : lastFolderPath;
dataTreeDialog.setSelectedFolder(project.getProjectData().getFolder(folderPath));
dataTreeDialog.showComponent();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

import docking.widgets.button.BrowseButton;
import ghidra.framework.main.DataTreeDialog;
import ghidra.framework.main.DataTreeDialogType;
import ghidra.framework.model.*;
import ghidra.framework.store.FileSystem;

Expand All @@ -33,10 +34,11 @@ abstract class AbstractProjectBrowserPanel extends JPanel {
protected JTextField textField;
private JButton browseButton;
private DomainFolder startFolder;
private int type;
private DataTreeDialogType type;
protected DomainFileFilter filter = null;

AbstractProjectBrowserPanel(int type, Project project, String name, String startPath) {
AbstractProjectBrowserPanel(DataTreeDialogType type, Project project, String name,
String startPath) {
super(new BorderLayout());
this.type = type;
this.project = Objects.requireNonNull(project);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.features.base.values;

import static ghidra.framework.main.DataTreeDialogType.*;

import javax.swing.JComponent;
import javax.swing.JTextField;

Expand Down Expand Up @@ -168,7 +170,7 @@ class ProjectFileBrowserPanel extends AbstractProjectBrowserPanel {

ProjectFileBrowserPanel(Project project, String name, String startPath,
Class<? extends DomainObject> projectFileClass) {
super(DataTreeDialog.OPEN, project, name, startPath);
super(OPEN, project, name, startPath);
filter = df -> projectFileClass.isAssignableFrom(df.getDomainObjectClass());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package ghidra.features.base.values;

import static ghidra.framework.main.DataTreeDialogType.*;

import javax.swing.JComponent;
import javax.swing.JTextField;

Expand Down Expand Up @@ -123,7 +125,7 @@ protected String toString(DomainFolder v) {
class ProjectFolderBrowserPanel extends AbstractProjectBrowserPanel {

ProjectFolderBrowserPanel(Project project, String name, String startPath) {
super(DataTreeDialog.CHOOSE_FOLDER, project, name, startPath);
super(CHOOSE_FOLDER, project, name, startPath);
}

void setDomainFolder(DomainFolder value) {
Expand Down
Loading

0 comments on commit bb122d8

Please sign in to comment.