Changeset 8127 in ntrip for trunk/BNC/qwt/qwt_magnifier.cpp


Ignore:
Timestamp:
May 10, 2017, 3:20:54 PM (7 years ago)
Author:
stoecker
Message:

update qwt and qwtpolar, many QT5 fixes (unfinished)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/qwt/qwt_magnifier.cpp

    r4271 r8127  
    1919        isEnabled( false ),
    2020        wheelFactor( 0.9 ),
    21         wheelButtonState( Qt::NoButton ),
     21        wheelModifiers( Qt::NoModifier ),
    2222        mouseFactor( 0.95 ),
    2323        mouseButton( Qt::RightButton ),
    24         mouseButtonState( Qt::NoButton ),
     24        mouseButtonModifiers( Qt::NoModifier ),
    2525        keyFactor( 0.9 ),
    2626        zoomInKey( Qt::Key_Plus ),
     27        zoomInKeyModifiers( Qt::NoModifier ),
    2728        zoomOutKey( Qt::Key_Minus ),
    28         zoomInKeyModifiers( Qt::NoModifier ),
    2929        zoomOutKeyModifiers( Qt::NoModifier ),
    3030        mousePressed( false )
     
    3535
    3636    double wheelFactor;
    37     int wheelButtonState;
     37    Qt::KeyboardModifiers wheelModifiers;
    3838
    3939    double mouseFactor;
    40     int mouseButton;
    41     int mouseButtonState;
     40
     41    Qt::MouseButton mouseButton;
     42    Qt::KeyboardModifiers mouseButtonModifiers;
    4243
    4344    double keyFactor;
     45
    4446    int zoomInKey;
     47    Qt::KeyboardModifiers zoomInKeyModifiers;
     48
    4549    int zoomOutKey;
    46     int zoomInKeyModifiers;
    47     int zoomOutKeyModifiers;
     50    Qt::KeyboardModifiers  zoomOutKeyModifiers;
    4851
    4952    bool mousePressed;
     
    109112   The wheel factor defines the ratio between the current range
    110113   on the parent widget and the zoomed range for each step of the wheel.
     114
     115   Use values > 1 for magnification (i.e. 2.0) and values < 1 for
     116   scaling down (i.e. 1/2.0 = 0.5). You can use this feature for
     117   inverting the direction of the wheel.
     118
    111119   The default value is 0.9.
    112120
     
    130138
    131139/*!
    132    Assign a mandatory button state for zooming in/out using the wheel.
    133    The default button state is Qt::NoButton.
    134 
    135    \param buttonState Button state
    136    \sa wheelButtonState()
    137 */
    138 void QwtMagnifier::setWheelButtonState( int buttonState )
    139 {
    140     d_data->wheelButtonState = buttonState;
    141 }
    142 
    143 /*!
    144    \return Wheel button state
    145    \sa setWheelButtonState()
    146 */
    147 int QwtMagnifier::wheelButtonState() const
    148 {
    149     return d_data->wheelButtonState;
     140   Assign keyboard modifiers for zooming in/out using the wheel.
     141   The default modifiers are Qt::NoModifiers.
     142
     143   \param modifiers Keyboard modifiers
     144   \sa wheelModifiers()
     145*/
     146void QwtMagnifier::setWheelModifiers( Qt::KeyboardModifiers modifiers )
     147{
     148    d_data->wheelModifiers = modifiers;
     149}
     150
     151/*!
     152   \return Wheel modifiers
     153   \sa setWheelModifiers()
     154*/
     155Qt::KeyboardModifiers QwtMagnifier::wheelModifiers() const
     156{
     157    return d_data->wheelModifiers;
    150158}
    151159
     
    179187
    180188   \param button Button
    181    \param buttonState Button state
     189   \param modifiers Keyboard modifiers
     190
    182191   \sa getMouseButton()
    183192*/
    184 void QwtMagnifier::setMouseButton( int button, int buttonState )
     193void QwtMagnifier::setMouseButton(
     194    Qt::MouseButton button, Qt::KeyboardModifiers modifiers )
    185195{
    186196    d_data->mouseButton = button;
    187     d_data->mouseButtonState = buttonState;
     197    d_data->mouseButtonModifiers = modifiers;
    188198}
    189199
    190200//! \sa setMouseButton()
    191201void QwtMagnifier::getMouseButton(
    192     int &button, int &buttonState ) const
     202    Qt::MouseButton &button, Qt::KeyboardModifiers &modifiers ) const
    193203{
    194204    button = d_data->mouseButton;
    195     buttonState = d_data->mouseButtonState;
     205    modifiers = d_data->mouseButtonModifiers;
    196206}
    197207
     
    229239   \sa getZoomInKey(), setZoomOutKey()
    230240*/
    231 void QwtMagnifier::setZoomInKey( int key, int modifiers )
     241void QwtMagnifier::setZoomInKey( int key,
     242    Qt::KeyboardModifiers modifiers )
    232243{
    233244    d_data->zoomInKey = key;
     
    235246}
    236247
    237 //! \sa setZoomInKey()
    238 void QwtMagnifier::getZoomInKey( int &key, int &modifiers ) const
     248/*!
     249   \brief Retrieve the settings of the zoom in key
     250
     251   \param key Key code, see Qt::Key
     252   \param modifiers Keyboard modifiers
     253
     254   \sa setZoomInKey()
     255*/
     256void QwtMagnifier::getZoomInKey( int &key,
     257    Qt::KeyboardModifiers &modifiers ) const
    239258{
    240259    key = d_data->zoomInKey;
     
    250269   \sa getZoomOutKey(), setZoomOutKey()
    251270*/
    252 void QwtMagnifier::setZoomOutKey( int key, int modifiers )
     271void QwtMagnifier::setZoomOutKey( int key,
     272    Qt::KeyboardModifiers modifiers )
    253273{
    254274    d_data->zoomOutKey = key;
     
    256276}
    257277
    258 //! \sa setZoomOutKey()
    259 void QwtMagnifier::getZoomOutKey( int &key, int &modifiers ) const
     278/*!
     279   \brief Retrieve the settings of the zoom out key
     280
     281   \param key Key code, see Qt::Key
     282   \param modifiers Keyboard modifiers
     283
     284   \sa setZoomOutKey()
     285*/
     286void QwtMagnifier::getZoomOutKey( int &key,
     287    Qt::KeyboardModifiers &modifiers ) const
    260288{
    261289    key = d_data->zoomOutKey;
     
    266294  \brief Event filter
    267295
    268   When isEnabled() the mouse events of the observed widget are filtered.
     296  When isEnabled() is true, the mouse events of the
     297  observed widget are filtered.
    269298
    270299  \param object Object to be filtered
    271300  \param event Event
     301
     302  \return Forwarded to QObject::eventFilter()
    272303
    273304  \sa widgetMousePressEvent(), widgetMouseReleaseEvent(),
     
    283314            case QEvent::MouseButtonPress:
    284315            {
    285                 widgetMousePressEvent( ( QMouseEvent * )event );
     316                widgetMousePressEvent( static_cast<QMouseEvent *>( event ) );
    286317                break;
    287318            }
    288319            case QEvent::MouseMove:
    289320            {
    290                 widgetMouseMoveEvent( ( QMouseEvent * )event );
     321                widgetMouseMoveEvent( static_cast<QMouseEvent *>( event ) );
    291322                break;
    292323            }
    293324            case QEvent::MouseButtonRelease:
    294325            {
    295                 widgetMouseReleaseEvent( ( QMouseEvent * )event );
     326                widgetMouseReleaseEvent( static_cast<QMouseEvent *>( event ) );
    296327                break;
    297328            }
    298329            case QEvent::Wheel:
    299330            {
    300                 widgetWheelEvent( ( QWheelEvent * )event );
     331                widgetWheelEvent( static_cast<QWheelEvent *>( event ) );
    301332                break;
    302333            }
    303334            case QEvent::KeyPress:
    304335            {
    305                 widgetKeyPressEvent( ( QKeyEvent * )event );
     336                widgetKeyPressEvent( static_cast<QKeyEvent *>( event ) );
    306337                break;
    307338            }
    308339            case QEvent::KeyRelease:
    309340            {
    310                 widgetKeyReleaseEvent( ( QKeyEvent * )event );
     341                widgetKeyReleaseEvent( static_cast<QKeyEvent *>( event ) );
    311342                break;
    312343            }
     
    325356void QwtMagnifier::widgetMousePressEvent( QMouseEvent *mouseEvent )
    326357{
    327     if ( ( mouseEvent->button() != d_data->mouseButton)
    328         || parentWidget() == NULL )
    329     {
     358    if ( parentWidget() == NULL )
    330359        return;
    331     }
    332 
    333     if ( ( mouseEvent->modifiers() & Qt::KeyboardModifierMask ) !=
    334         ( int )( d_data->mouseButtonState & Qt::KeyboardModifierMask ) )
     360
     361    if ( ( mouseEvent->button() != d_data->mouseButton ) ||
     362        ( mouseEvent->modifiers() != d_data->mouseButtonModifiers ) )
    335363    {
    336364        return;
     
    338366
    339367    d_data->hasMouseTracking = parentWidget()->hasMouseTracking();
     368
    340369    parentWidget()->setMouseTracking( true );
    341370    d_data->mousePos = mouseEvent->pos();
     
    393422void QwtMagnifier::widgetWheelEvent( QWheelEvent *wheelEvent )
    394423{
    395     if ( ( wheelEvent->modifiers() & Qt::KeyboardModifierMask ) !=
    396         ( int )( d_data->wheelButtonState & Qt::KeyboardModifierMask ) )
     424    if ( wheelEvent->modifiers() != d_data->wheelModifiers )
    397425    {
    398426        return;
     
    411439         */
    412440        double f = qPow( d_data->wheelFactor,
    413             qAbs( wheelEvent->delta() / 120 ) );
     441            qAbs( wheelEvent->delta() / 120.0 ) );
    414442
    415443        if ( wheelEvent->delta() > 0 )
     
    428456void QwtMagnifier::widgetKeyPressEvent( QKeyEvent *keyEvent )
    429457{
    430     const int key = keyEvent->key();
    431     const int state = keyEvent->modifiers();
    432 
    433     if ( key == d_data->zoomInKey &&
    434         state == d_data->zoomInKeyModifiers )
     458    if ( keyEvent->key() == d_data->zoomInKey &&
     459        keyEvent->modifiers() == d_data->zoomInKeyModifiers )
    435460    {
    436461        rescale( d_data->keyFactor );
    437462    }
    438     else if ( key == d_data->zoomOutKey &&
    439         state == d_data->zoomOutKeyModifiers )
     463    else if ( keyEvent->key() == d_data->zoomOutKey &&
     464        keyEvent->modifiers() == d_data->zoomOutKeyModifiers )
    440465    {
    441466        rescale( 1.0 / d_data->keyFactor );
     
    457482QWidget *QwtMagnifier::parentWidget()
    458483{
    459     if ( parent()->inherits( "QWidget" ) )
    460         return ( QWidget * )parent();
    461 
    462     return NULL;
     484    return qobject_cast<QWidget *>( parent() );
    463485}
    464486
     
    466488const QWidget *QwtMagnifier::parentWidget() const
    467489{
    468     if ( parent()->inherits( "QWidget" ) )
    469         return ( const QWidget * )parent();
    470 
    471     return NULL;
    472 }
    473 
     490    return qobject_cast<const QWidget *>( parent() );
     491}
     492
Note: See TracChangeset for help on using the changeset viewer.