9ff52a58a9fcb57754359816c84d72b9d9f96555
[vlp.git] / src / edit / editor.h
1 #ifndef _VLP_EDITOR_H
2 #define _VLP_EDITOR_H
3
4 #include <QtGui/QTextEdit>
5 #include <QtGui/QMainWindow>
6 #include <QtGui/QLineEdit>
7 #include <QtGui/QPushButton>
8 #include <QtGui/QLabel>
9
10 #include "ui/editor.h"
11
12 namespace loglan {
13 namespace vlp {
14
15 #define COMP_MODE       1
16 #define GEN_MODE        2
17 #define ALL_MODE        3
18
19 typedef struct {
20         char name[255];
21         char filename[255];
22 } FuncEntry;
23
24 typedef struct {
25         QList<FuncEntry> dictionary;
26         QStringList names;
27         char name[255];
28 } CategoryEntry;
29
30 class Editor : public QMainWindow, private Ui::EditorWindow {
31         Q_OBJECT
32 public:
33         QString compiler_path;
34         QString gen_path;
35         QString file_path;
36
37         Editor(int argc, char **argv);
38         ~Editor();
39
40         void compile(int mode);
41
42 public:
43         void load(const char *fileName);
44         void save(const char *fileName);
45 private:
46         QString fname;
47         QString find_text;
48         bool sensitive;
49         char HomeDir[255];
50
51 private slots:
52         void on_actionNew_triggered();
53         void on_actionOpen_triggered();
54         void on_actionSave_triggered();
55         void on_actionSave_as_triggered();
56         void on_actionQuit_triggered();
57         void on_actionCopy_triggered();
58         void on_actionPaste_triggered();
59         void on_actionCut_triggered();
60         void on_actionClear_all_triggered();
61         void on_actionFind_triggered();
62         void on_actionFind_Next_triggered();
63         void on_actionPreferences_triggered();
64
65         void on_actionCompile_triggered();
66         void on_actionGen_triggered();
67         void on_actionCompile_Gen_triggered();
68
69         void on_actionProgram_structure_triggered();
70         void on_actionUnit_structure_triggered();
71
72
73         void on_editor_cursorPositionChanged();
74 };
75
76 }
77 }
78
79 #endif // _VLP_EDITOR_H