84 lines
1.9 KiB
C++
Executable File
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;
|
|
|
|
}
|