From 5241e3a28a82276969b1ee0ae3b821a4f08acd4e Mon Sep 17 00:00:00 2001 From: Kathy Date: Tue, 18 Aug 2009 14:49:56 +0000 Subject: [PATCH] --- PROMS/Volian.Controls.Library/StepRTB.cs | 37 +++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/StepRTB.cs b/PROMS/Volian.Controls.Library/StepRTB.cs index b7d047cc..c03cf6e1 100644 --- a/PROMS/Volian.Controls.Library/StepRTB.cs +++ b/PROMS/Volian.Controls.Library/StepRTB.cs @@ -105,6 +105,16 @@ namespace Volian.Controls.Library get { return _MyStepItem; } set { _MyStepItem = value; } } + // August 5, 2009 - KBR & RHM: + // Insert/Overwrite will be developed later if needed. various issues + // were found during initial development that made its scope larger than + // expected. Problems were related to having overstrike on in the following + // cases: + // 1) left arrow when on link - positions after link + // 2) left arrow and after link - does not move + // 3) shift left arrow does not move past links correctly and also, first + // shift left arrow looks more like insert mode. + // private bool _OverWrite; // _IsDirty compares the original rtf to the current rtf from the // richtextbox to see if a change was made. private bool _IsDirty @@ -840,6 +850,7 @@ namespace Volian.Controls.Library private bool _ProcessingDelete; private void HandleSelectionChange() { + //HandleOverWrite(); //vlnStackTrace.ShowStackLocal("HandleSelectionChangeStack", 1, 10); bool startingValue = _AdjustingSelection; if (_IdentifyingLinks || _ProcessingDelete) return; @@ -914,6 +925,15 @@ namespace Volian.Controls.Library MyLinkText = null; OnRTBSelectionChanged(this, new EventArgs()); } + + //private void HandleOverWrite() + //{ + // if (!_OverWrite) return; + // if (SelectionLength > 0) return; + // if (SelectionStart == TextLength) return; + // Console.WriteLine("Handle Overwrite, SelectionStart = {0}, SelectionLength = {1}", SelectionStart, SelectionLength); + // SelectionLength = 1; + //} private bool _CheckSelection = false; #endregion #region Delete Handlers @@ -1167,7 +1187,7 @@ namespace Volian.Controls.Library { int newstart = FindStart(); // find start of link ending on. // if not link, don't do special processing - if (newstart == SelectionStart - 1) return; + if (newstart == SelectionStart - 1) return; int len = SelectionLength + SelectionStart - newstart; SetSelection(newstart, len); e.Handled = true; @@ -1304,6 +1324,21 @@ namespace Volian.Controls.Library } if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null); break; + case Keys.Insert: + //_OverWrite = !_OverWrite; + //if (_OverWrite) + //{ + // HandleSelectionChange(); + //} + //else + //{ + // SelectionLength = 0; + // HandleSelectionChange(); + //} + // For now, don't allow for toggling between insert/overwrite mode - see + // comment on _OverWrite + e.Handled = true; + break; } } private void StepRTB_HomeEndPressed(KeyEventArgs keyargs)