X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_Events.h;h=97f4170a4c8f7eadda1d44a5919d9b2207aaadbd;hb=530f5aff42069e844c4a4ef164088ea23ba0e2dd;hp=e262377c4c5144855df9a3b0f78dc00c30a0feee;hpb=2e25142cbf572a04b41ef154f4e922e7f9bf5384;p=modules%2Fshaper.git diff --git a/src/Model/Model_Events.h b/src/Model/Model_Events.h index e262377c4..97f4170a4 100644 --- a/src/Model/Model_Events.h +++ b/src/Model/Model_Events.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: Model_Events.h // Created: 10 Apr 2014 // Author: Mikhail PONIKAROV @@ -21,6 +23,10 @@ class Model_EventCreator : public ModelAPI_EventCreator virtual void sendDeleted(const std::shared_ptr& theDoc, const std::string& theGroup) const; + /// creates reordered message and sends to the loop + virtual void sendReordered(const std::shared_ptr& theDoc, + const std::string& theGroup) const; + /// must be one per application, the constructor for internal usage only Model_EventCreator(); }; @@ -59,23 +65,54 @@ class Model_ObjectDeletedMessage : public ModelAPI_ObjectDeletedMessage friend class Model_EventCreator; public: - /// Returns the feature that has been updated + /// Returns the document that has been updated virtual std::shared_ptr document() const { return myDoc; } - /// Returns the group where the feature was deleted + /// Returns the group where the objects were deleted virtual const std::set& groups() const { return myGroups; } + /// Returns the new empty message of this type virtual std::shared_ptr newEmpty(); + /// Returns the identifier of this message virtual const Events_ID messageId(); + /// Appends to this message the given one virtual void Join(const std::shared_ptr& theJoined); }; +/// Message that feature was deleted (used for Object Browser update) +class Model_OrderUpdatedMessage : public ModelAPI_OrderUpdatedMessage +{ + std::shared_ptr myDoc; ///< document owner of the feature + std::string myGroup; ///< group identifier that contained the deleted feature + + /// Use ModelAPI for creation of this event. + Model_OrderUpdatedMessage(const std::shared_ptr& theDoc, + const std::string& theGroup); + + friend class Model_EventCreator; + public: + /// Returns the document that has been updated + virtual std::shared_ptr document() const + { + return myDoc; + } + + /// Returns the group where the objects were reordered + virtual const std::string& group() const + { + return myGroup; + } + + /// Returns the identifier of this message + virtual const Events_ID messageId(); +}; + #endif