X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_TransparencyWidget.cpp;h=a9283cad61155dba720f308accb30722060d22b8;hb=c7d72b1e9c2bf38f8cb27f9251c7a332401dc2fe;hp=0814a34467bff6d4ac195177f8a46a2afb759719;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_TransparencyWidget.cpp b/src/XGUI/XGUI_TransparencyWidget.cpp index 0814a3446..a9283cad6 100644 --- a/src/XGUI/XGUI_TransparencyWidget.cpp +++ b/src/XGUI/XGUI_TransparencyWidget.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -28,59 +29,45 @@ XGUI_TransparencyWidget::XGUI_TransparencyWidget(QWidget* theParent, const QString& theLabelText) : QWidget(theParent) { - QHBoxLayout* aLay = new QHBoxLayout(this); + QVBoxLayout* aLay = new QVBoxLayout(this); aLay->setContentsMargins(0, 0, 0, 0); - mySpinValue = new QDoubleSpinBox(this); - mySpinValue->setRange(0, 1); - mySpinValue->setSingleStep(0.1); - mySliderValue = new QSlider(Qt::Horizontal, this); - mySliderValue->setRange(0, 100); + QWidget* aInfoWgt = new QWidget(this); + QHBoxLayout* aInfoLay = new QHBoxLayout(aInfoWgt); + aInfoLay->setContentsMargins(0, 0, 0, 0); + + aInfoLay->addWidget(new QLabel(tr("Opaque"))); + + myValLbl = new QLabel("0%", aInfoWgt); + myValLbl->setAlignment(Qt::AlignCenter); + aInfoLay->addWidget(myValLbl, 1); - myPreview = new QCheckBox("Preview", this); - myPreview->setChecked(true); + aInfoLay->addWidget(new QLabel(tr("Transparent"))); + aLay->addWidget(aInfoWgt); - if (!theLabelText.isEmpty()) - aLay->addWidget(new QLabel(theLabelText, this)); - aLay->addWidget(mySpinValue); + mySliderValue = new QSlider(Qt::Horizontal, this); + mySliderValue->setRange(0, 100); aLay->addWidget(mySliderValue); - aLay->addWidget(myPreview); - connect(mySpinValue, SIGNAL(valueChanged(double)), this, SLOT(onSpinValueChanged(double))); connect(mySliderValue, SIGNAL(valueChanged(int)), this, SLOT(onSliderValueChanged(int))); - connect(myPreview, SIGNAL(toggled(bool)), this, SIGNAL(previewStateChanged())); } void XGUI_TransparencyWidget::setValue(double theValue) { - bool isSpinBlocked = mySpinValue->blockSignals(true); bool isSliderBlocked = mySliderValue->blockSignals(true); - - mySpinValue->setValue(theValue); - mySliderValue->setValue(theValue * 100); - - mySpinValue->blockSignals(isSpinBlocked); + int aVal = theValue * 100; + mySliderValue->setValue(aVal); + myValLbl->setText(QString("%1%").arg(aVal)); mySliderValue->blockSignals(isSliderBlocked); } double XGUI_TransparencyWidget::getValue() const { - return mySpinValue->value(); -} - -bool XGUI_TransparencyWidget::isPreviewNeeded() const -{ - return myPreview->isChecked(); -} - -void XGUI_TransparencyWidget::onSpinValueChanged(double theValue) -{ - setValue(theValue); - emit transparencyValueChanged(); + return mySliderValue->value() / 100.; } void XGUI_TransparencyWidget::onSliderValueChanged(int theValue) { - setValue((double)theValue / 100); + myValLbl->setText(QString("%1%").arg(theValue)); emit transparencyValueChanged(); }