Beispiel #1
0
 private void UpdateUiForAction(BoardAction action)
 {
     if (action is SetLedBoardAction)
     {
         SetLedAction.Checked = true;
         SetLedBoardAction a = (SetLedBoardAction)action;
         SetLedActionStateOption.Checked = a.SetToState;
     }
     else if (action is SetPinBoardAction)
     {
         SetPinAction.Checked = true;
         SetPinBoardAction a = (SetPinBoardAction)action;
         if (Board.OutputPins.Contains(a.Pin))
         {
             SetPinActionPinOption.SelectedItem = a.Pin;
         }
         SetPinActionStateOption.Checked = a.SetToState;
     }
     else if (action is TogglePinBoardAction)
     {
         TogglePinAction.Checked = true;
         TogglePinBoardAction a = (TogglePinBoardAction)action;
         if (Board.OutputPins.Contains(a.Pin))
         {
             TogglePinActionPinOption.SelectedItem = a.Pin;
         }
     }
     else if (action is RunScriptBoardAction)
     {
         RunScriptAction.Checked = true;
         RunScriptBoardAction a = (RunScriptBoardAction)action;
         RunScriptActionFileNameOption.Text  = a.FileName;
         RunScriptActionArgumentsOption.Text = a.Arguments;
     }
     else if (action is SendTextBoardAction)
     {
         SendTextAction.Checked = true;
         SendTextBoardAction a = (SendTextBoardAction)action;
         SendTextActionTextOption.Text = a.Text;
     }
     else
     {
         NoAction.Checked = true;
     }
 }
Beispiel #2
0
        private bool CreateActionFromUi(out BoardAction action)
        {
            if (NoAction.Checked)
            {
                action = null;
                return(true);
            }
            else if (SetLedAction.Checked)
            {
                bool setToState = SetLedActionStateOption.Checked;
                action = new SetLedBoardAction(setToState);
                return(true);
            }
            else if (SetPinAction.Checked)
            {
                if (SetPinActionPinOption.SelectedItem != null)
                {
                    NamedPin pin        = (NamedPin)SetPinActionPinOption.SelectedItem;
                    bool     setToState = SetPinActionStateOption.Checked;
                    action = new SetPinBoardAction(pin, setToState);
                    return(true);
                }
                else
                {
                    ShowError("Must select pin.");
                }
            }
            else if (TogglePinAction.Checked)
            {
                if (TogglePinActionPinOption.SelectedItem != null)
                {
                    NamedPin pin = (NamedPin)TogglePinActionPinOption.SelectedItem;
                    action = new TogglePinBoardAction(pin);
                    return(true);
                }
                else
                {
                    ShowError("Must select pin.");
                }
            }
            else if (RunScriptAction.Checked)
            {
                String fileName  = RunScriptActionFileNameOption.Text;
                String arguments = RunScriptActionArgumentsOption.Text;
                if (String.IsNullOrWhiteSpace(fileName))
                {
                    ShowError("File name cannot be blank.");
                }
                else
                {
                    action = new RunScriptBoardAction(fileName, arguments);
                    return(true);
                }
            }
            else if (SendTextAction.Checked)
            {
                String text = SendTextActionTextOption.Text;
                if (String.IsNullOrEmpty(text))
                {
                    ShowError("Text cannot be empty.");
                }
                else
                {
                    action = new SendTextBoardAction(text);
                    return(true);
                }
            }

            action = null;
            return(false);
        }