X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5f35b46aabdab414602d27bb92034c371bc09d2e..c11420034872e991007a53f351fc24e49cc0519e:/docs/latex/wx/textattr.tex diff --git a/docs/latex/wx/textattr.tex b/docs/latex/wx/textattr.tex index 348153a69b..1fba2be659 100644 --- a/docs/latex/wx/textattr.tex +++ b/docs/latex/wx/textattr.tex @@ -1,13 +1,11 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxTextAttr %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \section{\class{wxTextAttr}}\label{wxtextattr} -wxTextAttr represents the character and paragraph attributes, or style, for a range of text in a\rtfsp -\helpref{wxTextCtrl}{wxtextctrl}. +wxTextAttr represents the character and paragraph attributes, or style, +for a range of text in a \helpref{wxTextCtrl}{wxtextctrl} or \helpref{wxRichTextCtrl}{wxrichtextctrl}. -When setting up a wxTextAttr object, pass a bitlist mask to SetFlags to indicate -which style elements should be changed. As a convenience, when you call a -setter such as SetFont, the relevant bit will be set. +When setting up a wxTextAttr object, pass a bitlist mask to \helpref{SetFlags}{wxtextattrsetflags} to +indicate which style elements should be changed. As a convenience, when you call a setter such +as SetFont, the relevant bit will be set. \wxheading{Derived from} @@ -17,20 +15,13 @@ No base class -\wxheading{Typedefs} - -\texttt{wxTextPos} is the type containing the index of a position in a text -control. \texttt{wxTextCoord} contains the index of a column or a row in the -control. +\wxheading{Library} -Note that although both of these types should probably have been unsigned, due -to backwards compatibility reasons, are defined as \texttt{long} currently. -Their use (instead of plain \texttt{long}) is still encouraged as it makes the -code more readable. +\helpref{wxCore}{librarieslist} \wxheading{Constants} -The following values can be passed to SetAlignment to determine +The following values can be passed to wxTextAttr::SetAlignment to determine paragraph alignment. {\small @@ -47,137 +38,532 @@ 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 wxTextAttr::SetFlags to determine what attributes will be considered when setting the attributes for a text control. {\small \begin{verbatim} -#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 +// Standard wxTextAttr constants + +#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_ENCODING 0x02000000 #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 +| wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_ENCODING +#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_PARA_SPACING_AFTER 0x00000800 +#define wxTEXT_ATTR_PARA_SPACING_BEFORE 0x00001000 +#define wxTEXT_ATTR_LINE_SPACING 0x00002000 +#define wxTEXT_ATTR_CHARACTER_STYLE_NAME 0x00004000 +#define wxTEXT_ATTR_PARAGRAPH_STYLE_NAME 0x00008000 +#define wxTEXT_ATTR_LIST_STYLE_NAME 0x00010000 +#define wxTEXT_ATTR_BULLET_STYLE 0x00020000 +#define wxTEXT_ATTR_BULLET_NUMBER 0x00040000 +#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} } -\latexignore{\rtfignore{\wxheading{Members}}} +The following styles can be passed to wxTextAttr::SetBulletStyle: + +{\small +\begin{verbatim} +#define wxTEXT_ATTR_BULLET_STYLE_NONE 0x00000000 +#define wxTEXT_ATTR_BULLET_STYLE_ARABIC 0x00000001 +#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER 0x00000002 +#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER 0x00000004 +#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER 0x00000008 +#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER 0x00000010 +#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL 0x00000020 +#define wxTEXT_ATTR_BULLET_STYLE_BITMAP 0x00000040 +#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES 0x00000080 +#define wxTEXT_ATTR_BULLET_STYLE_PERIOD 0x00000100 +#define wxTEXT_ATTR_BULLET_STYLE_STANDARD 0x00000200 +#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS 0x00000400 +#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE 0x00000800 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT 0x00000000 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT 0x00001000 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE 0x00002000 +\end{verbatim} +} +Of these, wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is unimplemented. -\membersection{wxTextAttr::wxTextAttr}\label{wxtextattrctor} +The following constants can be passed to wxTextAttr::SetLineSpacing: + +{\small +\begin{verbatim} +#define wxTEXT_ATTR_LINE_SPACING_NORMAL 10 +#define wxTEXT_ATTR_LINE_SPACING_HALF 15 +#define wxTEXT_ATTR_LINE_SPACING_TWICE 20 +\end{verbatim} +} + +The following styles can be passed to wxTextAttr::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{wxTextCtrl}{wxtextctrl}, \helpref{wxRichTextCtrl}{wxrichtextctrl} + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxTextAttr::wxTextAttr}\label{wxtextattrwxtextattr} \func{}{wxTextAttr}{\void} -\func{}{wxTextAttr}{\param{const wxColour\& }{colText}, \param{const wxColour\& }{colBack = wxNullColour}, - \param{const wxFont\& }{font = wxNullFont}, \param{wxTextAttrAlignment }{alignment = wxTEXT\_ALIGNMENT\_DEFAULT}} +\func{}{wxTextAttr}{\param{const wxColour\& }{colText}, \param{const wxColour\& }{colBack = wxNullColour}, \param{const wxFont\& }{font = wxNullFont}, \param{wxTextAttrAlignment }{alignment = wxTEXT\_ALIGNMENT\_DEFAULT}} + +\func{}{wxTextAttr}{\param{const wxTextAttr\& }{attr}} -The constructors initialize one or more of the text foreground colour, background -colour, font, and alignment. The values not initialized in the constructor can be set -later, otherwise \helpref{wxTextCtrl::SetStyle}{wxtextctrlsetstyle} will use -the default values for them. +Constructors. +\membersection{wxTextAttr::Apply}\label{wxtextattrapply} + +\func{bool}{Apply}{\param{const wxTextAttr\& }{style}, \param{const wxTextAttr* }{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). + +\membersection{wxTextAttr::CreateFont}\label{wxtextattrcreatefont} + +\constfunc{wxFont}{CreateFont}{\void} + +Creates a font from the font attributes. \membersection{wxTextAttr::GetAlignment}\label{wxtextattrgetalignment} \constfunc{wxTextAttrAlignment}{GetAlignment}{\void} -Returns the paragraph alignment. - +Returns the alignment flags. +See \helpref{wxTextAttr::SetAlignment}{wxtextattrsetalignment} for a list of available styles. \membersection{wxTextAttr::GetBackgroundColour}\label{wxtextattrgetbackgroundcolour} \constfunc{const wxColour\&}{GetBackgroundColour}{\void} -Return the background colour specified by this attribute. +Returns the background colour. + +\membersection{wxTextAttr::GetBulletFont}\label{wxtextattrgetbulletfont} + +\constfunc{const wxString\&}{GetBulletFont}{\void} + +Returns a string containing the name of the font associated with the bullet symbol. +Only valid for attributes with wxTEXT\_ATTR\_BULLET\_SYMBOL. +\membersection{wxTextAttr::GetBulletName}\label{wxtextattrgetbulletname} + +\constfunc{const wxString\&}{GetBulletName}{\void} + +Returns the standard bullet name, applicable if the bullet style is wxTEXT\_ATTR\_BULLET\_STYLE\_STANDARD. +Currently the following standard bullet names are supported: + +\begin{itemize}\itemsep=0pt +\item {\tt standard/circle} +\item {\tt standard/square} +\item {\tt standard/diamond} +\item {\tt standard/triangle} +\end{itemize} + +For wxRichTextCtrl users only: if you wish your rich text controls to support further bullet graphics, you can derive a +class from wxRichTextRenderer or wxRichTextStdRenderer, override {\tt DrawStandardBullet} and {\tt EnumerateStandardBulletNames}, and +set an instance of the class using \helpref{wxRichTextBuffer::SetRenderer}{wxrichtextbuffersetrenderer}. + +\membersection{wxTextAttr::GetBulletNumber}\label{wxtextattrgetbulletnumber} + +\constfunc{int}{GetBulletNumber}{\void} + +Returns the bullet number. + +\membersection{wxTextAttr::GetBulletStyle}\label{wxtextattrgetbulletstyle} + +\constfunc{int}{GetBulletStyle}{\void} + +Returns the bullet style. +See \helpref{wxTextAttr::SetBulletStyle}{wxtextattrsetbulletstyle} for a list of available styles. + +\membersection{wxTextAttr::GetBulletText}\label{wxtextattrgetbullettext} + +\constfunc{const wxString\&}{GetBulletText}{\void} + +Returns the bullet text, which could be a symbol, or (for example) cached outline text. + +\membersection{wxTextAttr::GetCharacterStyleName}\label{wxtextattrgetcharacterstylename} + +\constfunc{const wxString\&}{GetCharacterStyleName}{\void} + +Returns the name of the character style. + +\membersection{wxTextAttr::GetFlags}\label{wxtextattrgetflags} + +\constfunc{long}{GetFlags}{\void} + +Returns flags indicating which attributes are applicable. +See \helpref{wxTextAttr::SetFlags}{wxtextattrsetflags} for a list of available flags. \membersection{wxTextAttr::GetFont}\label{wxtextattrgetfont} -\constfunc{const wxFont\&}{GetFont}{\void} +\constfunc{wxFont}{GetFont}{\void} + +Creates and returns a font specified by the font attributes in the wxTextAttr object. Note that +wxTextAttr does not store a wxFont object, so this is only a temporary font. For greater +efficiency, access the font attributes directly. + +\membersection{wxTextAttr::GetFontAttributes}\label{wxtextattrgetfontattributes} + +\func{bool}{GetFontAttributes}{\param{const wxFont\& }{font}, \param{int}{ flags = wxTEXT\_ATTR\_FONT}} + +Gets the font attributes from the given font, using only the attributes specified by {\it flags}. + +\membersection{wxTextAttr::GetFontEncoding}\label{wxtextattrgetfontencoding} + +\constfunc{wxFontEncoding}{GetFontEncoding}{\void} + +Returns the font encoding. + +\membersection{wxTextAttr::GetFontFaceName}\label{wxtextattrgetfontfacename} + +\constfunc{const wxString\&}{GetFontFaceName}{\void} + +Returns the font face name. + +\membersection{wxTextAttr::GetFontSize}\label{wxtextattrgetfontsize} + +\constfunc{int}{GetFontSize}{\void} + +Returns the font size in points. + +\membersection{wxTextAttr::GetFontStyle}\label{wxtextattrgetfontstyle} + +\constfunc{int}{GetFontStyle}{\void} + +Returns the font style. -Return the text font specified by this attribute. +\membersection{wxTextAttr::GetFontUnderlined}\label{wxtextattrgetfontunderlined} +\constfunc{bool}{GetFontUnderlined}{\void} + +Returns \true if the font is underlined. + +\membersection{wxTextAttr::GetFontWeight}\label{wxtextattrgetfontweight} + +\constfunc{int}{GetFontWeight}{\void} + +Returns the font weight. \membersection{wxTextAttr::GetLeftIndent}\label{wxtextattrgetleftindent} -\constfunc{int}{GetLeftIndent}{\void} +\constfunc{long}{GetLeftIndent}{\void} Returns the left indent in tenths of a millimetre. - \membersection{wxTextAttr::GetLeftSubIndent}\label{wxtextattrgetleftsubindent} -\constfunc{int}{GetLeftSubIndent}{\void} +\constfunc{long}{GetLeftSubIndent}{\void} -Returns the left sub indent for all lines but the first line in a paragraph in -tenths of a millimetre. +Returns the left sub-indent in tenths of a millimetre. +\membersection{wxTextAttr::GetLineSpacing}\label{wxtextattrgetlinespacing} -\membersection{wxTextAttr::GetRightIndent}\label{wxtextattrgetrightindent} +\constfunc{int}{GetLineSpacing}{\void} + +Returns the line spacing value, one of wxTEXT\_ATTR\_LINE\_SPACING\_NORMAL, +wxTEXT\_ATTR\_LINE\_SPACING\_HALF, and wxTEXT\_ATTR\_LINE\_SPACING\_TWICE. + +\membersection{wxTextAttr::GetListStyleName}\label{wxtextattrgetliststylename} + +\constfunc{const wxString\&}{GetListStyleName}{\void} + +Returns the name of the list style. + +\membersection{wxTextAttr::GetOutlineLevel}\label{wxtextattrgetoutlinelevel} + +\constfunc{bool}{GetOutlineLevel}{\void} + +Returns the outline level. + +\membersection{wxTextAttr::GetParagraphSpacingAfter}\label{wxtextattrgetparagraphspacingafter} + +\constfunc{int}{GetParagraphSpacingAfter}{\void} + +Returns the space in tenths of a millimeter after the paragraph. + +\membersection{wxTextAttr::GetParagraphSpacingBefore}\label{wxtextattrgetparagraphspacingbefore} + +\constfunc{int}{GetParagraphSpacingBefore}{\void} + +Returns the space in tenths of a millimeter before the paragraph. -\constfunc{int}{GetRightIndent}{\void} +\membersection{wxTextAttr::GetParagraphStyleName}\label{wxtextattrgetparagraphstylename} -Returns the right indent in tenths of a millimetre. +\constfunc{const wxString\&}{GetParagraphStyleName}{\void} +Returns the name of the paragraph style. + +\membersection{wxTextAttr::GetRightIndent}\label{wxtextattrgetrightindent} + +\constfunc{long}{GetRightIndent}{\void} + +Returns the right indent in tenths of a millimeter. \membersection{wxTextAttr::GetTabs}\label{wxtextattrgettabs} \constfunc{const wxArrayInt\&}{GetTabs}{\void} -Returns the array of integers representing the tab stops. Each -array element specifies the tab stop in tenths of a millimetre. - +Returns an array of tab stops, each expressed in tenths of a millimeter. Each stop +is measured from the left margin and therefore each value must be larger than the last. \membersection{wxTextAttr::GetTextColour}\label{wxtextattrgettextcolour} \constfunc{const wxColour\&}{GetTextColour}{\void} -Return the text colour specified by this attribute. +Returns the text foreground colour. + +\membersection{wxTextAttr::GetTextEffectFlags}\label{wxtextattrgettexteffectflags} + +\constfunc{int}{GetTextEffectFlags}{\void} + +Returns the text effect bits of interest. See \helpref{wxTextAttr::SetFlags}{wxtextattrsetflags} for further information. + +\membersection{wxTextAttr::GetTextEffects}\label{wxtextattrgettexteffects} +\constfunc{int}{GetTextEffects}{\void} + +Returns the text effects, a bit list of styles. See \helpref{wxTextAttr::SetTextEffects}{wxtextattrsettexteffects} for +details. + +\membersection{wxTextAttr::GetURL}\label{wxtextattrgeturl} + +\constfunc{const wxString\&}{GetURL}{\void} + +Returns the URL for the content. Content with wxTEXT\_ATTR\_URL style +causes wxRichTextCtrl to show a hand cursor over it, and wxRichTextCtrl generates +a wxTextUrlEvent when the content is clicked. + +\membersection{wxTextAttr::HasAlignment}\label{wxtextattrhasalignment} + +\constfunc{bool}{HasAlignment}{\void} + +Returns \true if the attribute object specifies alignment. \membersection{wxTextAttr::HasBackgroundColour}\label{wxtextattrhasbackgroundcolour} \constfunc{bool}{HasBackgroundColour}{\void} -Returns {\tt true} if this style specifies the background colour to use. +Returns \true if the attribute object specifies a background colour. + +\membersection{wxTextAttr::HasBulletName}\label{wxtextattrhasbulletname} + +\constfunc{bool}{HasBulletName}{\void} +Returns \true if the attribute object specifies a standard bullet name. + +\membersection{wxTextAttr::HasBulletNumber}\label{wxtextattrhasbulletnumber} + +\constfunc{bool}{HasBulletNumber}{\void} + +Returns \true if the attribute object specifies a bullet number. + +\membersection{wxTextAttr::HasBulletStyle}\label{wxtextattrhasbulletstyle} + +\constfunc{bool}{HasBulletStyle}{\void} + +Returns \true if the attribute object specifies a bullet style. + +\membersection{wxTextAttr::HasBulletText}\label{wxtextattrhasbullettext} + +\constfunc{bool}{HasBulletText}{\void} + +Returns \true if the attribute object specifies bullet text (usually specifying a symbol). + +\membersection{wxTextAttr::HasCharacterStyleName}\label{wxtextattrhascharacterstylename} + +\constfunc{bool}{HasCharacterStyleName}{\void} + +Returns \true if the attribute object specifies a character style name. + +\membersection{wxTextAttr::HasFontEncoding}\label{wxtextattrhasfontencoding} + +\constfunc{bool}{HasFontEncoding}{\void} + +Returns \true if the attribute object specifies an encoding. + +\membersection{wxTextAttr::HasFontFaceName}\label{wxtextattrhasfontfacename} + +\constfunc{bool}{HasFontFaceName}{\void} + +Returns \true if the attribute object specifies a font face name. + +\membersection{wxTextAttr::HasFlag}\label{wxtextattrhasflag} + +\constfunc{bool}{HasFlag}{\param{long }{flag}} + +Returns \true if the {\it flag} is present in the attribute object's flag bitlist. \membersection{wxTextAttr::HasFont}\label{wxtextattrhasfont} \constfunc{bool}{HasFont}{\void} -Returns {\tt true} if this style specifies the font to use. +Returns \true if the attribute object specifies any font attributes. + +\membersection{wxTextAttr::HasFontItalic}\label{wxtextattrhasfontitalic} + +\constfunc{bool}{HasFontItalic}{\void} + +Returns \true if the attribute object specifies italic style. + +\membersection{wxTextAttr::HasFontUnderlined}\label{wxtextattrhasfontunderlined} + +\constfunc{bool}{HasFontUnderlined}{\void} + +Returns \true if the attribute object specifies either underlining or no underlining. + +\membersection{wxTextAttr::HasURL}\label{wxtextattrhasurl} + +\constfunc{bool}{HasURL}{\void} + +Returns \true if the attribute object specifies a URL. + +\membersection{wxTextAttr::HasFontWeight}\label{wxtextattrhasfontweight} + +\constfunc{bool}{HasFontWeight}{\void} + +Returns \true if the attribute object specifies font weight (bold, light or normal). + +\membersection{wxTextAttr::HasLeftIndent}\label{wxtextattrhasleftindent} + +\constfunc{bool}{HasLeftIndent}{\void} + +Returns \true if the attribute object specifies a left indent. +\membersection{wxTextAttr::HasLineSpacing}\label{wxtextattrhaslinespacing} + +\constfunc{bool}{HasLineSpacing}{\void} + +Returns \true if the attribute object specifies line spacing. + +\membersection{wxTextAttr::HasListStyleName}\label{wxtextattrhasliststylename} + +\constfunc{bool}{HasListStyleName}{\void} + +Returns \true if the attribute object specifies a list style name. + +\membersection{wxTextAttr::HasOutlineLevel}\label{wxtextattrhasoutlinelevel} + +\constfunc{bool}{HasOutlineLevel}{\void} + +Returns \true if the attribute object specifies an outline level. + +\membersection{wxTextAttr::HasPageBreak}\label{wxtextattrhaspagebreak} + +\constfunc{bool}{HasPageBreak}{\void} + +Returns \true if the attribute object specifies a page break before this paragraph. + +\membersection{wxTextAttr::HasParagraphSpacingAfter}\label{wxtextattrhasparagraphspacingafter} + +\constfunc{bool}{HasParagraphSpacingAfter}{\void} + +Returns \true if the attribute object specifies spacing after a paragraph. + +\membersection{wxTextAttr::HasParagraphSpacingBefore}\label{wxtextattrhasparagraphspacingbefore} + +\constfunc{bool}{HasParagraphSpacingBefore}{\void} + +Returns \true if the attribute object specifies spacing before a paragraph. + +\membersection{wxTextAttr::HasParagraphStyleName}\label{wxtextattrhasparagraphstylename} + +\constfunc{bool}{HasParagraphStyleName}{\void} + +Returns \true if the attribute object specifies a paragraph style name. + +\membersection{wxTextAttr::HasRightIndent}\label{wxtextattrhasrightindent} + +\constfunc{bool}{HasRightIndent}{\void} + +Returns \true if the attribute object specifies a right indent. + +\membersection{wxTextAttr::HasFontSize}\label{wxtextattrhasfontsize} + +\constfunc{bool}{HasFontSize}{\void} + +Returns \true if the attribute object specifies a font point size. + +\membersection{wxTextAttr::HasTabs}\label{wxtextattrhastabs} + +\constfunc{bool}{HasTabs}{\void} + +Returns \true if the attribute object specifies tab stops. \membersection{wxTextAttr::HasTextColour}\label{wxtextattrhastextcolour} \constfunc{bool}{HasTextColour}{\void} -Returns {\tt true} if this style specifies the foreground colour to use. +Returns \true if the attribute object specifies a text foreground colour. +\membersection{wxTextAttr::HasTextEffects}\label{wxtextattrhastexteffects} -\membersection{wxTextAttr::GetFlags}\label{wxtextattrgetflags} +\constfunc{bool}{HasTextEffects}{\void} + +Returns \true if the attribute object specifies text effects. -\func{long}{GetFlags}{\void} +\membersection{wxTextAttr::IsCharacterStyle}\label{wxtextattrischaracterstyle} -Returns a bitlist indicating which attributes will be set. +\constfunc{bool}{IsCharacterStyle}{\void} +Returns \true if the object represents a character style, that is, +the flags specify a font or a text background or foreground colour. \membersection{wxTextAttr::IsDefault}\label{wxtextattrisdefault} \constfunc{bool}{IsDefault}{\void} -Returns {\tt true} if this style specifies any non-default attributes. +Returns \false if we have any attributes set, \true otherwise. + +\membersection{wxTextAttr::IsParagraphStyle}\label{wxtextattrisparagraphstyle} + +\constfunc{bool}{IsParagraphStyle}{\void} +Returns \true if the object represents a paragraph style, that is, +the flags specify alignment, indentation, tabs, paragraph spacing, or +bullet style. \membersection{wxTextAttr::Merge}\label{wxtextattrmerge} @@ -195,40 +581,251 @@ result. \membersection{wxTextAttr::SetAlignment}\label{wxtextattrsetalignment} -\func{void}{SetAlignment}{\param{wxTextAttrAlignment}{ alignment}} +\func{void}{SetAlignment}{\param{wxTextAttrAlignment }{alignment}} -Sets the paragraph alignment. +Sets the paragraph alignment. These are the possible values for {\it alignment}: +{\small +\begin{verbatim} +enum wxTextAttrAlignment +{ + wxTEXT_ALIGNMENT_DEFAULT, + wxTEXT_ALIGNMENT_LEFT, + wxTEXT_ALIGNMENT_CENTRE, + wxTEXT_ALIGNMENT_CENTER = wxTEXT_ALIGNMENT_CENTRE, + wxTEXT_ALIGNMENT_RIGHT, + wxTEXT_ALIGNMENT_JUSTIFIED +}; +\end{verbatim} +} + +Of these, wxTEXT\_ALIGNMENT\_JUSTIFIED is unimplemented. In future justification may be supported +when printing or previewing, only. \membersection{wxTextAttr::SetBackgroundColour}\label{wxtextattrsetbackgroundcolour} -\func{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}} +\func{void}{SetBackgroundColour}{\param{const wxColour\& }{colBack}} Sets the background colour. +\membersection{wxTextAttr::SetBulletFont}\label{wxtextattrsetbulletfont} + +\func{void}{SetBulletFont}{\param{const wxString\& }{font}} + +Sets the name of the font associated with the bullet symbol. +Only valid for attributes with wxTEXT\_ATTR\_BULLET\_SYMBOL. + +\membersection{wxTextAttr::SetBulletName}\label{wxtextattrsetbulletname} + +\func{void}{SetBulletName}{\param{const wxString\& }{name}} + +Sets the standard bullet name, applicable if the bullet style is wxTEXT\_ATTR\_BULLET\_STYLE\_STANDARD. +See \helpref{wxTextAttr::GetBulletName}{wxtextattrgetbulletname} for a list +of supported names, and how to expand the range of supported types. + +\membersection{wxTextAttr::SetBulletNumber}\label{wxtextattrsetbulletnumber} + +\func{void}{SetBulletNumber}{\param{int }{n}} + +Sets the bullet number. + +\membersection{wxTextAttr::SetBulletStyle}\label{wxtextattrsetbulletstyle} + +\func{void}{SetBulletStyle}{\param{int }{style}} + +Sets the bullet style. The following styles can be passed: + +{\small +\begin{verbatim} +#define wxTEXT_ATTR_BULLET_STYLE_NONE 0x00000000 +#define wxTEXT_ATTR_BULLET_STYLE_ARABIC 0x00000001 +#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER 0x00000002 +#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER 0x00000004 +#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER 0x00000008 +#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER 0x00000010 +#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL 0x00000020 +#define wxTEXT_ATTR_BULLET_STYLE_BITMAP 0x00000040 +#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES 0x00000080 +#define wxTEXT_ATTR_BULLET_STYLE_PERIOD 0x00000100 +#define wxTEXT_ATTR_BULLET_STYLE_STANDARD 0x00000200 +#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS 0x00000400 +#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE 0x00000800 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT 0x00000000 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT 0x00001000 +#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE 0x00002000 +\end{verbatim} +} + +Currently wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is not supported. + +\membersection{wxTextAttr::SetBulletText}\label{wxtextattrsetbullettext} + +\func{void}{SetBulletText}{\param{const wxString& }{text}} + +Sets the bullet text, which could be a symbol, or (for example) cached outline text. + +\membersection{wxTextAttr::SetCharacterStyleName}\label{wxtextattrsetcharacterstylename} + +\func{void}{SetCharacterStyleName}{\param{const wxString\& }{name}} + +Sets the character style name. \membersection{wxTextAttr::SetFlags}\label{wxtextattrsetflags} -\func{void}{SetFlags}{\param{long}{ flags}} +\func{void}{SetFlags}{\param{long }{flags}} -Pass a bitlist indicating which attributes will be set. +Sets the flags determining which styles are being specified. The following +flags can be passed in a bitlist: +{\small +\begin{verbatim} +// Standard wxTextAttr constants + +#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 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_PARA_SPACING_AFTER 0x00000800 +#define wxTEXT_ATTR_PARA_SPACING_BEFORE 0x00001000 +#define wxTEXT_ATTR_LINE_SPACING 0x00002000 +#define wxTEXT_ATTR_CHARACTER_STYLE_NAME 0x00004000 +#define wxTEXT_ATTR_PARAGRAPH_STYLE_NAME 0x00008000 +#define wxTEXT_ATTR_LIST_STYLE_NAME 0x00010000 +#define wxTEXT_ATTR_BULLET_STYLE 0x00020000 +#define wxTEXT_ATTR_BULLET_NUMBER 0x00040000 +#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} +} \membersection{wxTextAttr::SetFont}\label{wxtextattrsetfont} \func{void}{SetFont}{\param{const wxFont\&}{ font}} -Sets the text font. +Sets the attributes for the given font. Note that wxTextAttr does not store an actual wxFont object. + +\membersection{wxTextAttr::SetFontEncoding}\label{wxtextattrsetfontencoding} + +\func{void}{SetFontEncoding}{\param{wxFontEncoding }{encoding}} + +Sets the font encoding. + +\membersection{wxTextAttr::SetFontFaceName}\label{wxtextattrsetfontfacename} + +\func{void}{SetFontFaceName}{\param{const wxString\& }{faceName}} + +Sets the paragraph alignment. + +\membersection{wxTextAttr::SetFontSize}\label{wxtextattrsetfontsize} + +\func{void}{SetFontSize}{\param{int }{pointSize}} + +Sets the font size in points. + +\membersection{wxTextAttr::SetFontStyle}\label{wxtextattrsetfontstyle} + +\func{void}{SetFontStyle}{\param{int }{fontStyle}} + +Sets the font style (normal, italic or slanted). + +\membersection{wxTextAttr::SetFontUnderlined}\label{wxtextattrsetfontunderlined} +\func{void}{SetFontUnderlined}{\param{bool }{underlined}} + +Sets the font underlining. + +\membersection{wxTextAttr::SetFontWeight}\label{wxtextattrsetfontweight} + +\func{void}{SetFontWeight}{\param{int }{fontWeight}} + +Sets the font weight. \membersection{wxTextAttr::SetLeftIndent}\label{wxtextattrsetleftindent} \func{void}{SetLeftIndent}{\param{int }{indent}, \param{int }{subIndent = 0}} -Sets the left indent in tenths of a millimetre. -subIndent sets the indent for all lines but the first line in a paragraph -relative to the first line. +Sets the left indent and left subindent in tenths of a millimetre. + +The sub-indent is an offset from the left of the paragraph, and is used for all but the +first line in a paragraph. A positive value will cause the first line to appear to the left +of the subsequent lines, and a negative value will cause the first line to be indented +relative to the subsequent lines. + +wxRichTextBuffer uses indentation to render a bulleted item. The left indent is the distance between +the margin and the bullet. The content of the paragraph, including the first line, starts +at leftMargin + leftSubIndent. So the distance between the left edge of the bullet and the +left of the actual paragraph is leftSubIndent. + +\membersection{wxTextAttr::SetLineSpacing}\label{wxtextattrsetlinespacing} + +\func{void}{SetLineSpacing}{\param{int }{spacing}} + +Sets the line spacing. {\it spacing} is a multiple, where 10 means single-spacing, +15 means 1.5 spacing, and 20 means double spacing. The following constants are +defined for convenience: + +{\small +\begin{verbatim} +#define wxTEXT_ATTR_LINE_SPACING_NORMAL 10 +#define wxTEXT_ATTR_LINE_SPACING_HALF 15 +#define wxTEXT_ATTR_LINE_SPACING_TWICE 20 +\end{verbatim} +} + +\membersection{wxTextAttr::SetListStyleName}\label{wxtextattrsetliststylename} + +\func{void}{SetListStyleName}{\param{const wxString\& }{name}} + +Sets the list style name. + +\membersection{wxTextAttr::SetOutlineLevel}\label{wxtextattrsetoutlinelevel} +\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{wxTextAttr::SetPageBreak}\label{wxtextattrsetpagebreak} + +\func{void}{SetPageBreak}{\param{bool}{ pageBreak = true}} + +Specifies a page break before this paragraph. + +\membersection{wxTextAttr::SetParagraphSpacingAfter}\label{wxtextattrsetparagraphspacingafter} + +\func{void}{SetParagraphSpacingAfter}{\param{int }{spacing}} + +Sets the spacing after a paragraph, in tenths of a millimetre. + +\membersection{wxTextAttr::SetParagraphSpacingBefore}\label{wxtextattrsetparagraphspacingbefore} + +\func{void}{SetParagraphSpacingBefore}{\param{int }{spacing}} + +Sets the spacing before a paragraph, in tenths of a millimetre. + +\membersection{wxTextAttr::SetParagraphStyleName}\label{wxtextattrsetparagraphstylename} + +\func{void}{SetParagraphStyleName}{\param{const wxString\& }{name}} + +Sets the name of the paragraph style. \membersection{wxTextAttr::SetRightIndent}\label{wxtextattrsetrightindent} @@ -236,17 +833,69 @@ relative to the first line. Sets the right indent in tenths of a millimetre. - \membersection{wxTextAttr::SetTabs}\label{wxtextattrsettabs} -\func{void}{SetTabs}{\param{const wxArrayInt\&}{ tabs}} - -Sets the array of integers representing the tab stops. Each -array element specifies the tab stop in tenths of a millimetre. +\func{void}{SetTabs}{\param{const wxArrayInt\& }{tabs}} +Sets the tab stops, expressed in tenths of a millimetre. +Each stop is measured from the left margin and therefore each value must be larger than the last. \membersection{wxTextAttr::SetTextColour}\label{wxtextattrsettextcolour} -\func{void}{SetTextColour}{\param{const wxColour\& }{colour}} +\func{void}{SetTextColour}{\param{const wxColour\& }{colText}} + +Sets the text foreground colout. + +\membersection{wxTextAttr::SetTextEffectFlags}\label{wxtextattrsettexteffectflags} + +\func{void}{SetTextEffectFlags}{\param{int }{flags}} + +Sets the text effect bits of interest. You should also pass wxTEXT\_ATTR\_EFFECTS to \helpref{wxTextAttr::SetFlags}{wxtextattrsetflags}. +See \helpref{wxTextAttr::SetFlags}{wxtextattrsetflags} for further information. + +\membersection{wxTextAttr::SetTextEffects}\label{wxtextattrsettexteffects} + +\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{wxTextAttr::SetFlags}{wxtextattrsetflags}, and call\rtfsp +\helpref{wxTextAttr::SetTextEffectFlags}{wxtextattrsettexteffectflags} with the styles (taken from the +above set) that you are interested in setting. + +\membersection{wxTextAttr::SetURL}\label{wxtextattrseturl} + +\func{void}{SetURL}{\param{const wxString\& }{url}} + +Sets the URL for the content. Sets the wxTEXT\_ATTR\_URL style; content with this style +causes wxRichTextCtrl to show a hand cursor over it, and wxRichTextCtrl generates +a wxTextUrlEvent when the content is clicked. + +\membersection{wxTextAttr::operator=}\label{wxtextattroperatorassign} + +\func{void operator}{operator=}{\param{const wxTextAttr\& }{attr}} + +Assignment from a \helpref{wxTextAttr}{wxtextattr} object. -Sets the text colour.