HTYEdit/mdichild.h

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