void ToolBox::buttonCallback ( int buttonIndex, Vrui::InputDevice::ButtonCallbackData* cbData ) { updateDeviceTransformations ( ) ; int deviceIndex = 0; ButtonId button ( deviceIndex, buttonIndex ) ; if ( cbData -> newButtonState ) { ButtonPressEvent buttonPressEvent ( this, currentTool ( ), button ) ; tellExtensions ( & Extension::buttonPressed, buttonPressEvent ) ; if ( currentTool ( ) ) { // In case an extension modified ToolBox state: buttonPressEvent . tool = currentTool ( ) ; if ( button == mainButton ( ) ) currentTool ( ) -> mainButtonPressed ( buttonPressEvent ) ; else currentTool ( ) -> otherButtonPressed ( buttonPressEvent ) ; } } else { ButtonReleaseEvent buttonReleaseEvent ( this, currentTool ( ), button ) ; tellExtensions ( & Extension::buttonReleased, buttonReleaseEvent ) ; if ( currentTool ( ) ) { // In case an extension modified ToolBox state: buttonReleaseEvent . tool = currentTool ( ) ; if ( button == mainButton ( ) ) currentTool ( ) -> mainButtonReleased ( buttonReleaseEvent ) ; else currentTool ( ) -> otherButtonReleased ( buttonReleaseEvent ) ; } } }
void QgsComposerView::wheelEvent( QWheelEvent* event ) { if ( currentTool() == MoveItemContent ) { //move item content tool, so scroll events get handled by the selected composer item QPointF scenePoint = mapToScene( event->pos() ); //select topmost item at position of event QgsComposerItem* theItem = composition()->composerItemAt( scenePoint ); if ( theItem ) { if ( theItem->isSelected() ) { QPointF itemPoint = theItem->mapFromScene( scenePoint ); theItem->beginCommand( tr( "Zoom item content" ) ); theItem->zoomContent( event->delta(), itemPoint.x(), itemPoint.y() ); theItem->endCommand(); } } } else { //not using move item content tool, so zoom whole composition wheelZoom( event ); } }
void ToolSettings::eraserNear(bool near) { if(near) { _eraserOverride = currentTool(); setTool(tools::ERASER); } else { setTool(tools::Type(_eraserOverride)); } }
bool ToolBox::makeCurrent ( Tool* tool ) { // Ignore call to grab current tool: if ( currentTool ( ) == tool ) return false ; ToolDropEvent toolDropEvent ( this, currentTool ( ) ) ; if ( currentTool ( ) ) { mCurrentTool = mTools . end ( ) ; tellExtensions ( & Extension::dropped, toolDropEvent ) ; toolDropEvent . tool -> dropped ( toolDropEvent ) ; } if ( tool ) { mCurrentTool = tool -> mToolBoxPosition ; ToolGrabEvent toolGrabEvent ( this, tool ) ; tellExtensions ( & Extension::grabbed, toolGrabEvent ) ; tool -> grabbed ( toolGrabEvent ) ; } return true ; }
void ToolBox::frame ( ) { updateDeviceTransformations ( ) ; MotionEvent motionEvent ( this, currentTool ( ) ) ; tellExtensions ( & Extension::moved, motionEvent ) ; // In case an extension modified ToolBox state: motionEvent . tool = currentTool ( ) ; if ( currentTool ( ) ) currentTool ( ) -> moved ( motionEvent ) ; for ( ExtensionList::iterator pos ( mExtensions . begin ( ) ) ; pos != mExtensions . end ( ) ; ++pos ) { (*pos) -> frame ( ) ; } }
bool QDeclarativeViewInspector::mouseMoveEvent(QMouseEvent *event) { QList<QGraphicsItem*> selItems = data->selectableItems(event->pos()); if (!selItems.isEmpty()) { declarativeView()->setToolTip(currentTool()->titleForItem(selItems.first())); } else { declarativeView()->setToolTip(QString()); } return AbstractViewInspector::mouseMoveEvent(event); }
void ToolSettings::eraserNear(bool near) { if(near && !_eraserActive) { _eraserOverride = currentTool(); setTool(tools::Tool::ERASER); _eraserActive = true; } else if(!near && _eraserActive) { setTool(tools::Tool::Type(_eraserOverride)); _eraserActive = false; } }
void QgsComposerView::wheelEvent( QWheelEvent* event ) { if ( mRubberBandItem || mRubberBandLineItem ) { //ignore wheel events while marquee operations are active (eg, creating new item) return; } if ( composition()->selectionHandles()->isDragging() || composition()->selectionHandles()->isResizing() ) { //ignore wheel events while dragging/resizing items return; } if ( currentTool() == MoveItemContent ) { //move item content tool, so scroll events get handled by the selected composer item QPointF scenePoint = mapToScene( event->pos() ); //select topmost item at position of event QgsComposerItem* theItem = composition()->composerItemAt( scenePoint, true ); if ( theItem ) { if ( theItem->isSelected() ) { QPointF itemPoint = theItem->mapFromScene( scenePoint ); theItem->beginCommand( tr( "Zoom item content" ) ); theItem->zoomContent( event->delta(), itemPoint.x(), itemPoint.y() ); theItem->endCommand(); } } } else { //not using move item content tool, so zoom whole composition wheelZoom( event ); } }
bool FormWindowBase::gridVisible() const { return m_d->m_grid.visible() && currentTool() == 0; }
/** * Set which tool setting widget is visible * @param tool tool identifier */ void ToolSettings::setTool(tools::Tool::Type tool) { // Save old tool settings, then switch to the new tool _previousTool = currentTool(); saveCurrentTool(); selectTool(tool); }