/// <summary> /// Handles the key up event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void watchDataGridView_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { // Delete current watch WatchedExpression selected = SelectedWatch; if (selected != null) { List <WatchedExpression> watches = (List <WatchedExpression>)watchDataGridView.DataSource; watches.Remove(selected); watchDataGridView.DataSource = null; watchDataGridView.DataSource = watches; EnsureEmptyRoom(); Refresh(); } } }
/// <summary> /// Handles a double click event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void watchDataGridView_DoubleClick(object sender, EventArgs e) { try { HandlingDoubleClick = true; List <WatchedExpression> watches = (List <WatchedExpression>)watchDataGridView.DataSource; // Open a editor to edit the cell contents WatchedExpression selected = SelectedWatch; if (selected != null) { DataGridViewCell selectedCell = watchDataGridView.SelectedCells[0]; if (selectedCell.ColumnIndex == 0) { EditorView.Window form = new EditorView.Window { AutoComplete = true }; TextChangeHandler handler = new TextChangeHandler(Instance, selected, selectedCell.OwningColumn.Name); form.setChangeHandler(handler); form.ShowDialog(); watchDataGridView.DataSource = null; watchDataGridView.DataSource = watches; EnsureEmptyRoom(); Refresh(); } else if (selectedCell.ColumnIndex == 1) { ExplainBox explainTextBox = new ExplainBox(); explainTextBox.SetExplanation(selected.ExpressionTree.Explain()); GuiUtils.MdiWindow.AddChildWindow(explainTextBox); } } } finally { HandlingDoubleClick = false; } }
/// <summary> /// Constructor /// </summary> /// <param name="instance"></param> /// <param name="watch"></param> /// <param name="columnName"></param> public TextChangeHandler(ModelElement instance, WatchedExpression watch, string columnName) : base(instance, "Watch") { Watch = watch; ColumnName = columnName; }
/// <summary> /// Constructor /// </summary> /// <param name="instance"></param> /// <param name="watch"></param> /// <param name="columnName"></param> public TextChangeHandler(ModelElement instance, WatchedExpression watch, string columnName) : base(instance, "Watch") { Watch = watch; ColumnName = columnName; }