src/parser.h

changeset 200
ca23936b455b
parent 176
cd9d6bf6f649
child 206
654661eab7f3
equal deleted inserted replaced
199:6988973515d2 200:ca23936b455b
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */ 17 */
18 18
19 #pragma once 19 #pragma once
20 #include "main.h" 20 #include "main.h"
21 #include "linetypes/object.h"
22 #include "model.h" 21 #include "model.h"
23 #include "modeleditor.h"
24 #include "header.h"
25 22
26 class Parser : public QObject 23 class Parser : public QObject
27 { 24 {
28 Q_OBJECT 25 Q_OBJECT
29 public: 26 public:
30 enum { EndOfModel = -1 };
31 Parser(QIODevice& device, QObject* parent = nullptr); 27 Parser(QIODevice& device, QObject* parent = nullptr);
32 void parseBody(Model &model); 28 void parseBody(Model &model);
33 static std::unique_ptr<ldraw::Object> parseFromString(QString line);
34 private: 29 private:
35 QString readLine(); 30 QString readLine();
36 QIODevice& device; 31 QIODevice& device;
37 }; 32 };
33
34 ModelElement parseLDrawLine(QString line);

mercurial