<?xml version="1.0"?>
<doc>
    <assembly>
        <name>AML.Editor.PluginContracts</name>
    </assembly>
    <members>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.CaptureCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.CaptureCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.CaptureCommandArguments.Image">
            <summary>
                Gets the captured image. If no  image was captured, the value is <c>null</c>.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.SaveCAEXFileCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.SaveFileCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase">
            <summary>
                Some extension methods, which can be used to get access to the commanding interface of a PlugIn
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.CloseCAEXFile(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,Aml.Editor.Plugin.Contracts.Commanding.CloseCAEXFileCommandArguments@)">
            <summary>
                Calls the command, to close the CAEX file.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.SaveCAEXFile(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,Aml.Editor.Plugin.Contracts.Commanding.SaveCAEXFileCommandArguments@)">
            <summary>
                Calls the command, to save the CAEX file.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.GetCAEXFileCommand(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,Aml.Editor.Plugin.Contracts.Commanding.GetCAEXFileCommandArguments@)">
            <summary>
                Calls the command, to get the currently edited CAEX file from the AutomationML editor.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or no current file is loaded. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.CaptureCommand(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,Aml.Editor.Plugin.Contracts.Commanding.CaptureCommandArguments@)">
            <summary>
                Calls the command, to capture the selected tree node and its visible descendants.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or no image has been created. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.ImportLibraries(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,System.String,System.Collections.Generic.List{System.String},System.Boolean,Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments@)">
            <summary>
                Calls the command, to open the CAEX file.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="filePath">The file path.</param>
            <param name="libraryNames">The library names.</param>
            <param name="isSilent">if set to <c>true</c> no user interaction is required.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.NewCAEXFile(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,Aml.Editor.Plugin.Contracts.Commanding.NewCAEXFileCommandArguments@)">
            <summary>
                Calls the command, to create a new CAEX file.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.OpenCAEXFile(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,System.String,Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments@)">
            <summary>
                Calls the command, to open the CAEX file.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="filePath">The file path.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandBase.OpenCAEXFile(Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding,System.IO.Stream,Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments@)">
            <summary>
                Calls the command, to open the CAEX file from a stream.
            </summary>
            <param name="plugIn">The plug in.</param>
            <param name="fileContent">The file content stream.</param>
            <param name="result">The result.</param>
            <returns>
                <c>true</c>, if the operation has been executed successfully; <c>false</c>
                if an Error exists or the operation has been cancelled. Interpret the result output for details.
            </returns>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum">
            <summary>
                The available commands of the AMLEditor, which can be invoked by a PlugIn, implementing the
                <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding" /> interface.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.CloseFileCommand">
            <summary>
                The close file command. Use this command with the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.CloseCAEXFileCommandArguments" /> callback arguments.
                The command executes identical to the close command invoked from the File/Close menu item of the AutomationML
                Editor.
            </summary>
            <remarks>
                Be aware, that this command is a User Interaction and may be cancelled by the user.
            </remarks>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.SaveFileCommand">
            <summary>
                The save file command. Use this command with the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.SaveCAEXFileCommandArguments" /> callback arguments.
                The command executes identical to the save command invoked from the File/Save menu item of the AutomationML Editor.
            </summary>
            <remarks>
                Be aware, that this command is a User Interaction and may be cancelled by the user.
            </remarks>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.OpenFileCommand">
            <summary>
                The open file command. Use this command with the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments" /> callback arguments.
                The command executes nearly identical to the open command invoked from the File/Open menu item, except that
                no open file browser dialogue is presented to the user.
            </summary>
            <remarks>
                Be aware, that this command may include a User Interaction (if a currently opened and modified file has not been
                saved) and may be cancelled by the user.
            </remarks>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.NewFileCommand">
            <summary>
                The new file command. Use this command with the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.NewCAEXFileCommandArguments" /> callback arguments.
                The command executes identical to the close command invoked from the File/New menu item. The new file's CAEX schema
                is set to the currently selected schema.
            </summary>
            <remarks>
                Be aware, that this command may include a User Interaction (if a currently opened and modified file has not been
                saved) and may be cancelled by the user.
            </remarks>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.GetCAEXFileCommand">
            <summary>
                The get current CAEX file command. Use this command with the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.GetCAEXFileCommandArguments" /> callback
                arguments.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.ImportLibrariesCommand">
            <summary>
                The command to insert AML libraries from an external file into the current document. Use this command with the
                <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments" /> callback arguments.
                The command executes nearly identical to the import from file command invoked from the File/ImportFromFile menu
                item, except that
                no selection dialogue is presented to the user, if the command mode is set to silent. In silent mode, libraries are
                automatically transformed if a schema transformation is needed.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.CaptureCommand">
            <summary>
                The command to capture an image from the selected tree node and its visible sub tree. Use this command with the
                <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.CaptureCommandArguments" /> callback arguments.
                The command executes nearly identical to the capture command provided by the editor except the save dialogue. The
                created image is returned to the caller.
                ///
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.CloseCAEXFileCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.CloseFileCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.CommandExecution">
            <summary>
                This delegate type defines the callback function, provided by the AMLEditor to a PlugIn, implementing the
                <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding" /> interface.
            </summary>
            <param name="source">The source PlugIn which calls the delegate.</param>
            <param name="command">The command which should be executed.</param>
            <param name="args">The command arguments.</param>
            <returns></returns>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments">
            <summary>
                This class defines the base command properties for an AMLEditor command.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments.Arguments">
            <summary>
                Gets or sets the input arguments for a command. Specific access properties to the arguments array are provided by
                the derived classes.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments.Cancelled">
            <summary>
                Gets or sets a value indicating whether an interactive operation has been canceled by the user.
            </summary>
            <remarks>
                The PlugIn application should check the Canceled property before accessing any properties in a class derived from
                EditorCommandArguments;
                otherwise, the property will raise an InvalidOperationException if the operation was aborted.
            </remarks>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments.Error">
            <summary>
                Gets a value indicating which error occurred during the operation.
            </summary>
            <remarks>
                If an exception is raised during an operation, the AutomationML editor will assign the exception to the Error
                property.
                The PlugIn application should check the Error property before accessing any properties in a class derived from
                EditorCommandArguments;
                otherwise, the property will raise a TargetInvocationException with its InnerException property holding a reference
                to Error.
                The value of the Error property is null if the operation was completed successful or canceled.
            </remarks>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments.Result">
            <summary>
                Gets the result of the command. Specific type conversions for this property are provided by the derived classes.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.GetCAEXFileCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.GetCAEXFileCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.GetCAEXFileCommandArguments.CaexFile">
            <summary>
                Gets the CAEX file of the current opened AML file. If no file is currently edited, the value is <c>null</c>.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding">
            <summary>
                This interface is a PlugIn interface, that provides a callback function, which can be used to execute commands
                provided by the AMLEditor.
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin" />
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.IEditorCommanding.EditorCommand">
            <summary>
                Property set by the AMLEditor to provide a callback function to a PlugIn, which can be used to execute an editor
                command.
                All available commands are listed in <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum" />. The current implementation only supports
                synchronous
                execution of commands.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.ImportLibrariesCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments.#ctor(System.String,System.Collections.Generic.List{System.String},System.Boolean)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments" /> class.
            </summary>
            <param name="fileName">Name of the file.</param>
            <param name="libraryNames">The library names.</param>
            <param name="silent">if set to <c>true</c> the import command doesn't require a user interaction.</param>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments.FilePath">
            <summary>
                Gets the file path of the AML file, containing the libraries.
            </summary>
            <value>
                The file path.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments.IsSilent">
            <summary>
                Gets a value indicating whether the import command requires a user interaction.
            </summary>
            <value>
                <c>true</c> if this instance is silent; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.ImportLibrariesCommandArguments.LibraryNames">
            <summary>
                Gets the library names, which should be imported
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.NamespaceDoc">
            <summary>
                The Aml.Editor.Plugin.Commanding name space contains a specific PlugIn Interface class to enable a PlugIn to call a
                specific command of the AMLEditor using a callback function. Each command has an assigned command argument class,
                which
                should be used with the command.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.NewCAEXFileCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.NewFileCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments">
            <summary>
                The command arguments for the <see cref="F:Aml.Editor.Plugin.Contracts.Commanding.AMLEditorCommandEnum.OpenFileCommand" />
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.Commanding.EditorCommandArguments" />
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments" /> class.
            </summary>
            <param name="filePath">The file path, which defines the path to the file which should be opened in the editor.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments.#ctor(System.IO.Stream)">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments" /> class.
            </summary>
            <param name="fileContent">The file path, which defines the path to the file which should be opened in the editor.</param>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments.FilePath">
            <summary>
                Gets the file path for the Opened file.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.Commanding.OpenFileCommandArguments.FileContent">
            <summary>
                Gets the file content as a stream for the Opened file.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.Base.NamespaceDoc">
            <summary>
                The Aml.Editor.Plugin.Contracts.Base name space contains abstract Base Classes for AutomationML
                Editor PlugIn Developers which implement some basic Functionality for PlugIns.
                Example Implementations, that may be used as a starting point for PlugIn Development
                are available on
                <a href="https://github.com/AutomationML/AMLEditorPlugin/tree/master/Templates">
                    the
                    Aml.Editor.Plugin
                </a>
                Project side for Developers.
            </summary>
            <remarks>
                To get a PlugIns loaded into the AutomationML Editor at startup the DLLs have to be put in the PlugIns
                Folder in the Execution Directory of the Editor. Only the AutomationML Editor Version 4 and
                higher supports 3d Party PlugIns. Every PlugIn shall use the same version of the Aml.Engine as the
                used Aml.Editor version.
            </remarks>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.DockPositionEnum">
            <summary>
                This enum defines the possible docking positions for a plugIn window, when it is layouted by the Editors
                Docking manager.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockLeft">
            <summary>
                The initial position is the left tabular docking pane
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockRight">
            <summary>
                The initial position is the right tabular docking pane
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockBottom">
            <summary>
                The initial position is the bottom tabular docking pane
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockTop">
            <summary>
                The initial position is the top tabular docking pane
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockContent">
            <summary>
                The initial position is the content host containing also the library views
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.DockContentMaximized">
            <summary>
                The initial position is the content host containing also the library views. The existing library views are set to
                the maximized window.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.DockPositionEnum.Floating">
            <summary>
                The plugIn window is viewed as a floating window
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin">
            <summary>
                This interface can be implemented by plugIns, which are used to view external data, referenced by external data
                connectors in an AutomationML file or stream.
            </summary>
            <seealso cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin" />
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.IsExternalsViewer">
            <summary>
                Gets a value indicating whether this PlugIn is an externals viewer. An external viewer is provided
                with a selected external data source like a PLCopenXML document or a COLLADA document or any other
                content. An external viewer can restrict itself to a specific MIME type <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.MIMEType" />.
                If any external content is ready to be viewed, the AML Editors calls the
                <see cref="M:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.ViewExternal(Aml.Engine.AmlObjects.RefURIAttributeType,System.IO.Stream)"></see> or
                <see cref="M:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.ViewExternal(Aml.Engine.AmlObjects.RefURIAttributeType,System.String)"></see>.
            </summary>
            <value>
                <c>true</c> if this instance is externals viewer; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.MIMEType">
            <summary>
                Gets the MIME type defining the content class, this viewer is able to handle. The AML editor looks at the
                MIME type, found in the external reference or AutomationML container relation. As an example, the MIME type in
                the <see cref="F:Aml.Engine.AmlObjects.AutomationMLContainer.RelationshipType.Collada"></see> is
                set to "model/vnd.collada+xml".
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.ViewExternal(Aml.Engine.AmlObjects.RefURIAttributeType,System.String)">
            <summary>
                This method is called by the AML editor if the PlugIn's property <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.IsExternalsViewer"></see>
                returns <c>true</c> and the URI attribute references a file.
            </summary>
            <param name="attribute">The attribute.</param>
            <param name="filePath">The file path.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.ViewExternal(Aml.Engine.AmlObjects.RefURIAttributeType,System.IO.Stream)">
            <summary>
                This method is called by the AML editor if the PlugIn's property <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorExternalsPlugin.IsExternalsViewer"></see>
                returns <c>true</c> and the URI attribute references a stream in an AutomationML container.
            </summary>
            <param name="attribute">The attribute.</param>
            <param name="memoryStream">The memory stream.</param>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin">
            <summary>
                InterfaceClass for any AutomationML Editor PlugIn.
                The AutomationML Editor is the Host Application for any PlugIn, which implements this interface.
                The PlugIn implementing this interface will typically run it's own user interface thread. For an
                integrated UI-PlugIn, which will be controlled by the AutomationML Editors Main UI-Thread the
                <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorView" />-Interface Contract has to be used.
            </summary>
            <example>
                <code>
            [ExportMetadata("Author", "...")]
            [ExportMetadata("DisplayName", "HelloAml")]
            [ExportMetadata("Description", "The 'HelloAml' is an AutomationML Editor plugin, which ....")]
            [Export(typeof(IAMLEditorPlugin))]
            public class HelloAml : IAMLEditorPlugin
            {
            }
            </code>
            </example>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.PluginActivated">
            <summary>
                The Event occurs when the PlugIn is Activated (for example via an Activation Command).
                This event is raised by the PlugIn and handled by the AutomationML Editor. If the PlugIn
                has a UI-Control, the AutomationML Editor will show the UI and dock the Control in a
                Container Window, used for external Views.
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.PluginTerminated">
            <summary>
                Occurs when the PlugIn is terminated (some UserInteraction inside the PlugIn, i. e. a
                Window is Closed, or via a Command). This event is raised by the PlugIn and handled by
                the AutomationML Editor. If the PlugIn is a UI-Control <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorView" />, the
                control is removed from the Container Window. The State of the currently open AutomationML
                Document is checked, and if it was modified, the User will be asked to reload it.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ActivatePlugin">
            <summary>
                Gets the Activation command for the PlugIn.
            </summary>
            <value>The activation command.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.Commands">
            <summary>
                Gets the List of commands, which are bound to the PlugIn Menu in the AutomationML
                Editor. The Command Names are shown in a sub-Menu in the PlugIn-Menu.
            </summary>
            <value>The commands.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.DisplayName">
            <summary>
                Gets the display name which is shown in the PlugIn Menu in the AutomationML Editor.
            </summary>
            <value>The display name.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsActive">
            <summary>
                Gets a value indicating whether this instance is active.
            </summary>
            <value><c>true</c> if this instance is active; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsAutoActive">
            <summary>
                Gets or sets a value indicating whether this instance is automatic active when loaded.
                This value can be initially set and will be defined by the user.
            </summary>
            <value>
                <c>true</c> if this instance is automatic active; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsReactive">
            <summary>
                Gets a value indicating whether this instance is reactive. Reactive PlugIn will be
                notified, when the actual CAEX-Object changes (Selection of any Tree view Item in an
                AutomationML TreeView) via the <see cref="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ChangeSelectedObject(Aml.Engine.CAEX.CAEXBasicObject)" /> Method or an
                AutomationML File is opened via the <see cref="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ChangeAMLFilePath(System.String)" /> Method.
            </summary>
            <value><c>true</c> if this instance is reactive; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsReadonly">
            <summary>
                Gets a value indicating whether this instance is read only. A Read only PlugIn should not
                change any CAEX Objects.
            </summary>
            <value><c>true</c> if this instance is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.PackageName">
            <summary>
                Gets the package name which is used to download the PlugIn package from a NuGet feed. If a Package name
                is defined, the AMLEditor can update PlugIn packages independently from its own update cycle.
            </summary>
            <value>The package name.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.TerminatePlugin">
            <summary>
                Gets the Terminate command for the PlugIn.
            </summary>
            <value>The terminate command.</value>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ChangeAMLFilePath(System.String)">
            <summary>
                Changes the current amlFilePath. The Host Application will call this method when the
                PlugIns <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsReactive" /> Property is set to true and the Currently opened
                AutomationML File changes in the AMLEditor Host Application.
            </summary>
            <param name="amlFilePath">The Path to the current AML File in the AML Editor.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ChangeSelectedObject(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Changes the selected object. The Host Application will call this method when the PlugIns
                <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsReactive" /> Property is set to true and the Current Selection changes in
                the AMLEditor Host Application.
            </summary>
            <param name="selectedObject">The selected CAEX - object.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.ExecuteCommand(Aml.Editor.Plugin.Contracts.PluginCommandsEnum,System.String)">
            <summary>
                This Method enables the AutomationML Editor to execute a command. Only those commands
                are executable, which are identifiable via the <see cref="T:Aml.Editor.Plugin.Contracts.PluginCommandsEnum" />.
            </summary>
            <param name="command">The command identifier.</param>
            <param name="amlFilePath">
                The FilePath of the currently loaded AMLDocument, if a CAEXDocument is loaded, otherwise null
                or empty
            </param>
            <example>
                <code>
            // ...
            switch (command)
               {
                   case PluginCommandsEnum.Activate:
                       // activation code;
                       // call your ActivateCommand execution method
            
                       ActivateCommand.Execute (amlFilePath);
                       break;
            
                   case PluginCommandsEnum.Terminate:
            
                       // termination code;
                       // call your TerminateCommand execution method
                       // the Execution Method of the PlugIn may save the changes of the AMLDocument if it was edited by the plugIn.
                       // It should raise the PluginTerminated Event. This Event is handled by the AMLEditor, the Editor will
                       // check, if the Document was modified and ask the user to reload the document. The Editor will also return
                       // to editing mode if it was disabled during activation.
            
                       TerminateCommand.Execute (amlFilePath);
                       break;
               }
            </code>
            </example>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.PublishAutomationMLFileAndObject(System.String,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                PublishAutomationMLFileAndObject after the PlugIn is activated. This Method is called by
                the AutomationML Editor when the <see cref="E:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.PluginActivated" /> Event is handled. The
                AutomationML Editor will send the actual Path of the AutomationML File and the actual
                selected Object to the PlugIn, when an AutomationML File is currently open. If the
                Activation happened, when no AutomationML File was opened so far, the PlugIn will be
                informed as soon as this will happen, but only if the <see cref="P:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin.IsReactive" /> Flag is set to true.
            </summary>
            <param name="amlFilePath">   The AML file path.</param>
            <param name="selectedObject">The selected CAEX Object.</param>
            <example>
                <code>
            // To Load the content of the AutomationML Document the AmlEngine can be used
            var document = CAEXDocument.LoadFromFile (amlFilePath);        ///
            </code>
            </example>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IAMLEditorPluginMetadata">
            <summary>
                Interface which defines Metadata for an exported PlugIn.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPluginMetadata.Author">
            <summary>
                Gets the name of the author.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPluginMetadata.Owner">
            <summary>
                Gets the name of the owner.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPluginMetadata.Description">
            <summary>
                Gets the description of the PlugIn.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorPluginMetadata.DisplayName">
            <summary>
                Gets the display name of the PlugIn.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IAMLEditorView">
            <summary>
                The Interface IAMLEditorView is used for a PlugIn, which can be embedded in
                the AutomationML Editor's Window- and Docking-Manager. The PlugIn must implement the
                IFrameworkInputElement Interface (as an example, a WPF UserControl) and
                the <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin" /> Interface. For windows, based on <see cref="N:System.Windows.Forms" /> ,
                the view must have a <see cref="T:System.Windows.Forms.Integration.WindowsFormsHost"></see> wrapper.
            </summary>
            <example>
                <code>
            [ExportMetadata("Author", "...")]
            [ExportMetadata("DisplayName", "HelloAml")]
            [ExportMetadata("Description", "The 'HelloAml' is an AutomationML Editor plugin, which ....")]
            [Export(typeof(IAMLEditorView))]
             public partial class HelloAml : System.Windows.Control.UserControl, IAMLEditorView
            {
            }
            </code>
            </example>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorView.CanClose">
            <summary>
                Gets a value indicating whether this PlugIn Instance can close. If set to true,
                the PlugIn may be closed from the AutomationML Docking Manger Window Menu or the
                Windows Close Button.
            </summary>
            <value><c>true</c> if this instance can close; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorView.InitialDockPosition">
            <summary>
                Gets the initial dock position for the PlugIn window
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IAMLEditorView.PaneImage">
            <summary>
                Gets the image which should be used in the Header of the PlugIn window. If no image is defined the editor uses a
                default image.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IAMLEditorViewCollection">
            <summary>
                The Interface IAMLEditorViewCollection is used for a PlugIn, which can be embedded in
                the AutomationML Editor's Window- and Docking-Manager. This PlugIn can provide
                multiple independent views, to be embedded at different positions in the AML Editor where
                each of the views shall implement the <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorView" /> interface.
                It is possible to dynamically add and remove views from the collection while the PlugIn is
                active.
            </summary>
            <remarks>
                The individual views in this collection shall not export themselves as PlugIns because
                the Activation and Termination is handled by this collection PlugIn for all views in the
                list as a whole.
            </remarks>
            <example>
                <code>
            [ExportMetadata("Author", "...")]
            [ExportMetadata("DisplayName", "MultiWindowPlugin")]
            [ExportMetadata("Description", "The 'MultiWindowPlugin' is an AutomationML Editor plugin, which ....")]
            [Export(typeof(IAMLEditorViewCollection))]
             public partial class MultiWindowPlugin : List&lt;IAMLEditorView&gt;
            {
            }
            </code>
            </example>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.IAMLEditorViewCollection.ViewAdded">
            <summary>
                The Event occurs when a view has been added to this collection. The AML editor will handle this event and
                will dock the added view at the dock position, defined by the view.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentLoad">
            <summary>
                This PlugIn interface can be implemented to get notifications when an AML document
                is loaded or unloaded by the AutomationML editor.
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentLoad.IsDocumentLoaded">
            <summary>
                Occurs when the PlugIn has loaded a new document, which should be loaded into the AutomationML editor for editing.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentLoad.ApplicationClose">
            <summary>
                Method called by the AutomationML editor, when the editor application is closed.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentLoad.DocumentLoaded(Aml.Engine.CAEX.CAEXDocument)">
            <summary>
                Method called by the AutomationML editor, when a document is loaded.
            </summary>
            <param name="document">The loaded document</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentLoad.DocumentUnLoaded">
            <summary>
                Method called by the AutomationML editor, when the current document is unloaded.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentSaved">
            <summary>
                This PlugIn interface can be implemented to get notifications when an AML document
                is saved by the AutomationML editor.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.INotifyAMLDocumentSaved.DocumentSaved(System.String)">
            <summary>
                Method called by the AutomationML editor, when the editor saved a document
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.INotifyViewActivation">
            <summary>
                This interfaces is used to implement a PlugIn which will receive a notification with the <see cref="M:Aml.Editor.Plugin.Contracts.INotifyViewActivation.Activate(System.String)" />
                method called, when the AMLEditor activates a view.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.INotifyViewActivation.Activate(System.String)">
            <summary>
                Is called, when the AMLEditor activates a view.
            </summary>
            <param name="viewName">Name of the activated view. This is the display name shown in the view tab header.</param>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.ISupportsUIZoom">
            <summary>
                This interface can be implemented by a PlugIn to get the AutomationML editor to notify
                the plugin when the UI zoom factor changes.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.ISupportsUIZoom.OnUIZoomChanged(System.Double)">
            <summary>
                The event which is raised when an element should be selected.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.ApplicationTheme">
            <summary>
            Supported application themes of the AML Editor. 
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.Default">
            <summary>
            The default theme
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.Office2010Blue">
            <summary>
            The office2010 blue theme
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.Office2013">
            <summary>
            The office2013 theme
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.Metro">
            <summary>
            The metro theme
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.RoyalLight">
            <summary>
            The royal light theme
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.ApplicationTheme.NoTheme">
            <summary>
            No theme defined
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.ISupportsThemes">
            <summary>
                This interface can be implemented by a PlugIn which needs a notification when the editor
                theme changes.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.ISupportsThemes.OnThemeChanged(Aml.Editor.Plugin.Contracts.ApplicationTheme)">
            <summary>
            Called when the editors theme changes.
            </summary>
            <param name="theme">Name of the theme.</param>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.ISupportsSelection">
            <summary>
                This interface can be implemented by a PlugIn to get the AutomationML editor to select a
                CAEX element in a tree view when the <see cref="E:Aml.Editor.Plugin.Contracts.ISupportsSelection.Selected" /> event is raised.
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.ISupportsSelection.Selected">
            <summary>
                The event which is raised when an element should be selected.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.SelectionEventArgs">
            <summary>
                The event arguments for the selection event <see cref="E:Aml.Editor.Plugin.Contracts.ISupportsSelection.Selected" />.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.SelectionEventArgs.#ctor(Aml.Engine.CAEX.ICAEXWrapper)">
            <summary>
                Creates an instance of the <see cref="T:Aml.Editor.Plugin.Contracts.SelectionEventArgs" /> for the
                specified <paramref name="selectedElement" />.
            </summary>
            <param name="selectedElement">This element should be selected by the AutomationML editor.</param>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.SelectionEventArgs.SelectedElement">
            <summary>
                The element to select.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.IToolBarIntegration">
            <summary>
                This interface can be implemented by PlugIns which provide <see cref="P:Aml.Editor.Plugin.Contracts.IToolBarIntegration.ToolBarCommands" />, integrated into the
                AMLEditors tool bar.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.IToolBarIntegration.ToolBarCommands">
            <summary>
                Gets the commands to be integrated into the tool bar. The commands shall specify an image source for the tool bar
                button.
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.NamespaceDoc">
            <summary>
                The Aml.Editor.Plugin.Contracts Namespace contains Classes and Interfaces for AutomationML
                Editor PlugIn Developers. The Interface Classes should be used as MEF Contracts, that
                matches Import and Export components, defined by Import and Export Attributes, at runtime.
                An AutomationML Editor PlugIn will export the components, implementing the Interfaces in the
                Contract DLL and the AutomationML Editor imports those components. The Contracts DLL is
                managed on <a href="https://www.nuget.org/packages/Aml.Editor.Plugin.Contract/">nuget.</a>
            </summary>
            <remarks>
                All PlugIns which export an interface are loaded into the AutomationML Editor at startup
                only. If the AutomationML Editor restarts after a crash, no PlugIns are loaded, because the
                crash may be caused by a PlugIn. To get a PlugIn loaded, the DLLs have to be in the PlugIns
                Folder in the Execution Directory of the Editor. Only the AutomationML Editor Version 4 and
                higher supports 3d Party PlugIns.
            </remarks>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.PluginCommand">
            <summary>
                Class PluginCommand is used to publish Commands from a PlugIn to the AutomationML Editor.
            </summary>
            <remarks>
                Since version 2.2.0 the PluginCommand implements the ICommand interface. The
                AutomationML Editor > v5.1.3 binds UI commanding elements directly to this instance and
                not to the <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.Command" /> property. The Execution methods defined by the
                command property are indirectly called. This allows the PluginCommand to catch exceptions of
                Command execution.
            </remarks>
            <seealso cref="T:System.ComponentModel.INotifyPropertyChanged" />
            <seealso cref="T:System.Windows.Input.ICommand" />
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.PluginCommand.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Contracts.PluginCommand" /> class.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothing">
            <summary>
                The DoNothing - Command
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._command">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.Command" />
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._commandName">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandName" />
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._commandToolTip">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandToolTip" />
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._doNothing">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothing" />
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._isCheckable">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.IsCheckable" />
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommand._isChecked">
            <summary>
                <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.IsChecked" />
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.PluginCommand.PropertyChanged">
            <summary>
                Occurs when a property value changes
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.PluginCommand.CanExecuteChanged">
            <summary>
                Occurs when changes occur that affect the execution of the command
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.Command">
            <summary>
                Gets or sets the command, as an example a <see cref="T:Aml.Editor.Plugin.Contracts.RelayCommand`1" />. A Command
                Parameter is set to the FilePath of the Active AMLDocument if a document is loaded,
                otherwise it is null or empty.
            </summary>
            <value>The command.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandIcon">
            <summary>
                Gets or sets the command icon which should be used, if the command is bound to a button control.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandButtonContent">
            <summary>
                Gets or sets the button content which should be used, if the command is bound to a button control.
                This is an alternative to the <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandIcon" /> property if the button content is not an icon
                but any content. The content will be loaded to the Button using a content presenter.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandName">
            <summary>
                Gets or sets the name of the command used by the AutomationML Editor to show the Command
                in the PlugIn Menu
            </summary>
            <value>The name of the command.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandToolTip">
            <summary>
                Gets or sets the command tool tip
            </summary>
            <value>The command tool tip.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.DisplayName">
            <summary>
                Gets the display name (This returns only the <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.CommandName" />).
                A DisplayName Property is needed to bind the CommandName to UI controls.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.IsCheckable">
            <summary>
                Gets or sets a value indicating whether this instance is a checkable command. Checkable
                Commands get a Check Box in the MenuItem
            </summary>
            <value><c>true</c> if this instance is checkable command; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.PluginCommand.IsChecked">
            <summary>
                Gets or sets a value indicating whether this instance is a toggle command. Toggle
                Commands get a Check Box in the MenuItem
            </summary>
            <value><c>true</c> if this instance is toggle command; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothingCanExecute(System.Object)">
            <summary>
                Test, if the <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothing" /> can execute.
            </summary>
            <param name="parameter">TODO The parameter.</param>
            <returns>true, if command can execute</returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothingExecute(System.Object)">
            <summary>
                The <see cref="P:Aml.Editor.Plugin.Contracts.PluginCommand.DoNothing" /> Execution Action.
            </summary>
            <param name="parameter">TODO The parameter.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.PluginCommand.OnPropertyChanged(System.String)">
            <summary>
                Called when [property changed].
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.PluginCommandsEnum">
            <summary>
                Enumeration Constants for Plugin Commands. This Constants are used in the Host AutomationML Editor Application
                to Execute a Plugin internal command. The Plugin should at least publish these commands to the Host via its command
                list.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommandsEnum.Activate">
            <summary>
                Identifies the activate command
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.PluginCommandsEnum.Terminate">
            <summary>
                Identifies the terminate command
            </summary>
        </member>
        <member name="T:Aml.Editor.Plugin.Contracts.RelayCommand`1">
            <summary>
                Class RelayCommand as it was defined in an MSDN Article
                <a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx#id0090030">by Josh Smith.</a>
                This class is an implementation pattern for a plugin command, which the AutomationML Editor
                can bind to a plugin Menu. This Implementation provides the UI with the state information, to enabled or disable a
                command, and with the
                invocation Method.
            </summary>
            <typeparam name="T">Type of Command Data (this may be the System type 'object')</typeparam>
        </member>
        <member name="P:Aml.Editor.Plugin.Contracts.RelayCommand`1.Identifier">
            <summary>
                Gets or sets the identifier for the command, when the command is published by the plugin
                class, the Identifier can be set as an <see cref="T:Aml.Editor.Plugin.Contracts.PluginCommand" />
            </summary>
            <value>The identifier.</value>
        </member>
        <member name="E:Aml.Editor.Plugin.Contracts.RelayCommand`1.CanExecuteChanged">
            <summary>
                Occurs, when property changes are notified, which have an effect on the command execution.
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.RelayCommand`1._canExecute">
            <summary>
                The _can execute
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Contracts.RelayCommand`1._execute">
            <summary>
                The _execute
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.RelayCommand`1.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Contracts.RelayCommand`1" /> class.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.RelayCommand`1.#ctor(System.Action{`0},System.Predicate{`0})">
            <summary>
                Creates a new command.
            </summary>
            <param name="execute">   The execution logic.</param>
            <param name="canExecute">The execution status logic.</param>
            <exception cref="T:System.ArgumentNullException">execute</exception>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.RelayCommand`1.CanExecute(System.Object)">
            <summary>
                Defines the method used to determine whether the command in the current state can be performed.
            </summary>
            <param name="parameter">
                Data used from the command. When the command does not require data transfer, the object
                can be set to null.
            </param>
            <returns>true, if the command can be executed, otherwise false.</returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Contracts.RelayCommand`1.Execute(System.Object)">
            <summary>
                Defines the method that will be called when the command is invoked.
            </summary>
            <param name="parameter">
                Data used from the command. When the command does not require data transfer, the object
                can be set to null.
            </param>
        </member>
        <member name="T:Aml.Editor.Plugin.Base.PluginBase">
            <summary>
                PluginBase is an abstract base class for PlugIn Implementation which is a basic implementation of the
                <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorPlugin" />
                PlugIn Interface
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Base.PluginBase._displayName">
            <summary>
                The Display name
            </summary>
        </member>
        <member name="F:Aml.Editor.Plugin.Base.PluginBase.commands">
            <summary>
                The PlugIn commands which are shown in the PlugIn Menu.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:Aml.Editor.Plugin.Base.PluginBase" /> class which contains the two PlugIn Commands
                <see cref="P:Aml.Editor.Plugin.Base.PluginBase.ActivatePlugin" /> and <see cref="P:Aml.Editor.Plugin.Base.PluginBase.TerminatePlugin" /> which every PlugIn should have.
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Base.PluginBase.PluginActivated">
            <summary>
                The Event occurs when the PlugIn is Activated (for example via an Activation Command).
                This event is raised by the PlugIn and handled by the AutomationML Editor. If the PlugIn
                has a UI-Control, the AutomationML Editor will show the UI and dock the Control in a
                Container Window, used for external Views.
            </summary>
        </member>
        <member name="E:Aml.Editor.Plugin.Base.PluginBase.PluginTerminated">
            <summary>
                Occurs when the PlugIn is terminated (some UserInteraction inside the PlugIn, i. e. a
                Window is Closed, or via a Command). This event is raised by the PlugIn and handled by
                the AutomationML Editor. If the PlugIn is a UI-Control <see cref="T:Aml.Editor.Plugin.Contracts.IAMLEditorView" />, the
                control is removed from the Container Window. The State of the currently open AutomationML
                Document is checked, and if it was modified, the User will be asked to reload it.
            </summary>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.ActivatePlugin">
            <summary>
                Gets the Activation command for the PlugIn.
            </summary>
            <value>
                The activation command.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.Commands">
            <summary>
                Gets the List of commands, which are bound to the PlugIn Menu in the AutomationML
                Editor. The Command Names are shown in a sub-Menu in the PlugIn-Menu.
            </summary>
            <value>
                The commands.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.DisplayName">
            <summary>
                Gets the display name which is shown in the PlugIn Menu in the AutomationML Editor.
            </summary>
            <value>
                The display name.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.IsActive">
            <summary>
                Gets a value indicating whether this instance is active.
            </summary>
            <value><c>true</c> if this instance is active; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.IsAutoActive">
            <summary>
                Gets or sets a value indicating whether this instance is automatic active when loaded.
                This value can be initially set and will be defined by the user.
            </summary>
            <value>
                <c>true</c> if this instance is automatic active; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.IsReactive">
            <summary>
                Gets a value indicating whether this instance is reactive. Reactive PlugIn will be
                notified, when the actual CAEX-Object changes (Selection of any Tree view Item in an
                AutomationML TreeView) via the <see cref="M:Aml.Editor.Plugin.Base.PluginBase.ChangeSelectedObject(Aml.Engine.CAEX.CAEXBasicObject)" /> Method or an
                AutomationML File is opened via the <see cref="M:Aml.Editor.Plugin.Base.PluginBase.ChangeAMLFilePath(System.String)" /> Method.
            </summary>
            <value>
                <c>true</c> if this instance is reactive; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.IsReadonly">
            <summary>
                Gets a value indicating whether this instance is read only. A Read only PlugIn should not
                change any CAEX Objects.
            </summary>
            <value>
                <c>true</c> if this instance is read only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.PackageName">
            <summary>
                Gets the package name which is used to download the PlugIn package from a NuGet feed. If a Package name
                is defined, the AMLEditor can update PlugIn packages independently from its own update cycle.
            </summary>
            <value>
                The package name.
            </value>
        </member>
        <member name="P:Aml.Editor.Plugin.Base.PluginBase.TerminatePlugin">
            <summary>
                Gets the Terminate command for the PlugIn.
            </summary>
            <value>
                The terminate command.
            </value>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.ChangeAMLFilePath(System.String)">
            <summary>
                Changes the current amlFilePath. The Host Application will call this method when the
                PlugIns <see cref="P:Aml.Editor.Plugin.Base.PluginBase.IsReactive" /> Property is set to true and the Currently opened
                AutomationML File changes in the AMLEditor Host Application.
            </summary>
            <param name="amlFilePath">The Path to the current AML File in the AML Editor.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.ChangeSelectedObject(Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                Changes the selected object. The Host Application will call this method when the PlugIns
                <see cref="P:Aml.Editor.Plugin.Base.PluginBase.IsReactive" /> Property is set to true and the Current Selection changes in
                the AMLEditor Host Application.
            </summary>
            <param name="selectedObject">The selected CAEX - object.</param>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.ExecuteCommand(Aml.Editor.Plugin.Contracts.PluginCommandsEnum,System.String)">
            <summary>
                This Method enables the AutomationML Editor to execute a command. Only those commands
                are executable, which are identifiable via the <see cref="T:Aml.Editor.Plugin.Contracts.PluginCommandsEnum" />.
            </summary>
            <param name="command">The command identifier.</param>
            <param name="amlFilePath">
                The FilePath of the currently loaded AMLDocument, if a CAEXDocument is loaded, otherwise null
                or empty
            </param>
            <example>
                <code>
            // ...
            switch (command)
            {
            case PluginCommandsEnum.Activate:
            // activation code;
            // call your ActivateCommand execution method
            ActivateCommand.Execute (amlFilePath);
            break;
            case PluginCommandsEnum.Terminate:
            // termination code;
            // call your TerminateCommand execution method
            // the Execution Method of the PlugIn may save the changes of the AMLDocument if it was edited by the PlugIn.
            // It should raise the PluginTerminated Event. This Event is handled by the AMLEditor, the Editor will
            // check, if the Document was modified and ask the user to reload the document. The Editor will also return
            // to editing mode if it was disabled during activation.
            TerminateCommand.Execute (amlFilePath);
            break;
            }
            </code>
            </example>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.PublishAutomationMLFileAndObject(System.String,Aml.Engine.CAEX.CAEXBasicObject)">
            <summary>
                PublishAutomationMLFileAndObject after the PlugIn is activated. This Method is called by
                the AutomationML Editor when the <see cref="E:Aml.Editor.Plugin.Base.PluginBase.PluginActivated" /> Event is handled. The
                AutomationML Editor will send the actual Path of the AutomationML File and the actual
                selected Object to the PlugIn, when an AutomationML File is currently open. If the
                Activation happened, when no AutomationML File was opened so far, the PlugIn will be
                informed as soon as this will happen, but only if the <see cref="P:Aml.Editor.Plugin.Base.PluginBase.IsReactive" /> Flag is set to true.
            </summary>
            <param name="amlFilePath">The AML file path.</param>
            <param name="selectedObject">The selected CAEX Object.</param>
            <example>
                <code>
            // To Load the content of the AutomationML Document the AmlEngine can be used
            var document = CAEXDocument.LoadFromFile (amlFilePath);        </code>
            </example>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.ActivateCommandCanExecute(System.Object)">
            <summary>
                Test, if the <see cref="P:Aml.Editor.Plugin.Base.PluginBase.ActivatePlugin" /> can execute.
            </summary>
            <param name="parameter">
                parameter may contain the FilePath of the Active AMLDocument if a document is loaded,
                otherwise it is null or empty
            </param>
            <returns>true, if command can execute</returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.ActivateCommandExecute(System.Object)">
            <summary>
                The <see cref="P:Aml.Editor.Plugin.Base.PluginBase.ActivatePlugin" /> Execution Action. The <see cref="P:Aml.Editor.Plugin.Base.PluginBase.IsActive" /> Property is set to true and
                the <see cref="E:Aml.Editor.Plugin.Base.PluginBase.PluginActivated" /> Event is raised.
            </summary>
            <param name="parameter">
                parameter may contain the FilePath of the Active AMLDocument if a document is loaded,
                otherwise it is null or empty
            </param>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.RaisePluginActivated">
            <summary>
                Raises the PlugIn activated.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.RaisePluginTerminated">
            <summary>
                Raises the PlugIn terminated.
            </summary>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.TerminateCommandCanExecute(System.Object)">
            <summary>
                Test, if the <see cref="P:Aml.Editor.Plugin.Base.PluginBase.TerminatePlugin" /> can execute.
            </summary>
            <param name="parameter">
                parameter may contain the FilePath of the Active AMLDocument if a document is loaded,
                otherwise it is null or empty
            </param>
            <returns>true, if command can execute</returns>
        </member>
        <member name="M:Aml.Editor.Plugin.Base.PluginBase.TerminateCommandExecute(System.Object)">
            <summary>
                The <see cref="P:Aml.Editor.Plugin.Base.PluginBase.TerminatePlugin" /> Execution Action. The <see cref="P:Aml.Editor.Plugin.Base.PluginBase.IsActive" /> Property is set to false and
                the <see cref="E:Aml.Editor.Plugin.Base.PluginBase.PluginTerminated" /> Event is raised.
            </summary>
            <param name="parameter">
                parameter may contain the FilePath of the Active AMLDocument if a document is loaded,
                otherwise it is null or empty
            </param>
        </member>
    </members>
</doc>
