X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Events.h;h=741aa0a8b00465a03a8f6220a16a21c38870cc46;hb=4af82842098757e6e7f4f28e2eb744d184bb2b3e;hp=69153a98847fc449c4962a6aeb0145a27ae4983d;hpb=e2c1d6fb594fe1234fa7a0786801d8c1c92d7ac6;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 69153a988..741aa0a8b 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -36,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"; @@ -174,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