void MAPPING_MODE::ScriptArea::paste(MapEditor& editor, const QPoint& pos) { for (auto& data : m_CopyData) { if (auto pItem = editor.addScriptArea(data.first, data.second)) pItem->moveBy(m_Offset.getX(), m_Offset.getY()); } }
void MAPPING_MODE::ScriptArea::press(MapEditor& editor, QMouseEvent* pEvent) { if (pEvent->button() != Qt::LeftButton) return; auto pos = editor.mapToScene(pEvent->pos()).toPoint(); if (auto pItem = editor.scene()->itemAt(pos, QTransform())) { if (pItem->type() == MAPPING_MODE::ITEM_MOVE_POINT) return; } auto pItem = editor.addScriptArea(AREA::Data(GEOMETRY::Rectangle<int32>(GEOMETRY::Point<int32>(pos.x(), pos.y()), GEOMETRY::Size<int32>())), ACTION::Data("test")); editor.addRevert(new MAPPING_MODE::SCRIPT_AREA::REVERT::Add(pItem->getScriptArea()->getGUID(), editor)); }