1 // File: Model_Events.cxx
2 // Created: 10 Apr 2014
3 // Author: Mikhail PONIKAROV
5 #include <Model_Events.h>
6 #include <Events_Loop.h>
9 Events_MessageGroup* Model_FeatureUpdatedMessage::newEmpty() {
10 boost::shared_ptr<ModelAPI_Feature> anEmptyFeature;
11 return new Model_FeatureUpdatedMessage(anEmptyFeature, eventID());
14 void Model_FeatureUpdatedMessage::Join(Events_MessageGroup& theJoined)
16 Model_FeatureUpdatedMessage* aJoined = dynamic_cast<Model_FeatureUpdatedMessage*>(&theJoined);
17 std::set<boost::shared_ptr<ModelAPI_Feature> >::iterator aFIter = aJoined->myFeatures.begin();
18 for(; aFIter != aJoined->myFeatures.end(); aFIter++) {
19 myFeatures.insert(*aFIter);
24 Events_MessageGroup* Model_FeatureDeletedMessage::newEmpty() {
25 return new Model_FeatureDeletedMessage(myDoc, "");
28 Model_FeatureDeletedMessage::Model_FeatureDeletedMessage(
29 const boost::shared_ptr<ModelAPI_Document>& theDoc, const std::string& theGroup)
30 : Events_MessageGroup(messageId(), 0), myDoc(theDoc)
33 if (!theGroup.empty())
34 myGroups.insert(theGroup);
37 const Events_ID Model_FeatureDeletedMessage::messageId()
39 static Events_ID MY_ID = Events_Loop::eventByName(EVENT_FEATURE_DELETED);
43 void Model_FeatureDeletedMessage::Join(Events_MessageGroup& theJoined)
45 Model_FeatureDeletedMessage* aJoined = dynamic_cast<Model_FeatureDeletedMessage*>(&theJoined);
46 std::set<std::string>::iterator aGIter = aJoined->myGroups.begin();
47 for(; aGIter != aJoined->myGroups.end(); aGIter++) {
48 myGroups.insert(*aGIter);