Package ghidra.framework.main
Class OpenVersionedFileDialog<T extends DomainObject>
java.lang.Object
docking.DialogComponentProvider
ghidra.framework.main.DataTreeDialog
ghidra.framework.main.OpenVersionedFileDialog<T>
- Type Parameters:
T- domain object class
- All Implemented Interfaces:
ActionContextProvider,GTreeSelectionListener,StatusListener,TaskListener,ActionListener,EventListener
Dialog to open a file that is versioned and allow a version to be
opened.
-
Field Summary
Fields inherited from class ghidra.framework.main.DataTreeDialog
CHOOSE_FOLDER, CREATE, HEIGHT, OPEN, SAVE, treePanel, WIDTHFields inherited from class docking.DialogComponentProvider
applyButton, buttonPanel, cancelButton, dismissButton, okButton, rootPanel -
Constructor Summary
ConstructorsConstructorDescriptionOpenVersionedFileDialog(PluginTool tool, String title, Class<T> domainObjectClass) Constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected JPanelvoidclose()protected voidOverride this method if you want to do something when the dialog is made invisibleprotected voidOverride this method if you want to do something when the dialog is made visiblegetActionContext(MouseEvent event) An optional extension point for subclasses to provider action context for the actions used by this provider.Get the selected domain file.Get the selected folder.getDomainObject(Object consumer, boolean immutable) Get the selected domain object for read-only or immutable use.intReturn the selected version number from the history panel.voidsetOpenObjectChoices(List<T> openDomainObjects) Set an optional list of already open domain objects of type<T>which may be selected instead of a project domain file.Methods inherited from class ghidra.framework.main.DataTreeDialog
actionPerformed, addOkActionListener, cancelCallback, findAndSelect, getNameText, okCallback, selectDomainFile, selectFolder, selectRootDataFolder, setNameText, setSearchText, setSelectedFolder, setTreeSelectionMode, show, showComponent, valueChanged, wasCancelledMethods inherited from class docking.DialogComponentProvider
addAction, addApplyButton, addButton, addCancelButton, addDismissButton, addOKButton, addWorkPanel, alertMessage, alertMessage, applyCallback, cancelCurrentTask, clearScheduledTask, clearStatusText, closeDialog, dismissCallback, dispose, doInitialize, escapeCallback, executeProgressTask, getActions, getBackground, getBounds, getComponent, getDefaultButton, getDefaultSize, getDialogSize, getFocusComponent, getGlassPane, getHelpLocation, getId, getInitialLocation, getLocationOnScreen, getParent, getPreferredSize, getRememberLocation, getRememberSize, getStatusColor, getStatusLabel, getStatusText, getTaskMonitorComponent, getTaskScheduler, getTitle, getUseSharedLocation, hideTaskMonitorComponent, isApplyEnabled, isCancelEnabled, isModal, isOKEnabled, isResizeable, isRunningTask, isShowing, isTransient, isVisible, 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
-
Constructor Details
-
OpenVersionedFileDialog
Constructor- Parameters:
tool- tool where the file is being opened.title- title to usedomainObjectClass- allowed domain object class which corresponds to<T>
-
-
Method Details
-
setOpenObjectChoices
Set an optional list of already open domain objects of type<T>which may be selected instead of a project domain file. ThegetDomainObject(Object, boolean)method should be used when this optional list has been set. If this dialog is reused the list should be set null if previously set. This method must be invoked prior to showing the dialog.- Parameters:
openDomainObjects- list of open domain objects from which a selection may be made.
-
getDomainObject
Get the selected domain object for read-only or immutable use. If an existing open object is selected its original mode applies but consumer will be added. The caller/consumer is responsible for releasing the returned domain object when done using it (seeDomainObject.release(Object)).- Parameters:
consumer- domain object consumerimmutable- true if the domain object should be opened immutable, else false for read-only. Immutable mode should not be used for content that will be modified. If read-only indicated an upgrade will always be performed if required.- Returns:
- opened domain object or null if a file was not selected or if open failed to complete.
-
getVersion
public int getVersion()Return the selected version number from the history panel.- Returns:
- -1 if a version history was not selected
-
getDomainFile
Description copied from class:DataTreeDialogGet the selected domain file.- Overrides:
getDomainFilein classDataTreeDialog- Returns:
- null if there was no domain file selected
-
getDomainFolder
Description copied from class:DataTreeDialogGet the selected folder.- Overrides:
getDomainFolderin classDataTreeDialog- Returns:
- null if there was no domain folder selected
-
buildMainPanel
- Overrides:
buildMainPanelin classDataTreeDialog
-
close
public void close()- Overrides:
closein classDataTreeDialog
-
dialogShown
protected void dialogShown()Description copied from class:DialogComponentProviderOverride this method if you want to do something when the dialog is made visible- Overrides:
dialogShownin classDataTreeDialog
-
dialogClosed
protected void dialogClosed()Description copied from class:DialogComponentProviderOverride this method if you want to do something when the dialog is made invisible- Overrides:
dialogClosedin classDialogComponentProvider
-
addTreeListeners
protected void addTreeListeners()- Overrides:
addTreeListenersin classDataTreeDialog
-
getActionContext
Description copied from class:DialogComponentProviderAn optional extension point for subclasses to provider action context for the actions used by this provider.- Specified by:
getActionContextin interfaceActionContextProvider- Overrides:
getActionContextin classDataTreeDialog- Parameters:
event- The mouse event used (may be null) to generate a popup menu
-