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
\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 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}
\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
\end{verbatim}
}
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}}
\func{}{wxRichTextCtrl}{\void}
-\func{}{wxRichTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE}}
+\func{}{wxRichTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
+ \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
+ \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
Constructors.
\membersection{wxRichTextCtrl::Create}\label{wxrichtextctrlcreate}
-\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE}}
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
+ \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
+ \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
Creates the underlying window.
Returns the first visible position in the current view.
+\membersection{wxRichTextCtrl::GetHandlerFlags}\label{wxrichtextfilehandlergethandlerflags}
+
+\constfunc{int}{GetHandlerFlags}{\void}
+
+Returns flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
\membersection{wxRichTextCtrl::GetInsertionPoint}\label{wxrichtextctrlgetinsertionpoint}
\constfunc{long}{GetInsertionPoint}{\void}
Sets the font, and also the basic and default attributes (see \helpref{SetDefaultStyle}{wxrichtextctrlsetdefaultstyle}).
+\membersection{wxRichTextCtrl::SetHandlerFlags}\label{wxrichtextctrlsethandlerflags}
+
+\func{void}{SetHandlerFlags}{\param{int }{flags}}
+
+Sets flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
\membersection{wxRichTextCtrl::SetInsertionPoint}\label{wxrichtextctrlsetinsertionpoint}
\func{void}{SetInsertionPoint}{\param{long }{pos}}
Returns the extension associated with the handler.
+\membersection{wxRichTextFileHandler::GetFlags}\label{wxrichtextfilehandlergetflags}
+
+\constfunc{int}{GetFlags}{\void}
+
+Returns flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
\membersection{wxRichTextFileHandler::GetName}\label{wxrichtextfilehandlergetname}
\constfunc{wxString}{GetName}{\void}
Sets the default extension to recognise.
+\membersection{wxRichTextFileHandler::SetFlags}\label{wxrichtextfilehandlersetflags}
+
+\func{void}{SetFlags}{\param{int }{flags}}
+
+Sets flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
+You call this function directly if you are using a file handler explicitly (without
+going through the text control or buffer LoadFile/SaveFile API). Or, you can
+call the control or buffer's SetHandlerFlags function to set the flags that will
+be used for subsequent load and save operations.
+
\membersection{wxRichTextFileHandler::SetName}\label{wxrichtextfilehandlersetname}
\func{void}{SetName}{\param{const wxString\& }{name}}
Handles HTML output (only) for \helpref{wxRichTextCtrl}{wxrichtextctrl} content.
+The most flexible way to use this class is to create a temporary object and call
+its functions directly, rather than use \helpref{wxRichTextBuffer::SaveFile}{wxrichtextbuffersavefile} or\rtfsp
+\helpref{wxRichTextCtrl::SaveFile}{wxrichtextctrlsavefile}.
+
+Image handling requires a little extra work from the application, to choose an
+appropriate image format for the target HTML viewer and to clean up the temporary images
+later. If you are planning to load the HTML into a standard web browser, you can
+specify the handler flag wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_BASE64 (the default)
+and no extra work is required: the images will be written with the HTML.
+
+However, if you want wxHTML compatibility, you will need to use wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_MEMORY
+or wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_FILES. In this case, you must either call \helpref{DeleteTemporaryImages}{wxrichtexthtmlhandlerdeletetemporaryimages} before
+the next load operation, or you must store the image
+locations and delete them yourself when appropriate. You can call \helpref{GetTemporaryImageLocations}{wxrichtexthtmlhandlergettemporaryimagelocations} to
+get the array of temporary image names.
+
+\wxheading{Handler flags}
+
+The following flags can be used with this handler, via
+the handler's SetFlags function or the buffer or control's
+SetHandlerFlags function:
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_MEMORY}}{Images are saved to the memory filesystem: suitable for showing wxHTML windows.}
+\twocolitem{\windowstyle{wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_FILES}}{Images are saved to temporary files: suitable for showing in wxHTML windows.}
+\twocolitem{\windowstyle{wxRICHTEXT\_HANDLER\_SAVE\_IMAGES\_TO\_BASE64}}{Images are written with the HTML files in Base 64 format: suitable for showing in web browsers.}
+\end{twocollist}
+
\wxheading{Derived from}
\helpref{wxRichTextFileHandler}{wxrichtextfilehandler}
Constructor.
+\membersection{wxRichTextHTMLHandler::ClearTemporaryImageLocations}\label{wxrichtexthtmlhandlercleartemporaryimagelocations}
+
+\func{void}{ClearTemporaryImageLocations}{\void}
+
+Clears the image locations generated by the last operation.
+
+\membersection{wxRichTextHTMLHandler::DeleteTemporaryImages}\label{wxrichtexthtmlhandlerdeletetemporaryimages}
+
+\func{bool}{DeleteTemporaryImages}{\void}
+
+Deletes the in-memory or temporary files generated by the last operation.
+
+\func{bool}{DeleteTemporaryImages}{\param{int }{flags}, \param{const wxArrayString\& }{imageLocations}}
+
+Delete the in-memory or temporary files generated by the last operation. This is a static
+function that can be used to delete the saved locations from an earlier operation,
+for example after the user has viewed the HTML file.
+
\membersection{wxRichTextHTMLHandler::DoSaveFile}\label{wxrichtexthtmlhandlerdosavefile}
\func{bool}{DoSaveFile}{\param{wxRichTextBuffer* }{buffer}, \param{wxOutputStream\& }{stream}}
Saves the buffer content to the HTML stream.
+\membersection{wxRichTextHTMLHandler::GetTempDir}\label{wxrichtexthtmlhandlergettempdir}
+
+\constfunc{const wxString\&}{GetTempDir}{\void}
+
+Returns the directory used to store temporary image files.
+
+\membersection{wxRichTextHTMLHandler::GetTemporaryImageLocations}\label{wxrichtexthtmlhandlergettemporaryimagelocations}
+
+\constfunc{const wxArrayString\&}{GetTemporaryImageLocations}{\void}
+
+Returns the image locations for the last operation.
+
+\membersection{wxRichTextHTMLHandler::SetFileCounter}\label{wxrichtexthtmlhandlersetfilecounter}
+
+\func{void}{SetFileCounter}{\param{int }{counter}}
+
+Reset the file counter, in case, for example, the same names are required each time
+
+\membersection{wxRichTextHTMLHandler::SetTempDir}\label{wxrichtexthtmlhandlersettempdir}
+
+\func{void}{SetTempDir}{\param{const wxString\& }{tempDir}}
+
+Sets the directory for storing temporary files. If empty, the system
+temporary directory will be used.
+
+\membersection{wxRichTextHTMLHandler::SetTemporaryImageLocations}\label{wxrichtexthtmlhandlersettemporaryimagelocations}
+
+\func{void}{SetTemporaryImageLocations}{\param{const wxArrayString\& }{locations}}
+
+Sets the list of image locations generated by the last operation.
+
\helpref{wxRichTextStyleSheet}{wxrichtextstylesheet},
\helpref{wxRichTextStyleComboCtrl}{wxrichtextstylecomboctrl},
\helpref{wxRichTextStyleListBox}{wxrichtextstylelistbox},
+\helpref{wxRichTextStyleListCtrl}{wxrichtextstylelistctrl},
\helpref{wxRichTextEvent}{wxrichtextevent}, \helpref{wxRichTextRange}{wxrichtextrange},
\helpref{wxRichTextFileHandler}{wxrichtextfilehandler}, \helpref{wxRichTextHTMLHandler}{wxrichtexthtmlhandler},
\helpref{wxRichTextXMLHandler}{wxrichtextxmlhandler},
Returns the style on which this style is based.
+\membersection{wxRichTextStyleDefinition::GetDescription}\label{wxrichtextstyledefinitiongetdescription}
+
+\constfunc{const wxString\&}{GetDescription}{\void}
+
+Returns the style's description.
+
\membersection{wxRichTextStyleDefinition::GetName}\label{wxrichtextstyledefinitiongetname}
\constfunc{const wxString\&}{GetName}{\void}
Sets the name of the style that this style is based on.
+\membersection{wxRichTextStyleDefinition::SetDescription}\label{wxrichtextstyledefinitionsetdescription}
+
+\func{void}{SetDescription}{\param{const wxString\& }{descr}}
+
+Sets the style description.
+
\membersection{wxRichTextStyleDefinition::SetName}\label{wxrichtextstyledefinitionsetname}
\func{void}{SetName}{\param{const wxString\& }{name}}
Returns the style sheet associated with this listbox.
+\membersection{wxRichTextStyleListBox::GetStyleType}\label{wxrichtextstylelistboxgetstyletype}
+
+\constfunc{wxRichTextStyleListBox::wxRichTextStyleType}{GetStyleType}{\void}
+
+Returns the type of style to show in the list box.
+
\membersection{wxRichTextStyleListBox::OnGetItem}\label{wxrichtextstylelistboxongetitem}
\constfunc{wxString}{OnGetItem}{\param{size\_t }{n}}
Associates the control with a style sheet.
+\membersection{wxRichTextStyleListBox::SetStyleType}\label{wxrichtextstylelistboxsetstyletype}
+
+\func{void}{SetStyleType}{\param{wxRichTextStyleListBox::wxRichTextStyleType }{styleType}}
+
+Sets the style type to display. One of wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_ALL, wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_PARAGRAPH,
+wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_CHARACTER and wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_LIST.
+
\membersection{wxRichTextStyleListBox::UpdateStyles}\label{wxrichtextstylelistboxupdatestyles}
\func{void}{UpdateStyles}{\void}
Updates the list from the associated style sheet.
+
+\section{\class{wxRichTextStyleListCtrl}}\label{wxrichtextstylelistctrl}
+
+This class incorporates a \helpref{wxRichTextStyleListBox}{wxrichtextstylelistbox} and
+a choice control that allows the user to select the category of style to view.
+It is demonstrated in the wxRichTextCtrl sample in {\tt samples/richtext}.
+
+To use wxRichTextStyleListCtrl, add the control to your window hierarchy and
+call \helpref{SetStyleType}{wxrichtextstylelistctrlsetstyletype} with
+one of wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_ALL, wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_PARAGRAPH,
+wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_CHARACTER and wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_LIST to set the current view.
+Associate the control with a style sheet and rich text control with SetStyleSheet and SetRichTextCtrl,
+so that when a style is double-clicked, it is applied to the selection.
+
+\wxheading{Window styles}
+
+\twocolwidtha{5cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxRICHTEXTSTYLELIST\_HIDE\_TYPE\_SELECTOR}}{This style hides the category selection control.}
+\end{twocollist}
+
+\wxheading{Derived from}
+
+\helpref{wxControl}{wxcontrol}
+
+\wxheading{Include files}
+
+<wx/richtext/richtextstyles.h>
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxRichTextStyleListCtrl::wxRichTextStyleListCtrl}\label{wxrichtextstylelistctrlwxrichtextstylelistctrl}
+
+\func{}{wxRichTextStyleListCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}}
+
+\func{}{wxRichTextStyleListCtrl}{\void}
+
+Constructors.
+
+\membersection{wxRichTextStyleListCtrl::Create}\label{wxrichtextstylelistctrlcreate}
+
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = 0}}
+
+Creates the windows.
+
+\membersection{wxRichTextStyleListCtrl::GetRichTextCtrl}\label{wxrichtextstylelistctrlgetrichtextctrl}
+
+\constfunc{wxRichTextCtrl*}{GetRichTextCtrl}{\void}
+
+Returns the associated rich text control, if any.
+
+\membersection{wxRichTextStyleListCtrl::GetStyleChoice}\label{wxrichtextstylelistctrlgetstylechoice}
+
+\constfunc{wxChoice*}{GetStyleChoice}{\void}
+
+Returns the wxChoice control used for selecting the style category.
+
+\membersection{wxRichTextStyleListCtrl::GetStyleListBox}\label{wxrichtextstylelistctrlgetstylelistbox}
+
+\constfunc{wxRichTextStyleListBox*}{GetStyleListBox}{\void}
+
+Returns the wxListBox control used to view the style list.
+
+\membersection{wxRichTextStyleListCtrl::GetStyleSheet}\label{wxrichtextstylelistctrlgetstylesheet}
+
+\constfunc{wxRichTextStyleSheet*}{GetStyleSheet}{\void}
+
+Returns the associated style sheet, if any.
+
+\membersection{wxRichTextStyleListCtrl::GetStyleType}\label{wxrichtextstylelistctrlgetstyletype}
+
+\constfunc{wxRichTextStyleListBox::wxRichTextStyleType}{GetStyleType}{\void}
+
+Returns the type of style to show in the list box.
+
+\membersection{wxRichTextStyleListCtrl::SetRichTextCtrl}\label{wxrichtextstylelistctrlsetrichtextctrl}
+
+\func{void}{SetRichTextCtrl}{\param{wxRichTextCtrl* }{ctrl}}
+
+Associates the control with a wxRichTextCtrl.
+
+\membersection{wxRichTextStyleListCtrl::SetStyleSheet}\label{wxrichtextstylelistctrlsetstylesheet}
+
+\func{void}{SetStyleSheet}{\param{wxRichTextStyleSheet* }{styleSheet}}
+
+Associates the control with a style sheet.
+
+\membersection{wxRichTextStyleListCtrl::SetStyleType}\label{wxrichtextstylelistctrlsetstyletype}
+
+\func{void}{SetStyleType}{\param{wxRichTextStyleListBox::wxRichTextStyleType }{styleType}}
+
+Sets the style type to display. One of wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_ALL, wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_PARAGRAPH,
+wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_CHARACTER and wxRichTextStyleListBox::wxRICHTEXT\_STYLE\_LIST.
+
+\membersection{wxRichTextStyleListCtrl::UpdateStyles}\label{wxrichtextstylelistctrlupdatestyles}
+
+\func{void}{UpdateStyles}{\void}
+
+Updates the style list box.
+
Returns the number of character styles.
+\membersection{wxRichTextStyleSheet::GetDescription}\label{wxrichtextstylesheetgetdescription}
+
+\constfunc{const wxString\&}{GetDescription}{\void}
+
+Returns the style sheet's description.
+
\membersection{wxRichTextStyleSheet::GetListStyle}\label{wxrichtextstylesheetgetliststyle}
\constfunc{wxRichTextListStyleDefinition*}{GetListStyle}{\param{size\_t }{n}}
Returns the number of list styles.
+\membersection{wxRichTextStyleSheet::GetName}\label{wxrichtextstylesheetgetname}
+
+\constfunc{const wxString\&}{GetName}{\void}
+
+Returns the style sheet's name.
+
\membersection{wxRichTextStyleSheet::GetParagraphStyle}\label{wxrichtextstylesheetgetparagraphstyle}
\constfunc{wxRichTextParagraphStyleDefinition*}{GetParagraphStyle}{\param{size\_t }{n}}
Removes a paragraph style.
+\membersection{wxRichTextStyleSheet::SetDescription}\label{wxrichtextstylesheetsetdescription}
+
+\func{void}{SetDescription}{\param{const wxString\& }{descr}}
+
+Sets the style sheet's description.
+
+\membersection{wxRichTextStyleSheet::SetName}\label{wxrichtextstylesheetsetname}
+
+\func{void}{SetName}{\param{const wxString\& }{name}}
+
+Sets the style sheet's name.
+
create an instance of the handler on the stack and call its
functions directly.
+\wxheading{Handler flags}
+
+The following flags can be used with this handler, via
+the handler's SetFlags function or the buffer or control's
+SetHandlerFlags function:
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxRICHTEXT\_HANDLER\_INCLUDE\_STYLESHEET}}{Include the style sheet in loading and saving operations.}
+\end{twocollist}
+
\wxheading{Derived from}
\helpref{wxRichTextFileHandler}{wxrichtextfilehandler}
#define wxTEXT_ATTR_BULLET_NAME 0x00100000
#define wxTEXT_ATTR_URL 0x00200000
#define wxTEXT_ATTR_PAGE_BREAK 0x00400000
+#define wxTEXT_ATTR_EFFECTS 0x00800000
\end{verbatim}
}
-The following styles can be passed to wxRichTextAttr::SetBulletStyle:
+The following styles can be passed to wxTextAttrEx::SetBulletStyle:
{\small
\begin{verbatim}
\end{verbatim}
}
-The following constants can be passed to wxRichTextAttr::SetLineSpacing:
+Of these, wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is unimplemented.
+
+The following constants can be passed to wxTextAttrEx::SetLineSpacing:
{\small
\begin{verbatim}
\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{wxRichTextAttr}{wxrichtextattr}, \helpref{wxRichTextCtrl}{wxrichtextctrl}
Returns the bullet style.
See \helpref{wxTextAttrEx::SetBulletStyle}{wxtextattrexsetbulletstyle} for a list of available styles.
-\membersection{wxTextAttrEx::GetBulletText}\label{wxrichtextattrgetbullettext}
+\membersection{wxTextAttrEx::GetBulletText}\label{wxtextattrexgetbullettext}
\constfunc{const wxString\&}{GetBulletText}{\void}
Returns the name of the paragraph style.
+\membersection{wxTextAttrEx::GetTextEffectFlags}\label{wxtextattrexgettexteffectflags}
+
+\constfunc{int}{GetTextEffectFlags}{\void}
+
+Returns the text effect bits of interest. See \helpref{wxTextAttr::SetFlags}{wxtextattrsetflags} for further information.
+
+\membersection{wxTextAttrEx::GetTextEffects}\label{wxtextattrexgettexteffects}
+
+\constfunc{int}{GetTextEffects}{\void}
+
+Returns the text effects, a bit list of styles. See \helpref{wxTextAttrEx::SetTextEffects}{wxtextattrexsettexteffects} for
+details.
+
\membersection{wxTextAttrEx::GetURL}\label{wxtextattrexgeturl}
\constfunc{const wxString\&}{GetURL}{\void}
\end{verbatim}
}
+Currently wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is not supported.
+
\membersection{wxTextAttrEx::SetBulletText}\label{wxtextattrexsetbullettext}
\func{void}{SetBulletText}{\param{const wxString\& }{text}}
Sets the name of the paragraph style.
+\membersection{wxTextAttrEx::SetTextEffectFlags}\label{wxtextattrexsettexteffectflags}
+
+\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}.
+
+\membersection{wxTextAttrEx::SetTextEffects}\label{wxtextattrexsettexteffects}
+
+\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{wxTextAttrEx::SetTextEffectFlags}{wxtextattrexsettexteffectflags} with the styles (taken from the
+above set) that you are interested in setting.
+
\membersection{wxTextAttrEx::SetURL}\label{wxtextattrexseturl}
\func{void}{SetURL}{\param{const wxString\& }{url}}
/// Creates a suitable HTML fragment for a definition
wxString CreateHTML(wxRichTextStyleDefinition* def) const;
- /// Associates the control with a style manager
+ /// Associates the control with a style sheet
void SetStyleSheet(wxRichTextStyleSheet* styleSheet) { m_styleSheet = styleSheet; }
wxRichTextStyleSheet* GetStyleSheet() const { return m_styleSheet; }
/// Updates the style list box
void UpdateStyles();
- /// Associates the control with a style manager
+ /// Associates the control with a style sheet
void SetStyleSheet(wxRichTextStyleSheet* styleSheet);
wxRichTextStyleSheet* GetStyleSheet() const;
/// Updates the list
void UpdateStyles() { m_stylePopup->UpdateStyles(); }
- /// Associates the control with a style manager
+ /// Associates the control with a style sheet
void SetStyleSheet(wxRichTextStyleSheet* styleSheet) { m_stylePopup->SetStyleSheet(styleSheet); }
wxRichTextStyleSheet* GetStyleSheet() const { return m_stylePopup->GetStyleSheet(); }
str << wxT(" texteffects=\"");
str << attr.GetTextEffects();
str << wxT("\"");
+
+ str << wxT(" texteffectflags=\"");
+ str << attr.GetTextEffectFlags();
+ str << wxT("\"");
}
if (!attr.GetCharacterStyleName().empty())
attr.SetTextEffects(wxAtoi(value));
}
+ value = node->GetPropVal(wxT("texteffectflags"), wxEmptyString);
+ if (!value.IsEmpty())
+ {
+ attr.SetTextEffectFlags(wxAtoi(value));
+ }
+
// Set paragraph attributes
if (isPara)
{