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