28#include "kis_double_widget.h"
30KisDoubleWidget::KisDoubleWidget(TQWidget* parent,
const char* name)
36KisDoubleWidget::KisDoubleWidget(
double min,
double max, TQWidget* parent,
const char* name)
42KisDoubleWidget::~KisDoubleWidget()
46void KisDoubleWidget::init(
double min,
double max)
48 m_spinBox =
new KDoubleSpinBox(min, max, 0.05, 0, 2,
this,
"spinbox");
49 connect(m_spinBox, TQ_SIGNAL(valueChanged(
double)),
this, TQ_SLOT(setSliderValue(
double)));
51 m_slider =
new TQSlider(
static_cast<int>(min * 100 + 0.5),
static_cast<int>(max * 100 + 0.5), 1, 0, TQt::Horizontal,
this,
"sld");
52 connect(m_slider, TQ_SIGNAL(valueChanged(
int)),
this, TQ_SLOT(sliderValueChanged(
int)));
53 connect(m_slider, TQ_SIGNAL(sliderPressed()), TQ_SIGNAL(sliderPressed()));
54 connect(m_slider, TQ_SIGNAL(sliderReleased()), TQ_SIGNAL(sliderReleased()));
56 m_layout =
new TQHBoxLayout(
this, 0, -1,
"hbox layout");
58 m_layout->addWidget(m_slider);
59 m_layout->addSpacing(5);
60 m_layout->addWidget(m_spinBox);
61 m_layout->addItem(
new TQSpacerItem(5,1,TQSizePolicy::Expanding, TQSizePolicy::Minimum));
64double KisDoubleWidget::value()
const
66 return m_spinBox->value();
69void KisDoubleWidget::setValue(
double value)
74 intValue =
static_cast<int>(value * 100 - 0.5);
76 intValue =
static_cast<int>(value * 100 + 0.5);
78 m_slider->setValue(intValue);
81void KisDoubleWidget::setRange(
double min,
double max)
83 m_spinBox->setRange(min, max);
84 m_slider->setRange(
static_cast<int>(min * 100 + 0.5),
static_cast<int>(max * 100 + 0.5));
87void KisDoubleWidget::setTickmarks(TQSlider::TickSetting tickSetting)
89 m_slider->setTickmarks(tickSetting);
92void KisDoubleWidget::setTickInterval(
double value)
94 m_slider->setTickInterval(
static_cast<int>(value * 100 + 0.5));
97double KisDoubleWidget::tickInterval()
const
99 return m_slider->tickInterval() / 100.0;
102void KisDoubleWidget::setSliderValue(
double value)
107 intValue =
static_cast<int>(value * 100 - 0.5);
109 intValue =
static_cast<int>(value * 100 + 0.5);
111 m_slider->setValue(intValue);
112 emit valueChanged(value);
115void KisDoubleWidget::sliderValueChanged(
int value)
117 m_spinBox->setValue(value / 100.0);
120void KisDoubleWidget::setPrecision(
int precision)
122 m_spinBox->setPrecision(precision);
125void KisDoubleWidget::setLineStep(
double step)
127 m_spinBox->setLineStep(step);
128 m_slider->setLineStep(
static_cast<int>(step * 100));
131void KisDoubleWidget::setPageStep(
double step)
133 m_slider->setPageStep(
static_cast<int>(step * 100));
136void KisDoubleWidget::setTracking(
bool tracking)
138 m_slider->setTracking(tracking);
141bool KisDoubleWidget::tracking()
const
143 return m_slider->tracking();
146#include "kis_double_widget.moc"