Added missing files.

This commit is contained in:
2026-01-11 01:13:56 +01:00
parent d3c62335b1
commit 6232b560b5
4 changed files with 194 additions and 0 deletions

67
bcvaluewidget.cpp Normal file
View File

@@ -0,0 +1,67 @@
#include <bcsliderstyle.h>
#include <bcvaluewidget.h>
BCValueWidget::BCValueWidget(const BCValue& bcValue, QWidget *parent )
: QWidget(parent), _bcValue{bcValue}
{
setupUi(this);
_slider->setStyle(new BCSliderStyle());
setAutoFillBackground(true);
/*
_slider = new QSlider(Qt::Horizontal, this);
_slider->setRange(0, 100);
_slider->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
_slider->setSingleStep(1);
_slider->setPageStep(10);
_slider->setStyle(new BCSliderStyle());
_commitButton = new QPushButton(this);
_commitButton->setIcon(style()->standardIcon(QStyle::SP_DialogResetButton));
_commitButton->setFixedSize(32, 32);
auto *layout = new QHBoxLayout(this);
// Deine gewünschten Margins für 36px Zeilenhöhe
layout->setContentsMargins(2, 2, 2, 2);
layout->setSpacing(4);
layout->addWidget(_slider);
layout->addWidget(_commitButton);
setLayout(layout);
*/
// Wenn Slider bewegt wird -> Signal nach außen senden
connect(_slider, &QSlider::valueChanged, this, [this](int val)
{
emit valueChanged(val);
});
// Wenn Reset gedrückt wird -> Slider auf 0 (löst auch valueChanged aus)
connect(_commitButton, &QPushButton::clicked, this, [this](){
_slider->setValue(0);
});
_commitButton->setVisible( false);
}
int BCValueWidget::getValue() const
{
return _slider->value();
}
void BCValueWidget::setValue(int val)
{
// WICHTIG: Block Signals verhindern Endlosschleifen, falls das Model
// das Widget während des Updates neu setzt (passiert manchmal bei Live-Updates).
if (val != _slider->value())
{
bool blocked = _slider->blockSignals(true);
_slider->setValue(val);
_slider->blockSignals(blocked);
}
}