diff options
Diffstat (limited to 'sigtools/BaseModel.cpp')
-rw-r--r-- | sigtools/BaseModel.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sigtools/BaseModel.cpp b/sigtools/BaseModel.cpp index 3ddcccd7..c806bf83 100644 --- a/sigtools/BaseModel.cpp +++ b/sigtools/BaseModel.cpp @@ -18,6 +18,10 @@ // Header include #include "BaseModel.h" +// Qt includes +#include <QtGui/QPainter> +#include <QtGui/QStyleOptionViewItem> + using namespace Sigtools; const int BaseModel::borderWidth = 1; @@ -38,6 +42,20 @@ BaseModel* BaseModel::parent() return m_parent; } +void BaseModel::paint(QPainter* painter, const QStyleOptionViewItem& option) const +{ + if (option.rect.width() != m_pixmap.width()) + redraw(option.rect.width()); + painter->drawPixmap(option.rect.topLeft(), m_pixmap); +} + +QSize BaseModel::sizeHint(const QStyleOptionViewItem& option) const +{ + if (option.rect.width() != m_pixmap.width()) + redraw(option.rect.width()); + return m_pixmap.size(); +} + int BaseModel::indexNumber() const { if (m_parent) |