You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
4.0 KiB
124 lines
4.0 KiB
#include "colorpicker.h"
|
|
#include <tqcolor.h>
|
|
#include <tqlayout.h>
|
|
#include <tqslider.h>
|
|
#include <tqspinbox.h>
|
|
|
|
ColorPicker::ColorPicker(TQWidget* parent, const char* name) : TQGroupBox( parent, name){
|
|
// box = new TQGroupBox(parent);
|
|
// setFrameShape(TQFrame::GroupBoxPanel);
|
|
// setFrameShadow(TQFrame::Sunken);
|
|
setColumnLayout(0, TQt::Vertical );
|
|
layout()->setSpacing( 6 );
|
|
layout()->setMargin( 11 );
|
|
|
|
TQVBoxLayout *vLayout = new TQVBoxLayout(layout());
|
|
// gridLayout->setAlignment( TQt::AlignTop );
|
|
|
|
TQHBoxLayout *redLayout = new TQHBoxLayout();
|
|
redSlider = new TQSlider(0, 255, 1, 0, TQt::Horizontal, this, "redSlider");
|
|
redLayout->addWidget(redSlider);
|
|
|
|
redValue = new TQSpinBox(0,255,1,this);
|
|
redValue->setValue(0);
|
|
redLayout->addWidget(redValue);
|
|
|
|
vLayout->addLayout(redLayout);
|
|
|
|
TQHBoxLayout *greenLayout = new TQHBoxLayout();
|
|
greenSlider = new TQSlider(0, 255, 1, 0, TQt::Horizontal, this, "greenSlider");
|
|
greenLayout->addWidget(greenSlider);
|
|
|
|
greenValue = new TQSpinBox(0,255,1,this);
|
|
greenValue->setValue(0);
|
|
greenLayout->addWidget(greenValue);
|
|
|
|
vLayout->addLayout(greenLayout);
|
|
|
|
TQHBoxLayout *blueLayout = new TQHBoxLayout();
|
|
blueSlider = new TQSlider(0, 255, 1, 0, TQt::Horizontal, this, "blueSlider");
|
|
blueLayout->addWidget(blueSlider);
|
|
|
|
blueValue = new TQSpinBox(0,255,1,this);
|
|
blueValue->setValue(0);
|
|
blueLayout->addWidget(blueValue);
|
|
|
|
vLayout->addLayout(blueLayout);
|
|
|
|
// resize( TQSize(350, 100).expandedTo(minimumSizeHint()) );
|
|
|
|
//connections
|
|
connect(redSlider, SIGNAL(valueChanged (int)), this, SLOT(setRed(int)));
|
|
connect(greenSlider, SIGNAL(valueChanged (int)), this, SLOT(setGreen(int)));
|
|
connect(blueSlider, SIGNAL(valueChanged (int)), this, SLOT(setBlue(int)));
|
|
connect(redValue, SIGNAL(valueChanged (int)), this, SLOT(setRed(int)));
|
|
connect(greenValue, SIGNAL(valueChanged (int)), this, SLOT(setGreen(int)));
|
|
connect(blueValue, SIGNAL(valueChanged (int)), this, SLOT(setBlue(int)));
|
|
}
|
|
|
|
ColorPicker::~ColorPicker(){
|
|
}
|
|
|
|
void ColorPicker::setColor(TQColor color){
|
|
redSlider->blockSignals(true);
|
|
redSlider->setValue( color.red() );
|
|
redSlider->blockSignals(false);
|
|
redValue->blockSignals(true);
|
|
redValue->setValue(redSlider->value());
|
|
redValue->blockSignals(false);
|
|
greenSlider->blockSignals(true);
|
|
greenSlider->setValue( color.green() );
|
|
greenSlider->blockSignals(false);
|
|
greenValue->blockSignals(true);
|
|
greenValue->setValue(greenSlider->value());
|
|
greenValue->blockSignals(false);
|
|
blueSlider->blockSignals(true);
|
|
blueSlider->setValue( color.blue() );
|
|
blueSlider->blockSignals(false);
|
|
blueValue->blockSignals(true);
|
|
blueValue->setValue(blueSlider->value());
|
|
blueValue->blockSignals(false);
|
|
emit colorChanged(color);
|
|
}
|
|
|
|
void ColorPicker::setRed(int red){
|
|
redSlider->blockSignals(true);
|
|
redSlider->setValue( red );
|
|
redSlider->blockSignals(false);
|
|
redValue->blockSignals(true);
|
|
redValue->setValue(red);
|
|
redValue->blockSignals(false);
|
|
emit colorChanged(TQColor(red, greenSlider->value(), blueSlider->value()));
|
|
}
|
|
|
|
void ColorPicker::setGreen(int green){
|
|
greenSlider->blockSignals(true);
|
|
greenSlider->setValue( green );
|
|
greenSlider->blockSignals(false);
|
|
greenValue->blockSignals(true);
|
|
greenValue->setValue(green);
|
|
greenValue->blockSignals(false);
|
|
emit colorChanged(TQColor(redSlider->value(), green, blueSlider->value()));
|
|
}
|
|
|
|
void ColorPicker::setBlue(int blue){
|
|
blueSlider->blockSignals(true);
|
|
blueSlider->setValue( blue );
|
|
blueSlider->blockSignals(false);
|
|
blueValue->blockSignals(true);
|
|
blueValue->setValue(blue);
|
|
blueValue->blockSignals(false);
|
|
emit colorChanged(TQColor(redSlider->value(), greenSlider->value(), blue));
|
|
}
|
|
|
|
TQColor ColorPicker::Color(){
|
|
return TQColor(redSlider->value(), greenSlider->value(), blueSlider->value());
|
|
}
|
|
|
|
void ColorPicker::reset(){
|
|
setColor(color_);
|
|
}
|
|
|
|
void ColorPicker::init(){
|
|
color_ = Color();
|
|
} |