pollymc/application/widgets/LogView.h

37 lines
1018 B
C
Raw Normal View History

#pragma once
#include <QPlainTextEdit>
#include <QAbstractItemView>
class QAbstractItemModel;
class LogView: public QPlainTextEdit
{
2018-07-15 18:21:05 +05:30
Q_OBJECT
public:
2018-07-15 18:21:05 +05:30
explicit LogView(QWidget *parent = nullptr);
virtual ~LogView();
2018-07-15 18:21:05 +05:30
virtual void setModel(QAbstractItemModel *model);
QAbstractItemModel *model() const;
public slots:
2018-07-15 18:21:05 +05:30
void setWordWrap(bool wrapping);
void findNext(const QString & what, bool reverse);
void scrollToBottom();
protected slots:
2018-07-15 18:21:05 +05:30
void repopulate();
// note: this supports only appending
void rowsInserted(const QModelIndex &parent, int first, int last);
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last);
// note: this supports only removing from front
void rowsRemoved(const QModelIndex &parent, int first, int last);
void modelDestroyed(QObject * model);
protected:
2018-07-15 18:21:05 +05:30
QAbstractItemModel *m_model = nullptr;
QTextCharFormat *m_defaultFormat = nullptr;
bool m_scroll = false;
bool m_scrolling = false;
};