Files
qt6-migration-pipeline/Lts/Common/LtsTimeline/timeline_utils.h
T

84 lines
1.9 KiB
C++
Executable File

#pragma once
#include <LtsTimeline/ltstimeline_export.h>
#include <QString>
namespace LtsTimeline
{
struct LTSTIMELINE_EXPORT Tick
{
int pos{-1};
qint64 time{0};
QString label;
Tick() {}
explicit Tick(qint64 time) : time(time) {}
explicit Tick(int pos, qint64 time, const QString &label) : pos(pos), time(time), label(label) {}
};
typedef QVector<Tick> Ticks;
namespace DateTime
{
enum Format { DTG = 0, ISODate = Qt::ISODate, Standard = 2, DTGShort = 3, DTGVeryShort, TimeOnly = 5 };
extern int numberOfDateTimeFormats();
extern LTSTIMELINE_EXPORT QString toString(qint64 time, Format format);
}
typedef DateTime::Format DateTimeFormat;
namespace Zoom
{
enum Factor : int
{
FifteenSeconds = 15 * 1000, ThirtySeconds = 30 * 1000, SixtySeconds = 60 * 1000,
TwoMinutes = 2 * 60 * 1000, ThreeMinutes = 3 * 60 * 1000, FiveMinutes = 5 * 60 * 1000,
TenMinutes = 10 * 60 * 1000, FifteenMinutes = 15 * 60 * 1000, ThirtyMinutes = 30 * 60 * 1000, SixtyMinutes = 60 * 60 * 1000,
TwoHours = 2 * 60 * 60 * 1000, FourHours = 4 * 60 * 60 * 1000, EightHours = 8 * 60 * 60 * 1000, TwelveHours = 12 * 60 * 60 * 1000,
OneDay = 24 * 60 * 60 * 1000
};
extern LTSTIMELINE_EXPORT int numberOfZoomFactors();
extern LTSTIMELINE_EXPORT Factor increment(Factor factor);
extern LTSTIMELINE_EXPORT Factor decrement(Factor factor);
extern LTSTIMELINE_EXPORT Factor ceil(int value);
extern LTSTIMELINE_EXPORT Factor floor(int value);
extern LTSTIMELINE_EXPORT QVector<Factor> availableZoomFactors(Factor min, Factor max);
extern LTSTIMELINE_EXPORT QString toString(Factor factor, bool useShort = false);
extern LTSTIMELINE_EXPORT QString toShortString(Factor factor);
extern LTSTIMELINE_EXPORT int majorInterval(Factor factor);
extern LTSTIMELINE_EXPORT int mediumInterval(Factor factor);
extern LTSTIMELINE_EXPORT int minorInterval(Factor factor);
}
typedef Zoom::Factor ZoomFactor;
typedef QVector<ZoomFactor> ZoomFactors;
}