1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/*!
@file
@author Albert Semenov
@date 07/2012
*/
#include "Precompiled.h"
#include "ActionChangePositionData.h"
#include "DataManager.h"
#include "DataSelectorManager.h"
namespace tools
{
ActionChangePositionData::ActionChangePositionData() :
mData1(nullptr),
mData2(nullptr),
mIndex(MyGUI::ITEM_NONE)
{
}
ActionChangePositionData::~ActionChangePositionData()
{
}
void ActionChangePositionData::doAction()
{
if (mData1 != mData2 && mData1->getParent() == mData2->getParent())
{
DataPtr parent = mData1->getParent();
mIndex = parent->getChildIndex(mData1);
size_t index2 = parent->getChildIndex(mData2);
parent->removeChild(mData1);
parent->insertChild(index2, mData1);
DataSelectorManager::getInstance().changeParent(parent);
}
}
void ActionChangePositionData::undoAction()
{
if (mIndex != MyGUI::ITEM_NONE)
{
DataPtr parent = mData1->getParent();
parent->removeChild(mData1);
parent->insertChild(mIndex, mData1);
DataSelectorManager::getInstance().changeParent(parent);
}
}
void ActionChangePositionData::setData1(DataPtr _data)
{
mData1 = _data;
}
void ActionChangePositionData::setData2(DataPtr _data)
{
mData2 = _data;
}
}
|