void QwtCounter::initCounter() { d_data = new PrivateData; QHBoxLayout *layout = new QHBoxLayout( this ); layout->setSpacing( 0 ); layout->setMargin( 0 ); for ( int i = ButtonCnt - 1; i >= 0; i-- ) { QwtArrowButton *btn = new QwtArrowButton( i + 1, Qt::DownArrow, this ); btn->setFocusPolicy( Qt::NoFocus ); btn->installEventFilter( this ); layout->addWidget( btn ); connect( btn, SIGNAL( released() ), SLOT( btnReleased() ) ); connect( btn, SIGNAL( clicked() ), SLOT( btnClicked() ) ); d_data->buttonDown[i] = btn; } d_data->valueEdit = new QLineEdit( this ); d_data->valueEdit->setReadOnly( false ); d_data->valueEdit->setValidator( new QDoubleValidator( d_data->valueEdit ) ); layout->addWidget( d_data->valueEdit ); connect( d_data->valueEdit, SIGNAL( editingFinished() ), SLOT( textChanged() ) ); layout->setStretchFactor( d_data->valueEdit, 10 ); for ( int i = 0; i < ButtonCnt; i++ ) { QwtArrowButton *btn = new QwtArrowButton( i + 1, Qt::UpArrow, this ); btn->setFocusPolicy( Qt::NoFocus ); btn->installEventFilter( this ); layout->addWidget( btn ); connect( btn, SIGNAL( released() ), SLOT( btnReleased() ) ); connect( btn, SIGNAL( clicked() ), SLOT( btnClicked() ) ); d_data->buttonUp[i] = btn; } setNumButtons( 2 ); setRange( 0.0, 1.0 ); setSingleStep( 0.001 ); setValue( 0.0 ); setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ) ); setFocusProxy( d_data->valueEdit ); setFocusPolicy( Qt::StrongFocus ); }
int QwtCounter::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: buttonReleased((*reinterpret_cast< double(*)>(_a[1]))); break; case 1: valueChanged((*reinterpret_cast< double(*)>(_a[1]))); break; case 2: btnReleased(); break; case 3: btnClicked(); break; case 4: textChanged(); break; } _id -= 5; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = numButtons(); break; case 1: *reinterpret_cast< double*>(_v) = step(); break; case 2: *reinterpret_cast< double*>(_v) = minVal(); break; case 3: *reinterpret_cast< double*>(_v) = maxVal(); break; case 4: *reinterpret_cast< int*>(_v) = stepButton1(); break; case 5: *reinterpret_cast< int*>(_v) = stepButton2(); break; case 6: *reinterpret_cast< int*>(_v) = stepButton3(); break; case 7: *reinterpret_cast< double*>(_v) = value(); break; case 8: *reinterpret_cast< bool*>(_v) = editable(); break; } _id -= 9; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setNumButtons(*reinterpret_cast< int*>(_v)); break; case 1: setStep(*reinterpret_cast< double*>(_v)); break; case 2: setMinValue(*reinterpret_cast< double*>(_v)); break; case 3: setMaxValue(*reinterpret_cast< double*>(_v)); break; case 4: setStepButton1(*reinterpret_cast< int*>(_v)); break; case 5: setStepButton2(*reinterpret_cast< int*>(_v)); break; case 6: setStepButton3(*reinterpret_cast< int*>(_v)); break; case 7: setValue(*reinterpret_cast< double*>(_v)); break; case 8: setEditable(*reinterpret_cast< bool*>(_v)); break; } _id -= 9; } else if (_c == QMetaObject::ResetProperty) { _id -= 9; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 9; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 9; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 9; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 9; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 9; } #endif // QT_NO_PROPERTIES return _id; }