Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions ApplicationLibCode/Application/Tools/Summary/RiaSummaryTools.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,47 @@ std::vector<RimSummaryCase*> RiaSummaryTools::singleTopLevelSummaryCases()
return {};
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::set<std::string> RiaSummaryTools::allSummaryCaseNames()
{
std::set<std::string> summaryCaseFilenames;

for ( RimSummaryCase* rimCase : RimProject::current()->allSummaryCases() )
{
summaryCaseFilenames.insert( rimCase->summaryHeaderFilename().toUtf8().constData() );
}

return summaryCaseFilenames;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::set<std::string> RiaSummaryTools::allSummaryWellNames()
{
std::set<std::string> summaryWellNames;

for ( RimSummaryCase* rimCase : RimProject::current()->allSummaryCases() )
{
if ( !rimCase ) continue;

RifSummaryReaderInterface* reader = rimCase->summaryReader();
if ( !reader ) continue;

for ( const auto& address : reader->allResultAddresses() )
{
if ( address.category() == RifEclipseSummaryAddressDefines::SummaryCategory::SUMMARY_WELL )
{
summaryWellNames.insert( address.wellName() );
}
}
}

return summaryWellNames;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
#include <QString>
#include <QStringList>

#include <set>
#include <string>
#include <vector>

class RifEclipseSummaryAddress;
Expand Down Expand Up @@ -60,7 +62,9 @@ class RiaSummaryTools

static std::vector<RimSummaryCase*> singleTopLevelSummaryCases();

static void notifyCalculatedCurveNameHasChanged( int calculationId, const QString& currentCurveName );
static std::set<std::string> allSummaryCaseNames();
static std::set<std::string> allSummaryWellNames();
static void notifyCalculatedCurveNameHasChanged( int calculationId, const QString& currentCurveName );

static RimSummaryPlot* parentSummaryPlot( caf::PdmObject* object );
static RimSummaryMultiPlot* parentSummaryMultiPlot( caf::PdmObject* object );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ RimEnsembleCurveSet* RicNewSummaryEnsembleCurveSetFeature::addCurveSet( RimSumma
filter->setActive( false );

plot->ensembleCurveSetCollection()->addCurveSet( curveSet );

if ( plot->useGlobalCurveAppearance() ) plot->applyDefaultCurveAppearances( { curveSet } );

return curveSet;
}

Expand Down
12 changes: 7 additions & 5 deletions ApplicationLibCode/ProjectDataModel/RimPlotCurve.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,13 @@ class RimPlotCurve : public caf::PdmObject
void setSymbolSize( int sizeInPixels );
void setLineThickness( int thickness );
void resetAppearance();
virtual Qt::BrushStyle fillStyle() const;
void setFillStyle( Qt::BrushStyle brushStyle );
void setFillColor( const cvf::Color3f& fillColor );
void setFillColorOpacity( float opacity );
void setCurveColorOpacity( float opacity );

RimPlotCurveAppearance* curveAppearance() const { return m_curveAppearance(); }
virtual Qt::BrushStyle fillStyle() const;
void setFillStyle( Qt::BrushStyle brushStyle );
void setFillColor( const cvf::Color3f& fillColor );
void setFillColorOpacity( float opacity );
void setCurveColorOpacity( float opacity );

bool isChecked() const;
void setCheckState( bool isChecked );
Expand Down
60 changes: 59 additions & 1 deletion ApplicationLibCode/ProjectDataModel/RimPlotCurveAppearance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include "cafPdmUiCommandSystemProxy.h"
#include "cafPdmUiDoubleSliderEditor.h"

CAF_PDM_XML_ABSTRACT_SOURCE_INIT( RimPlotCurveAppearance, "PlotCurveAppearance" );
CAF_PDM_XML_SOURCE_INIT( RimPlotCurveAppearance, "PlotCurveAppearance" );

namespace caf
{
Expand Down Expand Up @@ -236,9 +236,43 @@ void RimPlotCurveAppearance::defineUiOrdering( QString uiConfigName, caf::PdmUiO
uiOrdering.add( &m_curveInterpolation );
m_curveInterpolation.uiCapability()->setUiHidden( !m_interpolationVisible );

for ( auto field : std::vector<caf::PdmFieldHandle*>{ &m_curveColor,
&m_curveColorOpacity,
&m_pointSymbol,
&m_symbolEdgeColor,
&m_symbolSize,
&m_symbolSkipPixelDistance,
&m_lineStyle,
&m_curveThickness,
&m_fillStyle,
&m_fillColor,
&m_fillColorOpacity,
&m_curveInterpolation } )
{
field->uiCapability()->setUiReadOnly( m_uiLocked );
}

// Keep the fields that are irrelevant for the current symbol and line style read-only
const bool noSymbol = m_pointSymbol() == RiuPlotCurveSymbol::SYMBOL_NONE;
const bool noLine = m_lineStyle() == RiuQwtPlotCurveDefines::LineStyleEnum::STYLE_NONE;
m_symbolSize.uiCapability()->setUiReadOnly( m_uiLocked || noSymbol );
m_symbolSkipPixelDistance.uiCapability()->setUiReadOnly( m_uiLocked || noSymbol );
m_curveThickness.uiCapability()->setUiReadOnly( m_uiLocked || noLine );
m_curveInterpolation.uiCapability()->setUiReadOnly( m_uiLocked || noLine );

if ( m_curveFittingToleranceVisible && m_uiLocked ) m_curveFittingTolerance.uiCapability()->setUiReadOnly( true );

uiOrdering.skipRemainingFields();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPlotCurveAppearance::setUiLocked( bool isLocked )
{
m_uiLocked = isLocked;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -401,6 +435,30 @@ int RimPlotCurveAppearance::lineThickness() const
return m_curveThickness;
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPlotCurveAppearance::copyFrom( const RimPlotCurveAppearance& other )
{
// Fields are assigned directly, as this runs per curve on every restyle. XML based copies like copyObject() or
// readObjectFromXmlString( other.writeObjectToXmlString() ) are too slow for many curves. New fields must be added here.
m_symbolLabel = other.m_symbolLabel();
m_symbolSize = other.m_symbolSize();
m_curveColor = other.m_curveColor();
m_curveColorOpacity = other.m_curveColorOpacity();
m_curveThickness = other.m_curveThickness();
m_symbolSkipPixelDistance = other.m_symbolSkipPixelDistance();
m_curveFittingTolerance = other.m_curveFittingTolerance();
m_pointSymbol = other.m_pointSymbol();
m_lineStyle = other.m_lineStyle();
m_fillStyle = other.m_fillStyle();
m_fillColor = other.m_fillColor();
m_fillColorOpacity = other.m_fillColorOpacity();
m_curveInterpolation = other.m_curveInterpolation();
m_symbolLabelPosition = other.m_symbolLabelPosition();
m_symbolEdgeColor = other.m_symbolEdgeColor();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
9 changes: 8 additions & 1 deletion ApplicationLibCode/ProjectDataModel/RimPlotCurveAppearance.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,10 @@ class RimPlotCurveAppearance : public caf::PdmObject
void setSymbolLabelPosition( RiuPlotCurveSymbol::LabelPosition labelPosition );
RiuPlotCurveSymbol::LabelPosition symbolLabelPosition() const;

void resetAppearance();
void resetAppearance();

// Copies the visual settings from another appearance without emitting signals
void copyFrom( const RimPlotCurveAppearance& other );
Qt::BrushStyle fillStyle() const;
void setFillStyle( Qt::BrushStyle brushStyle );

Expand All @@ -102,6 +105,9 @@ class RimPlotCurveAppearance : public caf::PdmObject
void setFillOptionsVisible( bool isVisible );
void setCurveFittingToleranceVisible( bool isVisible );

// Shows all fields as read-only, used when the appearance is controlled elsewhere
void setUiLocked( bool isLocked );

void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;

protected:
Expand Down Expand Up @@ -135,4 +141,5 @@ class RimPlotCurveAppearance : public caf::PdmObject
bool m_interpolationVisible;
bool m_fillOptionsVisible;
bool m_curveFittingToleranceVisible;
bool m_uiLocked = false;
};
12 changes: 12 additions & 0 deletions ApplicationLibCode/ProjectDataModel/RimProject.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@
#include "RimWellPath.h"
#include "RimWellPathCollection.h"
#include "RimWellTargetMapping.h"
#include "Summary/RimCurveStyleRules.h"
#include "Tools/RimAutomationSettings.h"
#include "VerticalFlowPerformance/RimVfpDataCollection.h"
#include "VerticalFlowPerformance/RimVfpPlotCollection.h"
Expand Down Expand Up @@ -148,6 +149,9 @@ RimProject::RimProject()
CAF_PDM_InitFieldNoDefault( &m_mainPlotCollection, "MainPlotCollection", "Plots" );
CAF_PDM_InitFieldNoDefault( &m_pinnedFieldCollection, "PinnedFieldCollection", "PinnedFieldCollection" );

CAF_PDM_InitFieldNoDefault( &m_curveStyleRules, "CurveStyleRules", "Curve Style Rules" );
m_curveStyleRules = new RimCurveStyleRules;

CAF_PDM_InitFieldNoDefault( &viewLinkerCollection, "LinkedViews", "Linked Views", ":/LinkView.svg" );
viewLinkerCollection = new RimViewLinkerCollection;

Expand Down Expand Up @@ -346,6 +350,14 @@ RimQuickAccessCollection* RimProject::pinnedFieldCollection() const
return m_pinnedFieldCollection();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimCurveStyleRules* RimProject::curveStyleRules() const
{
return m_curveStyleRules();
}

//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
Expand Down
3 changes: 3 additions & 0 deletions ApplicationLibCode/ProjectDataModel/RimProject.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ class RimCompletionTemplateCollection;
class RimPlotTemplateFolderItem;
class RimGridCalculationCollection;
class RimQuickAccessCollection;
class RimCurveStyleRules;
class RimAutomationSettings;
class RimJobCollection;
class RimEnsembleFileSetCollection;
Expand Down Expand Up @@ -194,6 +195,7 @@ class RimProject : public caf::PdmDocument
void updatesAfterProjectFileIsRead();

RimQuickAccessCollection* pinnedFieldCollection() const;
RimCurveStyleRules* curveStyleRules() const;
RimAutomationSettings* automationSettings() const;
RimEnsembleFileSetCollection* ensembleFileSetCollection() const;
RimJobCollection* jobCollection() const;
Expand All @@ -208,6 +210,7 @@ class RimProject : public caf::PdmDocument
private:
caf::PdmChildField<RimMainPlotCollection*> m_mainPlotCollection;
caf::PdmChildField<RimQuickAccessCollection*> m_pinnedFieldCollection;
caf::PdmChildField<RimCurveStyleRules*> m_curveStyleRules;
caf::PdmChildField<RimAutomationSettings*> m_automationSettings;
caf::PdmChildField<RimEnsembleFileSetCollection*> m_ensembleFileSetCollection;
caf::PdmChildField<RimJobCollection*> m_jobCollection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurve.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurvesData.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveAppearanceCalculator.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCurveStyleSettings.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCurveStyleRule.cpp
${CMAKE_CURRENT_LIST_DIR}/RimCurveStyleRules.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSavedCurveAppearance.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveAutoName.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryPlotAxisFormatter.cpp
${CMAKE_CURRENT_LIST_DIR}/RimSummaryCurveCollection.cpp
Expand Down
Loading