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(DomainFileProvider context)
boolean
isEnabledForContext(DomainFileProvider 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)
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, createButton, createMenuItem, dispose, doCreateButton, doCreateMenuItem, firePropertyChanged, getDefaultKeyBindingData, getDescription, getFullName, getHelpInfo, getHelpObject, getInceptionFromTheFirstClassThatIsNotUs, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isEnabled, isValidGlobalContext, markHelpUnnecessary, removePropertyChangeListener, setDescription, setEnabled, setHelpLocation, setKeyBindingData, setMenuBarData, setPopupMenuData, setToolBarData, setUnvalidatedKeyBindingData, shouldAddToWindow, toString
-
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(DomainFileProvider context)
- Specified by:
actionPerformed
in classDomainFileProviderContextAction
-
isEnabledForContext
public boolean isEnabledForContext(DomainFileProvider 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:
unmodifiedCheckOutsList
- the list of unmodified checked out filesmodifiedArchivesList
- the list of checked out files that have been modifiedchangedList
- the list of checked out files that have been modified and not yet saved- Throws:
CancelledException
-
saveCheckOutChanges
protected void saveCheckOutChanges(java.util.List<DomainFile> changedList) throws CancelledException
- Parameters:
changedList
-- Throws:
CancelledException
-
-