22#include "cc_tools_qt/ToolsField.h"
34class CC_TOOLS_API ToolsArrayListField :
public ToolsField
38 using ActPtr = std::unique_ptr<ToolsArrayListField>;
40 ToolsArrayListField();
41 ToolsArrayListField(
const ToolsArrayListField&) =
delete;
42 ToolsArrayListField& operator=(
const ToolsArrayListField&) =
delete;
44 virtual ~ToolsArrayListField() noexcept;
48 void removeField(
int idx);
50 unsigned size() const;
52 bool hasFixedSize() const;
54 void adjustFixedSize();
56 void refreshMembers();
61 virtual
void addFieldImpl() = 0;
62 virtual
void removeFieldImpl(
int idx) = 0;
63 virtual
unsigned sizeImpl() const = 0;
64 virtual
bool hasFixedSizeImpl() const = 0;
65 virtual
void adjustFixedSizeImpl() = 0;
66 virtual
void refreshMembersImpl() = 0;
68 void dispatchImpl(ToolsFieldHandler& handler);
71using ToolsArrayListFieldPtr = ToolsArrayListField::ActPtr;