-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscriptwindow.h
90 lines (76 loc) · 1.66 KB
/
scriptwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#ifndef SCRIPTWINDOW_H
#define SCRIPTWINDOW_H
#include "QCodeEditor/QCodeEditor.hpp"
#include "QCodeEditor/QSyntaxStyle.hpp"
#include "findbar.h"
#include "recentfilemanager.h"
#include "replacebar.h"
#include <DGuiApplicationHelper>
#include <DLabel>
#include <DMainWindow>
#include <DStatusBar>
#include <DToolBar>
#include <QVBoxLayout>
DWIDGET_USE_NAMESPACE
class ScriptWindow : public DMainWindow {
Q_OBJECT
public:
ScriptWindow(DMainWindow *parent = nullptr);
~ScriptWindow();
static ScriptWindow *instance();
private:
void setTheme(DGuiApplicationHelper::ColorType theme);
public:
bool openFile(QString filename, bool readonly = false);
private:
void on_new();
void on_open();
void on_save();
void on_saveas();
void on_undo();
void on_redo();
void on_copy();
void on_cut();
void on_paste();
void on_run();
void on_runfile();
void on_close();
void on_sponsor();
void on_about();
void on_find();
void on_replace();
void on_jmp();
void setSaved(bool b);
signals:
void sigAbout();
void sigSponsor();
private:
QCodeEditor *editor;
static ScriptWindow *m_instance;
QSyntaxStyle *m_styles[2];
DToolBar *toolbar;
DStatusBar *status;
QAction *aundo, *aredo;
QAction *mundo, *mredo;
DMenu *menu;
RecentFileManager *recentmanager;
QVBoxLayout *vlayout;
FindBar *findbar;
ReplaceBar *replacebar;
QIcon picon;
private:
bool isSaved = true;
QString lastusedpath;
QString currentfilename;
private:
QPixmap infoSaved;
QPixmap infoUnsaved;
QPixmap infoReadonly;
QPixmap infoWriteable;
DLabel *iReadWrite;
DLabel *iSaved;
DLabel *lblrow;
DLabel *lblcol;
DLabel *lbllen;
};
#endif // SCRIPTWINDOW_H