/** Creates the EffectsScrollArea object. Sets up GUI. */ EffectsScrollArea::EffectsScrollArea(QWidget *parent) : QScrollArea(parent) { setupUi(this); // create connections connect(filterColorRadioButton, SIGNAL(toggled(bool)), this, SLOT(filterToogled(bool)) ); connect(filterTypeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterTypeChanged(int)) ); connect(filterGradientWidget, SIGNAL(gradientChanged()), filterBrushFrame, SLOT(changeGradient()) ); connect(imagePathPushButton, SIGNAL(clicked()), this, SLOT(browseImage())); connect(textXComboBox, SIGNAL(currentIndexChanged(QString)), textXSpinBox, SLOT(posUnitChanged(QString)) ); connect(textYComboBox, SIGNAL(currentIndexChanged(QString)), textYSpinBox, SLOT(posUnitChanged(QString)) ); connect(imageXComboBox, SIGNAL(currentIndexChanged(QString)), imageXSpinBox, SLOT(posUnitChanged(QString)) ); connect(imageYComboBox, SIGNAL(currentIndexChanged(QString)), imageYSpinBox, SLOT(posUnitChanged(QString)) ); filterBrushFrame->setColorDialogOptions(0); filterBrushFrame->setGradientType(QGradient::LinearGradient); filterBrushFrame->setGradientStops(filterGradientWidget->gradientStops()); filterTypeComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); textColorFrame->setColor(Qt::black); // set combo box models setupFilterModels(); filterToogled(filterColorRadioButton->isChecked()); QAbstractItemModel *posUnitModel = textXComboBox->model(); textYComboBox->setModel(posUnitModel); imagePositionComboBox->setModel(textPositionComboBox->model()); imageXComboBox->setModel(posUnitModel); imageYComboBox->setModel(posUnitModel); // set range const QPair<int, int> posRange(-20000, 20000); textXSpinBox->setRange(posRange.first, posRange.second); textYSpinBox->setRange(posRange.first, posRange.second); imageXSpinBox->setRange(posRange.first, posRange.second); imageYSpinBox->setRange(posRange.first, posRange.second); imageRotationSpinBox->setRange(textRotationSpinBox->minimum(), textRotationSpinBox->maximum()); // set icons textBoldPushButton->setIcon(QIcon::fromTheme("format-text-bold")); textItalicPushButton->setIcon(QIcon::fromTheme("format-text-italic")); textUnderlinePushButton->setIcon(QIcon::fromTheme("format-text-underline")); textStrikeOutPushButton->setIcon(QIcon::fromTheme("format-text-strikethrough")); }
int CockpitGrid::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QFrame::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: changeSpeed(); break; case 1: changeGradient(); break; case 2: changeAngle(); break; default: ; } _id -= 3; } return _id; }
QwtDial *CockpitGrid::createDial( int pos ) { QwtDial *dial = NULL; switch( pos ) { case 0: { d_clock = new QwtAnalogClock( this ); #if 0 // disable minor ticks d_clock->scaleDraw()->setTickLength( QwtScaleDiv::MinorTick, 0 ); #endif const QColor knobColor = QColor( Qt::gray ).light( 130 ); for ( int i = 0; i < QwtAnalogClock::NHands; i++ ) { QColor handColor = QColor( Qt::gray ).light( 150 ); int width = 8; if ( i == QwtAnalogClock::SecondHand ) { handColor = Qt::gray; width = 5; } QwtDialSimpleNeedle *hand = new QwtDialSimpleNeedle( QwtDialSimpleNeedle::Arrow, true, handColor, knobColor ); hand->setWidth( width ); d_clock->setHand( static_cast<QwtAnalogClock::Hand>( i ), hand ); } QTimer *timer = new QTimer( d_clock ); timer->connect( timer, SIGNAL( timeout() ), d_clock, SLOT( setCurrentTime() ) ); timer->start( 1000 ); dial = d_clock; break; } case 1: { d_speedo = new SpeedoMeter( this ); d_speedo->setScaleStepSize( 20.0 ); d_speedo->setScale( 0.0, 240.0 ); d_speedo->scaleDraw()->setPenWidth( 2 ); QTimer *timer = new QTimer( d_speedo ); timer->connect( timer, SIGNAL( timeout() ), this, SLOT( changeSpeed() ) ); timer->start( 50 ); dial = d_speedo; break; } case 2: { d_ai = new AttitudeIndicator( this ); d_ai->scaleDraw()->setPenWidth( 3 ); QTimer *gradientTimer = new QTimer( d_ai ); gradientTimer->connect( gradientTimer, SIGNAL( timeout() ), this, SLOT( changeGradient() ) ); gradientTimer->start( 100 ); QTimer *angleTimer = new QTimer( d_ai ); angleTimer->connect( angleTimer, SIGNAL( timeout() ), this, SLOT( changeAngle() ) ); angleTimer->start( 100 ); dial = d_ai; break; } } if ( dial ) { dial->setReadOnly( true ); dial->setLineWidth( 4 ); dial->setFrameShadow( QwtDial::Sunken ); } return dial; }