]> git.saurik.com Git - wxWidgets.git/commitdiff
Small cleanup.
authorJulian Smart <julian@anthemion.co.uk>
Sat, 18 Nov 2006 22:27:48 +0000 (22:27 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Sat, 18 Nov 2006 22:27:48 +0000 (22:27 +0000)
Set caret position when calling SetSelection.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/richtext/richtextbuffer.h
include/wx/richtext/richtextctrl.h
src/richtext/richtextbuffer.cpp
src/richtext/richtextctrl.cpp

index 95a2e0c53069e8b6f932945420af95ea4875c562..c5a638fb14eba545f2abe2d035a945da97ba9eb9 100644 (file)
@@ -1844,7 +1844,7 @@ public:
     bool InsertImageWithUndo(long pos, const wxRichTextImageBlock& imageBlock, wxRichTextCtrl* ctrl, int flags = 0);
 
     /// Submit command to delete this range
-    bool DeleteRangeWithUndo(const wxRichTextRange& range, long initialCaretPosition, long newCaretPositon, wxRichTextCtrl* ctrl);
+    bool DeleteRangeWithUndo(const wxRichTextRange& range, wxRichTextCtrl* ctrl);
 
     /// Mark modified
     void Modify(bool modify = true) { m_modified = modify; }
index ec73215dc4aeb94bf76229f88216dbc8cc59e2f9..55049a7d4eb030752c1d522e6e5b7604c051fcc7 100644 (file)
@@ -224,6 +224,9 @@ public:
     virtual bool PromoteList(int promoteBy, const wxRichTextRange& range, wxRichTextListStyleDefinition* def = NULL, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel = -1);
     virtual bool PromoteList(int promoteBy, const wxRichTextRange& range, const wxString& defName, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel = -1);
 
+    /// Deletes the content in the given range
+    virtual bool Delete(const wxRichTextRange& range);
+
     // translate between the position (which is just an index in the text ctrl
     // considering all its contents as a single strings) and (x, y) coordinates
     // which represent column and line.
index 1242224d0a4c102f397d5b935d5e05141f339b00..2ac10201af4ad6412fec06fb5c6db620611bab47 100644 (file)
@@ -4810,11 +4810,11 @@ wxRichTextAttr wxRichTextBuffer::GetStyleForNewParagraph(long pos, bool caretPos
 }
 
 /// Submit command to delete this range
-bool wxRichTextBuffer::DeleteRangeWithUndo(const wxRichTextRange& range, long initialCaretPosition, long WXUNUSED(newCaretPositon), wxRichTextCtrl* ctrl)
+bool wxRichTextBuffer::DeleteRangeWithUndo(const wxRichTextRange& range, wxRichTextCtrl* ctrl)
 {
     wxRichTextAction* action = new wxRichTextAction(NULL, _("Delete"), wxRICHTEXT_DELETE, this, ctrl);
 
-    action->SetPosition(initialCaretPosition);
+    action->SetPosition(ctrl->GetCaretPosition());
 
     // Set the range to delete
     action->SetRange(range);
index b84f2db4c705af632d12d24cdbdebf77585c9b83..a3d7c064dbadde225e2ebe31ee179034576b19e4 100644 (file)
@@ -2249,6 +2249,7 @@ void wxRichTextCtrl::DoSetSelection(long from, long to, bool WXUNUSED(scrollCare
 {
     m_selectionAnchor = from;
     m_selectionRange.SetRange(from, to-1);
+    m_caretPosition = from-1;
 
     Refresh(false);
     PositionCaret();
@@ -3098,6 +3099,12 @@ bool wxRichTextCtrl::PromoteList(int promoteBy, const wxRichTextRange& range, co
     return GetBuffer().PromoteList(promoteBy, range.ToInternal(), defName, flags, specifiedLevel);
 }
 
+/// Deletes the content in the given range
+bool wxRichTextCtrl::Delete(const wxRichTextRange& range)
+{
+    return GetBuffer().DeleteRangeWithUndo(range.ToInternal(), this);
+}
+
 const wxArrayString& wxRichTextCtrl::GetAvailableFontNames()
 {
     if (sm_availableFontNames.GetCount() == 0)