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_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}
}
\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}
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 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 page break before this paragraph.
+
\membersection{wxRichTextAttr::HasParagraphSpacingAfter}\label{wxrichtextattrhasparagraphspacingafter}
\constfunc{bool}{HasParagraphSpacingAfter}{\void}
Returns \true if the attribute object specifies a text foreground colour.
+\membersection{wxRichTextAttr::HasTextEffects}\label{wxrichtextattrhastexteffects}
+
+\constfunc{bool}{HasTextEffects}{\void}
+
+Returns \true if the attribute object specifies text effects.
+
\membersection{wxRichTextAttr::HasUnderlined}\label{wxrichtextattrhasunderlined}
\constfunc{bool}{HasUnderlined}{\void}
Returns \true if the attribute object specifies either underlining or no underlining.
+\membersection{wxRichTextAttr::HasURL}\label{wxrichtextattrhasurl}
+
+\constfunc{bool}{HasURL}{\void}
+
+Returns \true if the attribute object specifies a URL.
+
\membersection{wxRichTextAttr::HasWeight}\label{wxrichtextattrhasweight}
\constfunc{bool}{HasWeight}{\void}
\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}}
+
+Specifies a page break before this paragraph.
+
\membersection{wxRichTextAttr::SetParagraphSpacingAfter}\label{wxrichtextattrsetparagraphspacingafter}
\func{void}{SetParagraphSpacingAfter}{\param{int }{spacing}}
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}}