Simplify SetSelectionRange and make consistent with SetSelection.
Fix a bug that returns true for character and paragraph style tests if no characters or paragraphs were found. Fix SetSelection to position caret at end. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@63345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -120,6 +120,7 @@ All (GUI):
|
||||
- wxRTC: added wxRICHTEXT_HANDLER_USE_CSS flag for HTML handler to use CSS
|
||||
where possible.
|
||||
- wxRTC: corrected centring and right-justification spacing.
|
||||
- wxRTC: corrected some problems with SelectAll. Caret is now set to end.
|
||||
- Paper size conversion from dimensions to id now uses definition ordering
|
||||
in order to use common types where there are duplications, fixing problems
|
||||
where invalid sizes caused incorrect second invocation of page setup
|
||||
|
@@ -3012,7 +3012,7 @@ bool wxRichTextParagraphLayoutBox::HasCharacterAttributes(const wxRichTextRange&
|
||||
node = node->GetNext();
|
||||
}
|
||||
|
||||
return foundCount == matchingCount;
|
||||
return foundCount == matchingCount && foundCount != 0;
|
||||
}
|
||||
|
||||
bool wxRichTextParagraphLayoutBox::HasCharacterAttributes(const wxRichTextRange& range, const wxTextAttrEx& style) const
|
||||
@@ -3056,7 +3056,7 @@ bool wxRichTextParagraphLayoutBox::HasParagraphAttributes(const wxRichTextRange&
|
||||
|
||||
node = node->GetNext();
|
||||
}
|
||||
return foundCount == matchingCount;
|
||||
return foundCount == matchingCount && foundCount != 0;
|
||||
}
|
||||
|
||||
bool wxRichTextParagraphLayoutBox::HasParagraphAttributes(const wxRichTextRange& range, const wxTextAttrEx& style) const
|
||||
|
@@ -2175,8 +2175,7 @@ wxRichTextRange wxRichTextCtrl::AddImage(const wxImage& image)
|
||||
|
||||
void wxRichTextCtrl::SelectAll()
|
||||
{
|
||||
SetSelection(0, GetLastPosition()+1);
|
||||
m_selectionAnchor = -1;
|
||||
SetSelection(-1, -1);
|
||||
}
|
||||
|
||||
/// Select none
|
||||
@@ -2598,8 +2597,9 @@ void wxRichTextCtrl::DoSetSelection(long from, long to, bool WXUNUSED(scrollCare
|
||||
wxRichTextRange oldSelection = m_selectionRange;
|
||||
m_selectionAnchor = from;
|
||||
m_selectionRange.SetRange(from, to-1);
|
||||
if (from > -2)
|
||||
m_caretPosition = from-1;
|
||||
|
||||
// Have to subtract 2, one because of endPos+1 rule (SetSelection docs) and another to turn into caret position.
|
||||
m_caretPosition = wxMax(-1, to-2);
|
||||
|
||||
wxRichTextCtrlRefreshForSelectionChange(*this, oldSelection, m_selectionRange);
|
||||
PositionCaret();
|
||||
@@ -3420,13 +3420,7 @@ wxRichTextRange wxRichTextCtrl::GetSelectionRange() const
|
||||
|
||||
void wxRichTextCtrl::SetSelectionRange(const wxRichTextRange& range)
|
||||
{
|
||||
wxRichTextRange range1(range);
|
||||
if (range1 != wxRichTextRange(-2,-2) && range1 != wxRichTextRange(-1,-1) )
|
||||
range1.SetEnd(range1.GetEnd() - 1);
|
||||
|
||||
wxASSERT( range1.GetStart() > range1.GetEnd() );
|
||||
|
||||
SetInternalSelectionRange(range1);
|
||||
SetSelection(range.GetStart(), range.GetEnd());
|
||||
}
|
||||
|
||||
/// Set list style
|
||||
|
Reference in New Issue
Block a user