virtual void sendDeleted(const std::shared_ptr<ModelAPI_Document>& theDoc,
const std::string& theGroup) const;
+ /// creates reordered message and sends to the loop
+ virtual void sendReordered(const std::shared_ptr<ModelAPI_Feature>& theReordered) const;
+
/// must be one per application, the constructor for internal usage only
Model_EventCreator();
};
friend class Model_EventCreator;
public:
- /// Returns the feature that has been updated
+ /// Returns the document that has been updated
virtual std::shared_ptr<ModelAPI_Document> document() const
{
return myDoc;
}
- /// Returns the group where the feature was deleted
+ /// Returns the group where the objects were deleted
virtual const std::set<std::string>& groups() const
{
return myGroups;
}
+ /// Returns the new empty message of this type
virtual std::shared_ptr<Events_MessageGroup> 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<Events_MessageGroup>& theJoined);
};
+/// Message that feature was deleted (used for Object Browser update)
+class Model_OrderUpdatedMessage : public ModelAPI_OrderUpdatedMessage
+{
+ std::shared_ptr<ModelAPI_Feature> myReordered; ///< the feature that was moved
+
+ /// Use ModelAPI for creation of this event.
+ Model_OrderUpdatedMessage(FeaturePtr theReordered,
+ const void* theSender = 0);
+
+ friend class Model_EventCreator;
+ public:
+ /// Returns the document that has been updated
+ virtual std::shared_ptr<ModelAPI_Feature> reordered()
+ {
+ return myReordered;
+ }
+
+ /// Returns the identifier of this message
+ virtual const Events_ID messageId();
+};
+
#endif