]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/richtextattr.tex
another patch bring the docs more up to date (patch 1717776)
[wxWidgets.git] / docs / latex / wx / richtextattr.tex
index ecb81e1146bac711707439fc7032ba35f8234e4a..db6401e5e21f22f9f815f6c3998d6fbfcbd6d86a 100644 (file)
@@ -7,9 +7,9 @@ standard \helpref{wxTextAttr}{wxtextattr} class with wxRichTextCtrl.
 
 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}
@@ -22,7 +22,7 @@ No base class
 
 \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
@@ -39,7 +39,10 @@ enum wxTextAttrAlignment
 \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.
 
@@ -47,20 +50,20 @@ 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
 
@@ -76,6 +79,8 @@ for a text control.
 #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}
 }
 
@@ -102,6 +107,8 @@ The following styles can be passed to wxRichTextAttr::SetBulletStyle:
 \end{verbatim}
 }
 
+Of these, wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is unimplemented.
+
 The following constants can be passed to wxRichTextAttr::SetLineSpacing:
 
 {\small
@@ -112,6 +119,26 @@ The following constants can be passed to wxRichTextAttr::SetLineSpacing:
 \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}
@@ -128,11 +155,22 @@ The following constants can be passed to wxRichTextAttr::SetLineSpacing:
 
 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}
 
@@ -271,6 +309,12 @@ wxTEXT\_ATTR\_LINE\_SPACING\_HALF, and wxTEXT\_ATTR\_LINE\_SPACING\_TWICE.
 
 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}
@@ -308,6 +352,19 @@ is measured from the left margin and therefore each value must be larger than th
 
 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}
@@ -358,9 +415,9 @@ Returns \true if the attribute object specifies bullet text (usually specifying
 
 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.
 
@@ -376,9 +433,9 @@ Returns \true if the {\it flag} is present in the attribute object's flag bitlis
 
 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.
 
@@ -400,6 +457,12 @@ Returns \true if the attribute object specifies line spacing.
 
 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}
@@ -430,9 +493,9 @@ Returns \true if the attribute object specifies a paragraph style name.
 
 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.
 
@@ -448,23 +511,29 @@ Returns \true if the attribute object specifies tab stops.
 
 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}
 
@@ -507,6 +576,9 @@ enum wxTextAttrAlignment
 \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}}
@@ -561,6 +633,8 @@ Sets the bullet style. The following styles can be passed:
 \end{verbatim}
 }
 
+Currently wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is not supported.
+
 \membersection{wxRichTextAttr::SetBulletText}\label{wxrichtextattrsetbullettext}
 
 \func{void}{SetBulletText}{\param{const wxString& }{text}}
@@ -584,20 +658,20 @@ flags can be passed in a bitlist:
 \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
 
@@ -612,6 +686,9 @@ flags can be passed in a bitlist:
 #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}
 }
 
@@ -683,6 +760,14 @@ defined for convenience:
 
 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}}
@@ -726,6 +811,45 @@ Each stop is measured from the left margin and therefore each value must be larg
 
 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}}