22#include "cc_tools_qt/details/ToolsNumericFieldBase.h"
24#include <QtCore/QList>
25#include <QtCore/QPair>
35class CC_TOOLS_API ToolsEnumField :
public cc_tools_qt::details::ToolsNumericFieldBase<long long int>
37 using Base = cc_tools_qt::details::ToolsNumericFieldBase<long long int>;
39 using UnderlyingType = Base::UnderlyingType;
40 using ActPtr = std::unique_ptr<ToolsEnumField>;
41 using ValueInfo = QPair<QString, long long>;
42 using ValueInfosList = QList<ValueInfo>;
45 virtual ~ToolsEnumField() noexcept;
47 const ValueInfosList& values() const;
52 virtual const ValueInfosList& valuesImpl() const = 0;
54 virtual
void dispatchImpl(ToolsFieldHandler& handler) override;
57using ToolsEnumFieldPtr = std::unique_ptr<ToolsEnumField>;