DialogResult ICyParamEditHook_v1.EditParams(ICyInstEdit_v1 edit, ICyTerminalQuery_v1 termQuery, ICyExpressMgr_v1 mgr)
        {
            parameters = new ErikaOSParameters(edit);
            CyParamExprDelegate paramChange = delegate(ICyParamEditor custEditor, CyCompDevParam param)
            {
                parameters.GetParams();
            };

            ICyTabbedParamEditor editor = edit.CreateTabbedParamEditor();

            editor.AddCustomPage("OS Config", new ErikaOSEditingControl(parameters), paramChange, "Properties");

            editor.AddCustomPage("Alarms & Counters", new ErikaOSEditingAlarms(parameters), paramChange, "Alarm Properties");

            editor.AddCustomPage("Events & Resources", new ErikaOSEditingEvents(parameters), paramChange, "Event Properties");

            editor.AddCustomPage("Tasks", new ErikaOSEditingTasks(parameters), paramChange, "Task Properties");

            editor.AddCustomPage("ISRs", new ErikaOSEditingISRs(parameters), paramChange, "ISR Properties");

            //editor.AddDefaultPage("Built-in", "Built-in");

            editor.AddAllDefaultPages();

            parameters.GetParams();

            return(editor.ShowDialog());
        }
 public ErikaOSEventsResources(ErikaOSParameters parameters)
 {
     InitializeComponent();
     this.parameters = parameters;
     UpdateForm();
 }
 public ErikaOSEditingTasks(ErikaOSParameters parameters)
 {
     task            = new ErikaOSTask(parameters);
     parameters.task = task;
     task.Dock       = DockStyle.Fill;
 }
 public ErikaOSEditingControl(ErikaOSParameters parameters)
 {
     control            = new ErikaOSControl(parameters);
     parameters.control = control;
     control.Dock       = DockStyle.Fill;
 }
 public ErikaOSEditingISRs(ErikaOSParameters parameters)
 {
     isrs            = new ErikaOSISRs(parameters);
     parameters.isrs = isrs;
     isrs.Dock       = DockStyle.Fill;
 }
 public ErikaOSEditingEvents(ErikaOSParameters parameters)
 {
     events            = new ErikaOSEventsResources(parameters);
     parameters.events = events;
     events.Dock       = DockStyle.Fill;
 }
 public ErikaOSEditingAlarms(ErikaOSParameters parameters)
 {
     alarms            = new ErikaOSAlarmsCounters(parameters);
     parameters.alarms = alarms;
     alarms.Dock       = DockStyle.Fill;
 }
 public ErikaOSControl(ErikaOSParameters parameters)
 {
     InitializeComponent();
     this.parameters = parameters;
     UpdateForm();
 }