void EditFrame::SetMouseDown(bool b) { if(m_MouseDown != b) { m_MouseDown = b; UpdateCursor(); emit grabbed(m_MouseDown ? this : 0); } }
void QREnCode::saveItemToFile() { if(m_grab == NULL){ m_grab = new QuickItemGrabber(this); connect(m_grab,SIGNAL(grabbed()),this,SLOT(grabChanged())); } m_grab->clear(); m_grab->grab(this,QSize(this->width(),this->height())); }
void GrabCardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *){ emit grabbed(); goBack(); }
void GrabCardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *) { if(!isFrozen()) emit grabbed(); goBack(); }
void FCamera::grabberGrabbed(QImage* image) { emit grabbed(image); }
void FCamera::grabberGrabbed(cimg_library::CImg<unsigned char>* image) { emit grabbed(image); }
void EditFrame::mouseMoveEvent(QMouseEvent *event) { if( m_MouseDown ) { bool snap = !event->modifiers().testFlag(Qt::ShiftModifier); QWidget *pParent = parentWidget(); QWidget *pGrandParent = (pParent ? pParent->parentWidget() : 0); if( pGrandParent ) { switch( m_GeomMode ) { case GEOM_MODE_TOP: { int dy = (m_MouseGrabGeometry.y() - m_MouseGrabOffset.y()); int y = (pGrandParent->mapFromGlobal(event->globalPos()).y() + dy); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, y); if(y < 0) { y = 0; } else { int maxY = (pParent->geometry().bottom() - pParent->minimumHeight()); if(y > maxY) y = maxY; } int dh = (pParent->y() - y); pParent->move(pParent->x(), y); pParent->resize(pParent->width(), pParent->height() + dh); resize( pParent->size() ); emit grabbed(this); } break; case GEOM_MODE_BOTTOM: { int dy = (m_MouseGrabGeometry.bottom() - m_MouseGrabOffset.y()); int y = (pGrandParent->mapFromGlobal(event->globalPos()).y() + dy); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, y); int newHeight = (y - pParent->y()); if(newHeight < pParent->minimumHeight()) { newHeight = pParent->minimumHeight(); } else { int maxHeight = (pGrandParent->height() - pParent->y()); if(newHeight > maxHeight) newHeight = maxHeight; } pParent->resize(pParent->width(), newHeight); resize( pParent->size() ); emit grabbed(this); } break; case GEOM_MODE_LEFT: { int dx = (m_MouseGrabGeometry.x() - m_MouseGrabOffset.x()); int x = (pGrandParent->mapFromGlobal(event->globalPos()).x() + dx); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, x); if(x < 0) { x = 0; } else { int maxX = (pParent->geometry().right() - pParent->minimumWidth()); if(x > maxX) x = maxX; } int dw = (pParent->x() - x); pParent->move(x, pParent->y()); pParent->resize(pParent->width() + dw, pParent->height()); resize( pParent->size() ); emit grabbed(this); } break; case GEOM_MODE_RIGHT: { int dx = (m_MouseGrabGeometry.right() - m_MouseGrabOffset.x()); int x = (pGrandParent->mapFromGlobal(event->globalPos()).x() + dx); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, x); int newWidth = (x - pParent->x()); if(newWidth < pParent->minimumWidth()) { newWidth = pParent->minimumWidth(); } else { int maxWidth = (pGrandParent->width() - pParent->x()); if(newWidth > maxWidth) newWidth = maxWidth; } pParent->resize(newWidth, pParent->height()); resize( pParent->size() ); emit grabbed(this); } break; case GEOM_MODE_SCALE: { float w = m_MouseGrabGeometry.width(); if(w != 0) { float ar = m_MouseGrabGeometry.height()/w; if(ar != 0) { // same behavior as GEOM_MODE_RIGHT int dx = (m_MouseGrabGeometry.right() - m_MouseGrabOffset.x()); int x = (pGrandParent->mapFromGlobal(event->globalPos()).x() + dx); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, x); int newWidth = (x - pParent->x()); if(newWidth < pParent->minimumWidth()) { newWidth = pParent->minimumWidth(); } else { int maxWidth = (pGrandParent->width() - pParent->x()); if(newWidth > maxWidth) newWidth = maxWidth; } // adjust height, preseving aspect ratio int newHeight = qRound(newWidth * ar); if(newHeight < pParent->minimumHeight()) { newHeight = pParent->minimumHeight(); newWidth = qRound(newHeight/ar); } else { int maxHeight = (pGrandParent->height() - pParent->y()); if(newHeight > maxHeight) { newHeight = maxHeight; newWidth = qRound(newHeight/ar); } } pParent->resize(newWidth, newHeight); resize( pParent->size() ); emit grabbed(this); } } } break; default: { QPoint newPos(pGrandParent->mapFromGlobal(event->globalPos()) - m_MouseGrabOffset); if( snap ) Utils::Snap(ToyWindowTab::GRID_SPACING, newPos); QPoint delta = (newPos - pParent->pos()); if(delta.x()!=0 || delta.y()!=0) emit translated(this, delta); emit grabbed(this); } break; } } } else SetGeomMode( GetGeomModeForPos(event->pos()) ); }
void MVSliderWidget::Grabbed(){ emit grabbed(); }