+ int GetFontSize() const { return m_fontSize; }
+ wxFontStyle GetFontStyle() const { return m_fontStyle; }
+ wxFontWeight GetFontWeight() const { return m_fontWeight; }
+ bool GetFontUnderlined() const { return m_fontUnderlined; }
+ const wxString& GetFontFaceName() const { return m_fontFaceName; }
+ wxFontEncoding GetFontEncoding() const { return m_fontEncoding; }
+ wxFontFamily GetFontFamily() const { return m_fontFamily; }
+
+ wxFont GetFont() const;
+
+ const wxString& GetCharacterStyleName() const { return m_characterStyleName; }
+ const wxString& GetParagraphStyleName() const { return m_paragraphStyleName; }
+ const wxString& GetListStyleName() const { return m_listStyleName; }
+ int GetParagraphSpacingAfter() const { return m_paragraphSpacingAfter; }
+ int GetParagraphSpacingBefore() const { return m_paragraphSpacingBefore; }
+
+ int GetLineSpacing() const { return m_lineSpacing; }
+ int GetBulletStyle() const { return m_bulletStyle; }
+ int GetBulletNumber() const { return m_bulletNumber; }
+ const wxString& GetBulletText() const { return m_bulletText; }
+ const wxString& GetBulletFont() const { return m_bulletFont; }
+ const wxString& GetBulletName() const { return m_bulletName; }
+ const wxString& GetURL() const { return m_urlTarget; }
+ int GetTextEffects() const { return m_textEffects; }
+ int GetTextEffectFlags() const { return m_textEffectFlags; }
+ int GetOutlineLevel() const { return m_outlineLevel; }
+
+ // accessors
+ bool HasTextColour() const { return m_colText.IsOk() && HasFlag(wxTEXT_ATTR_TEXT_COLOUR) ; }
+ bool HasBackgroundColour() const { return m_colBack.IsOk() && HasFlag(wxTEXT_ATTR_BACKGROUND_COLOUR) ; }
+ bool HasAlignment() const { return (m_textAlignment != wxTEXT_ALIGNMENT_DEFAULT) && HasFlag(wxTEXT_ATTR_ALIGNMENT) ; }
+ bool HasTabs() const { return HasFlag(wxTEXT_ATTR_TABS) ; }
+ bool HasLeftIndent() const { return HasFlag(wxTEXT_ATTR_LEFT_INDENT); }
+ bool HasRightIndent() const { return HasFlag(wxTEXT_ATTR_RIGHT_INDENT); }
+ bool HasFontWeight() const { return HasFlag(wxTEXT_ATTR_FONT_WEIGHT); }
+ bool HasFontSize() const { return HasFlag(wxTEXT_ATTR_FONT_SIZE); }
+ bool HasFontItalic() const { return HasFlag(wxTEXT_ATTR_FONT_ITALIC); }
+ bool HasFontUnderlined() const { return HasFlag(wxTEXT_ATTR_FONT_UNDERLINE); }
+ bool HasFontFaceName() const { return HasFlag(wxTEXT_ATTR_FONT_FACE); }
+ bool HasFontEncoding() const { return HasFlag(wxTEXT_ATTR_FONT_ENCODING); }
+ bool HasFontFamily() const { return HasFlag(wxTEXT_ATTR_FONT_FAMILY); }
+ bool HasFont() const { return HasFlag(wxTEXT_ATTR_FONT); }
+
+ bool HasParagraphSpacingAfter() const { return HasFlag(wxTEXT_ATTR_PARA_SPACING_AFTER); }
+ bool HasParagraphSpacingBefore() const { return HasFlag(wxTEXT_ATTR_PARA_SPACING_BEFORE); }
+ bool HasLineSpacing() const { return HasFlag(wxTEXT_ATTR_LINE_SPACING); }
+ bool HasCharacterStyleName() const { return HasFlag(wxTEXT_ATTR_CHARACTER_STYLE_NAME) && !m_characterStyleName.IsEmpty(); }
+ bool HasParagraphStyleName() const { return HasFlag(wxTEXT_ATTR_PARAGRAPH_STYLE_NAME) && !m_paragraphStyleName.IsEmpty(); }
+ bool HasListStyleName() const { return HasFlag(wxTEXT_ATTR_LIST_STYLE_NAME) || !m_listStyleName.IsEmpty(); }
+ bool HasBulletStyle() const { return HasFlag(wxTEXT_ATTR_BULLET_STYLE); }
+ bool HasBulletNumber() const { return HasFlag(wxTEXT_ATTR_BULLET_NUMBER); }
+ bool HasBulletText() const { return HasFlag(wxTEXT_ATTR_BULLET_TEXT); }
+ bool HasBulletName() const { return HasFlag(wxTEXT_ATTR_BULLET_NAME); }
+ bool HasURL() const { return HasFlag(wxTEXT_ATTR_URL); }
+ bool HasPageBreak() const { return HasFlag(wxTEXT_ATTR_PAGE_BREAK); }
+ bool HasTextEffects() const { return HasFlag(wxTEXT_ATTR_EFFECTS); }
+ bool HasTextEffect(int effect) const { return HasFlag(wxTEXT_ATTR_EFFECTS) && ((GetTextEffectFlags() & effect) != 0); }
+ bool HasOutlineLevel() const { return HasFlag(wxTEXT_ATTR_OUTLINE_LEVEL); }
+
+ bool HasFlag(long flag) const { return (m_flags & flag) != 0; }
+ void RemoveFlag(long flag) { m_flags &= ~flag; }
+ void AddFlag(long flag) { m_flags |= flag; }
+
+ // Is this a character style?
+ bool IsCharacterStyle() const { return HasFlag(wxTEXT_ATTR_CHARACTER); }
+ bool IsParagraphStyle() const { return HasFlag(wxTEXT_ATTR_PARAGRAPH); }
+