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 voidactionPerformed(DomainFileContext context)booleanisEnabledForContext(DomainFileContext context)Returns true if at least one of the provided domain files is checked out from the repository.protected voidsaveCheckOutChanges(java.util.List<DomainFile> changedList)Saves all checked out changes.protected voidundoCheckOut()Gets the domain files from the provider and then undoes the checkout on any that are checked out.protected voidundoCheckOuts(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:
actionPerformedin 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:
isEnabledForContextin 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 CancelledExceptionDisplays 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
-
-