21#include "cc_tools_qt/ToolsField.h"
23#include "comms/field/Optional.h"
34class CC_TOOLS_API ToolsOptionalField :
public ToolsField
37 using ActPtr = std::unique_ptr<ToolsOptionalField>;
38 using Mode = comms::field::OptionalMode;
41 virtual ~ToolsOptionalField() noexcept;
45 void setMode(Mode mode);
47 bool hasField() const;
49 ToolsField& getField();
51 const ToolsField& getField() const;
53 void setField(ToolsFieldPtr fieldPtr);
58 virtual Mode getModeImpl() const = 0;
59 virtual
void setModeImpl(Mode mode) = 0;
61 void dispatchImpl(ToolsFieldHandler& handler);
64using ToolsOptionalFieldPtr = ToolsOptionalField::ActPtr;