DtkCore
DTK Core module
载入中...
搜索中...
未找到
dabstractunitformatter.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2017 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DABSTRACTUNITFORMATTER_H
6#define DABSTRACTUNITFORMATTER_H
7
8#include "dtkcore_global.h"
9
10#include <QPair>
11#include <QList>
12
13DCORE_BEGIN_NAMESPACE
14
15class LIBDTKCORESHARED_EXPORT DAbstractUnitFormatter
16{
17public:
20
21protected:
22 virtual int unitMax() const = 0;
23 virtual int unitMin() const = 0;
24 virtual uint unitConvertRate(int unitId) const = 0;
25 virtual qreal unitValueMax(int unitId) const { return unitConvertRate(unitId) - 1; }
26 virtual qreal unitValueMin(int unitId) const { Q_UNUSED(unitId); return 1; }
27 virtual QString unitStr(int unitId) const = 0;
28
29public:
30 qreal formatAs(qreal value, int currentUnit, const int targetUnit) const;
31 QPair<qreal, int> format(const qreal value, const int unit) const;
32 QList<QPair<qreal, int>> formatAsUnitList(const qreal value, int unit) const;
33};
34
35DCORE_END_NAMESPACE
36
37#endif // DABSTRACTUNITFORMATTER_H
抽象格式化工具基类
Definition dabstractunitformatter.h:16
virtual int unitMin() const =0
获取最小的单位id
virtual qreal unitValueMin(int unitId) const
获取当前单位的最小值
Definition dabstractunitformatter.h:26
DAbstractUnitFormatter()
空参构造函数
QPair< qreal, int > format(const qreal value, const int unit) const
格式化数值到合适的单位
qreal formatAs(qreal value, int currentUnit, const int targetUnit) const
格式化数值到指定单位
virtual QString unitStr(int unitId) const =0
获取当前单位的字符串表示
virtual uint unitConvertRate(int unitId) const =0
获取当前单位到下一高级单位的进率
QList< QPair< qreal, int > > formatAsUnitList(const qreal value, int unit) const
包括完整转换数据版本的format()
virtual qreal unitValueMax(int unitId) const
获取当前单位的最大值
Definition dabstractunitformatter.h:25
virtual int unitMax() const =0
获取最大的单位id