diff --git a/ApplicationCode/Application/RiaApplication.cpp b/ApplicationCode/Application/RiaApplication.cpp index 923fa9b9df..382d54894c 100644 --- a/ApplicationCode/Application/RiaApplication.cpp +++ b/ApplicationCode/Application/RiaApplication.cpp @@ -335,7 +335,7 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi m_project->fileName = projectFileName; m_project->readFile(); - // Apply any modifiactions to the loaded project before we go ahead and load actual data + // Apply any modifications to the loaded project before we go ahead and load actual data if (projectModifier) { projectModifier->applyModificationsToProject(m_project); @@ -366,6 +366,25 @@ bool RiaApplication::loadProject(const QString& projectFileName, ProjectLoadActi return true; } + if (m_project->show3DWindow()) + { + RiuMainWindow::instance()->show(); + } + else + { + RiuMainWindow::instance()->close(); + } + + if (m_project->showPlotWindow()) + { + RiaApplication::instance()->getOrCreateAndShowMainPlotWindow(); + } + else if (mainPlotWindow()) + { + mainPlotWindow()->close(); + } + + /////// // Load the external data, and initialize stuff that needs specific ordering diff --git a/ApplicationCode/CMakeLists.txt b/ApplicationCode/CMakeLists.txt index 22cec10d69..7941040dfd 100644 --- a/ApplicationCode/CMakeLists.txt +++ b/ApplicationCode/CMakeLists.txt @@ -159,6 +159,7 @@ list( APPEND REFERENCED_CMAKE_FILES Commands/WellPathCommands/CMakeLists_files.cmake Commands/CrossSectionCommands/CMakeLists_files.cmake Commands/IntersectionBoxCommands/CMakeLists_files.cmake + Commands/ApplicationCommands/CMakeLists_files.cmake ) option (RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS "Include ApplicationCode Unit Tests" OFF) diff --git a/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake b/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake new file mode 100644 index 0000000000..1425a44164 --- /dev/null +++ b/ApplicationCode/Commands/ApplicationCommands/CMakeLists_files.cmake @@ -0,0 +1,37 @@ + +# Use this workaround until we're on 2.8.3 on all platforms and can use CMAKE_CURRENT_LIST_DIR directly +if (${CMAKE_VERSION} VERSION_GREATER "2.8.2") + set(CEE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}/) +endif() + +set (SOURCE_GROUP_HEADER_FILES +${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.h +${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.h +${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.h +${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.h +${CEE_CURRENT_LIST_DIR}RicTilePlotWindowsFeature.h +) + +set (SOURCE_GROUP_SOURCE_FILES +${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.cpp +${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.cpp +${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.cpp +${CEE_CURRENT_LIST_DIR}RicTilePlotWindowsFeature.cpp +) + +list(APPEND CODE_HEADER_FILES +${SOURCE_GROUP_HEADER_FILES} +) + +list(APPEND CODE_SOURCE_FILES +${SOURCE_GROUP_SOURCE_FILES} +) + +#set (QT_MOC_HEADERS +#${QT_MOC_HEADERS} +#${CEE_CURRENT_LIST_DIR}RicBoxManipulatorEventHandler.h +#) + + +source_group( "CommandFeature\\Application" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CEE_CURRENT_LIST_DIR}CMakeLists_files.cmake ) diff --git a/ApplicationCode/Commands/RicLaunchUnitTestsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicLaunchUnitTestsFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.cpp diff --git a/ApplicationCode/Commands/RicLaunchUnitTestsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.h similarity index 100% rename from ApplicationCode/Commands/RicLaunchUnitTestsFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicLaunchUnitTestsFeature.h diff --git a/ApplicationCode/Commands/RicShowMainWindowFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicShowMainWindowFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.cpp diff --git a/ApplicationCode/Commands/RicShowMainWindowFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.h similarity index 100% rename from ApplicationCode/Commands/RicShowMainWindowFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicShowMainWindowFeature.h diff --git a/ApplicationCode/Commands/RicShowPlotWindowFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicShowPlotWindowFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.cpp diff --git a/ApplicationCode/Commands/RicShowPlotWindowFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.h similarity index 100% rename from ApplicationCode/Commands/RicShowPlotWindowFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicShowPlotWindowFeature.h diff --git a/ApplicationCode/Commands/RicTilePlotWindowsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicTilePlotWindowsFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicTilePlotWindowsFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicTilePlotWindowsFeature.cpp diff --git a/ApplicationCode/Commands/RicTilePlotWindowsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicTilePlotWindowsFeature.h similarity index 100% rename from ApplicationCode/Commands/RicTilePlotWindowsFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicTilePlotWindowsFeature.h diff --git a/ApplicationCode/Commands/RicTileWindowsFeature.cpp b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.cpp similarity index 100% rename from ApplicationCode/Commands/RicTileWindowsFeature.cpp rename to ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.cpp diff --git a/ApplicationCode/Commands/RicTileWindowsFeature.h b/ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.h similarity index 100% rename from ApplicationCode/Commands/RicTileWindowsFeature.h rename to ApplicationCode/Commands/ApplicationCommands/RicTileWindowsFeature.h diff --git a/ApplicationCode/Commands/CMakeLists_files.cmake b/ApplicationCode/Commands/CMakeLists_files.cmake index e56577193e..4f947095b5 100644 --- a/ApplicationCode/Commands/CMakeLists_files.cmake +++ b/ApplicationCode/Commands/CMakeLists_files.cmake @@ -45,11 +45,6 @@ ${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.h ${CEE_CURRENT_LIST_DIR}RicWellLogsImportFileFeature.h ${CEE_CURRENT_LIST_DIR}RicTogglePerspectiveViewFeature.h -${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.h -${CEE_CURRENT_LIST_DIR}RicTilePlotWindowsFeature.h -${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.h -${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.h -${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.h ${CEE_CURRENT_LIST_DIR}RicExportToLasFileFeature.h ${CEE_CURRENT_LIST_DIR}RicExportToLasFileResampleUi.h ${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseOpmFeature.h @@ -102,11 +97,6 @@ ${CEE_CURRENT_LIST_DIR}RicNewStatisticsCaseFeature.cpp ${CEE_CURRENT_LIST_DIR}RicComputeStatisticsFeature.cpp ${CEE_CURRENT_LIST_DIR}RicTogglePerspectiveViewFeature.cpp -${CEE_CURRENT_LIST_DIR}RicTileWindowsFeature.cpp -${CEE_CURRENT_LIST_DIR}RicTilePlotWindowsFeature.cpp -${CEE_CURRENT_LIST_DIR}RicShowPlotWindowFeature.cpp -${CEE_CURRENT_LIST_DIR}RicShowMainWindowFeature.cpp -${CEE_CURRENT_LIST_DIR}RicLaunchUnitTestsFeature.cpp ${CEE_CURRENT_LIST_DIR}RicExportToLasFileFeature.cpp ${CEE_CURRENT_LIST_DIR}RicExportToLasFileResampleUi.cpp ${CEE_CURRENT_LIST_DIR}RicImportInputEclipseCaseOpmFeature.cpp diff --git a/ApplicationCode/ProjectDataModel/RimProject.cpp b/ApplicationCode/ProjectDataModel/RimProject.cpp index a24a52f84d..db4a184c19 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.cpp +++ b/ApplicationCode/ProjectDataModel/RimProject.cpp @@ -48,6 +48,7 @@ #include "RimWellPathImport.h" #include "RiuMainWindow.h" +#include "RiuMainPlotWindow.h" #include "OctaveScriptCommands/RicExecuteScriptForCasesFeature.h" @@ -102,6 +103,12 @@ RimProject::RimProject(void) CAF_PDM_InitFieldNoDefault(¤tModelIndexPath, "TreeViewCurrentModelIndexPath", "", "", "", ""); currentModelIndexPath.uiCapability()->setUiHidden(true); + CAF_PDM_InitField(&m_show3DWindow, "show3DWindow", true, "Show 3D Window", "", "", ""); + m_show3DWindow.uiCapability()->setUiHidden(true); + + CAF_PDM_InitField(&m_showPlotWindow, "showPlotWindow", false, "Show Plot Window", "", "", ""); + m_showPlotWindow.uiCapability()->setUiHidden(true); + // Obsolete fields. The content is moved to OilFields and friends CAF_PDM_InitFieldNoDefault(&casesObsolete, "Reservoirs", "", "", "", ""); casesObsolete.uiCapability()->setUiHidden(true); @@ -324,6 +331,18 @@ void RimProject::initAfterRead() //-------------------------------------------------------------------------------------------------- void RimProject::setupBeforeSave() { + m_show3DWindow = RiuMainWindow::instance()->isVisible(); + + if (RiaApplication::instance()->mainPlotWindow() && + RiaApplication::instance()->mainPlotWindow()->isVisible()) + { + m_showPlotWindow = true; + } + else + { + m_showPlotWindow = false; + } + m_projectFileVersionString = STRPRODUCTVER; } @@ -706,6 +725,22 @@ void RimProject::actionsBasedOnSelection(QMenu& contextMenu) } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimProject::show3DWindow() const +{ + return m_show3DWindow; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimProject::showPlotWindow() const +{ + return m_showPlotWindow; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/RimProject.h b/ApplicationCode/ProjectDataModel/RimProject.h index 3c020a9a21..9fcdc6d4a6 100644 --- a/ApplicationCode/ProjectDataModel/RimProject.h +++ b/ApplicationCode/ProjectDataModel/RimProject.h @@ -95,6 +95,9 @@ public: void actionsBasedOnSelection(QMenu& contextMenu); + bool show3DWindow() const; + bool showPlotWindow() const; + protected: // Overridden methods void initScriptDirectories(); @@ -107,11 +110,14 @@ private: void appendScriptItems(QMenu* menu, RimScriptCollection* scriptCollection); private: - caf::PdmField m_projectFileVersionString; + caf::PdmField m_projectFileVersionString; + + caf::PdmField m_show3DWindow; + caf::PdmField m_showPlotWindow; caf::PdmField nextValidCaseId; // Unique case ID within a project, used to identify a case from Octave scripts caf::PdmField nextValidCaseGroupId; // Unique case group ID within a project, used to identify a case group from Octave scripts - caf::PdmChildArrayField casesObsolete; // obsolete - caf::PdmChildArrayField caseGroupsObsolete; // obsolete + caf::PdmChildArrayField casesObsolete; // obsolete + caf::PdmChildArrayField caseGroupsObsolete; // obsolete };