// Runs on our automation thread // CONSIDER: We might want to do some batching of the text edits? void _formulaEditWatcher_StateChanged(object sender, FormulaEditWatcher.StateChangeEventArgs args) { Logger.Monitor.Verbose($"!> FormulaEdit StateChanged ({args.StateChangeType}) - Thread {Thread.CurrentThread.ManagedThreadId}"); //Logger.Monitor.Verbose("!> " + ReadCurrentState().ToString()); if (args.StateChangeType == FormulaEditWatcher.StateChangeType.TextChange && CurrentState is UIState.FormulaEdit) { var newState = ((UIState.FormulaEdit)CurrentState).WithFormulaPrefix(_formulaEditWatcher.CurrentPrefix); OnStateChanged(newState); return; } if (args.StateChangeType == FormulaEditWatcher.StateChangeType.Move) { if (CurrentState is UIState.FunctionList) { // We'll update stuff in the PopupList change handler // var newState = ((UIState.FunctionList)CurrentState).WithBounds(_formulaEditWatcher.EditWindowBounds); // OnStateChanged(newState); return; } if (CurrentState is UIState.FormulaEdit) { var newState = ((UIState.FormulaEdit)CurrentState).WithBounds(_formulaEditWatcher.EditWindowBounds); OnStateChanged(newState); return; } } OnStateChanged(); }
// Runs on our automation thread // CONSIDER: We might want to do some batching of the text edits? void _formulaEditWatcher_StateChanged(object sender, FormulaEditWatcher.StateChangeEventArgs args) { Logger.Monitor.Verbose(string.Format("!> FormulaEdit StateChanged ({0}) - Thread {1}", args.StateChangeType, Thread.CurrentThread.ManagedThreadId)); //Logger.Monitor.Verbose("!> " + ReadCurrentState().ToString()); if (args.StateChangeType == FormulaEditWatcher.StateChangeType.TextChange && CurrentState is UIState.FormulaEdit) { var newState = ((UIState.FormulaEdit)CurrentState).WithFormulaPrefix(_formulaEditWatcher.CurrentPrefix); OnStateChanged(newState); return; } if (args.StateChangeType == FormulaEditWatcher.StateChangeType.Move) { if (CurrentState is UIState.FunctionList) { var newState = ((UIState.FunctionList)CurrentState).WithBounds(_formulaEditWatcher.EditWindowBounds); OnStateChanged(newState); return; } if (CurrentState is UIState.FormulaEdit) { var newState = ((UIState.FormulaEdit)CurrentState).WithBounds(_formulaEditWatcher.EditWindowBounds); OnStateChanged(newState); return; } } OnStateChanged(); }