#include "ProjectionModel.h" #include "Scene.h" #include "Screen.h" #include "RSync.h" #include "Exporter.h" #include "GUIControler.h" #include "gui/Defines.h" #include "gui/QDesignViewWindow.h" #include "gui/QDesignViewWidget.h" #include "gui/QPreferenceDialog.h" using namespace projection; QPreferenceDialog::QPreferenceDialog(QWidget* pParent, Qt::WFlags flags) : QDialog(pParent, flags) { ui.setupUi(this); setFixedSize(sizeHint()); m_pModel = NULL; } QPreferenceDialog::~QPreferenceDialog() { } void QPreferenceDialog::setModel(ProjectionModel* pModel) { m_pModel = pModel; if (m_pModel->getRSync()->isServer()) m_pDesignView = ((QDesignViewWindow*)m_pModel->getGUI()->getMainWindow())->getDesignView(); updateGUI(); } void QPreferenceDialog::updateGUI() { if (m_pModel) { ui.gridSizeEdit->setText(formatValue(m_pDesignView->gridSize())); ui.gridSubdivSpinBox->setValue(m_pDesignView->gridSubdivision()); ui.bufferWidthComboBox->setCurrentIndex(ui.bufferWidthComboBox->findText(QString::number(m_pModel->getScreen()->getBufferWidth()))); ui.bufferHeightComboBox->setCurrentIndex(ui.bufferHeightComboBox->findText(QString::number(m_pModel->getScreen()->getBufferHeight()))); // If the export_width is not in the combo, we add the item. int index_width = ui.exportWidthComboBox->findText(QString::number(m_pModel->getExporter()->getExportWidth())); if (-1==index_width) { int nb_items=ui.exportWidthComboBox->count(); ui.exportWidthComboBox->insertItem (nb_items, QString::number(m_pModel->getExporter()->getExportWidth())); ui.exportWidthComboBox->setCurrentIndex(nb_items); } else { ui.exportWidthComboBox->setCurrentIndex(index_width); } // Same thing for the export_heith: if it is not in the combo, we add the item. int index_height = ui.exportHeightComboBox->findText(QString::number(m_pModel->getExporter()->getExportHeight())); if (-1==index_height) { int nb_items=ui.exportHeightComboBox->count(); ui.exportHeightComboBox->insertItem (nb_items, QString::number(m_pModel->getExporter()->getExportHeight())); ui.exportHeightComboBox->setCurrentIndex(nb_items); } else { ui.exportHeightComboBox->setCurrentIndex(index_height); } ui.softEdgeCheckBox->setChecked(m_pModel->getExporter()->getSoftEdge()); ui.blendEdgeWidthSpinBox->setValue(m_pModel->getExporter()->getBlendEdgeWidth()); ui.blendEdgeExponentEdit->setText(QString::number(m_pModel->getExporter()->getBlendEdgeExponent())); ui.exportDistortMapPatternEdit->setText(m_pModel->getExporter()->getDistortMapFileNamePattern()); ui.exportBlendMapPatternEdit->setText(m_pModel->getExporter()->getBlendMapFileNamePattern()); ui.exportViewMatrixPatternEdit->setText(m_pModel->getExporter()->getViewMatrixFileNamePattern()); } } void QPreferenceDialog::on_gridSizeEdit_editingFinished() { if (m_pModel && m_pDesignView->gridSize() != ui.gridSizeEdit->text().toFloat()) { m_pDesignView->setGridSize(ui.gridSizeEdit->text().toFloat()); m_pDesignView->updateGL(); } } void QPreferenceDialog::on_gridSubdivSpinBox_valueChanged(int value) { if (m_pModel && m_pDesignView->gridSubdivision() != value) { m_pDesignView->setGridSubdivision(value); m_pDesignView->updateGL(); } } void QPreferenceDialog::on_bufferWidthComboBox_activated(int) { if (m_pModel) m_pModel->getScreen()->setBufferSize(ui.bufferWidthComboBox->currentText().toInt(), ui.bufferHeightComboBox->currentText().toInt()); } void QPreferenceDialog::on_bufferHeightComboBox_activated(int) { if (m_pModel) m_pModel->getScreen()->setBufferSize(ui.bufferWidthComboBox->currentText().toInt(), ui.bufferHeightComboBox->currentText().toInt()); } void QPreferenceDialog::on_exportWidthComboBox_activated(int) { if (m_pModel) m_pModel->getExporter()->setExportWidth(ui.exportWidthComboBox->currentText().toInt()); } void QPreferenceDialog::on_exportHeightComboBox_activated(int) { if (m_pModel) m_pModel->getExporter()->setExportHeight(ui.exportHeightComboBox->currentText().toInt()); } void QPreferenceDialog::on_softEdgeCheckBox_toggled(bool checked) { if (m_pModel) m_pModel->getExporter()->setSoftEdge(checked); } void QPreferenceDialog::on_blendEdgeWidthSpinBox_valueChanged(int value) { if (m_pModel) m_pModel->getExporter()->setBlendEdgeWidth(value); } void QPreferenceDialog::on_blendEdgeExponentEdit_editingFinished() { if (m_pModel) m_pModel->getExporter()->setBlendEdgeExponent(ui.blendEdgeExponentEdit->text().toFloat()); } void QPreferenceDialog::on_exportDistortMapPatternEdit_editingFinished() { if (m_pModel) m_pModel->getExporter()->setDistortMapFileNamePattern(ui.exportDistortMapPatternEdit->text()); } void QPreferenceDialog::on_exportBlendMapPatternEdit_editingFinished() { if (m_pModel) m_pModel->getExporter()->setBlendMapFileNamePattern(ui.exportBlendMapPatternEdit->text()); } void QPreferenceDialog::on_exportViewMatrixPatternEdit_editingFinished() { if (m_pModel) m_pModel->getExporter()->setViewMatrixFileNamePattern(ui.exportViewMatrixPatternEdit->text()); }