X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Events.h;h=741aa0a8b00465a03a8f6220a16a21c38870cc46;hb=4af82842098757e6e7f4f28e2eb744d184bb2b3e;hp=89be2d89985c956e785d783abde00e6b0f93ed25;hpb=5352bbb1915f98d1f02b1cb953a2de19b286a28c;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 89be2d899..741aa0a8b 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -170,21 +170,33 @@ class ModelAPI_AttributeEvalMessage : public Events_Message AttributePtr myAttribute; public: - /// Creates an empty message - MODELAPI_EXPORT ModelAPI_AttributeEvalMessage(const Events_ID theID, const void* theSender = 0); - /// The virtual destructor - MODELAPI_EXPORT virtual ~ModelAPI_AttributeEvalMessage(); /// Static. Returns EventID of the message. - MODELAPI_EXPORT static Events_ID eventId() + MODELAPI_EXPORT static Events_ID& eventId() { static const char * MY_ATTRIBUTE_EVALUATION_EVENT_ID("AttributeEvaluationRequest"); - return Events_Loop::eventByName(MY_ATTRIBUTE_EVALUATION_EVENT_ID); + 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 a document to the message - MODELAPI_EXPORT void setAttribute(AttributePtr theDocument); + /// Sets an attribute to the message + MODELAPI_EXPORT void setAttribute(AttributePtr theAttribute); }; #endif