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