void QCtkXipSGWidget::mousePressEvent(QMouseEvent *event) { if(mInteractingField) mInteractingField->setValue(1); // store old pos for delta mode mOldPos = SbVec2s(event->pos().x(), event->pos().y()); event->accept(); // Pass the QT mouse button event to open inventor SbTime time; time.setToTimeOfDay(); SoMouseButtonEvent e; e.setTime(time); switch (event->button()) { default: case Qt::LeftButton: e.setButton(SoMouseButtonEvent::BUTTON1); break; case Qt::MidButton: e.setButton(SoMouseButtonEvent::BUTTON2); break; case Qt::RightButton: e.setButton(SoMouseButtonEvent::BUTTON3); break; } if (event->modifiers() & Qt::ShiftModifier) e.setShiftDown(TRUE); if (event->modifiers() & Qt::ControlModifier) e.setCtrlDown(TRUE); e.setState(SoButtonEvent::DOWN); e.setPosition(SbVec2s(event->pos().x(), mHeight - event->pos().y())); if (mSceneManager->processEvent(&e)) { //processDelayQueue(); //repaint(); updateCursor(true); } else { updateCursor(false); } }
void QXipIvWidget::mouseReleaseEvent(QMouseEvent* event) { event->accept(); if (m_mouseMode == RESIZE_NONE) { SbTime time; time.setToTimeOfDay(); SoMouseButtonEvent e; e.setTime(time); switch (event->button()) { default: case Qt::LeftButton: e.setButton(SoMouseButtonEvent::BUTTON1); break; case Qt::MidButton: e.setButton(SoMouseButtonEvent::BUTTON2); break; case Qt::RightButton: e.setButton(SoMouseButtonEvent::BUTTON3); break; } if (event->modifiers() & Qt::ShiftModifier) e.setShiftDown(TRUE); if (event->modifiers() & Qt::ControlModifier) e.setCtrlDown(TRUE); e.setState(SoButtonEvent::UP); e.setPosition(SbVec2s(event->pos().x(), m_height - event->pos().y())); if (m_sceneManager->processEvent(&e)) { processDelayQueue(); updateCursor(true); } else { updateCursor(false); } } m_mouseMode = RESIZE_NONE; }
void QXipIvWidget::mousePressEvent(QMouseEvent* event) { //m_mouseMode = RESIZE_NONE; //if ((event->pos().x() > (this->width() - 10)) || (event->pos().y() > (this->height() - 10))) //{ // //if ((event->pos().x() > (this->width() - 10)) || (event->pos().y() > (this->height() - 10))) // { // if ((event->pos().x() > (this->width() - 10)) && (event->pos().y() > (this->height() - 10))) // { // m_mouseMode = RESIZE_CORNER; // setCursor(Qt::SizeFDiagCursor); // } // else if (event->pos().x() > (this->width() - 10)) // { // m_mouseMode = RESIZE_WIDTH; // setCursor(Qt::SizeHorCursor); // } // else if (event->pos().y() > (this->height() - 10)) // { // m_mouseMode = RESIZE_HEIGHT; // setCursor(Qt::SizeVerCursor); // } // } // event->accept(); // return; //} event->accept(); // Pass the QT mouse button event to open inventor SbTime time; time.setToTimeOfDay(); SoMouseButtonEvent e; e.setTime(time); switch (event->button()) { default: case Qt::LeftButton: e.setButton(SoMouseButtonEvent::BUTTON1); break; case Qt::MidButton: e.setButton(SoMouseButtonEvent::BUTTON2); break; case Qt::RightButton: emit mouseRightButtonPressed(); break; } if (event->modifiers() & Qt::ShiftModifier) e.setShiftDown(TRUE); if (event->modifiers() & Qt::ControlModifier) e.setCtrlDown(TRUE); e.setState(SoButtonEvent::DOWN); e.setPosition(SbVec2s(event->pos().x(), m_height - event->pos().y())); if (m_sceneManager->processEvent(&e)) { processDelayQueue(); updateCursor(true); } else { updateCursor(false); } }