Version: 3.2.5
wxRichTextHTMLHandler Class Reference

#include <wx/richtext/richtexthtml.h>

+ Inheritance diagram for wxRichTextHTMLHandler:

Detailed Description

Handles HTML output (only) for wxRichTextCtrl content.

The most flexible way to use this class is to create a temporary object and call its functions directly, rather than use wxRichTextBuffer::SaveFile or wxRichTextCtrl::SaveFile.

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 wxRichTextHTMLHandler::DeleteTemporaryImages before the next load operation, or you must store the image locations and delete them yourself when appropriate.

You can call wxRichTextHTMLHandler::GetTemporaryImageLocations to get the array of temporary image names.

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:

  • wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_MEMORY Images are saved to the memory filesystem: suitable for showing wxHTML windows.
  • wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_FILES Images are saved to temporary files: suitable for showing in wxHTML windows.
  • wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64 Images are written with the HTML files in Base 64 format: suitable for showing in web browsers.
  • wxRICHTEXT_HANDLER_NO_HEADER_FOOTER Don't include header and footer tags (HTML, HEAD, BODY), so that the HTML can be used as part of a larger document.
  • wxRICHTEXT_HANDLER_USE_CSS Use CSS where possible, otherwise use workarounds that will show in wxHtmlWindow.

Library:  wxRichText
Category:  Rich Text

Public Member Functions

 wxRichTextHTMLHandler (const wxString &name="HTML", const wxString &ext="html", int type=wxRICHTEXT_TYPE_HTML)
 Constructor. More...
 
void ClearTemporaryImageLocations ()
 Clears the image locations generated by the last operation. More...
 
bool DeleteTemporaryImages ()
 Deletes the in-memory or temporary files generated by the last operation. More...
 
wxArrayInt GetFontSizeMapping () const
 Returns the mapping for converting point sizes to HTML font sizes. More...
 
const wxStringGetTempDir () const
 Returns the directory used to store temporary image files. More...
 
const wxArrayStringGetTemporaryImageLocations () const
 Returns the image locations for the last operation. More...
 
void SetFontSizeMapping (const wxArrayInt &fontSizeMapping)
 Sets the mapping for converting point sizes to HTML font sizes. More...
 
void SetTempDir (const wxString &tempDir)
 Sets the directory for storing temporary files. More...
 
void SetTemporaryImageLocations (const wxArrayString &locations)
 Sets the list of image locations generated by the last operation. More...
 
- Public Member Functions inherited from wxRichTextFileHandler
 wxRichTextFileHandler (const wxString &name=wxEmptyString, const wxString &ext=wxEmptyString, int type=0)
 Creates a file handler object. More...
 
bool LoadFile (wxRichTextBuffer *buffer, wxInputStream &stream)
 Loads the buffer from a stream. More...
 
bool SaveFile (wxRichTextBuffer *buffer, wxOutputStream &stream)
 Saves the buffer to a stream. More...
 
virtual bool LoadFile (wxRichTextBuffer *buffer, const wxString &filename)
 Loads the buffer from a file. More...
 
virtual bool SaveFile (wxRichTextBuffer *buffer, const wxString &filename)
 Saves the buffer to a file. More...
 
virtual bool CanHandle (const wxString &filename) const
 Returns true if we handle this filename (if using files). More...
 
virtual bool CanSave () const
 Returns true if we can save using this handler. More...
 
virtual bool CanLoad () const
 Returns true if we can load using this handler. More...
 
virtual bool IsVisible () const
 Returns true if this handler should be visible to the user. More...
 
virtual void SetVisible (bool visible)
 Sets whether the handler should be visible to the user (via the application's load and save dialogs). More...
 
void SetName (const wxString &name)
 Sets the name of the handler. More...
 
wxString GetName () const
 Returns the name of the handler. More...
 
void SetExtension (const wxString &ext)
 Sets the default extension to recognise. More...
 
wxString GetExtension () const
 Returns the default extension to recognise. More...
 
void SetType (int type)
 Sets the handler type. More...
 
int GetType () const
 Returns the handler type. More...
 
void SetFlags (int flags)
 Sets flags that change the behaviour of loading or saving. More...
 
int GetFlags () const
 Returns flags controlling how loading and saving is done. More...
 
void SetEncoding (const wxString &encoding)
 Sets the encoding to use when saving a file. More...
 
const wxStringGetEncoding () const
 Returns the encoding to use when saving a file. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to NULL the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Static Public Member Functions

static bool DeleteTemporaryImages (int flags, const wxArrayString &imageLocations)
 Delete the in-memory or temporary files generated by the last operation. More...
 
static void SetFileCounter (int counter)
 Reset the file counter, in case, for example, the same names are required each time. More...
 

Protected Member Functions

virtual bool DoSaveFile (wxRichTextBuffer *buffer, wxOutputStream &stream)
 Saves the buffer content to the HTML stream. More...
 
- Protected Member Functions inherited from wxRichTextFileHandler
virtual bool DoLoadFile (wxRichTextBuffer *buffer, wxInputStream &stream)=0
 Override to load content from stream into buffer. More...
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 

Additional Inherited Members

- Protected Attributes inherited from wxRichTextFileHandler
wxString m_name
 
wxString m_encoding
 
wxString m_extension
 
int m_type
 
int m_flags
 
bool m_visible
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxRichTextHTMLHandler()

wxRichTextHTMLHandler::wxRichTextHTMLHandler ( const wxString name = "HTML",
const wxString ext = "html",
int  type = wxRICHTEXT_TYPE_HTML 
)

Constructor.

Member Function Documentation

◆ ClearTemporaryImageLocations()

void wxRichTextHTMLHandler::ClearTemporaryImageLocations ( )

Clears the image locations generated by the last operation.

◆ DeleteTemporaryImages() [1/2]

bool wxRichTextHTMLHandler::DeleteTemporaryImages ( )

Deletes the in-memory or temporary files generated by the last operation.

◆ DeleteTemporaryImages() [2/2]

static bool wxRichTextHTMLHandler::DeleteTemporaryImages ( int  flags,
const wxArrayString imageLocations 
)
static

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.

◆ DoSaveFile()

virtual bool wxRichTextHTMLHandler::DoSaveFile ( wxRichTextBuffer buffer,
wxOutputStream stream 
)
protectedvirtual

Saves the buffer content to the HTML stream.

Implements wxRichTextFileHandler.

◆ GetFontSizeMapping()

wxArrayInt wxRichTextHTMLHandler::GetFontSizeMapping ( ) const

Returns the mapping for converting point sizes to HTML font sizes.

◆ GetTempDir()

const wxString& wxRichTextHTMLHandler::GetTempDir ( ) const

Returns the directory used to store temporary image files.

◆ GetTemporaryImageLocations()

const wxArrayString& wxRichTextHTMLHandler::GetTemporaryImageLocations ( ) const

Returns the image locations for the last operation.

◆ SetFileCounter()

static void wxRichTextHTMLHandler::SetFileCounter ( int  counter)
static

Reset the file counter, in case, for example, the same names are required each time.

◆ SetFontSizeMapping()

void wxRichTextHTMLHandler::SetFontSizeMapping ( const wxArrayInt fontSizeMapping)

Sets the mapping for converting point sizes to HTML font sizes.

There should be 7 elements, one for each HTML font size, each element specifying the maximum point size for that HTML font size. For example:

wxArrayInt fontSizeMapping;
fontSizeMapping.Add(7);
fontSizeMapping.Add(9);
fontSizeMapping.Add(11);
fontSizeMapping.Add(12);
fontSizeMapping.Add(14);
fontSizeMapping.Add(22);
fontSizeMapping.Add(100);
htmlHandler.SetFontSizeMapping(fontSizeMapping);
wxArray< int > wxArrayInt
Predefined specialization of wxArray<T> for standard types.
Definition: dynarray.h:818

◆ SetTempDir()

void wxRichTextHTMLHandler::SetTempDir ( const wxString tempDir)

Sets the directory for storing temporary files.

If empty, the system temporary directory will be used.

◆ SetTemporaryImageLocations()

void wxRichTextHTMLHandler::SetTemporaryImageLocations ( const wxArrayString locations)

Sets the list of image locations generated by the last operation.