void LVL_ModePlace::mouseMove(QGraphicsSceneMouseEvent *mouseEvent) { if(!scene) return; LvlScene *s = dynamic_cast<LvlScene *>(scene); s->clearSelection(); if((!LvlPlacingItems::layer.isEmpty() && LvlPlacingItems::layer!="Default")|| (mouseEvent->modifiers() & Qt::ControlModifier) ) s->setMessageBoxItem(true, mouseEvent->scenePos(), ((!LvlPlacingItems::layer.isEmpty() && LvlPlacingItems::layer!="Default")? LvlPlacingItems::layer + ", ":"") + (s->cursor? ( QString::number( s->cursor->scenePos().toPoint().x() ) + "x" + QString::number( s->cursor->scenePos().toPoint().y() ) ) :"") ); else s->setMessageBoxItem(false); if(s->cursor) { s->cursor->setPos( QPointF(s->applyGrid( QPointF(mouseEvent->scenePos()- QPointF(LvlPlacingItems::c_offset_x, LvlPlacingItems::c_offset_y)).toPoint(), LvlPlacingItems::gridSz, LvlPlacingItems::gridOffset))); s->cursor->show(); } if( mouseEvent->buttons() & Qt::LeftButton ) { s->placeItemUnderCursor(); s->Debugger_updateItemList(); } }
void LVL_ModePlace::mousePress(QGraphicsSceneMouseEvent *mouseEvent) { if(!scene) return; LvlScene *s = dynamic_cast<LvlScene *>(scene); if( mouseEvent->buttons() & Qt::RightButton ) { item_rectangles::clearArray(); MainWinConnect::pMainWin->on_actionSelect_triggered(); dontCallEvent = true; s->IsMoved = true; return; } s->last_block_arrayID=s->LvlData->blocks_array_id; s->last_bgo_arrayID=s->LvlData->bgo_array_id; s->last_npc_arrayID=s->LvlData->npc_array_id; if(LvlPlacingItems::npcSpecialAutoIncrement) s->IncrementingNpcSpecialSpin = LvlPlacingItems::npcSpecialAutoIncrement_begin; if(s->cursor) { s->cursor->setPos( QPointF(s->applyGrid( mouseEvent->scenePos().toPoint()- QPoint(LvlPlacingItems::c_offset_x, LvlPlacingItems::c_offset_y), LvlPlacingItems::gridSz, LvlPlacingItems::gridOffset))); } s->placeItemUnderCursor(); s->Debugger_updateItemList(); s->MousePressEventOnly = true; s->mousePressEvent(mouseEvent); dontCallEvent = true; }