aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornyamatongwe <unknown>2009-08-13 03:41:07 +0000
committernyamatongwe <unknown>2009-08-13 03:41:07 +0000
commitf7736b95cb8c764d5031b92308a87d502f7f0ae6 (patch)
tree0172292c1911050112eb8fdb097a4b39a45fcc3f
parent54207ab86e3a942038b7c78dca48233fdb1a5043 (diff)
downloadscintilla-mirror-f7736b95cb8c764d5031b92308a87d502f7f0ae6.tar.gz
Made SCI_[GS]ETCURRENTPOS and SCI_[GS]ETANCHOR work in rectangular mode
more like 1.x.
-rw-r--r--src/Editor.cxx20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 41f274529..3f7c9db0f 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -6743,18 +6743,30 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return pdoc->CharAt(wParam);
case SCI_SETCURRENTPOS:
- SetSelection(wParam, sel.MainAnchor());
+ if (sel.IsRectangular()) {
+ sel.Rectangular().caret.SetPosition(wParam);
+ SetRectangularRange();
+ Redraw();
+ } else {
+ SetSelection(wParam, sel.MainAnchor());
+ }
break;
case SCI_GETCURRENTPOS:
- return sel.MainCaret();
+ return sel.IsRectangular() ? sel.Rectangular().caret.Position() : sel.MainCaret();
case SCI_SETANCHOR:
- SetSelection(sel.MainCaret(), wParam);
+ if (sel.IsRectangular()) {
+ sel.Rectangular().anchor.SetPosition(wParam);
+ SetRectangularRange();
+ Redraw();
+ } else {
+ SetSelection(sel.MainCaret(), wParam);
+ }
break;
case SCI_GETANCHOR:
- return sel.MainAnchor();
+ return sel.IsRectangular() ? sel.Rectangular().anchor.Position() : sel.MainAnchor();
case SCI_SETSELECTIONSTART:
SetSelection(Platform::Maximum(sel.MainCaret(), wParam), wParam);