-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmarkdowneditor.h
41 lines (39 loc) · 1.19 KB
/
markdowneditor.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
#ifndef MARKDOWNEDITOR_H
#define MARKDOWNEDITOR_H
#include<QHBoxLayout>
#include<QWidget>
#include"editor.h"
#include"markdownviewer.h"
#include"markdownrender.h"
#include<string>
using namespace std;
class MarkdownEditor:public QHBoxLayout{
public:
Editor* editor;
MarkdownViewer* viewer;
MarkdownRender* mrender;
MarkdownEditor(QWidget *parent=nullptr):QHBoxLayout(parent){
editor=new Editor();
editor->langChanged("markdown");
viewer=new MarkdownViewer();
mrender=new MarkdownRender(viewer);
mrender->editor=editor;
mrender->updateHeight(editor->height());
this->addWidget(editor);
this->setSpacing(30);
this->addWidget(viewer);
this->setStretchFactor(editor,1);
this->setStretchFactor(viewer,1);
connect(editor,&Editor::textedit,this,&MarkdownEditor::onedit_trigger);
}
void setVisible(bool hide){
editor->setHidden(!hide);
viewer->setHidden(!hide);
//editor2->setHidden(!hide);
}
public slots:
void onedit_trigger(int linenum,const string& str){
mrender->insert(linenum,str);//更新或者插入一个文本行
}
};
#endif // MARKDOWNEDITOR_H