Schedule / Commanding / Commanding Overview
In This Topic
    Commanding Overview
    In This Topic

    As part of the NOV platform, Nevron Schedule is subject to commanding and you can easily build powerful commanding user interfaces around a schedule view. NOV Schedule provides predefined builders for the following command UIs:

    All schedule commands are defined as static readonly fields in the NScheduleView class and you can freely reuse them whenever necessary to create your own commanding UI. All icons used by the predefined schedule ribbon, command bars and context menu builders are also publicly available. They are exposed by the Nevron.Nov.Schedule.NResources static class.

     Custom Command Actions

    If you want to provide additional functionality to your users, you should to create your own custom commands and command actions, which inherit from the NScheduleCommandAction class. The following example demonstrates how to create a custom command action that shows a message box when executed. This command action is used in the rest of the topics in this chapter for a custom command added to the commanding UI of the schedule.

    Start by defining a custom command, which you will later use in custom builders. For example, add the following line to a custom type "MyCustomType" in your project:

    Define a custom command
    Copy Code
    public static readonly NCommand CustomCommand = NCommand.Create(typeof(MyCustomType), "CustomCommand", "Custom Command");
    

    After defining a custom command, create a custom command action for it:

    Create a custom command action
    Copy Code
    public class CustomCommandAction : NScheduleCommandAction
    {
        public CustomCommandAction()
        {
        }
    
        static CustomCommandAction()
        {
            CustomCommandActionSchema = NSchema.Create(typeof(CustomCommandAction), NScheduleCommandAction.NScheduleCommandActionSchema);
        }
    
        public override NCommand GetCommand()
        {
            return MyCustomType.CustomCommand;
        }
    
        public override void Execute(NNode target, object parameter)
        {
            NScheduleView scheduleView = GetScheduleView(target);
            NMessageBox.Show("Schedule Custom Command executed!", "Custom Command", ENMessageBoxButtons.OK, ENMessageBoxIcon.Information);
        }
    
        public static readonly NSchema CustomCommandActionSchema;
    }
    

    Finally add the custom command action to the Commander of the schedule view:

    Add a custom command action
    Copy Code
    scheduleView.Commander.Add(new CustomCommandAction());
    

    For more information about commanding and command builders, check out the topics in the "See Also" section below.

    See Also