void argTextBox_TextChanged(object sender, EventArgs e) { TextBox tb = (TextBox)sender; Rectangle r1 = ViewBounds(editedTextView.AbsoluteAncestor()); string newStr = tb.Text; editedTextModel.SetText(newStr); Rectangle r2 = ViewBounds(editedTextView.AbsoluteAncestor()); Rectangle r3 = Rectangle.Union(r1, r2); Update(r3); tb.Size = editedTextView.Assemble().Size; }
private void SetEditState(ITextualView v) { editedTextView = v; ITextualBlock model = (ITextualBlock)v.Model; editedTextModel = model; originalEditedText = model.Text; TextBox tb = textBoxMaker(); editedTextBox = tb; tb.Text = model.Text; tb.Location = v.AbsolutePos(); tb.Size = v.Assemble().Size; tb.TextChanged += new EventHandler(argTextBox_TextChanged); tb.KeyDown += new KeyEventHandler(argTextBox_KeyDown); tb.Show(); tb.Select(); state = CanvasState.TextEditing; }
void argTextBox_TextChanged(object sender, EventArgs e) { TextBox tb = (TextBox)sender; string newStr = tb.Text; editedTextModel.SetText(newStr); Changed(this); // Since the view is always centered, changed could move the view // so we move the textbox accordingly // PositionTextBox(tb, editedTextView.AbsoluteBounds()); tb.Size = editedTextView.Assemble().Size; /* * using (Graphics g = tb.Parent.CreateGraphics()) * { * debugRect = tb.Bounds.Offseted(0, 50); * debugRect2 = editedTextView.AbsoluteBounds().Offseted(0, 60); * } * //*/ }