#include "include/Lights.hpp" #include "ILightSceneNode.h" Lights::Lights(QWidget *parent) : QDialog(parent) { ui.setupUi(this); connect(ui.pushButtonApply, SIGNAL(clicked()), this, SLOT(apply())); connect(ui.pushButtonAdd, SIGNAL(clicked()), this, SLOT(lightAdd())); connect(ui.pushButtonDelete, SIGNAL(clicked()), this, SLOT(lightDelete())); connect(ui.comboBoxID, SIGNAL(activated()), this, SLOT(setID())); connect(ui.comboBoxType, SIGNAL(activated()), this, SLOT(lightType())); } void Lights::setLightSceneNode(array lights) { lightArray = lights; QStringList list; QString str; while(!list.isEmpty()) str = list.takeFirst(); //while(int i = ui.comboBoxID->count()) // ui.comboBoxID->removeItem(i-1); ui.comboBoxID->clear(); if(lights.size()){ for(u32 i = 0; i < lights.size(); i++) list.append(str.setNum(i)); //scene->addToDeletionQueue(lights[i]); ui.comboBoxID->addItems(list); /* lightNode = lights[0]; video::SLight data = lightnode->getLightData(); ui.spinBoxAmbientRed->setValue(data.AmbientColor.r); ui.spinBoxAmbientGreen->setValue(data.AmbientColor.g); ui.spinBoxAmbientBlue->setValue(data.AmbientColor.b); ui.spinBoxDiffuseRed->setValue(data.DiffuseColor.r); ui.spinBoxDiffuseGreen->setValue(data.DiffuseColor.g); ui.spinBoxDiffuseBlue->setValue(data.DiffuseColor.b); ui.spinBoxSpecularRed->setValue(data.SpecularColor.r); ui.spinBoxSpecularGreen->setValue(data.SpecularColor.g); ui.spinBoxSpecularBlue->setValue(data.SpecularColor.b); */ } } void Lights::setID() { //int i = ui.comboBoxID->currentIndex(); /* lightNode = (scene::ILightSceneNode*)(lightArray[i]); video::SLight data = lightNode->getLightData(); ui.spinBoxAmbientRed->setValue(data.AmbientColor.r); ui.spinBoxAmbientGreen->setValue(data.AmbientColor.g); ui.spinBoxAmbientBlue->setValue(data.AmbientColor.b); ui.spinBoxDiffuseRed->setValue(data.DiffuseColor.r); ui.spinBoxDiffuseGreen->setValue(data.DiffuseColor.g); ui.spinBoxDiffuseBlue->setValue(data.DiffuseColor.b); ui.spinBoxSpecularRed->setValue(data.SpecularColor.r); ui.spinBoxSpecularGreen->setValue(data.SpecularColor.g); ui.spinBoxSpecularBlue->setValue(data.SpecularColor.b); */ ui.lineEditPositionZ->setText("activated"); } void Lights::apply() { ui.lineEditPositionX->setText("applied"); /* video::SLight data; float r, g, b; qDebug() << "checked ? " << (ui.checkBoxAmbient->checkState() == Qt::Checked ? "checked" : "not"); r = ui.spinBoxAmbientRed->value(); g = ui.checkBoxAmbient->checkState() != Qt::Checked ? ui.spinBoxAmbientGreen->value() : r; b = ui.checkBoxAmbient->checkState() != Qt::Checked ? ui.spinBoxAmbientBlue->value() : r; data.AmbientColor = video::SColorf(r, g, b); r = ui.spinBoxDiffuseRed->value(); g = ui.checkBoxDiffuse->checkState() != Qt::Checked ? ui.spinBoxDiffuseGreen->value() : r; b = ui.checkBoxDiffuse->checkState() != Qt::Checked ? ui.spinBoxDiffuseBlue->value() : r; data.DiffuseColor = video::SColorf(r, g, b); r = ui.spinBoxSpecularRed->value(); g = ui.checkBoxSpecular->checkState() != Qt::Checked ? ui.spinBoxSpecularGreen->value() : r; b = ui.checkBoxSpecular->checkState() != Qt::Checked ? ui.spinBoxSpecularBlue->value() : r; data.SpecularColor = video::SColorf(r, g, b); data.CastShadows = true; data.Radius = 100.0f; data.Type = video::ELT_POINT; lightNode->setLightData(data); */ } void Lights::lightAdd() { ui.lineEditDirectionX->setText("added"); } void Lights::lightDelete() { ui.lineEditPositionY->setText("deleted"); } void Lights::lightType() { ui.lineEditDirectionY->setText("type"); }