Extended wxTextAttr and added wxTextCtrl::GetStyle stub

allow better rich text support.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2003-06-20 16:25:31 +00:00
parent f22c3c98a0
commit e00a5d3ca1
8 changed files with 663 additions and 37 deletions

View File

@@ -50,8 +50,8 @@ No base class
\wxheading{Constants}
These flags define what kind of filenames is included in the list of files
enumerated by GetFirst/GetNext
These flags define what kind of filename is included in the list of files
enumerated by GetFirst/GetNext.
{\small
\begin{verbatim}

View File

@@ -2,9 +2,13 @@
\section{\class{wxTextAttr}}\label{wxtextattr}
wxTextAttr represents the attributes, or style, for a range of text in a\rtfsp
wxTextAttr represents the character and paragraph attributes, or style, for a range of text in a\rtfsp
\helpref{wxTextCtrl}{wxtextctrl}.
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.
\wxheading{Derived from}
No base class
@@ -13,61 +17,185 @@ No base class
<wx/textctrl.h>
\wxheading{Constants}
The following values can be passed to SetAlignment to determine
paragraph 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}
}
These values are passed in a bitlist to 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
#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
\end{verbatim}
}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTextAttr::wxTextAttr}\label{wxtextattrctor}
\func{}{wxTextAttr}{\void}
\func{}{wxTextAttr}{\param{const wxColour\& }{colText}, \param{const wxColour\& }{colBack = wxNullColour}, \param{const wxFont\& }{font = wxNullFont}}
\func{}{wxTextAttr}{\param{const wxColour\& }{colText}, \param{const wxColour\& }{colBack = wxNullColour},
\param{const wxFont\& }{font = wxNullFont}, \param{wxTextAttrAlignment }{alignment = wxTEXT\_ALIGNMENT\_DEFAULT}}
The constructors initialize one or more of the text foreground and background
colours and font. The values not initialized in the constructor can be set
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.
\membersection{wxTextAttr::GetBackgroundColour}
\membersection{wxTextAttr::GetAlignment}\label{wxtextattrgetalignment}
\constfunc{wxTextAttrAlignment}{GetAlignment}{\void}
Returns the paragraph alignment.
\membersection{wxTextAttr::GetBackgroundColour}\label{wxtextattrgetbackgroundcolour}
\constfunc{const wxColour\&}{GetBackgroundColour}{\void}
Return the background colour specified by this attribute.
\membersection{wxTextAttr::GetFont}
\membersection{wxTextAttr::GetFont}\label{wxtextattrgetfont}
\constfunc{const wxFont\&}{GetFont}{\void}
Return the text font specified by this attribute.
\membersection{wxTextAttr::GetTextColour}
\membersection{wxTextAttr::GetLeftIndent}\label{wxtextattrgetleftindent}
\constfunc{int}{GetLeftIndent}{\void}
Returns the left indent in tenths of a millimetre.
\membersection{wxTextAttr::GetRightIndent}\label{wxtextattrgetrightindent}
\constfunc{int}{GetRightIndent}{\void}
Returns the right indent in tenths of a millimetre.
\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.
\membersection{wxTextAttr::GetTextColour}\label{wxtextattrgettextcolour}
\constfunc{const wxColour\&}{GetTextColour}{\void}
Return the text colour specified by this attribute.
\membersection{wxTextAttr::HasBackgroundColour}
\membersection{wxTextAttr::HasBackgroundColour}\label{wxtextattrhasbackgroundcolour}
\constfunc{bool}{HasBackgroundColour}{\void}
Returns {\tt true} if this style specifies the background colour to use.
\membersection{wxTextAttr::HasFont}
\membersection{wxTextAttr::HasFont}\label{wxtextattrhasfont}
\constfunc{bool}{HasFont}{\void}
Returns {\tt true} if this style specifies the font to use.
\membersection{wxTextAttr::HasTextColour}
\membersection{wxTextAttr::HasTextColour}\label{wxtextattrhastextcolour}
\constfunc{bool}{HasTextColour}{\void}
Returns {\tt true} if this style specifies the foreground colour to use.
\membersection{wxTextAttr::IsDefault}
\membersection{wxTextAttr::GetFlags}\label{wxtextattrgetflags}
\func{long}{GetFlags}{\void}
Returns a bitlist indicating which attributes will be set.
\membersection{wxTextAttr::IsDefault}\label{wxtextattrisdefault}
\constfunc{bool}{IsDefault}{\void}
Returns {\tt true} if this style specifies any non-default attributes.
\membersection{wxTextAttr::SetAlignment}\label{wxtextattrsetalignment}
\func{void}{SetAlignment}{\param{wxTextAttrAlignment}{ alignment}}
Sets the paragraph alignment.
\membersection{wxTextAttr::SetBackgroundColour}\label{wxtextattrsetbackgroundcolour}
\func{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
Sets the background colour.
\membersection{wxTextAttr::SetFlags}\label{wxtextattrsetflags}
\func{void}{SetFlags}{\param{long}{ flags}}
Pass a bitlist indicating which attributes will be set.
\membersection{wxTextAttr::SetFont}\label{wxtextattrsetfont}
\func{void}{SetFont}{\param{const wxFont\&}{ font}}
Sets the text font.
\membersection{wxTextAttr::SetLeftIndent}\label{wxtextattrsetleftindent}
\func{void}{SetLeftIndent}{\param{int }{indent}}
Sets the left indent in tenths of a millimetre.
\membersection{wxTextAttr::SetRightIndent}\label{wxtextattrsetrightindent}
\func{void}{SetRightIndent}{\param{int }{indent}}
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.
\membersection{wxTextAttr::SetTextColour}\label{wxtextattrsettextcolour}
\func{void}{SetTextColour}{\param{const wxColour\& }{colour}}
Sets the text colour.
%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxTextCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxTextCtrl}}\label{wxtextctrl}
@@ -576,6 +704,22 @@ consisting of the from and to values.}
Gets the text currently selected in the control. If there is no selection, the
returned string is empty.
\membersection{wxTextCtrl::GetStyle}\label{wxtextctrlgetstyle}
\func{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttr\& }{style}}
Returns the style at this position in the text control. Not all platforms
support this function.
\wxheading{Return value}
{\tt true} on success, {\tt false} if an error occured - it may also mean that
the styles are not supported under this platform.
\wxheading{See also}
\helpref{wxTextCtrl::SetStyle}{wxtextctrlsetstyle}, \helpref{wxTextAttr}{wxtextattr}
\membersection{wxTextCtrl::GetValue}\label{wxtextctrlgetvalue}
\constfunc{wxString}{GetValue}{\void}
@@ -874,23 +1018,26 @@ in the control is selected.
\func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttr\& }{style}}
Changes the style of the selection. If either of the font, foreground, or
background colour is not set in {\it style}, the values of\rtfsp
\helpref{GetDefaultStyle()}{wxtextctrlgetdefaultstyle} are used.
Changes the style of the given range. If any attribute within {\it style} is
not set, the correspondign attribute from \helpref{GetDefaultStyle()}{wxtextctrlgetdefaultstyle} is used.
\wxheading{Parameters}
\docparam{start}{The start of selection to change.}
\docparam{start}{The start of the range to change.}
\docparam{end}{The end of selection to change.}
\docparam{end}{The end of the range to change.}
\docparam{style}{The new style for the selection.}
\docparam{style}{The new style for the range.}
\wxheading{Return value}
{\tt true} on success, {\tt false} if an error occured - may also mean that
{\tt true} on success, {\tt false} if an error occured - it may also mean that
the styles are not supported under this platform.
\wxheading{See also}
\helpref{wxTextCtrl::GetStyle}{wxtextctrlgetstyle}, \helpref{wxTextAttr}{wxtextattr}
\membersection{wxTextCtrl::SetValue}\label{wxtextctrlsetvalue}
\func{virtual void}{SetValue}{\param{const wxString\& }{ value}}