src/LDConfig.h

changeset 629
b75c6cce02e2
child 641
425b169a82aa
equal deleted inserted replaced
628:6b13e4c2e97b 629:b75c6cce02e2
1 /*
2 * LDForge: LDraw parts authoring CAD
3 * Copyright (C) 2013, 2014 Santeri Piippo
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #ifndef LDFORGE_LDCONFIG_H
20 #define LDFORGE_LDCONFIG_H
21
22 #include "Types.h"
23 #include <QStringList>
24
25 // =============================================================================
26 // LDConfigParser
27 //
28 // String parsing utility for parsing ldconfig.ldr
29 // =============================================================================
30 class LDConfigParser
31 {
32 public:
33 LDConfigParser (QString inText, char sep);
34
35 bool isAtEnd();
36 bool isAtBeginning();
37 bool getNextToken (QString& val);
38 bool peekNextToken (QString& val);
39 bool getToken (QString& val, const int pos);
40 bool findToken (int& result, char const* needle, int args);
41 int getSize();
42 void rewind();
43 void seek (int amount, bool rel);
44 bool tokenCompare (int inPos, const char* sOther);
45
46 inline QString operator[] (const int idx)
47 {
48 return m_tokens[idx];
49 }
50
51 private:
52 QStringList m_tokens;
53 int m_pos;
54 };
55
56 void parseLDConfig();
57
58 #endif // LDFORGE_LDCONFIG_H

mercurial