X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModel%2FModel_Events.cpp;h=3a060d43f01fac344c320019bf1acb6543e0bf5e;hb=41f9517e84ae934ce536718d4f48e26731c8430d;hp=a87fc9fb8a320d05b9569d0953b20fd624a22997;hpb=9e869ede4d8c56262bb20534543c2bf56cd6a91b;p=modules%2Fshaper.git diff --git a/src/Model/Model_Events.cpp b/src/Model/Model_Events.cpp index a87fc9fb8..3a060d43f 100644 --- a/src/Model/Model_Events.cpp +++ b/src/Model/Model_Events.cpp @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: Model_Events.cxx // Created: 10 Apr 2014 // Author: Mikhail PONIKAROV @@ -25,6 +27,13 @@ void Model_EventCreator::sendDeleted(const std::shared_ptr& t Events_Loop::loop()->send(aMsg, true); } +void Model_EventCreator::sendReordered(const std::shared_ptr& theReordered) const +{ + std::shared_ptr aMsg( + new Model_OrderUpdatedMessage(theReordered)); + Events_Loop::loop()->send(aMsg, true); +} + Model_EventCreator::Model_EventCreator() { ModelAPI_EventCreator::set(this); @@ -54,7 +63,7 @@ std::shared_ptr Model_ObjectUpdatedMessage::newEmpty() void Model_ObjectUpdatedMessage::Join(const std::shared_ptr& theJoined) { - std::shared_ptr aJoined = + std::shared_ptr aJoined = std::dynamic_pointer_cast(theJoined); std::set::iterator aFIter = aJoined->myObjects.begin(); for (; aFIter != aJoined->myObjects.end(); aFIter++) { @@ -85,10 +94,24 @@ const Events_ID Model_ObjectDeletedMessage::messageId() void Model_ObjectDeletedMessage::Join(const std::shared_ptr& theJoined) { - std::shared_ptr aJoined = + std::shared_ptr aJoined = std::dynamic_pointer_cast(theJoined); std::set::iterator aGIter = aJoined->myGroups.begin(); for (; aGIter != aJoined->myGroups.end(); aGIter++) { myGroups.insert(*aGIter); } } + +/////////////////////// REORDERED MESSAGE ///////////////////////////// +Model_OrderUpdatedMessage::Model_OrderUpdatedMessage( + FeaturePtr theReordered, const void* theSender) + : ModelAPI_OrderUpdatedMessage(messageId(), theSender), + myReordered(theReordered) +{ +} + +const Events_ID Model_OrderUpdatedMessage::messageId() +{ + static Events_ID MY_ID = Events_Loop::eventByName(EVENT_ORDER_UPDATED); + return MY_ID; +}