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

124 lines
1.6 KiB
C++
Executable File

#pragma once
#include <LtsTimelineClassic/ltstimelineclassic_export.h>
#include "Range.h"
#include <NGLLogger/INGLLogger.h>
#include <QWidget>
namespace Ui
{
class Timeline;
}
namespace LtsTimelineClassic
{
class AbstractTimelineModel;
class EventGraphic;
class TimelineHeaderView;
class LTSTIMELINECLASSIC_EXPORT TimelineWidget : public QWidget
{
Q_OBJECT
public:
explicit TimelineWidget(QWidget *parent = nullptr);
~TimelineWidget();
void setPositionMarkerTime(const qint64 time);
qint64 getRangeMinimum() const;
qint64 getRangeMaximum() const;
void setPos(qint64 pos);
void setMaxPos();
int getPos() const;
int getMaxPos() const;
void knownRangesChanged(const QVector<Range> &newRanges);
void hideDebugWidget();
void setLiveTime(qint64 time);
private:
void setTimelineRange(qint64 min, qint64 max);
void refreshData();
NGL::INGLLogger &m_logger;
Ui::Timeline *m_timelineUi;
qint64 m_min;
qint64 m_max;
qint64 m_sbPos;
qint64 m_zoomFactor;
TimelineHeaderView *m_headerView;
AbstractTimelineModel *m_model;
signals:
void signalLoadNewEvents(qint64 from, qint64 to);
void signalEventAction(EventGraphic *eg, int);
void signalRangeChanged();
void signalArm(bool arm);
void signalZoomChanged();
public slots:
void scrollBarFilter1(int x);
void scrollBarFilter2();
void slotSetZoomFactor(qint64 zoomFactor);
void slotSectionResized(int logicalIndex, int oldSize, int newSize);
void setTimelineModel(AbstractTimelineModel *model);
void slotUpdateTimeline();
void slotRefreshData();
};
}