2a063ad55f1efa9955b5b58d129b085bfbbbd811
[vlp.git] / src / edit / editor.h
1 #ifndef QWERTY_H
2 #define QWERTY_H
3
4 #include <qwidget.h>
5 #include <qmenubar.h>
6 #include <qmlined.h>
7 #include <qlist.h>
8 #include <qstrlist.h>
9 #include <qframe.h>
10 #include <qmlined.h>
11 #include <qlined.h>
12 #include <qpushbt.h>
13 #include <qcombo.h>
14 #include <qlabel.h>
15
16
17 #define COMP_MODE       1
18 #define GEN_MODE        2
19 #define ALL_MODE        3
20
21 typedef struct {
22         char name[255];
23         char filename[255];
24 } FuncEntry;
25
26 typedef struct {
27         QList<FuncEntry> dictionary;
28         QStrList names;
29         char name[255];
30 } CategoryEntry;
31
32 class My_Edit : public QMultiLineEdit {
33         Q_OBJECT
34 public:
35         My_Edit(QWidget *parent = 0, const char *name = 0);
36         virtual void keyPressEvent(QKeyEvent *ev);
37 signals:
38         void cursorMove();
39 };
40
41 class Editor : public QWidget {
42         Q_OBJECT
43 public:
44         QString compiler_path;
45         QString gen_path;
46         QString file_path;
47
48         Editor(char *hdir = 0, QWidget *parent = 0, const char *name = 0);
49         ~Editor();
50
51         void compile(int mode);
52
53 public slots:
54         void load();
55         void load(const char *fileName);
56         void save();
57         void save(const char *fileName);
58         void save_as();
59         void create();
60         void props();
61         void print();
62         void cmp();
63         void gen();
64         void comp_all();
65
66         void log_unit();
67         void log_prog();
68
69         void findText();
70         void find_next();
71         //void gotoline();
72         void updateline();
73
74 protected:
75         void resizeEvent(QResizeEvent *);
76         virtual void closeEvent (QCloseEvent * e);
77 private:
78         QMenuBar *m;
79         My_Edit *e;
80         QMultiLineEdit *msg;
81         QLabel *position;
82         QString fname;
83         char find_text[256];
84         bool sensitive;
85         char HomeDir[255];
86 };
87
88 #endif // QWERTY_H