void ColorOptionView::_createItem() { QWidget *widget = new QWidget(myTab->widget()); myWidgets.push_back(widget); QGridLayout *layout = new QGridLayout(widget); const ZLColor &color = ((ZLColorOptionEntry&)*myOption).color(); const ZLResource &resource = ZLResource::resource(ZLDialogManager::COLOR_KEY); myRSlider = createColorSlider(layout, 0, resource["red"], color.Red); myGSlider = createColorSlider(layout, 1, resource["green"], color.Green); myBSlider = createColorSlider(layout, 2, resource["blue"], color.Blue); myColorBar = new QLabel(" ", widget); QPalette palette = myColorBar->palette(); palette.setColor(myColorBar->backgroundRole(), QColor(color.Red, color.Green, color.Blue)); myColorBar->setPalette(palette); myColorBar->setFrameStyle(QFrame::Panel | QFrame::Plain); layout->addWidget(myColorBar, 0, 2, 3, 1); myColorBar->setAutoFillBackground(true); myTab->addItem(widget, myRow, myFromColumn, myToColumn); }
/** * @brief Constructor. * * This constructor creates and initializes the child widgets and * makes the needed connections between signals and slots. Furthermore, * the constructor distributes the widgets through the interface. * * @param parent the parent widget of the FXWidget. */ FXWidget::FXWidget(QWidget *parent):QWidget(parent){ reflectionActivationCheckBox = new QCheckBox; fogActivationCheckBox = new QCheckBox; fogRedValueLabel = new QLabel("0"); fogGreenValueLabel = new QLabel("0"); fogBlueValueLabel = new QLabel("0"); fogRedSlider = createColorSlider(); fogGreenSlider = createColorSlider(); fogBlueSlider = createColorSlider(); fogStartValueLabel = new QLabel("0"); fogEndValueLabel = new QLabel("0"); fogStartSlider = new QSlider; fogEndSlider = new QSlider; fogStartSlider->setRange(0,500); fogStartSlider->setSingleStep(1); fogStartSlider->setValue(0); fogEndSlider->setRange(0,500); fogEndSlider->setSingleStep(1); fogEndSlider->setValue(0); connect(reflectionActivationCheckBox, SIGNAL(clicked(bool)), this, SIGNAL(setReflection(bool))); connect(fogActivationCheckBox, SIGNAL(clicked(bool)), this, SIGNAL(setFog(bool))); connect(fogRedSlider, SIGNAL(valueChanged(int)), this, SLOT(updateRed(int))); connect(fogGreenSlider, SIGNAL(valueChanged(int)), this, SLOT(updateGreen(int))); connect(fogBlueSlider, SIGNAL(valueChanged(int)), this, SLOT(updateBlue(int))); connect(fogStartSlider, SIGNAL(valueChanged(int)), this, SLOT(updateStart(int))); connect(fogEndSlider, SIGNAL(valueChanged(int)), this, SLOT(updateEnd(int))); QGridLayout *fogLayout = new QGridLayout; fogLayout->addWidget(new QLabel("Enable"),0,0,1,2); fogLayout->addWidget(fogActivationCheckBox,0,2); fogLayout->addWidget(new QLabel("R"),1,0,Qt::AlignHCenter); fogLayout->addWidget(fogRedSlider,2,0,Qt::AlignHCenter); fogLayout->addWidget(fogRedValueLabel,3,0,Qt::AlignHCenter); fogLayout->addWidget(new QLabel("G"),1,1,Qt::AlignHCenter); fogLayout->addWidget(fogGreenSlider,2,1,Qt::AlignHCenter); fogLayout->addWidget(fogGreenValueLabel,3,1,Qt::AlignHCenter); fogLayout->addWidget(new QLabel("B"),1,2,Qt::AlignHCenter); fogLayout->addWidget(fogBlueSlider,2,2,Qt::AlignHCenter); fogLayout->addWidget(fogBlueValueLabel,3,2,Qt::AlignHCenter); fogLayout->addWidget(new QLabel("Start"),4,0,Qt::AlignCenter); fogLayout->addWidget(fogStartSlider,5,0,Qt::AlignCenter); fogLayout->addWidget(fogStartValueLabel,6,0,Qt::AlignCenter); fogLayout->addWidget(new QLabel("End"),4,2,Qt::AlignCenter); fogLayout->addWidget(fogEndSlider,5,2,Qt::AlignCenter); fogLayout->addWidget(fogEndValueLabel,6,2,Qt::AlignCenter); QGroupBox *fogGroupBox = new QGroupBox("Fog"); fogGroupBox->setLayout(fogLayout); QGridLayout *mainLayout = new QGridLayout; mainLayout->addWidget(new QLabel("Reflection"),0,0); mainLayout->addWidget(reflectionActivationCheckBox,0,1); mainLayout->addWidget(fogGroupBox,1,0,1,2); setLayout(mainLayout); }