diff options
Diffstat (limited to 'Group.h')
-rw-r--r-- | Group.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Group.h b/Group.h new file mode 100644 index 00000000..6a8fadeb --- /dev/null +++ b/Group.h @@ -0,0 +1,36 @@ +#pragma once + +#include <QString> +#include <QRect> +#include <QVector> + +class GroupView; +class QPainter; +class QModelIndex; + +struct Group +{ + Group(const QString &text, GroupView *view); + Group(const Group *other); + GroupView *view; + QString text; + bool collapsed; + QRect iconRect; + QRect textRect; + QVector<int> rowHeights; + int firstRow; + + void update(); + + void drawHeader(QPainter *painter, const int y); + int totalHeight() const; + int headerHeight() const; + int contentHeight() const; + int numRows() const; + int top() const; + + QList<QModelIndex> items() const; + int numItems() const; + QModelIndex firstItem() const; + QModelIndex lastItem() const; +}; |