#pragma once #include "UIElement.h" class UIReference; class UIDialogElement : public UIContainerElement { private: Framework::Text title; UIReference* notifyOnClose; public: UIDialogElement(); ~UIDialogElement(); void setTitle(const Framework::Text& title); const Framework::Text& getTitle() const; void setNotifyOnClose(UIReference* notifyOnClose); UIReference* zNotifyOnClose() const; Framework::XML::Element* toUIML(Framework::Either zTarget, Entity* zActor) const override; }; class UIDialogElementFactory : public UIContainerElementFactory { public: UIDialogElementFactory(); JSONObjectValidationBuilder* addToValidator( JSONObjectValidationBuilder* builder) const override; UIDialogElement* fromJson( Framework::JSON::JSONObject* zJson) const override; Framework::JSON::JSONObject* toJsonObject( UIDialogElement* zObject) const override; UIDialogElement* createElement( Framework::JSON::JSONObject* zJson) const override; const char* getTypeToken() const override; };