123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #ifndef QINFOLISTWIDGET_H
- #define QINFOLISTWIDGET_H
- #include <QWidget>
- #include <QListWidget>
- #include <QWheelEvent>
- enum InfoType {
- Info,
- Event,
- Warning,
- Error,
- Succeed
- };
- enum LevelType {
- None,
- Lower,
- Normal,
- Higher
- };
- class QInfoListWidget;
- class QBaseListWidgetItem : public QListWidgetItem
- {
- public:
- QBaseListWidgetItem(const QString &text, InfoType it, LevelType lt);
- virtual ~QBaseListWidgetItem() {}
- void AppentToWidget(QInfoListWidget* container, bool insertFront = true);
- protected:
- virtual QColor FrontColor() const;
- virtual QColor BackgroundColor() const;
- InfoType infoType;
- LevelType levelType;
- };
- class QInfoListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QInfoListWidgetItem(const QString &text, LevelType lt = None);
- virtual ~QInfoListWidgetItem() {}
- };
- class QWarnListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QWarnListWidgetItem(const QString& text, LevelType lt = None)
- :QBaseListWidgetItem(text, InfoType::Warning, lt) {}
- virtual ~QWarnListWidgetItem() {}
- private:
- QColor FrontColor() const;
- };
- class QLightWarnListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QLightWarnListWidgetItem(const QString& text, LevelType lt = None)
- :QBaseListWidgetItem(text, InfoType::Warning, lt) {}
- virtual ~QLightWarnListWidgetItem() {}
- private:
- QColor FrontColor() const;
- QColor BackgroundColor() const;
- };
- class QErrorListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QErrorListWidgetItem(const QString &text, LevelType lt = None)
- :QBaseListWidgetItem(text, InfoType::Error, lt){}
- virtual ~QErrorListWidgetItem() {}
- private:
- QColor FrontColor() const;
- };
- class QLightErrorListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QLightErrorListWidgetItem(const QString &text, LevelType lt = None)
- :QBaseListWidgetItem(text, InfoType::Error, lt){}
- virtual ~QLightErrorListWidgetItem() {}
- private:
- QColor FrontColor() const;
- QColor BackgroundColor() const;
- };
- class QTipErrorListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QTipErrorListWidgetItem(const QString &text, LevelType lt = None)
- :QBaseListWidgetItem(text, InfoType::Error, lt){}
- virtual ~QTipErrorListWidgetItem() {}
- private:
- QColor FrontColor() const;
- QColor BackgroundColor() const;
- };
- class QTipListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QTipListWidgetItem(const QString &text)
- :QBaseListWidgetItem(text, InfoType::Error, Higher){
- setTextAlignment(Qt::AlignCenter);
- }
- virtual ~QTipListWidgetItem() {}
- private:
- QColor FrontColor() const;
- QColor BackgroundColor() const;
- };
- class QConsoleListWidgetItem : public QBaseListWidgetItem
- {
- public:
- QConsoleListWidgetItem(const QString &text)
- :QBaseListWidgetItem(text, InfoType::Info, None)
- {
- }
- virtual ~QConsoleListWidgetItem() {}
- private:
- QColor FrontColor() const;
- QColor BackgroundColor() const;
- };
- class QInfoListWidget : public QListWidget
- {
- Q_OBJECT
- public:
- QInfoListWidget(QWidget* parent = nullptr);
- virtual ~QInfoListWidget() {}
- virtual void PostInit() { qDebug("parent::PostInit"); }
- virtual void RemoveDuplicateItem()
- {
- }
- protected:
- void Init();
- void WheelEvent(QWheelEvent* event);
- };
- class QLeftInfoListWidget : public QInfoListWidget
- {
- Q_OBJECT
- public:
- QLeftInfoListWidget(QWidget* parent = nullptr)
- :QInfoListWidget(parent){PostInit();}
- virtual ~QLeftInfoListWidget() {}
- virtual void PostInit() override;
- };
- class QRightInfoListWidget : public QInfoListWidget
- {
- Q_OBJECT
- public:
- QRightInfoListWidget(QWidget* parent = nullptr)
- :QInfoListWidget(parent){PostInit();}
- virtual ~QRightInfoListWidget() {}
- virtual void PostInit() override;
- };
- #endif // QINFOLISTWIDGET_H
|