Package ghidra.plugin.importer
Class ImporterDialog
- java.lang.Object
-
- docking.DialogComponentProvider
-
- ghidra.plugin.importer.ImporterDialog
-
- All Implemented Interfaces:
ActionContextProvider,StatusListener,TaskListener
- Direct Known Subclasses:
AddToProgramDialog
public class ImporterDialog extends DialogComponentProvider
Dialog for importing a file into Ghidra as a program.
-
-
Field Summary
Fields Modifier and Type Field Description protected ByteProviderbyteProviderprotected javax.swing.JTextFieldfilenameTextFieldprotected javax.swing.JButtonfolderButtonprotected javax.swing.JTextFieldfolderNameTextFieldprotected FSRLfsrlprotected javax.swing.JButtonlanguageButtonprotected javax.swing.JTextFieldlanguageTextFieldstatic java.lang.StringLAST_IMPORTFILE_PREFERENCE_KEYprotected GhidraComboBox<Loader>loaderComboBoxprotected java.util.List<Option>optionsprotected javax.swing.JButtonoptionsButtonprotected LanguageCompilerSpecPairselectedLanguageprotected PluginTooltool-
Fields inherited from class docking.DialogComponentProvider
applyButton, cancelButton, dismissButton, okButton, rootPanel
-
-
Constructor Summary
Constructors Modifier Constructor Description ImporterDialog(PluginTool tool, ProgramManager programManager, java.util.Map<Loader,java.util.Collection<LoadSpec>> loadMap, ByteProvider byteProvider, java.lang.String suggestedDestinationPath)Construct a new dialog for importing a file as a new program into Ghidra.protectedImporterDialog(java.lang.String title, PluginTool tool, java.util.Map<Loader,java.util.Collection<LoadSpec>> loadMap, ByteProvider byteProvider, java.lang.String suggestedDestinationPath)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected java.util.List<Option>getOptions(LoadSpec loadSpec)protected LoadergetSelectedLoader()protected LoadSpecgetSelectedLoadSpec(Loader loader)protected booleanisSupported(Loader loader)protected voidokCallback()The callback method for when the "OK" button is pressed.protected voidselectedLoaderChanged()voidsetDestinationFolder(DomainFolder folder)Sets the destination folder for the imported program.protected voidsetSelectedLanguage(LanguageCompilerSpecPair lcsPair)protected booleanvalidateFormInput()-
Methods inherited from class docking.DialogComponentProvider
addAction, addApplyButton, addButton, addCancelButton, addDismissButton, addOKButton, addWorkPanel, alertMessage, alertMessage, applyCallback, cancelCallback, cancelCurrentTask, clearScheduledTask, clearStatusText, dialogClosed, dialogShown, dismissCallback, doInitialize, escapeCallback, executeProgressTask, getActionContext, getActions, getBackground, getBounds, getComponent, getDefaultButton, getDefaultSize, getDialogSize, getFocusComponent, getGlassPane, getHelpLocatdion, getIntialLocation, getLocationOnScreen, getPreferredSize, getRemberSize, getRememberLocation, getStatusLabel, getStatusText, getTaskMonitorComponent, getTaskScheduler, getTitle, getUseSharedLocation, hideTaskMonitorComponent, isApplyEnabled, isCancelEnabled, isModal, isOKEnabled, isResizeable, isRunningTask, isShowing, isTransient, isVisible, main, notifyContextChanged, removeAction, removeButton, removeWorkPanel, repack, setApplyEnabled, setApplyToolTip, setBackground, setCancelButtonText, setCancelEnabled, setCancelToolTip, setCursor, setDefaultButton, setDefaultSize, setDialogSize, setDismissToolTip, setFocusComponent, setGlassPane, setHelpLocation, setInitialLocation, setMinimumSize, setMinimumSize, setOkButtonText, setOkEnabled, setOkToolTip, setPreferredSize, setRememberLocation, setRememberSize, setResizable, setStatusJustification, setStatusText, setStatusText, setStatusText, setTitle, setTransient, setUseSharedLocation, showProgressBar, showTaskMonitorComponent, stopProgressTimer, taskCancelled, taskCompleted, toFront, toString, waitForCurrentTask
-
-
-
-
Field Detail
-
LAST_IMPORTFILE_PREFERENCE_KEY
public static final java.lang.String LAST_IMPORTFILE_PREFERENCE_KEY
- See Also:
- Constant Field Values
-
tool
protected PluginTool tool
-
fsrl
protected FSRL fsrl
-
options
protected java.util.List<Option> options
-
selectedLanguage
protected LanguageCompilerSpecPair selectedLanguage
-
byteProvider
protected ByteProvider byteProvider
-
filenameTextField
protected javax.swing.JTextField filenameTextField
-
folderButton
protected javax.swing.JButton folderButton
-
languageButton
protected javax.swing.JButton languageButton
-
languageTextField
protected javax.swing.JTextField languageTextField
-
optionsButton
protected javax.swing.JButton optionsButton
-
folderNameTextField
protected javax.swing.JTextField folderNameTextField
-
loaderComboBox
protected GhidraComboBox<Loader> loaderComboBox
-
-
Constructor Detail
-
ImporterDialog
public ImporterDialog(PluginTool tool, ProgramManager programManager, java.util.Map<Loader,java.util.Collection<LoadSpec>> loadMap, ByteProvider byteProvider, java.lang.String suggestedDestinationPath)
Construct a new dialog for importing a file as a new program into Ghidra.- Parameters:
tool- the active tool that spawned this dialog.programManager- program manager to open imported file with or nullloadMap- the loaders and their corresponding load specificationsbyteProvider- the ByteProvider for getting the bytes from the file to be imported.suggestedDestinationPath- optional string path that will be pre-pended to the destination filename. Any path specified in the destination filename field will be created when the user performs the import (as opposed to thedestination folderoption which requires the DomainFolder to already exist). The two destination paths work together to specify the final Ghidra project folder where the imported binary is placed.
-
ImporterDialog
protected ImporterDialog(java.lang.String title, PluginTool tool, java.util.Map<Loader,java.util.Collection<LoadSpec>> loadMap, ByteProvider byteProvider, java.lang.String suggestedDestinationPath)
-
-
Method Detail
-
setDestinationFolder
public void setDestinationFolder(DomainFolder folder)
Sets the destination folder for the imported program.- Parameters:
folder- the folder to store the imported program.
-
isSupported
protected boolean isSupported(Loader loader)
-
selectedLoaderChanged
protected void selectedLoaderChanged()
-
okCallback
protected void okCallback()
Description copied from class:DialogComponentProviderThe callback method for when the "OK" button is pressed.- Overrides:
okCallbackin classDialogComponentProvider
-
close
public void close()
- Overrides:
closein classDialogComponentProvider
-
getSelectedLoader
protected Loader getSelectedLoader()
-
validateFormInput
protected boolean validateFormInput()
-
setSelectedLanguage
protected void setSelectedLanguage(LanguageCompilerSpecPair lcsPair)
-
-