//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicWellPathImportCompletionsFileFeature::onActionTriggered(bool isChecked) { RimFishboneWellPathCollection* fishbonesWellPathCollection = RicWellPathImportCompletionsFileFeature::selectedWellPathCollection(); CVF_ASSERT(fishbonesWellPathCollection); // Open dialog box to select well path files RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("WELLPATH_DIR"); QStringList wellPathFilePaths = QFileDialog::getOpenFileNames(Riu3DMainWindowTools::mainWindowWidget(), "Import Fishbone Laterals", defaultDir, "Well Path Laterals (*.json *.asc *.asci *.ascii *.dev);;All Files (*.*)"); if (wellPathFilePaths.size() < 1) return; // Remember the path to next time app->setLastUsedDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath()); fishbonesWellPathCollection->importCompletionsFromFile(wellPathFilePaths); RimWellPathCollection* wellPathCollection; fishbonesWellPathCollection->firstAncestorOrThisOfType(wellPathCollection); if (wellPathCollection) { wellPathCollection->updateConnectedEditors(); } if (app->project()) { app->project()->scheduleCreateDisplayModelAndRedrawAllViews(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicSnapshotViewToFileFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); RimProject* proj = app->project(); QString startPath; if (!proj->fileName().isEmpty()) { QFileInfo fi(proj->fileName()); startPath = fi.absolutePath(); } else { startPath = app->lastUsedDialogDirectory("IMAGE_SNAPSHOT"); } startPath += "/image.png"; QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save File"), startPath, tr("Image files (*.bmp *.png * *.jpg)")); if (fileName.isEmpty()) { return; } // Remember the directory to next time app->setLastUsedDialogDirectory("IMAGE_SNAPSHOT", QFileInfo(fileName).absolutePath()); RimViewWindow* viewWindow = app->activeViewWindow(); RicSnapshotViewToFileFeature::saveSnapshotAs(fileName, viewWindow); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicImportInputEclipseCaseFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); QStringList fileNames = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Eclipse Input Files", defaultDir, "Eclipse Input Files and Input Properties Eclipse Input Files (*.GRDECL);;All Files (*.*)"); if (fileNames.isEmpty()) return; // Remember the path to next time app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath()); app->openInputEclipseCaseFromFileNames(fileNames); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicImportEclipseCaseFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); QStringList fileNames = QFileDialog::getOpenFileNames(Riu3DMainWindowTools::mainWindowWidget(), "Import Eclipse File", defaultDir, "Eclipse Grid Files (*.GRID *.EGRID)"); if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath(); app->setLastUsedDialogDirectory("BINARY_GRID", defaultDir); QStringList newCaseFiles; RiaImportEclipseCaseTools::openEclipseCasesFromFile(fileNames, &newCaseFiles); for (const auto newCaseFile : newCaseFiles) { RiaApplication::instance()->addToRecentFiles(newCaseFile); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicImportEclipseCaseTimeStepFilterFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); QString fileName = QFileDialog::getOpenFileName(Riu3DMainWindowTools::mainWindowWidget(), "Import Eclipse File", defaultDir, "Eclipse Grid Files (*.GRID *.EGRID)"); if (!fileName.isEmpty()) { defaultDir = QFileInfo(fileName).absolutePath(); app->setLastUsedDialogDirectory("BINARY_GRID", defaultDir); if (RiaImportEclipseCaseTools::openEclipseCaseShowTimeStepFilter(fileName)) { app->addToRecentFiles(fileName); } } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicWellPathsImportFileFeature::onActionTriggered(bool isChecked) { // Open dialog box to select well path files RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("WELLPATH_DIR"); QStringList wellPathFilePaths = QFileDialog::getOpenFileNames(RiuMainWindow::instance(), "Import Well Paths", defaultDir, "Well Paths (*.json *.asc *.asci *.ascii *.dev);;All Files (*.*)"); if (wellPathFilePaths.size() < 1) return; // Remember the path to next time app->setLastUsedDialogDirectory("WELLPATH_DIR", QFileInfo(wellPathFilePaths.last()).absolutePath()); app->addWellPathsToModel(wellPathFilePaths); if (app->project()) { app->project()->createDisplayModelAndRedrawAllViews(); } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- QStringList RicImportSummaryCasesFeature::runRecursiveSummaryCaseFileSearchDialog(const QString& dialogTitle, const QString& pathCacheName) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory(pathCacheName); RicFileHierarchyDialogResult result = RicFileHierarchyDialog::runRecursiveSearchDialog( nullptr, dialogTitle, defaultDir, m_pathFilter, m_fileNameFilter, QStringList(".SMSPEC")); // Remember filters m_pathFilter = result.pathFilter; m_fileNameFilter = result.fileNameFilter; if (!result.ok) return QStringList(); // Remember the path to next time app->setLastUsedDialogDirectory(pathCacheName, QFileInfo(result.rootDir).absoluteFilePath()); return result.files; }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicImportGeoMechCaseTimeStepFilterFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("GEOMECH_MODEL"); QStringList fileNames = QFileDialog::getOpenFileNames(nullptr, "Import Geo-Mechanical Model", defaultDir, "Abaqus results (*.odb)"); if (fileNames.size()) defaultDir = QFileInfo(fileNames.last()).absolutePath(); for (QString fileName : fileNames) { if (!fileName.isEmpty()) { defaultDir = QFileInfo(fileName).absolutePath(); app->setLastUsedDialogDirectory("GEOMECH_MODEL", defaultDir); if (app->openOdbCaseFromFile(fileName, true)) { app->addToRecentFiles(fileName); } } } }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicImportInputEclipseCaseOpmFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("INPUT_FILES"); QString fileName = QFileDialog::getOpenFileName(RiuMainWindow::instance(), "Import Eclipse Input file", defaultDir, "Eclipse Input Files (*.GRDECL);;All Files (*.*)"); if (fileName.isEmpty()) return; // Remember the path to next time app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileName).absolutePath()); RimProject* proj = app->project(); RimEclipseCaseCollection* analysisModels = proj->activeOilField() ? proj->activeOilField()->analysisModels() : NULL; if (analysisModels) { // This code originates from RiaApplication::openInputEclipseCaseFromFileNames RimEclipseInputCaseOpm* rimInputReservoir = new RimEclipseInputCaseOpm(); proj->assignCaseIdToCase(rimInputReservoir); rimInputReservoir->importNewEclipseGridAndProperties(fileName); analysisModels->cases.push_back(rimInputReservoir); RimEclipseView* riv = rimInputReservoir->createAndAddReservoirView(); riv->cellResult()->setResultType(RimDefines::INPUT_PROPERTY); riv->hasUserRequestedAnimation = true; riv->loadDataAndUpdate(); if (!riv->cellResult()->hasResult()) { riv->cellResult()->setResultVariable(RimDefines::undefinedResultName()); } analysisModels->updateConnectedEditors(); RiuMainWindow::instance()->selectAsCurrentItem(riv->cellResult()); } }