X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelAPI%2FModelAPI_Events.h;h=39518f563a3ee234afb53083eb60ecbc89c7fca9;hb=c66d90377083e2611816b72500533d4ffbc73e19;hp=4ba952cf5eb0a0d04218b06729cf13a448140bb3;hpb=90c96d8564e5d92cfd7fb0f0b49ab077a93ba9e2;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Events.h b/src/ModelAPI/ModelAPI_Events.h index 4ba952cf5..39518f563 100644 --- a/src/ModelAPI/ModelAPI_Events.h +++ b/src/ModelAPI/ModelAPI_Events.h @@ -50,12 +50,17 @@ static const char * EVENT_FEATURE_STATE_RESPONSE = "FeatureStateResponse"; static const char * EVENT_UPDATE_VIEWER_BLOCKED = "UpdateViewerBlocked"; static const char * EVENT_UPDATE_VIEWER_UNBLOCKED = "UpdateViewerUnblocked"; +/// Event ID that solver has conflicting constraints (comes with ModelAPI_SolverFailedMessage) static const char * EVENT_SOLVER_FAILED = "SolverFailed"; +/// Event ID that the problem in solver disappeared static const char * EVENT_SOLVER_REPAIRED = "SolverRepaired"; /// Event ID that order of objects in group is changed, so, tree must be fully rectreated (movement of feature) static const char * EVENT_ORDER_UPDATED = "OrderUpdated"; +/// Event ID that informs that some object has changed the stability +static const char * EVENT_STABILITY_CHANGED = "StabilityChanged"; + /// Message that feature was changed (used for Object Browser update): moved, updated and deleted class MODELAPI_EXPORT ModelAPI_ObjectUpdatedMessage : public Events_MessageGroup { @@ -273,4 +278,49 @@ class ModelAPI_ObjectRenamedMessage : public Events_Message MODELAPI_EXPORT void setNewName(const std::string& theNewName); }; +/// Message that the parameter should be replaced with its value +class ModelAPI_ReplaceParameterMessage : public Events_Message +{ + ObjectPtr myObject; + + public: + /// Static. Returns EventID of the message. + MODELAPI_EXPORT static Events_ID& eventId() + { + static const char * MY_EVENT_ID("ReplaceParameter"); + static Events_ID anId = Events_Loop::eventByName(MY_EVENT_ID); + return anId; + } + + /// Useful method that creates and sends the AttributeEvalMessage event + MODELAPI_EXPORT static void send(ObjectPtr theObject, + const void* theSender); + + /// Creates an empty message + MODELAPI_EXPORT ModelAPI_ReplaceParameterMessage(const Events_ID theID, const void* theSender = 0); + /// The virtual destructor + MODELAPI_EXPORT virtual ~ModelAPI_ReplaceParameterMessage(); + + /// Returns an object + MODELAPI_EXPORT ObjectPtr object() const; + /// Sets an object + MODELAPI_EXPORT void setObject(ObjectPtr theObject); +}; + + +class ModelAPI_SolverFailedMessage : public Events_Message +{ +public: + MODELAPI_EXPORT ModelAPI_SolverFailedMessage(const Events_ID theID, const void* theSender = 0); + MODELAPI_EXPORT virtual ~ModelAPI_SolverFailedMessage(); + + /// Sets list of conflicting constraints + MODELAPI_EXPORT void setObjects(const std::set& theObjects); + /// Returns list of conflicting constraints + MODELAPI_EXPORT const std::set& objects() const; + +private: + std::set myObjects; +}; + #endif