72 lines
1.5 KiB
C++
72 lines
1.5 KiB
C++
#ifndef MDICHILD_H
|
|
#define MDICHILD_H
|
|
|
|
#include <QPlainTextEdit>
|
|
#include <QSettings>
|
|
|
|
class LineNumberArea;
|
|
|
|
class MdiChild : public QPlainTextEdit
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MdiChild(QWidget *parent);
|
|
QString path, scodec;
|
|
bool loadFile(QString);
|
|
bool save();
|
|
bool saveHTML(QString);
|
|
void lineNumberAreaPaintEvent(QPaintEvent *event);
|
|
int lineNumberAreaWidth();
|
|
void insertP();
|
|
void insertBR();
|
|
void insertB();
|
|
void insertH(QString h);
|
|
void insertTR();
|
|
void insertTD();
|
|
void insertDIV(QString se);
|
|
void insertA(QString se);
|
|
void insertImg(QString se);
|
|
void deleteTag();
|
|
void deleteBR();
|
|
|
|
private:
|
|
QSettings settings;
|
|
LineNumberArea *lineNumberArea;
|
|
QFont font;
|
|
QColor intToColor(int intColor);
|
|
|
|
protected:
|
|
void wheelEvent(QWheelEvent *e);
|
|
void keyPressEvent(QKeyEvent *e);
|
|
void resizeEvent(QResizeEvent* e);
|
|
|
|
private slots:
|
|
void contentsChange();
|
|
void updateLineNumberAreaWidth(int newBlockCount);
|
|
void updateLineNumberArea(const QRect &, int);
|
|
void setReadOnlyA(bool ro);
|
|
};
|
|
|
|
|
|
class LineNumberArea : public QWidget
|
|
{
|
|
public:
|
|
LineNumberArea(MdiChild *editor) : QWidget(editor) {
|
|
mdiChild = editor;
|
|
}
|
|
|
|
QSize sizeHint() const override {
|
|
return QSize(mdiChild->lineNumberAreaWidth(), 0);
|
|
}
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *event) override {
|
|
mdiChild->lineNumberAreaPaintEvent(event);
|
|
}
|
|
|
|
private:
|
|
MdiChild *mdiChild;
|
|
};
|
|
|
|
#endif // MDICHILD_H
|