bool VCSlider::copyFrom(const VCWidget *widget) { const VCSlider *slider = qobject_cast<const VCSlider*> (widget); if (slider == nullptr) return false; /* Copy widget style */ setWidgetStyle(slider->widgetStyle()); /* Copy level stuff */ setRangeLowLimit(slider->rangeLowLimit()); setRangeHighLimit(slider->rangeHighLimit()); for (SceneValue scv : slider->levelChannels()) addLevelChannel(scv.fxi, scv.channel); /* Copy playback stuff */ setControlledFunction(slider->controlledFunction()); /* Copy slider appearance */ setValueDisplayStyle(slider->valueDisplayStyle()); setInvertedAppearance(slider->invertedAppearance()); /* Copy Click & Go feature */ setClickAndGoType(slider->clickAndGoType()); /* Copy mode & current value */ setSliderMode(slider->sliderMode()); setValue(slider->value(), false, false); /* Copy monitor mode */ setMonitorEnabled(slider->monitorEnabled()); /* Copy common stuff */ return VCWidget::copyFrom(widget); }
bool VCSlider::copyFrom(VCWidget* widget) { VCSlider* slider = qobject_cast<VCSlider*> (widget); if (slider == NULL) return false; /* Copy level stuff */ setLevelLowLimit(slider->levelLowLimit()); setLevelHighLimit(slider->levelHighLimit()); m_levelChannels = slider->m_levelChannels; /* Copy bus stuff */ setBusLowLimit(slider->busLowLimit()); setBusHighLimit(slider->busHighLimit()); setBus(slider->bus()); /* Copy slider appearance */ setValueDisplayStyle(slider->valueDisplayStyle()); setInvertedAppearance(slider->invertedAppearance()); /* Copy mode & current value */ setSliderMode(slider->sliderMode()); m_slider->setValue(slider->sliderValue()); /* Copy common stuff */ return VCWidget::copyFrom(widget); }
bool VCSlider::copyFrom(const VCWidget* widget) { const VCSlider* slider = qobject_cast<const VCSlider*> (widget); if (slider == NULL) return false; /* Copy widget style */ setWidgetStyle(slider->widgetStyle()); /* Copy level stuff */ setLevelLowLimit(slider->levelLowLimit()); setLevelHighLimit(slider->levelHighLimit()); m_levelChannels = slider->m_levelChannels; /* Copy playback stuff */ m_playbackFunction = slider->m_playbackFunction; /* Copy slider appearance */ setValueDisplayStyle(slider->valueDisplayStyle()); setInvertedAppearance(slider->invertedAppearance()); /* Copy Click & Go feature */ setClickAndGoType(slider->clickAndGoType()); /* Copy mode & current value */ setSliderMode(slider->sliderMode()); setSliderValue(slider->sliderValue()); /* Copy monitor mode */ setChannelsMonitorEnabled(slider->channelsMonitorEnabled()); /* Copy common stuff */ return VCWidget::copyFrom(widget); }
Drawbar::Drawbar(QWidget* parent) : Slider(parent) { _sliderColor = Qt::darkGray; setOrientation(Qt::Vertical); setInvertedAppearance(true); setRange(0.0, 8.0); setLineStep(1.0); setPageStep(1.0); setInteger(true); }
Amarok::Slider::Slider( Qt::Orientation orientation, uint max, QWidget *parent ) : QSlider( orientation, parent ) , m_sliding( false ) , m_outside( false ) , m_prevValue( 0 ) , m_needsResize( true ) { setMouseTracking( true ); setRange( 0, max ); setAttribute( Qt::WA_NoMousePropagation, true ); setAttribute( Qt::WA_Hover, true ); if ( orientation == Qt::Vertical ) { setInvertedAppearance( true ); setInvertedControls( true ); } }
VCSlider::VCSlider(QWidget* parent, Doc* doc) : VCWidget(parent, doc) { /* Set the class name "VCSlider" as the object name as well */ setObjectName(VCSlider::staticMetaObject.className()); m_hbox = NULL; m_topLabel = NULL; m_slider = NULL; m_bottomLabel = NULL; m_valueDisplayStyle = ExactValue; m_levelLowLimit = 0; m_levelHighLimit = UCHAR_MAX; m_levelValue = 0; m_levelValueChanged = false; m_monitorEnabled = false; m_monitorValue = 0; m_playbackFunction = Function::invalidId(); m_playbackValue = 0; m_playbackValueChanged = false; m_widgetMode = WSlider; setType(VCWidget::SliderWidget); setCaption(QString()); setFrameStyle(KVCFrameStyleSunken); /* Main VBox */ new QVBoxLayout(this); /* Top label */ m_topLabel = new QLabel(this); m_topLabel->setAlignment(Qt::AlignHCenter); layout()->addWidget(m_topLabel); /* Slider's HBox |stretch|slider|stretch| */ m_hbox = new QHBoxLayout(); /* Put stretchable space before the slider (to its left side) */ m_hbox->addStretch(); /* The slider */ m_slider = new ClickAndGoSlider(this); m_hbox->addWidget(m_slider); m_slider->setRange(0, 255); m_slider->setPageStep(1); m_slider->setInvertedAppearance(false); m_slider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); m_slider->setMinimumWidth(32); m_slider->setMaximumWidth(80); m_slider->setStyleSheet(CNG_DEFAULT_STYLE); connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int))); m_externalMovement = false; /* Put stretchable space after the slider (to its right side) */ m_hbox->addStretch(); layout()->addItem(m_hbox); /* Click & Go button */ m_cngType = ClickAndGoWidget::None; m_cngButton = new QToolButton(this); m_cngButton->setFixedSize(48, 48); m_cngButton->setIconSize(QSize(42, 42)); m_menu = new QMenu(this); QWidgetAction* action = new QWidgetAction(this); m_cngWidget = new ClickAndGoWidget(); action->setDefaultWidget(m_cngWidget); m_menu->addAction(action); m_cngButton->setMenu(m_menu); m_cngButton->setPopupMode(QToolButton::InstantPopup); layout()->addWidget(m_cngButton); layout()->setAlignment(m_cngButton, Qt::AlignHCenter); m_cngButton->hide(); connect(m_cngWidget, SIGNAL(levelChanged(uchar)), this, SLOT(slotClickAndGoLevelChanged(uchar))); connect(m_cngWidget, SIGNAL(colorChanged(QRgb)), this, SLOT(slotClickAndGoColorChanged(QRgb))); connect(m_cngWidget, SIGNAL(levelAndPresetChanged(uchar,QImage)), this, SLOT(slotClickAndGoLevelAndPresetChanged(uchar, QImage))); connect(this, SIGNAL(monitorDMXValueChanged(int)), this, SLOT(slotMonitorDMXValueChanged(int))); /* Bottom label */ m_bottomLabel = new QLabel(this); layout()->addWidget(m_bottomLabel); m_bottomLabel->setAlignment(Qt::AlignCenter); m_bottomLabel->setWordWrap(true); m_bottomLabel->hide(); setMinimumSize(20, 20); QSettings settings; QVariant var = settings.value(SETTINGS_SLIDER_SIZE); if (var.isValid() == true) resize(var.toSize()); else resize(VCSlider::defaultSize); /* Initialize to playback mode by default */ setInvertedAppearance(false); m_sliderMode = SliderMode(-1); // avoid use of uninitialized value setSliderMode(Playback); /* Update the slider according to current mode */ slotModeChanged(m_doc->mode()); setLiveEdit(m_liveEdit); /* Listen to fixture removals so that LevelChannels can be removed when they no longer point to an existing fixture->channel */ connect(m_doc, SIGNAL(fixtureRemoved(quint32)), this, SLOT(slotFixtureRemoved(quint32))); }
VCSlider::VCSlider(QWidget* parent, Doc* doc, OutputMap* outputMap, InputMap* inputMap, MasterTimer* masterTimer) : VCWidget(parent, doc, outputMap, inputMap, masterTimer) { /* Set the class name "VCSlider" as the object name as well */ setObjectName(VCSlider::staticMetaObject.className()); m_hbox = NULL; m_topLabel = NULL; m_slider = NULL; m_bottomLabel = NULL; m_tapButton = NULL; m_sliderMode = Bus; m_valueDisplayStyle = ExactValue; m_levelLowLimit = 0; m_levelHighLimit = UCHAR_MAX; m_bus = Bus::defaultFade(); m_busLowLimit = KDefaultBusLowLimit; m_busHighLimit = KDefaultBusHighLimit; m_levelValue = 0; m_levelValueChanged = false; m_playbackFunction = Function::invalidId(); m_playbackValue = 0; m_playbackValueChanged = false; m_time = NULL; setCaption(QString()); setFrameStyle(KVCFrameStyleSunken); /* Main VBox */ new QVBoxLayout(this); /* Top label */ m_topLabel = new QLabel(this); layout()->addWidget(m_topLabel); m_topLabel->setAlignment(Qt::AlignHCenter); /* Slider's HBox |stretch|slider|stretch| */ m_hbox = new QHBoxLayout(); layout()->addItem(m_hbox); /* Put stretchable space before the slider (to its left side) */ m_hbox->addStretch(); /* The slider */ m_slider = new QSlider(this); m_slider->setStyle(App::saneStyle()); m_hbox->addWidget(m_slider); m_slider->setRange(KDefaultBusLowLimit * MasterTimer::frequency(), KDefaultBusHighLimit * MasterTimer::frequency()); m_slider->setPageStep(1); m_slider->setInvertedAppearance(false); connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int))); m_externalMovement = false; /* Put stretchable space after the slider (to its right side) */ m_hbox->addStretch(); /* Tap button */ m_tapButton = new QPushButton(this); layout()->addWidget(m_tapButton); connect(m_tapButton, SIGNAL(clicked()), this, SLOT(slotTapButtonClicked())); m_time = new QTime(); /* Bottom label */ m_bottomLabel = new QLabel(this); layout()->addWidget(m_bottomLabel); m_bottomLabel->setAlignment(Qt::AlignCenter); m_bottomLabel->hide(); setMinimumSize(VCSlider::defaultSize); resize(VCSlider::defaultSize); /* Initialize to bus mode by default */ setInvertedAppearance(true); setBus(Bus::defaultFade()); setSliderMode(Bus); /* Update the slider according to current mode */ slotModeChanged(mode()); /* Listen to fixture removals so that LevelChannels can be removed when they no longer point to an existing fixture->channel */ connect(m_doc, SIGNAL(fixtureRemoved(quint32)), this, SLOT(slotFixtureRemoved(quint32))); }
QInvertedChannelSlider::QInvertedChannelSlider(Qt::Orientation o, int channel, QWidget* parent) : QChannelSlider(o, channel, parent) { setInvertedAppearance(true); // p4.0.27 //setInvertedControls(true); }
QInvertedSlider::QInvertedSlider(Qt::Orientation o, QWidget* parent) : QSlider(o, parent) { setInvertedAppearance(true); // p4.0.27 }
int QAbstractSlider::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: valueChanged((*reinterpret_cast< int(*)>(_a[1]))); break; case 1: sliderPressed(); break; case 2: sliderMoved((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: sliderReleased(); break; case 4: rangeChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 5: actionTriggered((*reinterpret_cast< int(*)>(_a[1]))); break; case 6: setValue((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: setOrientation((*reinterpret_cast< Qt::Orientation(*)>(_a[1]))); break; } _id -= 8; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = minimum(); break; case 1: *reinterpret_cast< int*>(_v) = maximum(); break; case 2: *reinterpret_cast< int*>(_v) = singleStep(); break; case 3: *reinterpret_cast< int*>(_v) = pageStep(); break; case 4: *reinterpret_cast< int*>(_v) = value(); break; case 5: *reinterpret_cast< int*>(_v) = sliderPosition(); break; case 6: *reinterpret_cast< bool*>(_v) = hasTracking(); break; case 7: *reinterpret_cast< Qt::Orientation*>(_v) = orientation(); break; case 8: *reinterpret_cast< bool*>(_v) = invertedAppearance(); break; case 9: *reinterpret_cast< bool*>(_v) = invertedControls(); break; case 10: *reinterpret_cast< bool*>(_v) = isSliderDown(); break; } _id -= 11; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setMinimum(*reinterpret_cast< int*>(_v)); break; case 1: setMaximum(*reinterpret_cast< int*>(_v)); break; case 2: setSingleStep(*reinterpret_cast< int*>(_v)); break; case 3: setPageStep(*reinterpret_cast< int*>(_v)); break; case 4: setValue(*reinterpret_cast< int*>(_v)); break; case 5: setSliderPosition(*reinterpret_cast< int*>(_v)); break; case 6: setTracking(*reinterpret_cast< bool*>(_v)); break; case 7: setOrientation(*reinterpret_cast< Qt::Orientation*>(_v)); break; case 8: setInvertedAppearance(*reinterpret_cast< bool*>(_v)); break; case 9: setInvertedControls(*reinterpret_cast< bool*>(_v)); break; case 10: setSliderDown(*reinterpret_cast< bool*>(_v)); break; } _id -= 11; } else if (_c == QMetaObject::ResetProperty) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 11; } #endif // QT_NO_PROPERTIES return _id; }
VCSlider::VCSlider(QWidget* parent) : VCWidget(parent) { /* Set the class name "VCSlider" as the object name as well */ setObjectName(VCSlider::staticMetaObject.className()); m_hbox = NULL; m_topLabel = NULL; m_slider = NULL; m_bottomLabel = NULL; m_tapButton = NULL; m_sliderMode = Bus; m_valueDisplayStyle = ExactValue; m_levelLowLimit = 0; m_levelHighLimit = 255; m_bus = Bus::defaultFade(); m_busLowLimit = KDefaultBusLowLimit; m_busHighLimit = KDefaultBusHighLimit; m_sliderValue = 0; m_time = NULL; setCaption(QString::null); setFrameStyle(KVCFrameStyleSunken); /* Main VBox */ new QVBoxLayout(this); /* Top label */ m_topLabel = new QLabel(this); layout()->addWidget(m_topLabel); m_topLabel->setAlignment(Qt::AlignHCenter); /* Slider's HBox |stretch|slider|stretch| */ m_hbox = new QHBoxLayout(); layout()->addItem(m_hbox); /* Put stretchable space before the slider (to its left side) */ m_hbox->addStretch(); /* The slider */ m_slider = new QSlider(this); m_slider->setStyle(App::saneStyle()); m_hbox->addWidget(m_slider); m_slider->setRange(KDefaultBusLowLimit * KFrequency, KDefaultBusHighLimit * KFrequency); m_slider->setPageStep(1); m_slider->setInvertedAppearance(false); connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int))); /* Put stretchable space after the slider (to its right side) */ m_hbox->addStretch(); /* Tap button */ m_tapButton = new QPushButton(this); layout()->addWidget(m_tapButton); connect(m_tapButton, SIGNAL(clicked()), this, SLOT(slotTapButtonClicked())); m_time = new QTime(); /* Bottom label */ m_bottomLabel = new QLabel(this); layout()->addWidget(m_bottomLabel); m_bottomLabel->setAlignment(Qt::AlignCenter); m_bottomLabel->hide(); resize(QPoint(60, 220)); /* Initialize to bus mode by default */ setBus(Bus::defaultFade()); setSliderMode(Bus); setSliderValue(0); slotSliderMoved(0); setInvertedAppearance(true); /* Update the slider according to current mode */ slotModeChanged(_app->mode()); }
bool VCSlider::loadXML(const QDomElement* root) { bool visible = false; int x = 0; int y = 0; int w = 0; int h = 0; SliderMode sliderMode = Playback; QDomElement tag; QDomNode node; QString caption; QString str; Q_ASSERT(root != NULL); if (root->tagName() != KXMLQLCVCSlider) { qWarning() << Q_FUNC_INFO << "Slider node not found"; return false; } /* Caption */ caption = root->attribute(KXMLQLCVCCaption); if (root->attribute(KXMLQLCVCSliderInvertedAppearance) == "false") setInvertedAppearance(false); else setInvertedAppearance(true); /* Children */ node = root->firstChild(); while (node.isNull() == false) { tag = node.toElement(); if (tag.tagName() == KXMLQLCWindowState) { loadXMLWindowState(&tag, &x, &y, &w, &h, &visible); setGeometry(x, y, w, h); } else if (tag.tagName() == KXMLQLCVCWidgetAppearance) { loadXMLAppearance(&tag); } else if (tag.tagName() == KXMLQLCVCSliderMode) { sliderMode = stringToSliderMode(tag.text()); str = tag.attribute(KXMLQLCVCSliderValueDisplayStyle); setValueDisplayStyle(stringToValueDisplayStyle(str)); } else if (tag.tagName() == KXMLQLCVCSliderLevel) { loadXMLLevel(&tag); } else if (tag.tagName() == KXMLQLCVCWidgetInput) { loadXMLInput(&tag); } else if (tag.tagName() == KXMLQLCVCSliderPlayback) { loadXMLPlayback(&tag); } else { qWarning() << Q_FUNC_INFO << "Unknown slider tag:" << tag.tagName(); } node = node.nextSibling(); } /* Set the mode last, after everything else has been set */ setSliderMode(sliderMode); setCaption(caption); return true; }