diff --git a/src/editing/common/freeformhelper.cpp b/src/editing/common/freeformhelper.cpp index 36967fd..6905475 100644 --- a/src/editing/common/freeformhelper.cpp +++ b/src/editing/common/freeformhelper.cpp @@ -1,12 +1,13 @@ #include "freeformhelper.h" +#include #include #include #include #include #include -#include -#include +#include +#include "mainwindow.h" #include "dialogrender.h" #include "dialogexplorer.h" #include "rendering/scenery.h" @@ -194,6 +195,15 @@ void FreeFormHelper::openDialog(QDialog* dialog) } } +void FreeFormHelper::gotoMainTab(int position) +{ + QWidget* window = _form_widget->window(); + if (window->inherits("MainWindow")) + { + ((MainWindow*)window)->openTab(position); + } +} + void FreeFormHelper::processDataChange() { _data_changed = true; diff --git a/src/editing/common/freeformhelper.h b/src/editing/common/freeformhelper.h index 5592d3b..0933a24 100644 --- a/src/editing/common/freeformhelper.h +++ b/src/editing/common/freeformhelper.h @@ -39,6 +39,7 @@ public: void setLabelText(QString widget_name, QString text); void openDialog(QDialog* dialog); + void gotoMainTab(int position); signals: void revertClicked(); @@ -75,4 +76,4 @@ private: QPushButton* _button_render; }; -#endif // FREEFORMHELPER_H +#endif diff --git a/src/editing/common/mainwindow.cpp b/src/editing/common/mainwindow.cpp index d48224d..2af1fda 100644 --- a/src/editing/common/mainwindow.cpp +++ b/src/editing/common/mainwindow.cpp @@ -168,6 +168,11 @@ void MainWindow::refreshAll() cameraDeleteDefinition(camera); } +void MainWindow::openTab(int position) +{ + ui->tabs->setCurrentIndex(position); +} + void MainWindow::fileNew() { if (QMessageBox::question(this, tr("Paysages 3D - New scenery"), tr("Do you want to start a new scenery ? Any unsaved changes will be lost."), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::Yes) diff --git a/src/editing/common/mainwindow.h b/src/editing/common/mainwindow.h index 64b73de..ac715b3 100644 --- a/src/editing/common/mainwindow.h +++ b/src/editing/common/mainwindow.h @@ -15,7 +15,7 @@ class MainWindow; class MainWindow : public QMainWindow { Q_OBJECT - + public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); @@ -28,6 +28,8 @@ public: public slots: void refreshAll(); + void openTab(int position); + void fileNew(); void fileSave(); void fileLoad(); diff --git a/src/editing/terrain/mainterrainform.cpp b/src/editing/terrain/mainterrainform.cpp index 33ce6e4..c9e86f0 100644 --- a/src/editing/terrain/mainterrainform.cpp +++ b/src/editing/terrain/mainterrainform.cpp @@ -127,5 +127,6 @@ void MainTerrainForm::buttonPaintingPressed() void MainTerrainForm::buttonTexturesPressed() { - // TODO Switch to textures tab + // Switch to textures tab + _form_helper->gotoMainTab(1); }