Corrections to take into account that range in the API has an end position
that is 1 more than the last affected position git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -214,6 +214,7 @@ public:
|
||||
|
||||
void operator =(const wxRichTextRange& range) { m_start = range.m_start; m_end = range.m_end; }
|
||||
bool operator ==(const wxRichTextRange& range) const { return (m_start == range.m_start && m_end == range.m_end); }
|
||||
bool operator !=(const wxRichTextRange& range) const { return (m_start != range.m_start && m_end != range.m_end); }
|
||||
wxRichTextRange operator -(const wxRichTextRange& range) const { return wxRichTextRange(m_start - range.m_start, m_end - range.m_end); }
|
||||
wxRichTextRange operator +(const wxRichTextRange& range) const { return wxRichTextRange(m_start + range.m_start, m_end + range.m_end); }
|
||||
|
||||
@@ -246,6 +247,12 @@ public:
|
||||
/// Swaps the start and end
|
||||
void Swap() { long tmp = m_start; m_start = m_end; m_end = tmp; }
|
||||
|
||||
/// Convert to internal form: (n, n) is the range of a single character.
|
||||
wxRichTextRange ToInternal() const { return wxRichTextRange(m_start, m_end-1); }
|
||||
|
||||
/// Convert from internal to public API form: (n, n+1) is the range of a single character.
|
||||
wxRichTextRange FromInternal() const { return wxRichTextRange(m_start, m_end+1); }
|
||||
|
||||
protected:
|
||||
long m_start;
|
||||
long m_end;
|
||||
|
@@ -380,8 +380,16 @@ public:
|
||||
virtual void SelectNone();
|
||||
|
||||
/// Get/set the selection range in character positions. -1, -1 means no selection.
|
||||
const wxRichTextRange& GetSelectionRange() const { return m_selectionRange; }
|
||||
void SetSelectionRange(const wxRichTextRange& range) { m_selectionRange = range; }
|
||||
/// The range is in API convention, i.e. a single character selection is denoted
|
||||
/// by (n, n+1)
|
||||
wxRichTextRange GetSelectionRange() const;
|
||||
void SetSelectionRange(const wxRichTextRange& range);
|
||||
|
||||
/// Get/set the selection range in character positions. -1, -1 means no selection.
|
||||
/// The range is in internal format, i.e. a single character selection is denoted
|
||||
/// by (n, n)
|
||||
const wxRichTextRange& GetInternalSelectionRange() const { return m_selectionRange; }
|
||||
void SetInternalSelectionRange(const wxRichTextRange& range) { m_selectionRange = range; }
|
||||
|
||||
/// Add a new paragraph of text to the end of the buffer
|
||||
virtual wxRichTextRange AddParagraph(const wxString& text);
|
||||
|
Reference in New Issue
Block a user