1 /*-*- c++ -*-********************************************************
2 * wxlparser.h : parsers, import/export for wxLayoutList *
4 * (C) 1998 by Karsten Ballüder (Ballueder@usa.net) *
7 *******************************************************************/
12 # pragma interface "wxlparser.h"
19 enum wxLayoutExportType
24 // this can be caused by empty lines:
28 enum wxLayoutExportMode
30 WXLO_EXPORT_AS_TEXT
= 0x00,
31 WXLO_EXPORT_AS_TEXT_AND_COMMANDS
= 0x01,
32 WXLO_EXPORT_AS_HTML
= 0x02,
33 WXLO_EXPORT_AS_OBJECTS
= 0x03,
36 WXLO_EXPORT_WITH_CRLF
= 0x10,
37 WXLO_EXPORT_WITH_LF_ONLY
= 0x20
40 struct wxLayoutExportObject
42 wxLayoutExportType type
;
46 wxLayoutObject
*object
;
48 ~wxLayoutExportObject()
50 if(type
== WXLO_EXPORT_TEXT
|| type
== WXLO_EXPORT_HTML
)
55 struct wxLayoutExportStatus
57 wxLayoutExportStatus(wxLayoutList
*list
)
59 list
->GetDefaults()->GetStyle(&m_si
);
60 m_line
= list
->GetFirstLine();
61 m_iterator
= m_line
->GetFirstObject();
64 wxLayoutLine
* m_line
;
65 wxLOiterator m_iterator
;
66 wxLayoutStyleInfo m_si
;
71 /// import text into a wxLayoutList (including linefeeds):
72 void wxLayoutImportText(wxLayoutList
*list
, wxString
const &str
,
73 int withflag
= WXLO_EXPORT_WITH_CRLF
);
75 wxLayoutExportObject
*wxLayoutExport(wxLayoutExportStatus
*status
,
76 int mode
= WXLO_EXPORT_AS_TEXT
,
77 int flags
= WXLO_EXPORT_WITH_CRLF
);
79 /// import text into a wxLayoutList (including linefeeds):
80 void wxLayoutImportText(wxLayoutList
*list
, wxString
const &str
,
81 int withflag
= WXLO_EXPORT_WITH_LF_ONLY
);
83 /// export text in a given format
84 wxLayoutExportObject
*wxLayoutExport(wxLayoutExportStatus
*status
,
85 int mode
= WXLO_EXPORT_AS_TEXT
,
86 int flags
= WXLO_EXPORT_WITH_LF_ONLY