3 * Class used to parse tables received from director in this format :
5 * +---------+---------+-------------------+
6 * | Header1 | Header2 | ... |
7 * +---------+---------+-------------------+
8 * | Data11 | Data12 | ... |
10 * +---------+---------+-------------------+
12 * Nicolas Boichat, April 2004
17 Copyright (C) 2004 Kern Sibbald and John Walker
19 This program is free software; you can redistribute it and/or
20 modify it under the terms of the GNU General Public License
21 as published by the Free Software Foundation; either version 2
22 of the License, or (at your option) any later version.
24 This program is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 GNU General Public License for more details.
29 You should have received a copy of the GNU General Public License
30 along with this program; if not, write to the Free Software
31 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
34 #ifndef WXBTABLEPARSER_H
35 #define WXBTABLEPARSER_H
37 #include "wx/wxprec.h"
43 // for all others, include the necessary headers (this file is usually all you
44 // need because it includes almost all "standard" wxWindows headers)
51 #include <wx/dynarray.h>
54 * Allow the use of Object Array (auto-deletion, object returned as themselves
55 * and not as pointers)
57 class wxbArrayString: public wxArrayString, public wxObject {
59 wxbArrayString(int n = 1);
60 virtual ~wxbArrayString();
63 WX_DECLARE_OBJARRAY( wxbArrayString, wxbTable );
66 * Class used to parse tables received from director. Data can be accessed with
69 * Example : wxString elem = parser[3][2]; fetches column 2 of element 3.
71 class wxbTableParser: public wxbTable, public wxbDataParser
74 wxbTableParser(bool header = true);
75 virtual ~wxbTableParser();
78 * Receives data to analyse.
80 virtual bool Analyse(wxString str, int status);
83 * Return true table parsing has finished.
88 * Returns table header as an array of wxStrings.
90 const wxbArrayString& GetHeader();
92 wxbArrayString tableHeader;
95 * 0 - Table has not begun
96 * 1 - first +--+ line obtained, header will follow
97 * 2 - second +--+ line obtained, data will follow
98 * 3 - last +--+ line obtained, table parsing has finished
103 #endif // WXBTABLEPARSER_H