#ifndef GGBASEDELEGATE_H #define GGBASEDELEGATE_H #include #include "Common/External/Core/BaseItemDelegate/baseitemdelegate.h" #include "baseheader.h" class BaseDelegate : public BaseItemDelegate { Q_OBJECT public: explicit BaseDelegate(QObject *parent = nullptr, bool bottomBorderVisible = true, Qt::Alignment flags = Qt::AlignLeft|Qt::AlignVCenter); void SetBottomBorderVisible(bool value); void SetTextAlignment(Qt::Alignment flags); //设置表头对象 void SetGGBaseHHeader(BaseHeader* pGGBaseHHeader){m_BaseHHeader = pGGBaseHHeader;} //获取表头对象 BaseHeader* GetGGBaseHHeader(){ return m_BaseHHeader;} public: QColor GetBaseBGColor(const QStyleOptionViewItem &, const QModelIndex &) const override; QColor GetSpecifiedBGColor(const QStyleOptionViewItem &, const QModelIndex &, SpecifiedBGRole) const override; QFont GetFont(const QStyleOptionViewItem &option, const QModelIndex &) const override; QColor GetTextColor(const QStyleOptionViewItem &option, const QModelIndex &) const override; QRect GetFontRect(const QStyleOptionViewItem &option, const QModelIndex &) const override; void PaintText(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; protected: void PaintBase(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; bool m_bBottomBorderVisible; Qt::Alignment m_alignmentText; BaseHeader* m_BaseHHeader; }; #endif // GGBASEDELEGATE_H