Files
qt6-migration-pipeline/Lts/Common/LtsTimelineClassic/TimelineView.h
T

108 lines
1.3 KiB
C++
Executable File

#pragma once
#include "AbstractTimelineModel.h"
#include "TimelineIndicator.h"
#include "TimelineHeaderView.h"
#include "LineMap.h"
#include "Range.h"
#include <QTreeView>
namespace LtsTimelineClassic
{
class TimelineView : public QTreeView
{
Q_OBJECT
public:
explicit TimelineView(QWidget *parent);
EventGraphic *getEventOnPosition(QPoint position);
void setTimelineModel(AbstractTimelineModel *model);
AbstractTimelineModel *timelineModel();
void refreshData();
void setHeader(QHeaderView *header);
void setKnownRanges(const QVector<Range> &newRanges)
{
m_knownRanges = newRanges;
}
void setDrawCache(bool show)
{
m_drawCache = show;
}
private:
qint64 m_posMarkTime;
AbstractTimelineModel *m_model;
LineMap m_lineMap;
QVector<Range> m_knownRanges;
bool m_drawCache;
protected:
bool event(QEvent *event) override;
void mouseReleaseEvent(QMouseEvent *) override;
void wheelEvent(QWheelEvent *event) override;
virtual void paintEvent(QPaintEvent *event) override;
public slots:
void slotResetLineList();
void slotAddLine(int posX, qint64 time);
void slotSetPosMarkTime(qint64 posMarkTime);
signals:
void signalEventAction(EventGraphic *eg, int);
void signalZoom();
void signalUnzoom();
};
}