From af11165bd2d2dfcf1e006dc62c76ec999ac3ecf2 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Mon, 5 May 2008 10:10:40 +0000 Subject: [PATCH] Reverted patch 1906896 because it broke prgrammatic style application with BeginStyle/EndStyle. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/richtext/richtextctrl.cpp | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/richtext/richtextctrl.cpp b/src/richtext/richtextctrl.cpp index fddef6a25d..af4e811b84 100644 --- a/src/richtext/richtextctrl.cpp +++ b/src/richtext/richtextctrl.cpp @@ -484,6 +484,7 @@ void wxRichTextCtrl::OnLeftClick(wxMouseEvent& event) long oldCaretPos = m_caretPosition; MoveCaret(position, caretAtLineStart); + SetDefaultStyleToCursorStyle(); if (event.ShiftDown()) { @@ -613,6 +614,7 @@ void wxRichTextCtrl::OnMoveMouse(wxMouseEvent& event) ExtendSelection(m_caretPosition, position, wxRICHTEXT_SHIFT_DOWN); MoveCaret(position, caretAtLineStart); + SetDefaultStyleToCursorStyle(); } } } @@ -680,7 +682,6 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) if (event.GetKeyCode() == WXK_RETURN) { - SetDefaultStyleToCursorStyle(); BeginBatchUndo(_("Insert Text")); long newPos = m_caretPosition; @@ -697,6 +698,7 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) GetBuffer().InsertNewlineWithUndo(newPos+1, this, wxRICHTEXT_INSERT_WITH_PREVIOUS_PARAGRAPH_STYLE|wxRICHTEXT_INSERT_INTERACTIVE); EndBatchUndo(); + SetDefaultStyleToCursorStyle(); ScrollIntoView(m_caretPosition, WXK_RIGHT); @@ -738,6 +740,7 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) m_caretPosition = -1; PositionCaret(); + SetDefaultStyleToCursorStyle(); } ScrollIntoView(m_caretPosition, WXK_LEFT); @@ -784,6 +787,7 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) m_caretPosition = -1; PositionCaret(); + SetDefaultStyleToCursorStyle(); } wxRichTextEvent cmdEvent( @@ -945,7 +949,6 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) } } - SetDefaultStyleToCursorStyle(); BeginBatchUndo(_("Insert Text")); long newPos = m_caretPosition; @@ -960,6 +963,7 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event) EndBatchUndo(); + SetDefaultStyleToCursorStyle(); ScrollIntoView(m_caretPosition, WXK_RIGHT); GetEventHandler()->ProcessEvent(cmdEvent); @@ -1076,6 +1080,7 @@ bool wxRichTextCtrl::KeyboardNavigate(int keyCode, int flags) if (success) { ScrollIntoView(m_caretPosition, keyCode); + SetDefaultStyleToCursorStyle(); } return success; @@ -1297,11 +1302,13 @@ void wxRichTextCtrl::MoveCaretForward(long oldPosition) m_caretPosition = oldPosition; m_caretAtLineStart = true; } + SetDefaultStyleToCursorStyle(); return; } } } m_caretPosition ++; + SetDefaultStyleToCursorStyle(); } /// Move caret one visual step backward: this may mean setting a flag @@ -1345,11 +1352,13 @@ void wxRichTextCtrl::MoveCaretBack(long oldPosition) // to the previous character position. m_caretPosition = oldPosition - 1; } + SetDefaultStyleToCursorStyle(); return; } } } m_caretPosition --; + SetDefaultStyleToCursorStyle(); } /// Move right @@ -1377,6 +1386,7 @@ bool wxRichTextCtrl::MoveRight(int noPositions, int flags) SetCaretPosition(newPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1403,6 +1413,7 @@ bool wxRichTextCtrl::MoveLeft(int noPositions, int flags) SetCaretPosition(newPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1491,6 +1502,7 @@ bool wxRichTextCtrl::MoveDown(int noLines, int flags) SetCaretPosition(newPos, caretLineStart); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1511,6 +1523,7 @@ bool wxRichTextCtrl::MoveToParagraphEnd(int flags) SetCaretPosition(newPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1531,6 +1544,7 @@ bool wxRichTextCtrl::MoveToParagraphStart(int flags) SetCaretPosition(newPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1553,6 +1567,7 @@ bool wxRichTextCtrl::MoveToLineEnd(int flags) SetCaretPosition(newPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1577,6 +1592,7 @@ bool wxRichTextCtrl::MoveToLineStart(int flags) SetCaretPosition(newPos, para->GetRange().GetStart() != lineRange.GetStart()); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1595,6 +1611,7 @@ bool wxRichTextCtrl::MoveHome(int flags) SetCaretPosition(-1); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1615,6 +1632,7 @@ bool wxRichTextCtrl::MoveEnd(int flags) SetCaretPosition(endPos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1653,6 +1671,7 @@ bool wxRichTextCtrl::PageDown(int noPages, int flags) SetCaretPosition(pos, para->GetRange().GetStart() != lineRange.GetStart()); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1769,6 +1788,7 @@ bool wxRichTextCtrl::WordLeft(int WXUNUSED(n), int flags) SetCaretPosition(pos, para->GetRange().GetStart() != pos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -1790,6 +1810,7 @@ bool wxRichTextCtrl::WordRight(int WXUNUSED(n), int flags) SetCaretPosition(pos, para->GetRange().GetStart() != pos); PositionCaret(); + SetDefaultStyleToCursorStyle(); return true; } @@ -2093,6 +2114,7 @@ bool wxRichTextCtrl::SelectWord(long position) if (positionStart >= 0) { MoveCaret(positionStart-1, true); + SetDefaultStyleToCursorStyle(); } return true; @@ -2210,7 +2232,6 @@ void wxRichTextCtrl::DoWriteText(const wxString& value, int flags) { wxString valueUnix = wxTextFile::Translate(value, wxTextFileType_Unix); - SetDefaultStyleToCursorStyle(); GetBuffer().InsertTextWithUndo(m_caretPosition+1, valueUnix, this, wxRICHTEXT_INSERT_WITH_PREVIOUS_PARAGRAPH_STYLE); if ( flags & SetValue_SendEvent ) @@ -2310,7 +2331,6 @@ void wxRichTextCtrl::Paste() { if (CanPaste()) { - SetDefaultStyleToCursorStyle(); BeginBatchUndo(_("Paste")); long newPos = m_caretPosition;