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 itemGeometryChanged(QQuickItem *item,
const QRectF &newGeometry,
const QRectF &oldGeometry)
override;
72 void columnWidthChanged();
78 ViewItem(QQuickItem *item,
int modelIndex) : m_item(item), m_modelIndex(modelIndex) {}
79 qreal x()
const {
return m_item->x(); }
80 qreal y()
const {
return m_item->y(); }
81 qreal height()
const {
return m_item->height(); }
82 bool operator<(
const ViewItem v)
const {
return m_modelIndex < v.m_modelIndex; }
88 void findBottomModelIndexToAdd(
int *modelIndex, qreal *yPos)
override;
89 void findTopModelIndexToAdd(
int *modelIndex, qreal *yPos)
override;
90 bool removeNonVisibleItems(qreal bufferFromY, qreal bufferToY)
override;
91 void addItemToView(
int modelIndex, QQuickItem *item)
override;
92 void cleanupExistingItems()
override;
93 void calculateImplicitHeight()
override;
94 void doRelayout()
override;
95 void updateItemCulling(qreal visibleFromY, qreal visibleToY)
override;
96 void processModelRemoves(
const QVector<QQmlChangeSet::Change> &removes)
override;
98 QVector<QList<ViewItem>> m_columnVisibleItems;
99 QHash<int, int> m_indexColumnMap;