From 222c13010edf5d44c1a2801263666ee987be9f59 Mon Sep 17 00:00:00 2001 From: konekoneko Date: Fri, 29 Jul 2016 03:32:28 +0900 Subject: [PATCH] =?utf8?q?=E9=80=86=E6=96=B9=E5=90=91=E3=81=8B=E3=82=89?= =?utf8?q?=E3=81=90=E3=82=8A=E3=81=A3=E3=81=B1=E3=83=BC=E3=81=A7=E9=81=B8?= =?utf8?q?=E6=8A=9E=E3=81=97=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AE=E6=8C=99?= =?utf8?q?=E5=8B=95=E3=81=8C=E3=81=8A=E3=81=8B=E3=81=97=E3=81=8B=E3=81=A3?= =?utf8?q?=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Core/Controller.cs | 19 ++++--------------- Metro/FooEditEngine/FooTextBox.cs | 14 +++++++++++--- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/Core/Controller.cs b/Core/Controller.cs index 378faf3..f5011d9 100644 --- a/Core/Controller.cs +++ b/Core/Controller.cs @@ -747,21 +747,10 @@ namespace FooEditEngine tp = this.View.GetTextPointFromPostion(hittedGripper.AdjustPoint(p), searchRange); if (tp == TextPoint.Null) return false; - if (this.IsReverseSelect()) - { - if (Object.ReferenceEquals(hittedGripper, this.Document.SelectGrippers.BottomRight)) - this.MoveSelectBefore(tp); - else - this.MoveCaretAndSelect(tp); - } - else - { - if (Object.ReferenceEquals(hittedGripper, this.Document.SelectGrippers.BottomLeft)) - this.MoveSelectBefore(tp); - else - this.MoveCaretAndSelect(tp); - } - hittedGripper.Move(this.View, tp); + if (Object.ReferenceEquals(hittedGripper, this.Document.SelectGrippers.BottomRight)) + this.MoveCaretAndSelect(tp); + else if(Object.ReferenceEquals(hittedGripper, this.Document.SelectGrippers.BottomLeft)) + this.MoveSelectBefore(tp); } else { diff --git a/Metro/FooEditEngine/FooTextBox.cs b/Metro/FooEditEngine/FooTextBox.cs index 8057168..415166d 100644 --- a/Metro/FooEditEngine/FooTextBox.cs +++ b/Metro/FooEditEngine/FooTextBox.cs @@ -752,11 +752,19 @@ namespace FooEditEngine.Metro //こうしないと選択できなくなってしまう this.nowCaretMove = true; SetValue(SelectedTextProperty, this._Controller.SelectedText); - SetValue(SelectionProperty, new TextRange(this._Controller.SelectionStart, this._Controller.SelectionLength)); SetValue(CaretPostionPropertyKey, this.Document.CaretPostion); this.nowCaretMove = false; - this.Document.SelectGrippers.BottomLeft.MoveByIndex(this.View, this.Controller.SelectionStart); - this.Document.SelectGrippers.BottomRight.MoveByIndex(this.View, this.Controller.SelectionStart + this.Controller.SelectionLength); + System.Diagnostics.Debug.WriteLine("selected start:{0} len:{1}", this._Controller.SelectionStart, this._Controller.SelectionLength); + if (this._Controller.IsReverseSelect()) + { + this.Document.SelectGrippers.BottomRight.MoveByIndex(this.View, this.Controller.SelectionStart); + this.Document.SelectGrippers.BottomLeft.MoveByIndex(this.View, this.Controller.SelectionStart + this.Controller.SelectionLength); + } + else + { + this.Document.SelectGrippers.BottomLeft.MoveByIndex(this.View, this.Controller.SelectionStart); + this.Document.SelectGrippers.BottomRight.MoveByIndex(this.View, this.Controller.SelectionStart + this.Controller.SelectionLength); + } if (this.textStore.IsLocked() == false) this.textStore.NotifySelectionChanged(); } -- 2.11.0