public TriggerVm(Trigger trigger, IEnumerable<Signal> avalibleSignals) { IS_SAVED = false; _trigger = trigger; _avalibleSignals = avalibleSignals; //Testing var triggerstatedata = new TriggerStateData(_avalibleSignals); var statement = new Statement.Equals(new Signal() { Name = "A1" }, 0); triggerstatedata.StateNumber = 1; //The trigger will always start with one state initially _triggerStateDatas = new List<TriggerStateData>(); _triggerStateDatas.Add(triggerstatedata); ObservableTriggerStates = new ListCollectionView(_triggerStateDatas); _saveCommand = new DelegateCommand<string>( (s) => { SaveTrigger(); }, //Execute (s) => { return _canSave; } //CanExecute ); _saveCommand = new DelegateCommand<string>( (s) => { SaveTrigger(); }, //Execute (s) => { return _canSave; } //CanExecute ); _saveCommand = new DelegateCommand<string>( (s) => { SaveTrigger(); }, //Execute (s) => { return _canSave; } //CanExecute ); }
public TriggerVm(Trigger trigger, IEnumerable <Signal> avalibleSignals) { IS_SAVED = false; _trigger = trigger; _avalibleSignals = avalibleSignals; //Testing var triggerstatedata = new TriggerStateData(_avalibleSignals); var statement = new Statement.Equals(new Signal() { Name = "A1" }, 0); triggerstatedata.StateNumber = 1; //The trigger will always start with one state initially _triggerStateDatas = new List <TriggerStateData>(); _triggerStateDatas.Add(triggerstatedata); ObservableTriggerStates = new ListCollectionView(_triggerStateDatas); _saveCommand = new DelegateCommand <string>( (s) => { SaveTrigger(); }, //Execute (s) => { return(_canSave); } //CanExecute ); }
private Statement.Statement CreateStatement(StatementData statementValues) { Statement.Statement statement; var signal = _avalibleSignals.First(x => x.Name.Equals(statementValues.Signal)); if (_avalibleSignals.Any(x => x.Name.Equals(statementValues.SignalOrValue))) { var signal2 = _avalibleSignals.First(x => x.Name.Equals(statementValues.SignalOrValue)); switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, signal2); break; case "Lagrer Then": statement = new Statement.LargerThen(signal, signal2); break; case "Less Then": statement = new Statement.LessThen(signal, signal2); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, signal2); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, signal2); break; default: throw new Exception(); } } else { double value; if (double.TryParse(statementValues.SignalOrValue, out value)) { switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, value); break; case "Larger Then": statement = new Statement.LargerThen(signal, value); break; case "Less Then": statement = new Statement.LessThen(signal, value); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, value); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, value); break; default: throw new Exception(); } } else { throw new Exception(); } } return statement; }
private Statement.Statement CreateStatement(StatementData statementValues) { Statement.Statement statement; var signal = _avalibleSignals.First(x => x.Name.Equals(statementValues.Signal)); if (_avalibleSignals.Any(x => x.Name.Equals(statementValues.SignalOrValue))) { var signal2 = _avalibleSignals.First(x => x.Name.Equals(statementValues.SignalOrValue)); switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, signal2); break; case "Lagrer Then": statement = new Statement.LargerThen(signal, signal2); break; case "Less Then": statement = new Statement.LessThen(signal, signal2); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, signal2); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, signal2); break; default: throw new Exception(); } } else { double value; if (double.TryParse(statementValues.SignalOrValue, out value)) { switch (statementValues.ExpressionValue) { case "Equals": statement = new Statement.Equals(signal, value); break; case "Larger Then": statement = new Statement.LargerThen(signal, value); break; case "Less Then": statement = new Statement.LessThen(signal, value); break; case "Rising Edge": statement = new Statement.RisingEdge(signal, value); break; case "Falling Edge": statement = new Statement.FallingEdge(signal, value); break; default: throw new Exception(); } } else { throw new Exception(); } } return(statement); }