]> git.saurik.com Git - wxWidgets.git/commitdiff
Small bug fixes
authorJulian Smart <julian@anthemion.co.uk>
Wed, 15 Nov 2006 15:59:06 +0000 (15:59 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Wed, 15 Nov 2006 15:59:06 +0000 (15:59 +0000)
Added GetStyleForRange to wxRichTextCtrl
HasCharacter/ParagraphAttributes range now consistent with other functions in wxRichTextCtrl

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

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

index 2c6d93de7acfe0f1c6567318bea4db8f6af3a18d..59842b1a142d9ce08de3db8c82522543e93a6d85 100644 (file)
@@ -184,6 +184,10 @@ public:
     virtual bool GetStyle(long position, wxTextAttrEx& style);
     virtual bool GetStyle(long position, wxRichTextAttr& style);
 
+    // get the common set of styles for the range
+    virtual bool GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style);
+    virtual bool GetStyleForRange(const wxRichTextRange& range, wxTextAttrEx& style);
+
     // extended style setting operation with flags including:
     // wxRICHTEXT_SETSTYLE_WITH_UNDO, wxRICHTEXT_SETSTYLE_OPTIMIZE, wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY, wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY
     // see richtextbuffer.h for more details.
@@ -526,11 +530,11 @@ public:
     /// flags indicating which attributes are of interest.
     virtual bool HasCharacterAttributes(const wxRichTextRange& range, const wxTextAttrEx& style) const
     {
-        return GetBuffer().HasCharacterAttributes(range, style);
+        return GetBuffer().HasCharacterAttributes(range.ToInternal(), style);
     }
     virtual bool HasCharacterAttributes(const wxRichTextRange& range, const wxRichTextAttr& style) const
     {
-        return GetBuffer().HasCharacterAttributes(range, style);
+        return GetBuffer().HasCharacterAttributes(range.ToInternal(), style);
     }
 
     /// Test if this whole range has paragraph attributes of the specified kind. If any
@@ -539,11 +543,11 @@ public:
     /// flags indicating which attributes are of interest.
     virtual bool HasParagraphAttributes(const wxRichTextRange& range, const wxTextAttrEx& style) const
     {
-        return GetBuffer().HasParagraphAttributes(range, style);
+        return GetBuffer().HasParagraphAttributes(range.ToInternal(), style);
     }
     virtual bool HasParagraphAttributes(const wxRichTextRange& range, const wxRichTextAttr& style) const
     {
-        return GetBuffer().HasParagraphAttributes(range, style);
+        return GetBuffer().HasParagraphAttributes(range.ToInternal(), style);
     }
 
     /// Is all of the selection bold?
index fceaaf7dc16f48373e6ec165500586a5ec7416e5..0b1841d64cbc91a3241fcaab2317f8f29850a223 100644 (file)
@@ -1647,7 +1647,9 @@ bool wxRichTextParagraphLayoutBox::SetStyle(const wxRichTextRange& range, const
                 else
                     newPara = para;
 
-                if (paragraphStyle && !charactersOnly)
+                // If we're specifying paragraphs only, then we really mean character formatting
+                // to be included in the paragraph style
+                if ((paragraphStyle || parasOnly) && !charactersOnly)
                 {
                     if (applyMinimal)
                     {
index bac9d50f61c1607274409740c274e78c069433c6..2adf35ae03c5f72eae1e7ab339e569896c23003b 100644 (file)
@@ -2525,6 +2525,24 @@ bool wxRichTextCtrl::GetStyle(long position, wxRichTextAttr& style)
     return GetBuffer().GetStyle(position, style);
 }
 
+// get the common set of styles for the range
+bool wxRichTextCtrl::GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style)
+{
+    wxTextAttrEx styleEx;
+    if (GetBuffer().GetStyleForRange(range.ToInternal(), styleEx))
+    {
+        style = styleEx;
+        return true;
+    }
+    else
+        return false;
+}
+
+bool wxRichTextCtrl::GetStyleForRange(const wxRichTextRange& range, wxTextAttrEx& style)
+{
+    return GetBuffer().GetStyleForRange(range.ToInternal(), style);
+}
+
 /// Get the content (uncombined) attributes for this position.
 
 bool wxRichTextCtrl::GetUncombinedStyle(long position, wxTextAttr& style)
@@ -2705,7 +2723,7 @@ bool wxRichTextCtrl::IsSelectionBold()
     if (HasSelection())
     {
         wxRichTextAttr attr;
-        wxRichTextRange range = GetInternalSelectionRange();
+        wxRichTextRange range = GetSelectionRange();
         attr.SetFlags(wxTEXT_ATTR_FONT_WEIGHT);
         attr.SetFontWeight(wxBOLD);
 
@@ -2734,7 +2752,7 @@ bool wxRichTextCtrl::IsSelectionItalics()
 {
     if (HasSelection())
     {
-        wxRichTextRange range = GetInternalSelectionRange();
+        wxRichTextRange range = GetSelectionRange();
         wxRichTextAttr attr;
         attr.SetFlags(wxTEXT_ATTR_FONT_ITALIC);
         attr.SetFontStyle(wxITALIC);
@@ -2764,7 +2782,7 @@ bool wxRichTextCtrl::IsSelectionUnderlined()
 {
     if (HasSelection())
     {
-        wxRichTextRange range = GetInternalSelectionRange();
+        wxRichTextRange range = GetSelectionRange();
         wxRichTextAttr attr;
         attr.SetFlags(wxTEXT_ATTR_FONT_UNDERLINE);
         attr.SetFontUnderlined(true);
@@ -2836,9 +2854,9 @@ bool wxRichTextCtrl::IsSelectionAligned(wxTextAttrAlignment alignment)
 {
     wxRichTextRange range;
     if (HasSelection())
-        range = GetInternalSelectionRange();
+        range = GetSelectionRange();
     else
-        range = wxRichTextRange(GetCaretPosition()+1, GetCaretPosition()+1);
+        range = wxRichTextRange(GetCaretPosition()+1, GetCaretPosition()+2);
 
     wxRichTextAttr attr;
     attr.SetAlignment(alignment);