When setting up a wxRichTextAttr object, pass a bitlist mask to \helpref{SetFlags}{wxrichtextattrsetflags} to
indicate which style elements should be changed. As a convenience, when you call a setter such
-s SetFont, the relevant bit will be set.
+as SetFont, the relevant bit will be set.
-wxRichTextAttr stores attributes without a wxFont object, so is a much more
+wxRichTextAttr stores attributes without a wxFont object, so is a more
efficient way to query styles than using a \helpref{wxTextAttr}{wxtextattr} or \helpref{wxTextAttrEx}{wxtextattrex} object.
\wxheading{Derived from}
\wxheading{Constants}
-The following values can be passed to SetAlignment to determine
+The following values can be passed to wxRichTextAttr::SetAlignment to determine
paragraph alignment.
{\small
\end{verbatim}
}
-These values are passed in a bitlist to SetFlags to determine
+Of these, wxTEXT\_ALIGNMENT\_JUSTIFIED is unimplemented. In future justification may be supported
+when printing or previewing, only.
+
+The following values are passed in a bitlist to wxRichTextAttr::SetFlags to determine
what attributes will be considered when setting the attributes
for a text control.
\begin{verbatim}
// Standard wxTextAttr constants
-#define wxTEXT_ATTR_TEXT_COLOUR 0x0001
-#define wxTEXT_ATTR_BACKGROUND_COLOUR 0x0002
-#define wxTEXT_ATTR_FONT_FACE 0x0004
-#define wxTEXT_ATTR_FONT_SIZE 0x0008
-#define wxTEXT_ATTR_FONT_WEIGHT 0x0010
-#define wxTEXT_ATTR_FONT_ITALIC 0x0020
-#define wxTEXT_ATTR_FONT_UNDERLINE 0x0040
+#define wxTEXT_ATTR_TEXT_COLOUR 0x00000001
+#define wxTEXT_ATTR_BACKGROUND_COLOUR 0x00000002
+#define wxTEXT_ATTR_FONT_FACE 0x00000004
+#define wxTEXT_ATTR_FONT_SIZE 0x00000008
+#define wxTEXT_ATTR_FONT_WEIGHT 0x00000010
+#define wxTEXT_ATTR_FONT_ITALIC 0x00000020
+#define wxTEXT_ATTR_FONT_UNDERLINE 0x00000040
#define wxTEXT_ATTR_FONT \
wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT \
| wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
-#define wxTEXT_ATTR_ALIGNMENT 0x0080
-#define wxTEXT_ATTR_LEFT_INDENT 0x0100
-#define wxTEXT_ATTR_RIGHT_INDENT 0x0200
-#define wxTEXT_ATTR_TABS 0x0400
+#define wxTEXT_ATTR_ALIGNMENT 0x00000080
+#define wxTEXT_ATTR_LEFT_INDENT 0x00000100
+#define wxTEXT_ATTR_RIGHT_INDENT 0x00000200
+#define wxTEXT_ATTR_TABS 0x00000400
// Extra formatting flags not in wxTextAttr
#define wxTEXT_ATTR_BULLET_NAME 0x00100000
#define wxTEXT_ATTR_URL 0x00200000
#define wxTEXT_ATTR_PAGE_BREAK 0x00400000
+#define wxTEXT_ATTR_EFFECTS 0x00800000
+#define wxTEXT_ATTR_OUTLINE_LEVEL 0x01000000
\end{verbatim}
}
\end{verbatim}
}
+Of these, wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is unimplemented.
+
The following constants can be passed to wxRichTextAttr::SetLineSpacing:
{\small
\end{verbatim}
}
+The following styles can be passed to wxTextAttrEx::SetTextEffects:
+
+{\small
+\begin{verbatim}
+#define wxTEXT_ATTR_EFFECT_NONE 0x00000000
+#define wxTEXT_ATTR_EFFECT_CAPITALS 0x00000001
+#define wxTEXT_ATTR_EFFECT_SMALL_CAPITALS 0x00000002
+#define wxTEXT_ATTR_EFFECT_STRIKETHROUGH 0x00000004
+#define wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH 0x00000008
+#define wxTEXT_ATTR_EFFECT_SHADOW 0x00000010
+#define wxTEXT_ATTR_EFFECT_EMBOSS 0x00000020
+#define wxTEXT_ATTR_EFFECT_OUTLINE 0x00000040
+#define wxTEXT_ATTR_EFFECT_ENGRAVE 0x00000080
+#define wxTEXT_ATTR_EFFECT_SUPERSCRIPT 0x00000100
+#define wxTEXT_ATTR_EFFECT_SUBSCRIPT 0x00000200
+\end{verbatim}
+}
+
+Of these, only wxTEXT\_ATTR\_EFFECT\_CAPITALS and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH are implemented.
+
\wxheading{See also}
\helpref{wxTextAttr}{wxtextattr}, \helpref{wxTextAttrEx}{wxtextattrex}, \helpref{wxRichTextCtrl}{wxrichtextctrl}
Constructors.
-\membersection{wxRichTextAttr::CopyTo}\label{wxrichtextattrcopyto}
+\membersection{wxRichTextAttr::Apply}\label{wxrichtextattrapply}
+
+\func{bool}{Combine}{\param{const wxRichTextAttrEx\& }{style}, \param{const wxRichTextAttrEx* }{compareWith = NULL}}
+
+Applies the attributes in {\it style} to the original object, but not those attributes from {\it style} that are the same as those in {\it compareWith} (if passed).
+
+See also \helpref{wxRichTextAttr::Combine}{wxrichtextattrcombine} for a function that does almost the same but returns a new object instead of modifying the original object.
+
+\membersection{wxRichTextAttr::Combine}\label{wxrichtextattrcombine}
-\constfunc{void}{CopyTo}{\param{wxTextAttrEx\& }{attr}}
+\constfunc{wxRichTextAttr}{Combine}{\param{const wxRichTextAttrEx\& }{style}, \param{const wxRichTextAttrEx* }{compareWith = NULL}}
-Copies the wxRichTextAttr attributes to a \helpref{wxTextAttrEx}{wxtextattrex} object.
+Combines 'this' with {\it style}, but not applying attributes from {\it style} that are the same as those in {\it compareWith} (if passed).
+A wxRichTextAttr object is returned and the original object is not changed.
+
+See also \helpref{wxRichTextAttr::Apply}{wxrichtextattrapply} for a function that does almost the same but modifies the original object instead of returning a new one.
\membersection{wxRichTextAttr::CreateFont}\label{wxrichtextattrcreatefont}
Returns the name of the list style.
+\membersection{wxRichTextAttr::GetOutlineLevel}\label{wxrichtextattrgetoutlinelevel}
+
+\constfunc{bool}{GetOutlineLevel}{\void}
+
+Returns the outline level.
+
\membersection{wxRichTextAttr::GetParagraphSpacingAfter}\label{wxrichtextattrgetparagraphspacingafter}
\constfunc{int}{GetParagraphSpacingAfter}{\void}
Returns the text foreground colour.
+\membersection{wxRichTextAttr::GetTextEffectFlags}\label{wxrichtextattrgettexteffectflags}
+
+\constfunc{int}{GetTextEffectFlags}{\void}
+
+Returns the text effect bits of interest. See \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags} for further information.
+
+\membersection{wxRichTextAttr::GetTextEffects}\label{wxrichtextattrgettexteffects}
+
+\constfunc{int}{GetTextEffects}{\void}
+
+Returns the text effects, a bit list of styles. See \helpref{wxRichTextAttr::SetTextEffects}{wxrichtextattrsettexteffects} for
+details.
+
\membersection{wxRichTextAttr::GetURL}\label{wxrichtextattrgeturl}
\constfunc{const wxString\&}{GetURL}{\void}
Returns \true if the attribute object specifies a character style name.
-\membersection{wxRichTextAttr::HasFaceName}\label{wxrichtextattrhasfacename}
+\membersection{wxRichTextAttr::HasFontFaceName}\label{wxrichtextattrhasfontfacename}
-\constfunc{bool}{HasFaceName}{\void}
+\constfunc{bool}{HasFontFaceName}{\void}
Returns \true if the attribute object specifies a font face name.
Returns \true if the attribute object specifies any font attributes.
-\membersection{wxRichTextAttr::HasItalic}\label{wxrichtextattrhasitalic}
+\membersection{wxRichTextAttr::HasFontItalic}\label{wxrichtextattrhasfontitalic}
-\constfunc{bool}{HasItalic}{\void}
+\constfunc{bool}{HasFontItalic}{\void}
Returns \true if the attribute object specifies italic style.
Returns \true if the attribute object specifies a list style name.
+\membersection{wxRichTextAttr::HasOutlineLevel}\label{wxrichtextattrhasoutlinelevel}
+
+\constfunc{bool}{HasOutlineLevel}{\void}
+
+Returns \true if the attribute object specifies an outline level.
+
\membersection{wxRichTextAttr::HasPageBreak}\label{wxrichtextattrhaspagebreak}
\constfunc{bool}{HasPageBreak}{\void}
Returns \true if the attribute object specifies a right indent.
-\membersection{wxRichTextAttr::HasSize}\label{wxrichtextattrhassize}
+\membersection{wxRichTextAttr::HasFontSize}\label{wxrichtextattrhasfontsize}
-\constfunc{bool}{HasSize}{\void}
+\constfunc{bool}{HasFontSize}{\void}
Returns \true if the attribute object specifies a font point size.
Returns \true if the attribute object specifies a text foreground colour.
-\membersection{wxRichTextAttr::HasUnderlined}\label{wxrichtextattrhasunderlined}
+\membersection{wxRichTextAttr::HasTextEffects}\label{wxrichtextattrhastexteffects}
-\constfunc{bool}{HasUnderlined}{\void}
+\constfunc{bool}{HasTextEffects}{\void}
+
+Returns \true if the attribute object specifies text effects.
+
+\membersection{wxRichTextAttr::HasFontUnderlined}\label{wxrichtextattrhasfontunderlined}
+
+\constfunc{bool}{HasFontUnderlined}{\void}
Returns \true if the attribute object specifies either underlining or no underlining.
-\membersection{wxRichTextAttr::HasWeight}\label{wxrichtextattrhasweight}
+\membersection{wxRichTextAttr::HasURL}\label{wxrichtextattrhasurl}
-\constfunc{bool}{HasWeight}{\void}
+\constfunc{bool}{HasURL}{\void}
-Returns \true if the attribute object specifies font weight (bold, light or normal).
+Returns \true if the attribute object specifies a URL.
-\membersection{wxRichTextAttr::Init}\label{wxrichtextattrinit}
+\membersection{wxRichTextAttr::HasFontWeight}\label{wxrichtextattrhasfontweight}
-\func{void}{Init}{\void}
+\constfunc{bool}{HasFontWeight}{\void}
-Initialise the object.
+Returns \true if the attribute object specifies font weight (bold, light or normal).
\membersection{wxRichTextAttr::IsCharacterStyle}\label{wxrichtextattrischaracterstyle}
\end{verbatim}
}
+Of these, wxTEXT\_ALIGNMENT\_JUSTIFIED is unimplemented. In future justification may be supported
+when printing or previewing, only.
+
\membersection{wxRichTextAttr::SetBackgroundColour}\label{wxrichtextattrsetbackgroundcolour}
\func{void}{SetBackgroundColour}{\param{const wxColour\& }{colBack}}
\end{verbatim}
}
+Currently wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is not supported.
+
\membersection{wxRichTextAttr::SetBulletText}\label{wxrichtextattrsetbullettext}
\func{void}{SetBulletText}{\param{const wxString& }{text}}
\begin{verbatim}
// Standard wxTextAttr constants
-#define wxTEXT_ATTR_TEXT_COLOUR 0x0001
-#define wxTEXT_ATTR_BACKGROUND_COLOUR 0x0002
-#define wxTEXT_ATTR_FONT_FACE 0x0004
-#define wxTEXT_ATTR_FONT_SIZE 0x0008
-#define wxTEXT_ATTR_FONT_WEIGHT 0x0010
-#define wxTEXT_ATTR_FONT_ITALIC 0x0020
-#define wxTEXT_ATTR_FONT_UNDERLINE 0x0040
+#define wxTEXT_ATTR_TEXT_COLOUR 0x00000001
+#define wxTEXT_ATTR_BACKGROUND_COLOUR 0x00000002
+#define wxTEXT_ATTR_FONT_FACE 0x00000004
+#define wxTEXT_ATTR_FONT_SIZE 0x00000008
+#define wxTEXT_ATTR_FONT_WEIGHT 0x00000010
+#define wxTEXT_ATTR_FONT_ITALIC 0x00000020
+#define wxTEXT_ATTR_FONT_UNDERLINE 0x00000040
#define wxTEXT_ATTR_FONT \
wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT \
| wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
-#define wxTEXT_ATTR_ALIGNMENT 0x0080
-#define wxTEXT_ATTR_LEFT_INDENT 0x0100
-#define wxTEXT_ATTR_RIGHT_INDENT 0x0200
-#define wxTEXT_ATTR_TABS 0x0400
+#define wxTEXT_ATTR_ALIGNMENT 0x00000080
+#define wxTEXT_ATTR_LEFT_INDENT 0x00000100
+#define wxTEXT_ATTR_RIGHT_INDENT 0x00000200
+#define wxTEXT_ATTR_TABS 0x00000400
// Extra formatting flags not in wxTextAttr
#define wxTEXT_ATTR_BULLET_TEXT 0x00080000
#define wxTEXT_ATTR_BULLET_NAME 0x00100000
#define wxTEXT_ATTR_URL 0x00200000
+#define wxTEXT_ATTR_PAGE_BREAK 0x00400000
+#define wxTEXT_ATTR_EFFECTS 0x00800000
+#define wxTEXT_ATTR_OUTLINE_LEVEL 0x01000000
\end{verbatim}
}
Sets the list style name.
+\membersection{wxRichTextAttr::SetOutlineLevel}\label{wxrichtextattrsetoutlinelevel}
+
+\func{void}{SetOutlineLevel}{\param{int}{ level}}
+
+Specifies the outline level. Zero represents normal text. At present, the outline level is
+not used, but may be used in future for determining list levels and for applications
+that need to store document structure information.
+
\membersection{wxRichTextAttr::SetPageBreak}\label{wxrichtextattrsetpagebreak}
\func{void}{SetPageBreak}{\param{bool}{ pageBreak = true}}
Sets the text foreground colout.
+\membersection{wxRichTextAttr::SetTextEffectFlags}\label{wxrichtextattrsettexteffectflags}
+
+\func{void}{SetTextEffectFlags}{\param{int }{flags}}
+
+Sets the text effect bits of interest. You should also pass wxTEXT\_ATTR\_EFFECTS to \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags}.
+See \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags} for further information.
+
+\membersection{wxRichTextAttr::SetTextEffects}\label{wxrichtextattrsettexteffects}
+
+\func{void}{SetTextEffects}{\param{int }{effects}}
+
+Sets the text effects, a bit list of styles.
+
+The following styles can be passed:
+
+{\small
+\begin{verbatim}
+#define wxTEXT_ATTR_EFFECT_NONE 0x00000000
+#define wxTEXT_ATTR_EFFECT_CAPITALS 0x00000001
+#define wxTEXT_ATTR_EFFECT_SMALL_CAPITALS 0x00000002
+#define wxTEXT_ATTR_EFFECT_STRIKETHROUGH 0x00000004
+#define wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH 0x00000008
+#define wxTEXT_ATTR_EFFECT_SHADOW 0x00000010
+#define wxTEXT_ATTR_EFFECT_EMBOSS 0x00000020
+#define wxTEXT_ATTR_EFFECT_OUTLINE 0x00000040
+#define wxTEXT_ATTR_EFFECT_ENGRAVE 0x00000080
+#define wxTEXT_ATTR_EFFECT_SUPERSCRIPT 0x00000100
+#define wxTEXT_ATTR_EFFECT_SUBSCRIPT 0x00000200
+\end{verbatim}
+}
+
+Of these, only wxTEXT\_ATTR\_EFFECT\_CAPITALS and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH are implemented.
+wxTEXT\_ATTR\_EFFECT\_CAPITALS capitalises text when displayed (leaving the case of the actual buffer
+text unchanged), and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH draws a line through text.
+
+To set effects, you should also pass wxTEXT\_ATTR\_EFFECTS to \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags}, and call\rtfsp
+\helpref{wxRichTextAttr::SetTextEffectFlags}{wxrichtextattrsettexteffectflags} with the styles (taken from the
+above set) that you are interested in setting.
+
\membersection{wxRichTextAttr::SetURL}\label{wxrichtextattrseturl}
\func{void}{SetURL}{\param{const wxString\& }{url}}