X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModelAPI%2FModelAPI_Events.h;h=741aa0a8b00465a03a8f6220a16a21c38870cc46;hb=4af82842098757e6e7f4f28e2eb744d184bb2b3e;hp=00e61330a7634b121fe47a5fc8361fe63229b7c1;hpb=c4a9fdea72e65053f5f11894a5fb76d3a0772d6c;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 00e61330a..741aa0a8b 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -35,10 +36,6 @@ static const char * EVENT_OBJECT_TO_REDISPLAY = "ObjectsToRedisplay"; static const char * EVENT_OPERATION_LAUNCHED = "OperationLaunched"; /// Event ID that plugin is loaded (comes with ModelAPI_ObjectUpdatedMessage) static const char * EVENT_PLUGIN_LOADED = "PliginLoaded"; -/// Event ID that data of feature has to be shown (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_TOSHOW = "ObjectShow"; -/// Event ID that data of feature has to be shown (comes with ModelAPI_ObjectUpdatedMessage) -static const char * EVENT_OBJECT_TOHIDE = "ObjectHide"; // static const char * EVENT_DOCUMENT_CHANGED = "CurrentDocumentChanged"; @@ -167,4 +164,39 @@ class ModelAPI_DocumentCreatedMessage : public Events_Message MODELAPI_EXPORT void setDocument(DocumentPtr theDocument); }; +/// Message that attribute text should be evaluated in the attribute value +class ModelAPI_AttributeEvalMessage : public Events_Message +{ + AttributePtr myAttribute; + + public: + /// Static. Returns EventID of the message. + MODELAPI_EXPORT static Events_ID& eventId() + { + static const char * MY_ATTRIBUTE_EVALUATION_EVENT_ID("AttributeEvaluationRequest"); + static Events_ID anId = Events_Loop::eventByName(MY_ATTRIBUTE_EVALUATION_EVENT_ID); + return anId; + } + + /// usefull method that creates and sends the AttributeEvalMessage event + MODELAPI_EXPORT static void send(AttributePtr theAttribute, const void* theSender) + { + std::shared_ptr aMessage = + std::shared_ptr( + new ModelAPI_AttributeEvalMessage(eventId(), theSender)); + aMessage->setAttribute(theAttribute); + Events_Loop::loop()->send(aMessage); + } + + /// Creates an empty message + MODELAPI_EXPORT ModelAPI_AttributeEvalMessage(const Events_ID theID, const void* theSender = 0); + /// The virtual destructor + MODELAPI_EXPORT virtual ~ModelAPI_AttributeEvalMessage(); + + /// Returns a document stored in the message + MODELAPI_EXPORT AttributePtr attribute() const; + /// Sets an attribute to the message + MODELAPI_EXPORT void setAttribute(AttributePtr theAttribute); +}; + #endif