GuiCommandBase<T> Class

Summary

This is the base class for option classes for various commands for the TortoiseHg client.
graph TD Base0["CommandBase<T>"]-->Type click Base0 "/Cake.Hg/api/Mercurial/CommandBase_1" Base1["object"]-->Base0 Interface0["IGuiCommand"]-.->Type click Interface0 "/Cake.Hg/api/Mercurial.Gui/IGuiCommand" Interface1["ICommand"]-.->Type click Interface1 "/Cake.Hg/api/Mercurial/ICommand" Type["GuiCommandBase<T>"] class Type type-node Type-->Derived0["UserConfigGuiCommand"] click Derived0 "/Cake.Hg/api/Mercurial.Gui/UserConfigGuiCommand" Type-->Derived1["ArchiveGuiCommand"] click Derived1 "/Cake.Hg/api/Mercurial.Gui/ArchiveGuiCommand" Type-->Derived2["QueueReorderGuiCommand"] click Derived2 "/Cake.Hg/api/Mercurial.Gui/QueueReorderGuiCommand" Type-->Derived3["FilesBasedGuiCommandBase<T>"] click Derived3 "/Cake.Hg/api/Mercurial.Gui/FilesBasedGuiCommandBase_1" Type-->Derived4["BrowserGuiCommandBase<T>"] click Derived4 "/Cake.Hg/api/Mercurial.Gui/BrowserGuiCommandBase_1" Type-->Derived5["ResolveGuiCommand"] click Derived5 "/Cake.Hg/api/Mercurial.Gui/ResolveGuiCommand" Type-->Derived6["QueueManagerGuiCommand"] click Derived6 "/Cake.Hg/api/Mercurial.Gui/QueueManagerGuiCommand" Type-->Derived7["CloneGuiCommand"] click Derived7 "/Cake.Hg/api/Mercurial.Gui/CloneGuiCommand" Type-->Derived8["StripGuiCommand"] click Derived8 "/Cake.Hg/api/Mercurial.Gui/StripGuiCommand" Type-->Derived9["DatamineGuiCommand"] click Derived9 "/Cake.Hg/api/Mercurial.Gui/DatamineGuiCommand" Type-->Derived10["BisectGuiCommand"] click Derived10 "/Cake.Hg/api/Mercurial.Gui/BisectGuiCommand" Type-->Derived11["ShelveGuiCommand"] click Derived11 "/Cake.Hg/api/Mercurial.Gui/ShelveGuiCommand" Type-->Derived12["SearchGuiCommand"] click Derived12 "/Cake.Hg/api/Mercurial.Gui/SearchGuiCommand" Type-->Derived13["RepoConfigGuiCommand"] click Derived13 "/Cake.Hg/api/Mercurial.Gui/RepoConfigGuiCommand" Type-->Derived14["MergeGuiCommand"] click Derived14 "/Cake.Hg/api/Mercurial.Gui/MergeGuiCommand" Type-->Derived15["UpdateGuiCommand"] click Derived15 "/Cake.Hg/api/Mercurial.Gui/UpdateGuiCommand" Type-->Derived16["QueueGuiCommand"] click Derived16 "/Cake.Hg/api/Mercurial.Gui/QueueGuiCommand" Type-->Derived17["ImportGuiCommand"] click Derived17 "/Cake.Hg/api/Mercurial.Gui/ImportGuiCommand" Type-->Derived18["PurgeGuiCommand"] click Derived18 "/Cake.Hg/api/Mercurial.Gui/PurgeGuiCommand" Type-->Derived19["AboutGuiCommand"] click Derived19 "/Cake.Hg/api/Mercurial.Gui/AboutGuiCommand" Type-->Derived20["TagGuiCommand"] click Derived20 "/Cake.Hg/api/Mercurial.Gui/TagGuiCommand" Type-->Derived21["GuessGuiCommand"] click Derived21 "/Cake.Hg/api/Mercurial.Gui/GuessGuiCommand" Type-->Derived22["BackoutGuiCommand"] click Derived22 "/Cake.Hg/api/Mercurial.Gui/BackoutGuiCommand" Type-->Derived23["SynchronizeGuiCommand"] click Derived23 "/Cake.Hg/api/Mercurial.Gui/SynchronizeGuiCommand" Type-->Derived24["EditIgnoreFiltersGuiCommand"] click Derived24 "/Cake.Hg/api/Mercurial.Gui/EditIgnoreFiltersGuiCommand" Type-->Derived25["ShellConfigGuiCommand"] click Derived25 "/Cake.Hg/api/Mercurial.Gui/ShellConfigGuiCommand" Type-->Derived26["MoveCopyRenameGuiCommandBase<T>"] click Derived26 "/Cake.Hg/api/Mercurial.Gui/MoveCopyRenameGuiCommandBase_1" Type-->Derived27["RecoveryGuiCommand"] click Derived27 "/Cake.Hg/api/Mercurial.Gui/RecoveryGuiCommand" Type-->Derived28["DragCopyMoveGuiCommandBase<T>"] click Derived28 "/Cake.Hg/api/Mercurial.Gui/DragCopyMoveGuiCommandBase_1" Type-->Derived29["RejectsGuiCommand"] click Derived29 "/Cake.Hg/api/Mercurial.Gui/RejectsGuiCommand" Type-->Derived30["GuiVersionCommand"] click Derived30 "/Cake.Hg/api/Mercurial.Gui/GuiVersionCommand" Type-->Derived31["LogGuiCommand"] click Derived31 "/Cake.Hg/api/Mercurial.Gui/LogGuiCommand" Type-->Derived32["RebaseGuiCommand"] click Derived32 "/Cake.Hg/api/Mercurial.Gui/RebaseGuiCommand" Type-->Derived33["InitGuiCommand"] click Derived33 "/Cake.Hg/api/Mercurial.Gui/InitGuiCommand" Type-->Derived34["EmailGuiCommand"] click Derived34 "/Cake.Hg/api/Mercurial.Gui/EmailGuiCommand" Type-->Derived35["MPatchGuiCommand"] click Derived35 "/Cake.Hg/api/Mercurial.Gui/MPatchGuiCommand"

Syntax

public abstract class GuiCommandBase<T> : CommandBase<T>, IGuiCommand, ICommand 
    where T : GuiCommandBase<T>

Type Parameters

Name Description
T The actual type descending from GuiCommandBase<T>, used to generate type-correct methods in this base class.

Constructors

Name Summary
GuiCommandBase(string) Initializes a new instance of the GuiCommandBase<T> class.

Properties

Name Value Summary
AdditionalArguments Collection<T>
Gets the collection which additional arguments can be added into. This collection is exposed for extensions, so that they have a place to add all their extra arguments to the Mercurial command line client.
Inherited from CommandBase<T>
Arguments IEnumerable<T>
Gets all the arguments to the Command, or an empty array if there are none.
Inherited from CommandBase<T>
Command string
Gets the command to execute with the Mercurial command line client.
Inherited from CommandBase<T>
DebugOutput bool
Gets or sets a value indicating whether to enable debug output on the command. This should only be used by the command code itself, never by the user.
Inherited from CommandBase<T>
IsAvailable bool
Gets a value indicating whether the given command is available.
static
Observer IMercurialCommandObserver
Gets or sets the object that will act as an observer of command execution.
Inherited from CommandBase<T>
RawExitCode int
Gets the raw exit code from executing the command line client.
Inherited from CommandBase<T>
RawStandardErrorOutput string
Gets the raw standard error output from executing the command line client.
Inherited from CommandBase<T>
RawStandardOutput string
Gets the raw standard output from executing the command line client.
Inherited from CommandBase<T>
Timeout int
Gets or sets the timeout to use when executing Mercurial commands, in seconds. Default value for all Gui commands is 0, which translates to infinite timeout.
WaitForGuiToClose bool
Gets or sets a value indicating whether to wait for the Gui window to close before returning from the execution method. Default value is true.

Methods

Name Value Summary
AddArgument(string) void
Adds the specified argument to the AdditionalArguments collection, unless it is already present.
Inherited from CommandBase<T>
After(int, string, string) void
This method is called after the command has been executed. You can use this to clean up after the command execution (like removing temporary files), and to react to the exit code from the command line client. If the exit code is considered a failure, this method should throw the correct exception.
Inherited from CommandBase<T>
Before() void
This method is called before the command is executed. You can use this to store temporary files (like a commit message or similar) that the Arguments refer to, before the command is executed.
Inherited from CommandBase<T>
Cleanup() void
Override this method to implement code that will execute after command line execution.
Inherited from CommandBase<T>
EnsureCommandAvailability() void
This method will throw an System.InvalidOperationException if the command is not available in the installed client.
static
EnsurePropertyAvailability(string, GuiClientType) void
This method will throw a System.InvalidOperationException if the "wrong" client type is installed, to signal that a given property on a command object can only be used from a specific client type.
static
ParseStandardOutputForResults(int, string) void
This method should parse and store the appropriate execution result output according to the type of data the command line client would return for the command.
Inherited from CommandBase<T>
Prepare() void
Override this method to implement code that will execute before command line execution.
Inherited from CommandBase<T>
ThrowOnUnsuccessfulExecution(int, string) void
This method should throw the appropriate exception depending on the contents of the exitCode and standardErrorOutput parameters, or simply return if the execution is considered successful.
Inherited from CommandBase<T>
Validate() void
Validates the command configuration. This method should throw the necessary exceptions to signal missing or incorrect configuration (like attempting to add files to the repository without specifying which files to add.)
WithAdditionalArgument(string) T
Adds the value to the AdditionalArguments collection property and returns this instance.
Inherited from CommandBase<T>
WithObserver(IMercurialCommandObserver) T
Sets the Observer property to the specified value and returns this instance.
Inherited from CommandBase<T>
WithTimeout(int) T
Sets the Timeout property to the specified value and returns this instance.
Inherited from CommandBase<T>
WithWaitForGuiToClose(bool) T
Sets the WaitForGuiToClose property to the specified value and returns this command instance.