Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineView.h
T

74 lines
1.4 KiB
C++

#pragma once
#include "ltstimelineclassic_export.h"
#include "AbstractTimelineModel.h"
#include "LineMap.h"
#include "Range.h"
#include "TimelineHeaderView.h"
#include "TimelineIndicator.h"
#include <QtCore/QObject>
#include <QtWidgets/QTreeView>
namespace LtsTimelineClassic
{
class LTSTIMELINECLASSIC_EXPORT 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();
};
} // namespace LtsTimelineClassic