Provides information for a command that needs to be run.
NodeXL uses the "chain of responsibility" pattern for sending commands from one UI object to another -- from the Ribbon to the TaskPane, for example, and from the TaskPane to the workbook. With this pattern, the sender sends a command to one or more receivers without knowing which receiver will handle the command.

In NodeXL's case, .NET's standard event mechanism is used to send and receive the commands. A command is distinguished by a class derived from this RunCommandEventArgs base class. The derived class may include event information as properties when necessary. A command receiver, which implements a RunCommandEventHandler method, determines which command needs to be run by checking the derived type of the RunCommandEventArgs object that gets passed to the method.

The CommandDispatcher static class is used by senders to send commands. Receivers receive commands by subscribing to the CommandDispatcher.CommandDispatcher.CommandSent event.

Inheritance: System.EventArgs
    SendCommand
    (
        Object sender,
        RunCommandEventArgs runCommandEventArgs
    )
    {
        Debug.Assert(sender != null);
        Debug.Assert(runCommandEventArgs != null);

        RunCommandEventHandler oCommandSent = CommandSent;

        if (oCommandSent != null)
        {
            oCommandSent(sender, runCommandEventArgs);
        }
    }
Ejemplo n.º 2
0
    CommandDispatcher_CommandSent
    (
        Object sender,
        RunCommandEventArgs e
    )
    {
        Debug.Assert(e != null);
        AssertValid();

        if (
            oNodeXLControl.IsLayingOutGraph
            ||
            !m_oThisWorkbook.ExcelApplicationIsReady(false)
            )
        {
            return;
        }

        if (e is RunNoParamCommandEventArgs)
        {
            switch ( ( (RunNoParamCommandEventArgs)e ).NoParamCommand )
            {
                case NoParamCommand.ShowDynamicFilters:

                    ShowDynamicFilters();
                    break;

                case NoParamCommand.ReadWorkbook:

                    ReadWorkbook();
                    break;

                case NoParamCommand.EditLayoutUserSettings:

                    EditLayoutUserSettings();
                    break;

                case NoParamCommand.ShowReadabilityMetrics:

                    ShowReadabilityMetrics();
                    break;

                case NoParamCommand.ExportToNodeXLGraphGallery:

                    ExportToNodeXLGraphGallery();
                    break;

                case NoParamCommand.ExportToEmail:

                    ExportToEmail();
                    break;

                case NoParamCommand.LoadUserSettings:

                    LoadUserSettings();
                    break;

                case NoParamCommand.SaveUserSettings:

                    SaveUserSettings();
                    break;

                case NoParamCommand.ShowGraphLegend:

                    this.ShowGraphLegend = true;
                    break;

                case NoParamCommand.HideGraphLegend:

                    this.ShowGraphLegend = false;
                    break;

                case NoParamCommand.ShowGraphAxes:

                    this.ShowGraphAxes = true;
                    break;

                case NoParamCommand.HideGraphAxes:

                    this.ShowGraphAxes = false;
                    break;

                case NoParamCommand.UpdateLayout:

                    OnLayoutChanged(m_oRibbon.Layout);
                    break;

                case NoParamCommand.AutomateTasks:

                    AutomateTasks();
                    break;

                case NoParamCommand.AutomateThisWorkbook:

                    AutomateThisWorkbook();
                    break;

                default:

                    break;
            }
        }
        else if (e is RunCollapseOrExpandGroupsCommandEventArgs)
        {
            if (!this.NonEmptyWorkbookRead)
            {
                return;
            }

            RunCollapseOrExpandGroupsCommandEventArgs
                oRunCollapseOrExpandGroupsCommandEventArgs =
                (RunCollapseOrExpandGroupsCommandEventArgs)e;

            CollapseOrExpandGroups(
                oRunCollapseOrExpandGroupsCommandEventArgs.GroupNames,
                oRunCollapseOrExpandGroupsCommandEventArgs.Collapse, true);
        }
        else if (e is RunEdgeCommandEventArgs)
        {
            RunEdgeCommand( (RunEdgeCommandEventArgs)e );
        }
        else if (e is RunVertexCommandEventArgs)
        {
            RunVertexCommand( (RunVertexCommandEventArgs)e );
        }
    }
Ejemplo n.º 3
0
    CommandDispatcher_CommandSent
    (
        Object sender,
        RunCommandEventArgs e
    )
    {
        Debug.Assert(e != null);
        AssertValid();

        if ( !Globals.ThisWorkbook.ExcelApplicationIsReady(false) )
        {
            return;
        }

        if (e is RunSetVisualAttributeCommandEventArgs)
        {
            SetVisualAttribute( (RunSetVisualAttributeCommandEventArgs)e );
        }
    }
Ejemplo n.º 4
0
    CommandDispatcher_CommandSent
    (
        Object sender,
        RunCommandEventArgs e
    )
    {
        Debug.Assert(e != null);
        AssertValid();

        if (e is RunNoParamCommandEventArgs)
        {
            switch ( ( (RunNoParamCommandEventArgs)e ).NoParamCommand )
            {
                case NoParamCommand.LoadUserSettings:

                    LoadUserSettings();
                    break;

                case NoParamCommand.SaveUserSettings:

                    SaveUserSettings();
                    break;

                default:

                    break;
            }
        }
    }
Ejemplo n.º 5
0
    SendCommand
    (
        RunCommandEventArgs oRunCommandEventArgs
    )
    {
        AssertValid();

        CommandDispatcher.SendCommand(this, oRunCommandEventArgs);
    }