class EE::UI::UIValueValidationState¶
Overview¶
Observable current validation result shared by UI value binding implementations. More…
#include <uivaluevalidation.hpp> class UIValueValidationState { public: // typedefs typedef std::function<void(const UIValueValidationResult&result)> Callback; typedef ObservableValue<UIValueValidationResult>::Connection Connection; // construction UIValueValidationState(); UIValueValidationState(const UIValueValidationState&); UIValueValidationState(UIValueValidationState&&); // methods UIValueValidationState& operator=(const UIValueValidationState&); UIValueValidationState& operator=(UIValueValidationState&&); bool isValid() const; const UIValueValidationResult& result() const; const std::optional<UIValueValidationResult::Code>& code() const; const std::optional<std::string>& debugMessage() const; Connection observe(Callback callback); void set(UIValueValidationResult result); void clear(); };
Detailed Documentation¶
Observable current validation result shared by UI value binding implementations.
Reading validity never allocates. Observer storage is created lazily by observe(), keeping the ordinary unobserved binding path inexpensive. Notifications are synchronous and use the same snapshot semantics as ObservableValue.
Methods¶
Connection observe(Callback callback)
Observes later result changes. The current result is available through result().
void set(UIValueValidationResult result)
Updates the current result and notifies observers only when it actually changed.