Пример #1
0
void EditFrame::SetMouseDown(bool b)
{
	if(m_MouseDown != b)
	{
		m_MouseDown = b;
		UpdateCursor();
		emit grabbed(m_MouseDown ? this : 0);
	}
}
Пример #2
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()));
}
Пример #3
0
void GrabCardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *){
    emit grabbed();
    goBack();
}
void GrabCardItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *) {
    if(!isFrozen())
        emit grabbed();

    goBack();
}
Пример #5
0
void FCamera::grabberGrabbed(QImage* image)
{
	emit grabbed(image);
}
Пример #6
0
void FCamera::grabberGrabbed(cimg_library::CImg<unsigned char>* image)
{
	emit grabbed(image);
}
Пример #7
0
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()) );
}
Пример #8
0
void MVSliderWidget::Grabbed(){
    emit grabbed();
}