void Square::processInteraction( ::scene2D::data::Event::sptr _event ) { SLM_TRACE_FUNC(); if ( _event->getType() == ::scene2D::data::Event::MouseButtonPress && _event->getButton() == ::scene2D::data::Event::LeftButton ) { if ( this->coordViewIsInItem( _event->getCoord(), m_rec ) ) { SLM_TRACE("Point is captured"); m_pointIsCaptured = true; m_oldCoord = this->coordViewToCoordItem( _event->getCoord(), m_rec ); m_rec->setBrush( Qt::yellow ); _event->setAccepted(true); } } else if ( m_pointIsCaptured && _event->getType() == ::scene2D::data::Event::MouseMove ) { ::scene2D::data::Coord newCoord = this->coordViewToCoordItem( _event->getCoord(), m_rec ); m_rec->moveBy( newCoord.getX() - m_oldCoord.getX(), newCoord.getY() - m_oldCoord.getY() ); m_oldCoord = newCoord; _event->setAccepted(true); } else if ( m_pointIsCaptured && _event->getType() == ::scene2D::data::Event::MouseButtonRelease ) { m_rec->setBrush( m_color ); m_pointIsCaptured = false; _event->setAccepted(true); } }
void CurvedHistogram::processInteraction( ::scene2D::data::Event::sptr _event) { SLM_TRACE_FUNC(); bool updatePointedPos = false; // Vertical scaling if( _event->getType() == ::scene2D::data::Event::MouseWheelUp ) { m_scale *= SCALE; m_layer->setTransform(QTransform::fromScale(1, SCALE), true); updatePointedPos = true; } else if( _event->getType() == ::scene2D::data::Event::MouseWheelDown ) { m_scale /= SCALE; m_layer->setTransform(QTransform::fromScale(1, 1 / SCALE), true); updatePointedPos = true; } else if( _event->getType() == ::scene2D::data::Event::MouseMove ) { updatePointedPos = true; } if( !m_histogramPointUID.empty() ) { updateCurrentPoint( _event ); } }
void Axis::processInteraction( ::scene2D::data::Event::sptr _event) { if( _event->getType() == ::scene2D::data::Event::Resize) { doUpdate(); } }
void HistogramCursor::processInteraction( ::scene2D::data::Event::sptr _event ) { SLM_TRACE_FUNC(); this->initializeViewSize(); this->initializeViewportSize(); if( _event->getType() == ::scene2D::data::Event::MouseMove ) { m_coord = _event->getCoord(); } doUpdate(); }
void Histogram::processInteraction( ::scene2D::data::Event::sptr _event) { SLM_TRACE_FUNC(); bool updatePointedPos = false; // Vertical scaling if( _event->getType() == ::scene2D::data::Event::MouseWheelUp ) { m_scale *= SCALE; m_layer->scale(1, SCALE); //_event->setAccepted( true ); m_yAxis->setScale( m_scale ); updatePointedPos = true; } else if( _event->getType() == ::scene2D::data::Event::MouseWheelDown ) { m_scale /= SCALE; m_layer->scale(1, 1 / SCALE); //_event->setAccepted( true ); m_yAxis->setScale( m_scale ); updatePointedPos = true; } else if( _event->getType() == ::scene2D::data::Event::MouseMove ) { updatePointedPos = true; } if( !m_histogramPointUID.empty() && updatePointedPos ) { updateCurrentPoint( _event ); } }