Package ghidra.framework.main.datatree
Class VersionControlDataTypeArchiveUndoCheckoutAction
- java.lang.Object
-
- docking.action.DockingAction
-
- ghidra.framework.main.datatable.DomainFileProviderContextAction
-
- ghidra.framework.main.projectdata.actions.VersionControlAction
-
- ghidra.framework.main.datatree.VersionControlDataTypeArchiveUndoCheckoutAction
-
- All Implemented Interfaces:
DockingActionIf
,HelpDescriptor
public class VersionControlDataTypeArchiveUndoCheckoutAction extends VersionControlAction
Action to undo checkouts for domain files in the repository.
-
-
Field Summary
-
Fields inherited from class ghidra.framework.main.projectdata.actions.VersionControlAction
GROUP, repository, tool
-
Fields inherited from interface docking.action.DockingActionIf
DESCRIPTION_PROPERTY, ENABLEMENT_PROPERTY, GLOBALCONTEXT_PROPERTY, KEYBINDING_DATA_PROPERTY, MENUBAR_DATA_PROPERTY, POPUP_MENU_DATA_PROPERTY, TOOLBAR_DATA_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description VersionControlDataTypeArchiveUndoCheckoutAction(ghidra.app.plugin.core.datamgr.DataTypeManagerPlugin plugin, ArchiveProvider provider)
Creates an action to undo checkouts for domain files in the repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(DomainFileContext context)
boolean
isEnabledForContext(DomainFileContext context)
Returns true if at least one of the provided domain files is checked out from the repository.protected void
saveCheckOutChanges(java.util.List<DomainFile> changedList)
Saves all checked out changes.protected void
undoCheckOut()
Gets the domain files from the provider and then undoes the checkout on any that are checked out.protected void
undoCheckOuts(java.util.List<ghidra.app.plugin.core.datamgr.archive.DomainFileArchive> unmodifiedArchivesList, java.util.List<ghidra.app.plugin.core.datamgr.archive.DomainFileArchive> modifiedArchivesList)
Displays the undo checkout confirmation dialog for each checked out file and then undoes the checkout while keeping a copy of the working version of the file if the user chooses to do so.
All unmodified checkouts will be undone.-
Methods inherited from class ghidra.framework.main.projectdata.actions.VersionControlAction
checkRepositoryConnected, isAddToPopup
-
Methods inherited from class ghidra.framework.main.datatable.DomainFileProviderContextAction
actionPerformed, isAddToPopup, isEnabledForContext, isValidContext, isValidContext
-
Methods inherited from class docking.action.DockingAction
addPropertyChangeListener, addToWindowWhen, createButton, createMenuItem, dispose, doCreateButton, doCreateMenuItem, enabledWhen, firePropertyChanged, getDefaultKeyBindingData, getDescription, getFullName, getHelpInfo, getHelpObject, getInceptionFromTheFirstClassThatIsNotUsOrABuilder, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isEnabled, markHelpUnnecessary, popupWhen, removePropertyChangeListener, setAddToAllWindows, setDescription, setEnabled, setHelpLocation, setKeyBindingData, setMenuBarData, setPopupMenuData, setSupportsDefaultToolContext, setToolBarData, setUnvalidatedKeyBindingData, shouldAddToWindow, supportsDefaultToolContext, toString, validContextWhen
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface docking.action.DockingActionIf
getOwnerDescription
-
-
-
-
Constructor Detail
-
VersionControlDataTypeArchiveUndoCheckoutAction
public VersionControlDataTypeArchiveUndoCheckoutAction(ghidra.app.plugin.core.datamgr.DataTypeManagerPlugin plugin, ArchiveProvider provider)
Creates an action to undo checkouts for domain files in the repository.- Parameters:
plugin
- the plug-in that owns this action.provider
- provides a list of domain files to be affected by this action.
-
-
Method Detail
-
actionPerformed
public void actionPerformed(DomainFileContext context)
- Specified by:
actionPerformed
in classDomainFileProviderContextAction
-
isEnabledForContext
public boolean isEnabledForContext(DomainFileContext context)
Returns true if at least one of the provided domain files is checked out from the repository.- Overrides:
isEnabledForContext
in classDomainFileProviderContextAction
-
undoCheckOut
protected void undoCheckOut()
Gets the domain files from the provider and then undoes the checkout on any that are checked out.
-
undoCheckOuts
protected void undoCheckOuts(java.util.List<ghidra.app.plugin.core.datamgr.archive.DomainFileArchive> unmodifiedArchivesList, java.util.List<ghidra.app.plugin.core.datamgr.archive.DomainFileArchive> modifiedArchivesList) throws CancelledException
Displays the undo checkout confirmation dialog for each checked out file and then undoes the checkout while keeping a copy of the working version of the file if the user chooses to do so.
All unmodified checkouts will be undone. Only modified checkouts the user chooses will be undone.- Parameters:
unmodifiedArchivesList
- the list of unmodified archivesmodifiedArchivesList
- the list of archives that have been modified- Throws:
CancelledException
-
saveCheckOutChanges
protected void saveCheckOutChanges(java.util.List<DomainFile> changedList) throws CancelledException
Saves all checked out changes.- Parameters:
changedList
- the list of changes- Throws:
CancelledException
-
-