public void NameChanged(EventTokenJitVariableTrigger token) { UpdateCassette <IPropertyInstanceName>(token, (cassette, tokenFrom) => { cassette.InstanceName = tokenFrom.Name; }); }
public void LocationChanged(EventTokenJitVariableTrigger token) { UpdateCassette <IPropertyXy>(token, (cassette, tokenFrom) => { cassette.X = $"{((Distance)tokenFrom.ChildVriables["LocationX"].Value).m}m"; cassette.Y = $"{((Distance)tokenFrom.ChildVriables["LocationY"].Value).m}m"; }); }
public void SizeChanged(EventTokenJitVariableTrigger token) { UpdateCassette <IPropertyWh>(token, (cassette, tokenFrom) => { cassette.W = $"{((Distance)tokenFrom.ChildVriables["Width"].Value).m}m"; cassette.H = $"{((Distance)tokenFrom.ChildVriables["Height"].Value).m}m"; }); }
private void UpdateCassette <TCassette>(EventTokenJitVariableTrigger token, Action <TCassette, JitVariable> updateAction) { if (token.From is IJitObjectID tar && token.From is JitVariable va) { if (FindCassette(tar.ID).Cassette is TCassette cassette) { ((INotifyPropertyChanged)cassette).PropertyChanged -= OnPropertyChanged; updateAction.Invoke(cassette, va); ((INotifyPropertyChanged)cassette).PropertyChanged += OnPropertyChanged; } } }