///////////////////////////////////////////////////////////////////////////////// // // Copyright (C) 2015- Statoil ASA // Copyright (C) 2015- Ceetron Solutions AS // // ResInsight is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE. // // See the GNU General Public License at // for more details. // ///////////////////////////////////////////////////////////////////////////////// #include "RicSetMasterViewFeature.h" #include "RiaApplication.h" #include "RimProject.h" #include "RimView.h" #include "RimViewController.h" #include "RimViewLinker.h" #include "RimViewLinkerCollection.h" #include "RiuMainWindow.h" #include #include CAF_CMD_SOURCE_INIT(RicSetMasterViewFeature, "RicSetMasterViewFeature"); //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RicSetMasterViewFeature::isCommandEnabled() { RimView* activeView = RiaApplication::instance()->activeReservoirView(); if (!activeView) return false; RimProject* proj = RiaApplication::instance()->project(); RimViewLinker* viewLinker = activeView->assosiatedViewLinker(); if (viewLinker && viewLinker->masterView() == activeView) { return false; } if (!proj->viewLinkerCollection()->viewLinker()) { return false; } return true; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicSetMasterViewFeature::onActionTriggered(bool isChecked) { RimView* activeView = RiaApplication::instance()->activeReservoirView(); if (!activeView) return; RimProject* proj = RiaApplication::instance()->project(); RimViewLinker* viewLinker = proj->viewLinkerCollection()->viewLinker(); viewLinker->applyRangeFilterCollectionByUserChoice(); RimView* previousMasterView = viewLinker->masterView(); viewLinker->setMasterView(activeView); viewLinker->updateDependentViews(); viewLinker->addDependentView(previousMasterView); proj->viewLinkerCollection.uiCapability()->updateConnectedEditors(); proj->updateConnectedEditors(); // Set managed view collection to selected and expanded in project tree RiuMainWindow::instance()->selectAsCurrentItem(viewLinker); RiuMainWindow::instance()->setExpanded(viewLinker, true); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RicSetMasterViewFeature::setupActionLook(QAction* actionToSetup) { actionToSetup->setText("Set As Master View"); }