Separated XML and HTML rich text I/O handlers
[wxWidgets.git] / include / wx / richtext / richtexthtml.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/richtext/richedithtml.h
3 // Purpose: HTML I/O for wxRichTextCtrl
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 2005-09-30
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_RICHTEXTHTML_H_
13 #define _WX_RICHTEXTHTML_H_
14
15 /*!
16 * Includes
17 */
18
19 #include "wx/richtext/richtextbuffer.h"
20
21 /*!
22 * wxRichTextHTMLHandler
23 */
24
25 class WXDLLIMPEXP_ADV wxRichTextHTMLHandler: public wxRichTextFileHandler
26 {
27 DECLARE_CLASS(wxRichTextHTMLHandler)
28 public:
29 wxRichTextHTMLHandler(const wxString& name = wxT("HTML"), const wxString& ext = wxT("html"), int type = wxRICHTEXT_TYPE_HTML)
30 : wxRichTextFileHandler(name, ext, type)
31 { }
32
33 #if wxUSE_STREAMS
34 virtual bool DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& stream);
35 virtual bool DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream);
36 #endif
37
38 /// Can we save using this handler?
39 virtual bool CanSave() const { return true; }
40
41 /// Can we load using this handler?
42 virtual bool CanLoad() const { return false; }
43
44 /// Can we handle this filename (if using files)? By default, checks the extension.
45 virtual bool CanHandle(const wxString& filename) const;
46
47 /// Output character formatting
48 virtual void OutputCharacterFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
49
50 /// Output paragraph formatting
51 virtual void OutputParagraphFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
52
53 protected:
54
55 };
56
57 #endif
58 // _WX_RICHTEXTXML_H_