Beispiel #1
0
        private void SelectActionType(MacroActionType actionType)
        {
            if (_macroActionItem != null)
            {
                _macroActionItem.MacroActionItemChanged -= MacroActionItem_MacroActionItemChanged;
                _macroActionItem.Dispose();
                panelAction.Controls.Remove((Control)_macroActionItem);
                _macroActionItem = null;
            }

            linkLabelActionType.Text = actionType.ToString();

            switch (actionType)
            {
            case MacroActionType.Start:
            case MacroActionType.Stop:
            case MacroActionType.Restart:
                ProcessActionBundle?.ChangeActionType(actionType);
                ActionBundle     = ProcessActionBundle ?? new MacroActionBundle(actionType);
                _macroActionItem = new MacroProcessActionItem(ProcessActionBundle);
                break;

            case MacroActionType.Distribute:
                ActionBundle     = DistributionActionBundle ?? new MacroActionBundle(actionType);
                _macroActionItem = new MacroDistributionActionItem(DistributionActionBundle);
                break;

            case MacroActionType.Wait:
                ActionBundle     = WaitActionBundle ?? new MacroActionBundle(actionType);
                _macroActionItem = new MacroWaitActionItem(WaitActionBundle);
                break;
            }

            if (_macroActionItem != null)
            {
                labelSeparator.Visible = true;
                _macroActionItem.MacroActionItemChanged += MacroActionItem_MacroActionItemChanged;
                _macroActionItem.SetWidth(panelAction.Width);
                panelAction.Controls.Add((Control)_macroActionItem);
            }
        }
Beispiel #2
0
 public MacroActionItem()
 {
     InitializeComponent();
     _macroActionItem = null;
     ActionBundle     = null;
 }