mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1323 "Switch plot Axis" supported for time history curves
This commit is contained in:
parent
bdf2ea4961
commit
7565b8a15d
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "RicSummaryCurveSwitchAxisFeature.h"
|
#include "RicSummaryCurveSwitchAxisFeature.h"
|
||||||
|
|
||||||
|
#include "RimGridTimeHistoryCurve.h"
|
||||||
#include "RimSummaryCurve.h"
|
#include "RimSummaryCurve.h"
|
||||||
#include "RimSummaryCurveFilter.h"
|
#include "RimSummaryCurveFilter.h"
|
||||||
#include "RimSummaryPlot.h"
|
#include "RimSummaryPlot.h"
|
||||||
@ -36,10 +37,14 @@ bool RicSummaryCurveSwitchAxisFeature::isCommandEnabled()
|
|||||||
{
|
{
|
||||||
std::set<RimSummaryCurveFilter*> selectedCurveFilters;
|
std::set<RimSummaryCurveFilter*> selectedCurveFilters;
|
||||||
std::set<RimSummaryCurve*> selectedSoloCurves;
|
std::set<RimSummaryCurve*> selectedSoloCurves;
|
||||||
|
std::vector<RimGridTimeHistoryCurve*> gridTimeHistoryCurves;
|
||||||
|
|
||||||
RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters,
|
RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters,
|
||||||
&selectedSoloCurves);
|
&selectedSoloCurves,
|
||||||
return (selectedCurveFilters.size() || selectedSoloCurves.size());
|
&gridTimeHistoryCurves);
|
||||||
|
return ( selectedCurveFilters.size()
|
||||||
|
|| selectedSoloCurves.size()
|
||||||
|
|| gridTimeHistoryCurves.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -49,9 +54,11 @@ void RicSummaryCurveSwitchAxisFeature::onActionTriggered(bool isChecked)
|
|||||||
{
|
{
|
||||||
std::set<RimSummaryCurveFilter*> selectedCurveFilters;
|
std::set<RimSummaryCurveFilter*> selectedCurveFilters;
|
||||||
std::set<RimSummaryCurve*> selectedSoloCurves;
|
std::set<RimSummaryCurve*> selectedSoloCurves;
|
||||||
|
std::vector<RimGridTimeHistoryCurve*> gridTimeHistoryCurves;
|
||||||
|
|
||||||
RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters,
|
RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(&selectedCurveFilters,
|
||||||
&selectedSoloCurves);
|
&selectedSoloCurves,
|
||||||
|
&gridTimeHistoryCurves);
|
||||||
|
|
||||||
for (RimSummaryCurveFilter* summaryCurveFilter: selectedCurveFilters)
|
for (RimSummaryCurveFilter* summaryCurveFilter: selectedCurveFilters)
|
||||||
{
|
{
|
||||||
@ -89,6 +96,26 @@ void RicSummaryCurveSwitchAxisFeature::onActionTriggered(bool isChecked)
|
|||||||
summaryCurve->firstAncestorOrThisOfType(plot);
|
summaryCurve->firstAncestorOrThisOfType(plot);
|
||||||
if ( plot ) plot->updateAxes();
|
if ( plot ) plot->updateAxes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (RimGridTimeHistoryCurve* timeHistoryCurve : gridTimeHistoryCurves)
|
||||||
|
{
|
||||||
|
RimDefines::PlotAxis plotAxis = timeHistoryCurve->yAxis();
|
||||||
|
|
||||||
|
if (plotAxis == RimDefines::PLOT_AXIS_LEFT)
|
||||||
|
{
|
||||||
|
timeHistoryCurve->setYAxis(RimDefines::PLOT_AXIS_RIGHT);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
timeHistoryCurve->setYAxis(RimDefines::PLOT_AXIS_LEFT);
|
||||||
|
}
|
||||||
|
|
||||||
|
timeHistoryCurve->updateConnectedEditors();
|
||||||
|
|
||||||
|
RimSummaryPlot* plot = nullptr;
|
||||||
|
timeHistoryCurve->firstAncestorOrThisOfType(plot);
|
||||||
|
if (plot) plot->updateAxes();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -100,19 +127,24 @@ void RicSummaryCurveSwitchAxisFeature::setupActionLook(QAction* actionToSetup)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// Solo curves means selected curves that does not have a selected curvefilter as parent
|
/// Solo curves means selected curves that does not have a selected curve filter as parent
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(std::set<RimSummaryCurveFilter*>* selectedCurveFilters,
|
void RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(std::set<RimSummaryCurveFilter*>* selectedCurveFilters,
|
||||||
std::set<RimSummaryCurve*>* selectedSoloCurves)
|
std::set<RimSummaryCurve*>* selectedSoloCurves,
|
||||||
|
std::vector<RimGridTimeHistoryCurve*>* gridTimeHistoryCurves)
|
||||||
{
|
{
|
||||||
|
|
||||||
selectedSoloCurves->clear();
|
selectedSoloCurves->clear();
|
||||||
{
|
{
|
||||||
std::vector<RimSummaryCurve*> selection;
|
std::vector<RimSummaryCurve*> selection;
|
||||||
caf::SelectionManager::instance()->objectsByType(&selection);
|
caf::SelectionManager::instance()->objectsByType(&selection);
|
||||||
for (RimSummaryCurve* curve: selection)
|
for (RimSummaryCurve* curve : selection)
|
||||||
{
|
{
|
||||||
selectedSoloCurves->insert(curve);
|
RimSummaryCurveFilter* parentCurveFilter = nullptr;
|
||||||
|
curve->firstAncestorOrThisOfType(parentCurveFilter);
|
||||||
|
if (!parentCurveFilter)
|
||||||
|
{
|
||||||
|
selectedSoloCurves->insert(curve);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,30 +152,12 @@ void RicSummaryCurveSwitchAxisFeature::extractSelectedCurveFiltersAndSoloCurves(
|
|||||||
{
|
{
|
||||||
std::vector<RimSummaryCurveFilter*> selection;
|
std::vector<RimSummaryCurveFilter*> selection;
|
||||||
caf::SelectionManager::instance()->objectsByType(&selection);
|
caf::SelectionManager::instance()->objectsByType(&selection);
|
||||||
for ( RimSummaryCurveFilter* curveFilter: selection )
|
for (RimSummaryCurveFilter* curveFilter : selection)
|
||||||
{
|
{
|
||||||
selectedCurveFilters->insert(curveFilter);
|
selectedCurveFilters->insert(curveFilter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<RimSummaryCurve*> curvesToRemove;
|
// Read out all time history curves directly from selection manager
|
||||||
|
caf::SelectionManager::instance()->objectsByType(gridTimeHistoryCurves);
|
||||||
for (RimSummaryCurve* curve: (*selectedSoloCurves))
|
|
||||||
{
|
|
||||||
RimSummaryCurveFilter* parentCurveFilter;
|
|
||||||
curve->firstAncestorOrThisOfType(parentCurveFilter);
|
|
||||||
if (parentCurveFilter)
|
|
||||||
{
|
|
||||||
if (selectedCurveFilters->count(parentCurveFilter) > 0 )
|
|
||||||
{
|
|
||||||
curvesToRemove.push_back(curve);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (RimSummaryCurve* curve: curvesToRemove)
|
|
||||||
{
|
|
||||||
selectedSoloCurves->erase(curve);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
class RimSummaryCurve;
|
class RimSummaryCurve;
|
||||||
class RimSummaryCurveFilter;
|
class RimSummaryCurveFilter;
|
||||||
|
class RimGridTimeHistoryCurve;
|
||||||
|
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -41,5 +41,6 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
static void extractSelectedCurveFiltersAndSoloCurves(std::set<RimSummaryCurveFilter*>* selectedCurveFilters,
|
static void extractSelectedCurveFiltersAndSoloCurves(std::set<RimSummaryCurveFilter*>* selectedCurveFilters,
|
||||||
std::set<RimSummaryCurve*>* selectedSoloCurves);
|
std::set<RimSummaryCurve*>* selectedSoloCurves,
|
||||||
|
std::vector<RimGridTimeHistoryCurve*>* gridTimeHistoryCurves);
|
||||||
};
|
};
|
||||||
|
@ -296,8 +296,6 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
|||||||
commandIds << "RicNewSummaryCurveFeature";
|
commandIds << "RicNewSummaryCurveFeature";
|
||||||
commandIds << "Separator";
|
commandIds << "Separator";
|
||||||
commandIds << "RicCopyReferencesToClipboardFeature";
|
commandIds << "RicCopyReferencesToClipboardFeature";
|
||||||
commandIds << "Separator";
|
|
||||||
commandIds << "RicSummaryCurveSwitchAxisFeature";
|
|
||||||
}
|
}
|
||||||
else if(dynamic_cast<RimSummaryCurveFilter*>(uiItem))
|
else if(dynamic_cast<RimSummaryCurveFilter*>(uiItem))
|
||||||
{
|
{
|
||||||
@ -307,8 +305,6 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
|||||||
commandIds << "RicNewSummaryCurveFeature";
|
commandIds << "RicNewSummaryCurveFeature";
|
||||||
commandIds << "Separator";
|
commandIds << "Separator";
|
||||||
commandIds << "RicCopyReferencesToClipboardFeature";
|
commandIds << "RicCopyReferencesToClipboardFeature";
|
||||||
commandIds << "Separator";
|
|
||||||
commandIds << "RicSummaryCurveSwitchAxisFeature";
|
|
||||||
}
|
}
|
||||||
else if (dynamic_cast<RimSummaryCase*>(uiItem))
|
else if (dynamic_cast<RimSummaryCase*>(uiItem))
|
||||||
{
|
{
|
||||||
@ -382,6 +378,7 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
|||||||
|
|
||||||
commandIds << "RicCopyReferencesToClipboardFeature";
|
commandIds << "RicCopyReferencesToClipboardFeature";
|
||||||
commandIds << "RicShowPlotDataFeature";
|
commandIds << "RicShowPlotDataFeature";
|
||||||
|
commandIds << "RicSummaryCurveSwitchAxisFeature";
|
||||||
|
|
||||||
// Work in progress -- End
|
// Work in progress -- End
|
||||||
|
|
||||||
@ -398,11 +395,6 @@ QStringList RimContextCommandBuilder::commandsFromSelection()
|
|||||||
{
|
{
|
||||||
commandIds << "RicExecuteScriptForCasesFeature";
|
commandIds << "RicExecuteScriptForCasesFeature";
|
||||||
}
|
}
|
||||||
else if (dynamic_cast<RimSummaryCurve*>(uiItem) ||
|
|
||||||
dynamic_cast<RimSummaryCurveFilter*>(uiItem) )
|
|
||||||
{
|
|
||||||
commandIds << "RicSummaryCurveSwitchAxisFeature";
|
|
||||||
}
|
|
||||||
else if (dynamic_cast<RimSummaryPlot*>(uiItem))
|
else if (dynamic_cast<RimSummaryPlot*>(uiItem))
|
||||||
{
|
{
|
||||||
commandIds << "RicAsciiExportSummaryPlotFeature";
|
commandIds << "RicAsciiExportSummaryPlotFeature";
|
||||||
|
@ -17,10 +17,11 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
class RimSummaryCurve;
|
class RimSummaryCurve;
|
||||||
class RimSummaryCurveFilter;
|
class RimSummaryCurveFilter;
|
||||||
class RimSummaryYAxisProperties;
|
class RimSummaryYAxisProperties;
|
||||||
|
Loading…
Reference in New Issue
Block a user