17 #ifndef VERTICALJOURNAL_H
18 #define VERTICALJOURNAL_H
20 #include "abstractdashview.h"
58 Q_PROPERTY(qreal columnWidth READ columnWidth WRITE setColumnWidth NOTIFY columnWidthChanged)
60 friend class VerticalJournalTest;
65 qreal columnWidth()
const;
66 void setColumnWidth(qreal columnWidth);
69 void columnWidthChanged();
75 ViewItem(QQuickItem *item,
int modelIndex) : m_item(item), m_modelIndex(modelIndex) {}
76 qreal x()
const {
return m_item->x(); }
77 qreal y()
const {
return m_item->y(); }
78 qreal height()
const {
return m_item->height(); }
79 bool operator<(
const ViewItem &v)
const {
return m_modelIndex < v.m_modelIndex; }
85 void findBottomModelIndexToAdd(
int *modelIndex, qreal *yPos)
override;
86 void findTopModelIndexToAdd(
int *modelIndex, qreal *yPos)
override;
87 bool removeNonVisibleItems(qreal bufferFromY, qreal bufferToY)
override;
88 void addItemToView(
int modelIndex, QQuickItem *item)
override;
89 void cleanupExistingItems()
override;
90 void calculateImplicitHeight()
override;
91 void doRelayout()
override;
92 void updateItemCulling(qreal visibleFromY, qreal visibleToY)
override;
93 void processModelRemoves(
const QVector<QQmlChangeSet::Change> &removes)
override;
95 QVector<QList<ViewItem>> m_columnVisibleItems;
96 QHash<int, int> m_indexColumnMap;