#include "DialogMaterialEditor.h" #include "ui_DialogMaterialEditor.h" #include "common/freeformhelper.h" DialogMaterialEditor::DialogMaterialEditor(QWidget *parent, SurfaceMaterial* material) : QDialog(parent), ui(new Ui::DialogMaterialEditor), preview_lighted(&edited) { ui->setupUi(this); original = material; edited = *original; form_helper = new FreeFormHelper(this); form_helper->addPreview(ui->preview_lighted, &preview_lighted); form_helper->addDoubleInputSlider(ui->slider_hue, &edited.base.h); form_helper->addDoubleInputSlider(ui->slider_lightness, &edited.base.l); form_helper->addDoubleInputSlider(ui->slider_saturation, &edited.base.s); form_helper->addDoubleInputSlider(ui->slider_hardness, &edited.hardness); form_helper->addDoubleInputSlider(ui->slider_reflection, &edited.reflection); form_helper->addDoubleInputSlider(ui->slider_specularity, &edited.shininess); form_helper->addDoubleInputSlider(ui->slider_receive_shadows, &edited.receive_shadows); form_helper->setRevertButton(ui->button_revert); form_helper->startManaging(); ui->preview_color->setColor(&edited._rgb); connect(ui->button_apply, SIGNAL(clicked()), this, SLOT(accept())); connect(ui->button_cancel, SIGNAL(clicked()), this, SLOT(reject())); } DialogMaterialEditor::~DialogMaterialEditor() { delete form_helper; delete ui; } bool DialogMaterialEditor::getMaterial(QWidget* parent, SurfaceMaterial* material) { DialogMaterialEditor dialog(parent, material); bool validated = dialog.exec() != 0; if (validated) { *material = dialog.edited; } return validated; } void DialogMaterialEditor::refreshFromLocalData() { edited.validate(); ui->preview_color->update(); } void DialogMaterialEditor::refreshFromFellowData() { } void DialogMaterialEditor::updateLocalDataFromScenery() { // Revert edited = *original; } void DialogMaterialEditor::commitLocalDataToScenery() { } void DialogMaterialEditor::alterRenderer(SoftwareRenderer*) { }