void SelectTool::endCustomDragging(const QPoint&) { KivioCanvas* canvas = view()->canvasWidget(); m_pCustomDraggingStencil->setHidden(false); KivioCustomDragCommand* cmd = new KivioCustomDragCommand(i18n("Move Connector Point"), view()->activePage(), m_pCustomDraggingStencil, m_customDragID, m_customDragOrigPoint, m_pCustomDraggingStencil->customIDPoint(m_customDragID)); view()->doc()->addCommand(cmd); m_customDragID = 0; KivioStencil *pStencil = canvas->activePage()->selectedStencils()->first(); while( pStencil ) { if(pStencil->type() == kstConnector) { pStencil->searchForConnections(view()->activePage(), view()->zoomHandler()->unzoomItY(4)); } pStencil = canvas->activePage()->selectedStencils()->next(); } canvas->endUnclippedSpawnerPainter(); canvas->setShowConnectorTargets(false); canvas->repaint(); }
void SelectTool::endResizing(const QPoint&) { KivioCanvas* canvas = view()->canvasWidget(); m_pResizingStencil->setHidden(false); KivioResizeStencilCommand * cmd = new KivioResizeStencilCommand( i18n("Resize Stencil"), m_pResizingStencil, m_lstOldGeometry.first()->rect, m_pResizingStencil->rect(), view()->activePage()); canvas->doc()->addCommand( cmd ); // Undraw the last outline canvas->drawStencilXOR( m_pResizingStencil ); if(m_pResizingStencil->type() == kstConnector) { m_pResizingStencil->searchForConnections(view()->activePage(), view()->zoomHandler()->unzoomItY(4)); } // Deallocate the painter object canvas->endUnclippedSpawnerPainter(); // Set the class vars to nothing m_pResizingStencil = NULL; m_resizeHandle = 0; }
void SelectTool::endDragging(const QPoint&) { KivioCanvas* canvas = view()->canvasWidget(); canvas->activePage()->setPaintSelected(true); KMacroCommand *macro=new KMacroCommand( i18n("Move Stencil")); KivioStencil *pStencil = canvas->activePage()->selectedStencils()->first(); KivioSelectDragData *pData = m_lstOldGeometry.first(); bool moved = false; while( pStencil && pData ) { if((pData->rect.x() != pStencil->rect().x()) || (pData->rect.y() != pStencil->rect().y())) { KivioMoveStencilCommand * cmd = new KivioMoveStencilCommand( i18n("Move Stencil"), pStencil, pData->rect, pStencil->rect(), canvas->activePage()); macro->addCommand( cmd); if(pStencil->type() == kstConnector) { pStencil->searchForConnections(view()->activePage(), view()->zoomHandler()->unzoomItY(4)); } moved = true; } pData = m_lstOldGeometry.next(); pStencil = canvas->activePage()->selectedStencils()->next(); } if(moved) { canvas->doc()->addCommand( macro ); } else { delete macro; } canvas->drawSelectedStencilsXOR(); canvas->endUnclippedSpawnerPainter(); // Clear the list of old geometry m_lstOldGeometry.clear(); }