Major modularization adjustments

Use uiField() when issuing setUi....() commands
Use PdmChildArrayField instead of PdmPointersFielc
Use PdmChildField instead of PdmField to pdm pointer objects
Use PdmChildArrayField instead of PdmField< std::list< caf::PdmPointer<
type > > >
Use PdmObjectHandle instead of PdmObject
Replaced parentFields(std::vector)  with parentField()
Use PdmUiPropertyViewDialog instead of PdmUiPropertyDialog
This commit is contained in:
Magne Sjaastad 2015-07-31 18:58:23 +02:00
parent d56cde087f
commit 737936d846
85 changed files with 710 additions and 543 deletions

View File

@ -1293,6 +1293,11 @@ bool RiaApplication::launchProcessForMultipleCases(const QString& program, const
//--------------------------------------------------------------------------------------------------
void RiaApplication::readFieldsFromApplicationStore(caf::PdmObject* object, const QString context)
{
// MODTODO
// Replace with existing caf functionality
/*
QSettings settings;
std::vector<caf::PdmFieldHandle*> fields;
@ -1302,11 +1307,11 @@ void RiaApplication::readFieldsFromApplicationStore(caf::PdmObject* object, cons
{
caf::PdmFieldHandle* fieldHandle = fields[i];
std::vector<caf::PdmObject*> children;
std::vector<caf::PdmObjectHandle*> children;
fieldHandle->childObjects(&children);
for (size_t childIdx = 0; childIdx < children.size(); childIdx++)
{
caf::PdmObject* child = children[childIdx];
caf::PdmObjectHandle* child = children[childIdx];
QString subContext = context + child->classKeyword() + "/";
readFieldsFromApplicationStore(child, subContext);
}
@ -1322,6 +1327,7 @@ void RiaApplication::readFieldsFromApplicationStore(caf::PdmObject* object, cons
}
}
}
*/
}
//--------------------------------------------------------------------------------------------------
@ -1329,6 +1335,12 @@ void RiaApplication::readFieldsFromApplicationStore(caf::PdmObject* object, cons
//--------------------------------------------------------------------------------------------------
void RiaApplication::writeFieldsToApplicationStore(const caf::PdmObject* object, const QString context)
{
// MODTODO
// Replace with existing caf functionality
/*
CVF_ASSERT(object);
QSettings settings;
@ -1360,6 +1372,7 @@ void RiaApplication::writeFieldsToApplicationStore(const caf::PdmObject* object,
settings.setValue(context + fieldHandle->keyword(), fieldHandle->uiValue());
}
}
*/
}
//--------------------------------------------------------------------------------------------------
@ -1665,7 +1678,7 @@ void RiaApplication::runRegressionTest(const QString& testRootPath)
this->preferences()->fields(fields);
for (size_t i = 0; i < fields.size(); i++)
{
QVariant v = fields[i]->uiValue();
QVariant v = fields[i]->capability<caf::PdmUiFieldHandle>()->uiValue();
preferencesValues.push_back(v);
}
}
@ -1721,7 +1734,7 @@ void RiaApplication::runRegressionTest(const QString& testRootPath)
for (size_t i = 0; i < preferencesValues.size(); i++)
{
fields[i]->setValueFromUi(preferencesValues[i]);
fields[i]->capability<caf::PdmUiFieldHandle>()->setValueFromUi(preferencesValues[i]);
}
}
}
@ -2140,7 +2153,12 @@ void RiaApplication::regressionTestConfigureProject()
if (resvView)
{
resvView->faultCollection->setShowFaultsOutsideFilters(false);
resvView->faultResultSettings->showCustomFaultResult.setValueFromUi(false);
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&resvView->faultResultSettings->showCustomFaultResult);
if (uiFieldHandle)
{
uiFieldHandle->setValueFromUi(false);
}
}
}
}

View File

@ -21,10 +21,12 @@
#include "RiaStdInclude.h"
#include "RiaPreferences.h"
#include "cafPdmUiFilePathEditor.h"
#include "RifReaderSettings.h"
#include "cafPdmFieldCvfColor.h"
#include "cafPdmUiCheckBoxEditor.h"
#include "RifReaderSettings.h"
#include "cafPdmUiFieldHandle.h"
#include "cafPdmUiFilePathEditor.h"
CAF_PDM_SOURCE_INIT(RiaPreferences, "RiaPreferences");
//--------------------------------------------------------------------------------------------------
@ -35,17 +37,17 @@ RiaPreferences::RiaPreferences(void)
CAF_PDM_InitField(&navigationPolicy, "navigationPolicy", caf::AppEnum<RiaApplication::RINavigationPolicy>(RiaApplication::NAVIGATION_POLICY_CEETRON), "Navigation mode", "", "", "");
CAF_PDM_InitFieldNoDefault(&scriptDirectories, "scriptDirectory", "Shared Script Folder(s)", "", "", "");
scriptDirectories.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
scriptDirectories.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
CAF_PDM_InitField(&scriptEditorExecutable, "scriptEditorExecutable", QString("kate"), "Script Editor", "", "", "");
scriptEditorExecutable.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
scriptEditorExecutable.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
CAF_PDM_InitField(&octaveExecutable, "octaveExecutable", QString("octave"), "Octave executable location", "", "", "");
octaveExecutable.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
octaveExecutable.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
octaveExecutable.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
octaveExecutable.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
CAF_PDM_InitField(&octaveShowHeaderInfoWhenExecutingScripts, "octaveShowHeaderInfoWhenExecutingScripts", false, "Show text header when executing scripts", "", "", "");
octaveShowHeaderInfoWhenExecutingScripts.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
octaveShowHeaderInfoWhenExecutingScripts.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
CAF_PDM_InitField(&ssihubAddress, "ssihubAddress", QString("http://"), "ssihub Address", "", "", "");
@ -62,13 +64,13 @@ RiaPreferences::RiaPreferences(void)
CAF_PDM_InitField(&showHud, "showHud", false, "Show 3D Information", "", "", "");
CAF_PDM_InitFieldNoDefault(&lastUsedProjectFileName,"lastUsedProjectFileName", "Last Used Project File", "", "", "");
lastUsedProjectFileName.setUiHidden(true);
lastUsedProjectFileName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&autocomputeDepthRelatedProperties, "autocomputeDepth", true, "Compute DEPTH related properties", "", "DEPTH, DX, DY, DZ, TOP, BOTTOM", "");
autocomputeDepthRelatedProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
autocomputeDepthRelatedProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
CAF_PDM_InitField(&loadAndShowSoil, "loadAndShowSoil", true, "Load and show SOIL", "", "", "");
loadAndShowSoil.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
loadAndShowSoil.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
readerSettings = new RifReaderSettings;
CAF_PDM_InitFieldNoDefault(&readerSettings, "readerSettings", "Reader settings", "", "", "");

View File

@ -22,9 +22,10 @@
#include "RiaApplication.h"
#include "cafPdmObject.h"
#include "cafPdmField.h"
#include "cafAppEnum.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
// Include to make Pdm work for cvf::Color
#include "cafPdmFieldCvfColor.h"
@ -67,7 +68,7 @@ public: // Pdm Fields
caf::PdmField<bool> autocomputeDepthRelatedProperties;
caf::PdmField<bool> loadAndShowSoil;
caf::PdmField<RifReaderSettings*> readerSettings;
caf::PdmChildField<RifReaderSettings*> readerSettings;
protected:
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);

View File

@ -28,10 +28,10 @@ CAF_PDM_SOURCE_INIT(RiaRegressionTest, "RiaRegressionTest");
RiaRegressionTest::RiaRegressionTest(void)
{
CAF_PDM_InitFieldNoDefault(&applicationWorkingFolder, "workingFolder", "Folder containing <b>compare</b>", "", "Location of compare tool from Image Magic suite", "");
applicationWorkingFolder.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
applicationWorkingFolder.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
CAF_PDM_InitFieldNoDefault(&regressionTestFolder, "regressionTestFolder", "Regression Test Folder", "", "", "");
regressionTestFolder.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
regressionTestFolder.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
}
//--------------------------------------------------------------------------------------------------

View File

@ -32,13 +32,13 @@ RifReaderSettings::RifReaderSettings()
CAF_PDM_InitObject("RifReaderSettings", "", "", "");
CAF_PDM_InitField(&importFaults, "importFaults", true, "Import faults", "", "", "");
importFaults.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
importFaults.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
CAF_PDM_InitField(&importNNCs, "importSimulationNNCs", true, "Import NNCs", "", "", "");
importNNCs.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
importNNCs.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
CAF_PDM_InitField(&importAdvancedMswData, "importAdvancedMswData", false, "Import advanced MSW data", "", "", "");
importAdvancedMswData.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
importAdvancedMswData.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
}
//--------------------------------------------------------------------------------------------------

View File

@ -457,12 +457,14 @@ void RivFaultPartMgr::createLabelWithAnchorLine(const cvf::Part* part)
cvf::Color3f defWellLabelColor = RiaApplication::instance()->preferences()->defaultWellLabelColor();
{
std::vector<RimFaultCollection*> parentObjects;
m_rimFault->parentObjectsOfType(parentObjects);
if (parentObjects.size() > 0)
RimFault* noConstRimFault = const_cast<RimFault*>(m_rimFault);
if (noConstRimFault)
{
defWellLabelColor = parentObjects[0]->faultLabelColor();;
RimFaultCollection* parentObject = dynamic_cast<RimFaultCollection*>(noConstRimFault->owner());
if (parentObject)
{
defWellLabelColor = parentObject->faultLabelColor();;
}
}
}

View File

@ -51,7 +51,7 @@ Rim3dOverlayInfoConfig::Rim3dOverlayInfoConfig()
CAF_PDM_InitObject("Overlay 3D info", ":/InfoBox16x16.png", "", "");
CAF_PDM_InitField(&active, "Active", true, "Active", "", "", "");
active.setUiHidden(true);
active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&showInfoText, "ShowInfoText", true, "Info Text", "", "", "");
CAF_PDM_InitField(&showAnimProgress, "ShowAnimProgress", true, "Animation progress", "", "", "");

View File

@ -32,7 +32,7 @@ RimBinaryExportSettings::RimBinaryExportSettings()
CAF_PDM_InitObject("RimBinaryExportSettings", "", "", "");
CAF_PDM_InitFieldNoDefault(&fileName, "Filename", "Export filename", "", "", "");
fileName.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
fileName.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
CAF_PDM_InitFieldNoDefault(&eclipseKeyword, "EclipseKeyword", "Eclipse Keyword", "", "", "");
CAF_PDM_InitField(&undefinedValue, "UndefinedValue", 0.0, "Undefined value", "", "", "");

View File

@ -34,10 +34,10 @@ RimCalcScript::RimCalcScript()
CAF_PDM_InitField(&absolutePath, "AbsolutePath", QString(), "Location", "", "" ,"");
CAF_PDM_InitField(&content, "Content", QString(), "Directory", "", "" ,"");
content.setUiHidden(true);
content.setIOWritable(false);
content.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
content.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
absolutePath.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
absolutePath.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
}
//--------------------------------------------------------------------------------------------------

View File

@ -38,7 +38,7 @@ RimCase::RimCase()
CAF_PDM_InitField(&caseUserDescription, "CaseUserDescription", QString(), "Case name", "", "" ,"");
CAF_PDM_InitField(&caseId, "CaseId", -1, "Case ID", "", "" ,"");
caseId.setUiReadOnly(true);
caseId.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
}

View File

@ -49,6 +49,8 @@ RimCaseCollection::~RimCaseCollection()
//--------------------------------------------------------------------------------------------------
RimIdenticalGridCaseGroup* RimCaseCollection::parentCaseGroup()
{
// MODTODO Remove
/*
std::vector<RimIdenticalGridCaseGroup*> parentObjects;
this->parentObjectsOfType(parentObjects);
@ -56,8 +58,10 @@ RimIdenticalGridCaseGroup* RimCaseCollection::parentCaseGroup()
{
return parentObjects[0];
}
*/
RimIdenticalGridCaseGroup* parentObject = dynamic_cast<RimIdenticalGridCaseGroup*>(this->owner());
return NULL;
return parentObject;
}
//--------------------------------------------------------------------------------------------------

View File

@ -20,6 +20,7 @@
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmChildArrayField.h"
class RimEclipseCase;
class RimIdenticalGridCaseGroup;
@ -36,7 +37,7 @@ class RimCaseCollection : public caf::PdmObject
public:
RimCaseCollection();
virtual ~RimCaseCollection();
caf::PdmPointersField<RimEclipseCase*> reservoirs;
caf::PdmChildArrayField<RimEclipseCase*> reservoirs;
RimIdenticalGridCaseGroup* parentCaseGroup();
RimEclipseCase* findByDescription(const QString& caseDescription) const;

View File

@ -39,7 +39,7 @@ RimCellEdgeColors::RimCellEdgeColors()
CAF_PDM_InitObject("Cell Edge Result", "", "", "");
CAF_PDM_InitField(&enableCellEdgeColors, "EnableCellEdgeColors", true, "Enable cell edge results", "", "", "");
enableCellEdgeColors.setUiHidden(true);
enableCellEdgeColors.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&resultVariable, "CellEdgeVariable", "Result property", "", "", "");
CAF_PDM_InitField(&useXVariable, "UseXVariable", true, "Use X values", "", "", "");
@ -48,7 +48,7 @@ RimCellEdgeColors::RimCellEdgeColors()
CAF_PDM_InitFieldNoDefault(&legendConfig, "LegendDefinition", "Legend Definition", ":/Legend.png", "", "");
resultVariable.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
resultVariable.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
legendConfig = new RimLegendConfig();

View File

@ -20,15 +20,17 @@
#pragma once
#include "cafPdmObject.h"
#include "cafPdmField.h"
#include "cafAppEnum.h"
#include "RimDefines.h"
#include "cafAppEnum.h"
#include "cafFixedArray.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
class RigCaseCellResultsData;
class RimLegendConfig;
class RimEclipseView;
class RimLegendConfig;
//==================================================================================================
@ -56,7 +58,7 @@ public:
caf::PdmField<QString> resultVariable;
caf::PdmField<bool> enableCellEdgeColors;
caf::PdmField<RimLegendConfig*> legendConfig;
caf::PdmChildField<RimLegendConfig*> legendConfig;
double ignoredScalarValue() { return m_ignoredResultScalar; }
void gridScalarIndices(size_t resultIndices[6]);
void gridScalarResultNames(QStringList* resultNames);

View File

@ -46,7 +46,7 @@ RimCellFilter::RimCellFilter()
CAF_PDM_InitField(&name, "UserDescription", QString("Filter Name"), "Name", "", "", "");
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
isActive.setUiHidden(true);
isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&filterMode, "FilterType", "Filter Type", "", "", "");
}

View File

@ -46,22 +46,22 @@ RimCellRangeFilter::RimCellRangeFilter()
CAF_PDM_InitField(&propagateToSubGrids, "PropagateToSubGrids", true, "Apply to Subgrids", "", "","");
CAF_PDM_InitField(&startIndexI, "StartIndexI", 1, "Start index I", "", "","");
startIndexI.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
startIndexI.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&cellCountI, "CellCountI", 1, "Cell Count I", "", "","");
cellCountI.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
cellCountI.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&startIndexJ, "StartIndexJ", 1, "Start index J", "", "","");
startIndexJ.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&cellCountJ, "CellCountJ", 1, "Cell Count J", "", "","");
cellCountJ.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&startIndexK, "StartIndexK", 1, "Start index K", "", "","");
startIndexK.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
startIndexK.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&cellCountK, "CellCountK", 1, "Cell Count K", "", "","");
cellCountK.setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
cellCountK.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiSliderEditor::uiEditorTypeName());
updateIconState();
}
@ -211,21 +211,21 @@ void RimCellRangeFilter::defineEditorAttribute(const caf::PdmFieldHandle* field,
max.y() = max.y() + 1;
max.z() = max.z() + 1;
startIndexI.setUiName(QString("I Start (%1)").arg(min.x()));
startIndexJ.setUiName(QString("J Start (%1)").arg(min.y()));
startIndexK.setUiName(QString("K Start (%1)").arg(min.z()));
cellCountI.setUiName(QString(" Width (%1)").arg(max.x() - min.x() + 1));
cellCountJ.setUiName(QString(" Width (%1)").arg(max.y() - min.y() + 1));
cellCountK.setUiName(QString(" Width (%1)").arg(max.z() - min.z() + 1));
startIndexI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("I Start (%1)").arg(min.x()));
startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("J Start (%1)").arg(min.y()));
startIndexK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("K Start (%1)").arg(min.z()));
cellCountI.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width (%1)").arg(max.x() - min.x() + 1));
cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width (%1)").arg(max.y() - min.y() + 1));
cellCountK.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width (%1)").arg(max.z() - min.z() + 1));
}
else
{
startIndexI.setUiName(QString("I Start"));
startIndexJ.setUiName(QString("J Start"));
startIndexK.setUiName(QString("K Start"));
cellCountI.setUiName(QString(" Width"));
cellCountJ.setUiName(QString(" Width"));
cellCountK.setUiName(QString(" Width"));
startIndexI.capability<caf::PdmUiFieldHandle>()->setUiName(QString("I Start"));
startIndexJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString("J Start"));
startIndexK.capability<caf::PdmUiFieldHandle>()->setUiName(QString("K Start"));
cellCountI.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width"));
cellCountJ.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width"));
cellCountK.capability<caf::PdmUiFieldHandle>()->setUiName(QString(" Width"));
}
}

View File

@ -42,7 +42,7 @@ RimCellRangeFilterCollection::RimCellRangeFilterCollection()
CAF_PDM_InitFieldNoDefault(&rangeFilters, "RangeFilters", "Range Filters", "", "", "");
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
isActive.setUiHidden(true);
isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
//--------------------------------------------------------------------------------------------------
@ -50,11 +50,7 @@ RimCellRangeFilterCollection::RimCellRangeFilterCollection()
//--------------------------------------------------------------------------------------------------
RimCellRangeFilterCollection::~RimCellRangeFilterCollection()
{
std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
{
delete it->p();
}
rangeFilters.deleteAllChildObjects();
}
//--------------------------------------------------------------------------------------------------
@ -74,10 +70,9 @@ void RimCellRangeFilterCollection::compoundCellRangeFilter(cvf::CellRangeFilter*
{
CVF_ASSERT(cellRangeFilter);
std::list< caf::PdmPointer<RimCellRangeFilter> >::const_iterator it;
for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); it++)
for (size_t i = 0; i < rangeFilters.size(); i++)
{
RimCellRangeFilter* rangeFilter = *it;
RimCellRangeFilter* rangeFilter = rangeFilters[i];
if (rangeFilter && rangeFilter->isActive() && static_cast<size_t>(rangeFilter->gridIndex()) == gridIndex)
{
@ -168,7 +163,7 @@ RimCellRangeFilter* RimCellRangeFilterCollection::createAndAppendRangeFilter()
rangeFilter->setParentContainer(this);
rangeFilter->setDefaultValues();
rangeFilters.v().push_back(rangeFilter);
rangeFilters.push_back(rangeFilter);
rangeFilter->name = QString("New Filter (%1)").arg(rangeFilters().size());
@ -195,10 +190,9 @@ RimEclipseView* RimCellRangeFilterCollection::eclipseView() const
//--------------------------------------------------------------------------------------------------
void RimCellRangeFilterCollection::initAfterRead()
{
std::list< caf::PdmPointer<RimCellRangeFilter> >::iterator it;
for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); it++)
for (size_t i = 0; i < rangeFilters.size(); i++)
{
RimCellRangeFilter* rangeFilter = *it;
RimCellRangeFilter* rangeFilter = rangeFilters[i];
rangeFilter->setParentContainer(this);
rangeFilter->updateIconState();
}
@ -211,7 +205,15 @@ void RimCellRangeFilterCollection::initAfterRead()
//--------------------------------------------------------------------------------------------------
void RimCellRangeFilterCollection::remove(RimCellRangeFilter* rangeFilter)
{
rangeFilters.v().remove(rangeFilter);
// MODTODO Verify that we only have one instance of a filter in a collection
for (size_t i = 0; i < rangeFilters.size(); i++)
{
if (rangeFilters[i] == rangeFilter)
{
rangeFilters.erase(i);
return;
}
}
}
//--------------------------------------------------------------------------------------------------
@ -221,10 +223,9 @@ bool RimCellRangeFilterCollection::hasActiveFilters() const
{
if (!isActive()) return false;
std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
for (size_t i = 0; i < rangeFilters.size(); i++)
{
if ((*it)->isActive()) return true;
if (rangeFilters[i]->isActive()) return true;
}
return false;
@ -245,10 +246,9 @@ bool RimCellRangeFilterCollection::hasActiveIncludeFilters() const
{
if (!isActive) return false;
std::list< caf::PdmPointer< RimCellRangeFilter > >::const_iterator it;
for (it = rangeFilters.v().begin(); it != rangeFilters.v().end(); ++it)
for (size_t i = 0; i < rangeFilters.size(); i++)
{
if ((*it)->isActive() && (*it)->filterMode() == RimCellFilter::INCLUDE) return true;
if (rangeFilters[i]->isActive() && rangeFilters[i]->filterMode() == RimCellFilter::INCLUDE) return true;
}
return false;

View File

@ -19,6 +19,7 @@
#pragma once
#include "RimCellRangeFilter.h"
#include "cafPdmChildArrayField.h"
class RigActiveCellInfo;
class RigGridBase;
@ -38,7 +39,7 @@ public:
// Fields
caf::PdmField<bool> isActive;
caf::PdmField< std::list< caf::PdmPointer< RimCellRangeFilter > > > rangeFilters;
caf::PdmChildArrayField<RimCellRangeFilter*> rangeFilters;
// Methods
RimCellRangeFilter* createAndAppendRangeFilter();

View File

@ -60,16 +60,16 @@ RimCommandExecuteScript::RimCommandExecuteScript()
CAF_PDM_InitFieldNoDefault(&name, "Name", "Name", "", "", "");
CAF_PDM_InitField(&scriptText, "ScriptText", QString(), "ScriptText", "", "" ,"");
scriptText.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
scriptText.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
CAF_PDM_InitField(&isEnabled, "IsEnabled", true, "Enabled ", "", "", "");
CAF_PDM_InitField(&execute, "Execute", true, "Execute", "", "", "");
execute.setIOWritable(false);
execute.setIOReadable(false);
execute.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
execute.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
execute.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
execute.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
execute.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
execute.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
}
//--------------------------------------------------------------------------------------------------
@ -159,7 +159,7 @@ void RimCommandFactory::createCommandObjects(const caf::PdmObjectGroup& selected
{
for (size_t i = 0; i < selectedObjects.objects.size(); i++)
{
caf::PdmObject* pdmObject = selectedObjects.objects[i];
caf::PdmObjectHandle* pdmObject = selectedObjects.objects[i];
if (dynamic_cast<RimCalcScript*>(pdmObject))
{
@ -219,16 +219,17 @@ void RimCommandIssueFieldChanged::redo()
RiaApplication* app = RiaApplication::instance();
PdmObject* project = app->project();
caf::PdmObject* pdmObject = findObjectByName(project, this->objectName);
caf::PdmObjectHandle* pdmObject = findObjectByName(project, this->objectName);
if (pdmObject)
{
caf::PdmFieldHandle* fieldHandle = findFieldByKeyword(pdmObject, this->fieldName);
caf::PdmUiFieldHandle* uiFieldHandle = uiField(fieldHandle);
if (fieldHandle)
if (uiFieldHandle)
{
QVariant variantValue(this->fieldValueToApply);
fieldHandle->setValueFromUi(variantValue);
uiFieldHandle->setValueFromUi(variantValue);
}
}
}
@ -252,7 +253,7 @@ caf::PdmFieldHandle* RimCommandIssueFieldChanged::userDescriptionField()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObject*>& children)
void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObjectHandle*>& children)
{
if (!pdmObject) return;
@ -269,27 +270,28 @@ void RimCommandIssueFieldChanged::childObjects(caf::PdmObject* pdmObject, std::v
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmObject* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObject* pdmObject, const QString& objectName)
caf::PdmObjectHandle* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObjectHandle* pdmObject, const QString& objectName)
{
std::vector<caf::PdmFieldHandle*> fields;
pdmObject->fields(fields);
if (pdmObject->uiName() == objectName)
caf::PdmUiObjectHandle* uiObjectHandle = uiObj(pdmObject);
if (uiObjectHandle && uiObjectHandle->uiName() == objectName)
{
return pdmObject;
}
for (size_t fIdx = 0; fIdx < fields.size(); fIdx++)
{
if (fields[fIdx])
{
std::vector<caf::PdmObject*> children;
std::vector<caf::PdmObjectHandle*> children;
fields[fIdx]->childObjects(&children);
for (size_t cIdx = 0; cIdx < children.size(); cIdx++)
{
PdmObject* candidateObj = findObjectByName(children[cIdx], objectName);
PdmObjectHandle* candidateObj = findObjectByName(children[cIdx], objectName);
if (candidateObj)
{
return candidateObj;
@ -305,7 +307,7 @@ caf::PdmObject* RimCommandIssueFieldChanged::findObjectByName(caf::PdmObject* pd
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimCommandIssueFieldChanged::findFieldByKeyword(caf::PdmObject* pdmObject, const QString& keywordName)
caf::PdmFieldHandle* RimCommandIssueFieldChanged::findFieldByKeyword(caf::PdmObjectHandle* pdmObject, const QString& keywordName)
{
std::vector<caf::PdmFieldHandle*> fields;
pdmObject->fields(fields);

View File

@ -92,9 +92,9 @@ public:
virtual caf::PdmFieldHandle* userDescriptionField();
private:
void childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObject*>& children);
caf::PdmObject* findObjectByName(caf::PdmObject* root, const QString& objectName);
caf::PdmFieldHandle* findFieldByKeyword(caf::PdmObject* pdmObject, const QString& fieldName);
void childObjects(caf::PdmObject* pdmObject, std::vector<caf::PdmObjectHandle*>& children);
caf::PdmObjectHandle* findObjectByName(caf::PdmObjectHandle* root, const QString& objectName);
caf::PdmFieldHandle* findFieldByKeyword(caf::PdmObjectHandle* pdmObject, const QString& fieldName);
};

View File

@ -28,11 +28,12 @@
#include "RimCaseCollection.h"
#include "RimCellEdgeColors.h"
#include "RimCommandObject.h"
#include "RimEclipseCellColors.h"
#include "RimEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilterCollection.h"
#include "RimReservoirCellResultsStorage.h"
#include "RimEclipseView.h"
#include "RimEclipseCellColors.h"
#include "RimReservoirCellResultsStorage.h"
#include "cafPdmDocument.h"
#include "cafProgressInfo.h"
@ -57,20 +58,20 @@ RimEclipseCase::RimEclipseCase()
CAF_PDM_InitFieldNoDefault(&reservoirViews, "ReservoirViews", "", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_matrixModelResults, "MatrixModelResults", "", "", "", "");
m_matrixModelResults.setUiHidden(true);
m_matrixModelResults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_fractureModelResults, "FractureModelResults", "", "", "", "");
m_fractureModelResults.setUiHidden(true);
m_fractureModelResults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&flipXAxis, "FlipXAxis", false, "Flip X Axis", "", "", "");
CAF_PDM_InitField(&flipYAxis, "FlipYAxis", false, "Flip Y Axis", "", "", "");
CAF_PDM_InitFieldNoDefault(&filesContainingFaults, "FilesContainingFaults", "", "", "", "");
filesContainingFaults.setUiHidden(true);
filesContainingFaults.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
// Obsolete field
CAF_PDM_InitField(&caseName, "CaseName", QString(), "Obsolete", "", "" ,"");
caseName.setIOWritable(false);
caseName.setUiHidden(true);
caseName.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
caseName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
m_matrixModelResults = new RimReservoirCellResultsStorage;
m_fractureModelResults = new RimReservoirCellResultsStorage;
@ -297,6 +298,8 @@ void RimEclipseCase::computeCachedData()
//--------------------------------------------------------------------------------------------------
RimCaseCollection* RimEclipseCase::parentCaseCollection()
{
return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject());
/*
std::vector<RimCaseCollection*> parentObjects;
this->parentObjectsOfType(parentObjects);
@ -306,6 +309,7 @@ RimCaseCollection* RimEclipseCase::parentCaseCollection()
}
return NULL;
*/
}
//--------------------------------------------------------------------------------------------------

View File

@ -20,18 +20,24 @@
#pragma once
#include "RimCase.h"
#include "cvfBase.h"
#include "cvfObject.h"
#include "RimCase.h"
#include "RimEclipseView.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "RifReaderInterface.h"
class QString;
class RigCaseData;
class RigGridBase;
class RimEclipseView;
class RimCaseCollection;
class RimIdenticalGridCaseGroup;
class RimReservoirCellResultsStorage;
@ -52,7 +58,7 @@ public:
// Fields:
caf::PdmField<bool> releaseResultMemory;
caf::PdmPointersField<RimEclipseView*> reservoirViews;
caf::PdmChildArrayField<RimEclipseView*> reservoirViews;
caf::PdmField<bool> flipXAxis;
caf::PdmField<bool> flipYAxis;
@ -97,8 +103,8 @@ private:
cvf::ref<RigCaseData> m_rigEclipseCase;
private:
caf::PdmField<RimReservoirCellResultsStorage*> m_matrixModelResults;
caf::PdmField<RimReservoirCellResultsStorage*> m_fractureModelResults;
caf::PdmChildField<RimReservoirCellResultsStorage*> m_matrixModelResults;
caf::PdmChildField<RimReservoirCellResultsStorage*> m_fractureModelResults;
// Obsolete fields
protected:

View File

@ -20,17 +20,18 @@
#pragma once
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cvfObject.h"
class RimEclipseCase;
class RigGridManager;
class RimIdenticalGridCaseGroup;
class RigMainGrid;
class RigCaseData;
class RigGridManager;
class RigMainGrid;
class RimEclipseCase;
class RimIdenticalGridCaseGroup;
class RimWellPathCollection;
//==================================================================================================
@ -45,8 +46,8 @@ public:
RimEclipseCaseCollection(void);
virtual ~RimEclipseCaseCollection(void);
caf::PdmPointersField<RimEclipseCase*> cases;
caf::PdmPointersField<RimIdenticalGridCaseGroup*> caseGroups;
caf::PdmChildArrayField<RimEclipseCase*> cases;
caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> caseGroups;
void close();

View File

@ -36,17 +36,18 @@ RimEclipseCellColors::RimEclipseCellColors()
CAF_PDM_InitFieldNoDefault(&legendConfig, "LegendDefinition", "Legend Definition", "", "", "");
this->legendConfig = new RimLegendConfig();
this->legendConfig.setUiHidden(true);
this->legendConfig.setUiChildrenHidden(true);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
// MODTODO
CAF_PDM_InitFieldNoDefault(&m_legendConfigData, "ResultVarLegendDefinitionList", "", "", "", "");
m_legendConfigData.setUiHidden(true);
m_legendConfigData.setUiChildrenHidden(true);
m_legendConfigData.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
m_legendConfigData.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
CAF_PDM_InitFieldNoDefault(&ternaryLegendConfig, "TernaryLegendDefinition", "Ternary Legend Definition", "", "", "");
this->ternaryLegendConfig = new RimTernaryLegendConfig();
this->ternaryLegendConfig.setUiHidden(true);
this->ternaryLegendConfig.setUiChildrenHidden(true);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
}
//--------------------------------------------------------------------------------------------------
@ -91,28 +92,27 @@ void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend)
{
if (resultVarNameOfNewLegend == RimDefines::ternarySaturationResultName())
{
this->ternaryLegendConfig.setUiHidden(false);
this->ternaryLegendConfig.setUiChildrenHidden(false);
this->legendConfig.setUiHidden(true);
this->legendConfig.setUiChildrenHidden(true);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(false);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
}
else
{
this->ternaryLegendConfig.setUiHidden(true);
this->ternaryLegendConfig.setUiChildrenHidden(true);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
this->ternaryLegendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
if (this->legendConfig()->resultVariableName() != resultVarNameOfNewLegend)
{
std::list<caf::PdmPointer<RimLegendConfig> >::iterator it;
bool found = false;
for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
for (size_t i = 0; i < m_legendConfigData.size(); i++)
{
if ((*it)->resultVariableName() == resultVarNameOfNewLegend)
if (m_legendConfigData[i]->resultVariableName() == resultVarNameOfNewLegend)
{
RimLegendConfig* newLegend = *it;
m_legendConfigData.v().erase(it);
m_legendConfigData.v().push_back(this->legendConfig());
RimLegendConfig* newLegend = m_legendConfigData[i];
m_legendConfigData.erase(i);
m_legendConfigData.push_back(this->legendConfig());
this->legendConfig = newLegend;
found = true;
break;
@ -125,13 +125,13 @@ void RimEclipseCellColors::changeLegendConfig(QString resultVarNameOfNewLegend)
RimLegendConfig* newLegend = new RimLegendConfig;
newLegend->setReservoirView(m_reservoirView);
newLegend->resultVariableName = resultVarNameOfNewLegend;
m_legendConfigData.v().push_back(this->legendConfig());
m_legendConfigData.push_back(this->legendConfig());
this->legendConfig = newLegend;
}
}
this->legendConfig.setUiHidden(false);
this->legendConfig.setUiChildrenHidden(false);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
this->legendConfig.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(false);
}
}
@ -161,10 +161,12 @@ void RimEclipseCellColors::setReservoirView(RimEclipseView* ownerReservoirView)
m_reservoirView = ownerReservoirView;
this->legendConfig()->setReservoirView(ownerReservoirView);
std::list<caf::PdmPointer<RimLegendConfig> >::iterator it;
for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
{
(*it)->setReservoirView(ownerReservoirView);
}
// MODTODO
// for (it = m_legendConfigData.v().begin(); it != m_legendConfigData.v().end(); ++it)
// {
// (*it)->setReservoirView(ownerReservoirView);
// }
this->ternaryLegendConfig()->setReservoirView(ownerReservoirView);
}

View File

@ -24,6 +24,9 @@
#include "RimLegendConfig.h"
#include "RimEclipseResultDefinition.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmChildField.h"
class RimTernaryLegendConfig;
//==================================================================================================
@ -38,8 +41,8 @@ public:
virtual ~RimEclipseCellColors();
virtual void setReservoirView(RimEclipseView* ownerReservoirView);
caf::PdmField<RimLegendConfig*> legendConfig;
caf::PdmField<RimTernaryLegendConfig*> ternaryLegendConfig;
caf::PdmChildField<RimLegendConfig*> legendConfig;
caf::PdmChildField<RimTernaryLegendConfig*> ternaryLegendConfig;
// Overridden methods
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
@ -52,6 +55,9 @@ protected:
private:
void changeLegendConfig(QString resultVarNameOfNewLegend);
caf::PdmField<std::list<caf::PdmPointer<RimLegendConfig> > > m_legendConfigData;
// MODTODO
// Possibly replace with PdmChildArrayField
//caf::PdmField<std::list<caf::PdmPointer<RimLegendConfig> > > m_legendConfigData;
caf::PdmChildArrayField<RimLegendConfig*> m_legendConfigData;
};

View File

@ -40,17 +40,23 @@ RimEclipseFaultColors::RimEclipseFaultColors()
CAF_PDM_InitObject("Fault Result Slot", ":/draw_style_faults_24x24.png", "", "");
CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", "");
showCustomFaultResult.setUiHidden(true);
showCustomFaultResult.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", "");
m_customFaultResultColors = new RimEclipseCellColors();
m_customFaultResultColors.setOwnerObject(this);
m_customFaultResultColors.setUiHidden(true);
// MODTODO how to handle this?
//m_customFaultResultColors.setOwnerObject(this);
m_customFaultResultColors.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
// MODTODO how to handle this?
/*
// Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
m_customFaultResultColors->m_resultTypeUiField.setOwnerObject(this);
m_customFaultResultColors->m_porosityModelUiField.setOwnerObject(this);
m_customFaultResultColors->m_resultVariableUiField.setOwnerObject(this);
*/
updateFieldVisibility();

View File

@ -20,6 +20,7 @@
#pragma once
#include "cafAppEnum.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
@ -56,7 +57,7 @@ protected:
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
private:
caf::PdmField<RimEclipseCellColors*> m_customFaultResultColors;
caf::PdmChildField<RimEclipseCellColors*> m_customFaultResultColors;
caf::PdmPointer<RimEclipseView> m_reservoirView;
};

View File

@ -46,9 +46,9 @@ RimEclipseInputCase::RimEclipseInputCase()
{
CAF_PDM_InitObject("RimInputCase", ":/EclipseInput48x48.png", "", "");
CAF_PDM_InitField(&m_gridFileName, "GridFileName", QString(), "Case grid filename", "", "" ,"");
m_gridFileName.setUiReadOnly(true);
m_gridFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitFieldNoDefault(&m_additionalFileNames, "AdditionalFileNames", "Additional files", "", "" ,"");
m_additionalFileNames.setUiReadOnly(true);
m_additionalFileNames.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitFieldNoDefault(&m_inputPropertyCollection, "InputPropertyCollection", "", "", "", "");
m_inputPropertyCollection = new RimEclipseInputPropertyCollection;

View File

@ -18,16 +18,18 @@
#pragma once
#include "cvfBase.h"
#include "cvfObject.h"
#include "RimEclipseCase.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "RimEclipseCase.h"
#include "cvfBase.h"
#include "cvfObject.h"
class RifReaderInterface;
class RimEclipseInputPropertyCollection;
class RimEclipseInputProperty;
class RimEclipseInputPropertyCollection;
//==================================================================================================
//
@ -43,7 +45,7 @@ public:
virtual ~RimEclipseInputCase();
// Fields
caf::PdmField<RimEclipseInputPropertyCollection*> m_inputPropertyCollection;
caf::PdmChildField<RimEclipseInputPropertyCollection*> m_inputPropertyCollection;
// File open methods
void openDataFileSet(const QStringList& fileNames);

View File

@ -53,12 +53,12 @@ RimEclipseInputProperty::RimEclipseInputProperty()
CAF_PDM_InitField(&fileName, "FileName", QString(), "Filename", "", "" ,"");
CAF_PDM_InitField(&resolvedState, "ResolvedState", (ResolveStateEnum)UNKNOWN, "Data state", "", "", "");
resolvedState.setUiReadOnly(true);
resolvedState.setIOReadable(false);
resolvedState.setIOWritable(false);
resolvedState.setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
resolvedState.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
resolvedState.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
resolvedState.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
resolvedState.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiLineEditor::uiEditorTypeName());
fileName.setUiReadOnly(true);
fileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
}
//--------------------------------------------------------------------------------------------------

View File

@ -20,11 +20,13 @@
#pragma once
#include "cvfBase.h"
#include "cvfObject.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cvfBase.h"
#include "cvfObject.h"
class RimEclipseInputProperty;
@ -47,6 +49,6 @@ public:
// Fields:
caf::PdmPointersField<RimEclipseInputProperty*> inputProperties;
caf::PdmChildArrayField<RimEclipseInputProperty*> inputProperties;
};

View File

@ -21,14 +21,16 @@
#include "RimEclipsePropertyFilter.h"
#include "RigCaseCellResultsData.h"
#include "RimEclipsePropertyFilterCollection.h"
#include "RimReservoirCellResultsStorage.h"
#include "RimEclipseResultDefinition.h"
#include "RiuMainWindow.h"
#include "cafPdmUiDoubleSliderEditor.h"
#include "cvfAssert.h"
#include "cvfMath.h"
#include "RiuMainWindow.h"
namespace caf
@ -54,29 +56,33 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
CAF_PDM_InitObject("Cell Property Filter", ":/CellFilter_Values.png", "", "");
CAF_PDM_InitFieldNoDefault(&obsoleteField_evaluationRegion, "EvaluationRegion", "Evaluation region", "", "", "");
obsoleteField_evaluationRegion.setUiHidden(true);
obsoleteField_evaluationRegion.setIOWritable(false);
obsoleteField_evaluationRegion.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
obsoleteField_evaluationRegion.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
CAF_PDM_InitFieldNoDefault(&resultDefinition, "ResultDefinition", "Result definition", "", "", "");
resultDefinition = new RimEclipseResultDefinition();
// MODOTODO
// How to handle this???
/*
// Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
resultDefinition->m_resultTypeUiField.setOwnerObject(this);
resultDefinition->m_resultTypeUiField.setUiName("");
resultDefinition->m_resultTypeUiField.setparOwnerObject(this);
resultDefinition->m_resultTypeUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
resultDefinition->m_porosityModelUiField.setOwnerObject(this);
resultDefinition->m_porosityModelUiField.setUiName("");
resultDefinition->m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
resultDefinition->m_resultVariableUiField.setOwnerObject(this);
resultDefinition->m_resultVariableUiField.setUiName("");
resultDefinition->m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiName("");
*/
// Set to hidden to avoid this item to been displayed as a child item
// Fields in this object are displayed using defineUiOrdering()
resultDefinition.setUiHidden(true);
resultDefinition.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", "");
lowerBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
lowerBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", "");
upperBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
upperBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
updateIconState();
@ -254,8 +260,8 @@ void RimEclipsePropertyFilter::computeResultValueRange()
m_maximumResultValue = max;
m_minimumResultValue = min;
lowerBound.setUiName(QString("Min (%1)").arg(min));
upperBound.setUiName(QString("Max (%1)").arg(max));
lowerBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min (%1)").arg(min));
upperBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max (%1)").arg(max));
}
//--------------------------------------------------------------------------------------------------

View File

@ -22,6 +22,8 @@
#include "RimCellFilter.h"
#include "cafPdmChildField.h"
class RimEclipseView;
class RimEclipsePropertyFilterCollection;
class RimEclipseResultDefinition;
@ -42,7 +44,7 @@ public:
RimEclipsePropertyFilter();
virtual ~RimEclipsePropertyFilter();
caf::PdmField<RimEclipseResultDefinition*> resultDefinition;
caf::PdmChildField<RimEclipseResultDefinition*> resultDefinition;
caf::PdmField<double> lowerBound;
caf::PdmField<double> upperBound;

View File

@ -36,7 +36,7 @@ RimEclipsePropertyFilterCollection::RimEclipsePropertyFilterCollection()
CAF_PDM_InitFieldNoDefault(&propertyFilters, "PropertyFilters", "Property Filters", "", "", "");
CAF_PDM_InitField(&active, "Active", true, "Active", "", "", "");
active.setUiHidden(true);
active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
//--------------------------------------------------------------------------------------------------

View File

@ -20,6 +20,8 @@
#include "RimEclipsePropertyFilter.h"
#include "cafPdmChildArrayField.h"
//==================================================================================================
///
///
@ -34,7 +36,7 @@ public:
// Fields:
caf::PdmField<bool> active;
caf::PdmPointersField<RimEclipsePropertyFilter*> propertyFilters;
caf::PdmChildArrayField<RimEclipsePropertyFilter*> propertyFilters;
// Methods
RimEclipsePropertyFilter* createAndAppendPropertyFilter();

View File

@ -31,8 +31,11 @@
#include "RimProject.h"
#include "RimReservoirCellResultsStorage.h"
#include "cafPdmSettings.h"
#include "cafPdmUiPropertyDialog.h"
// MODTODO Replace with other classes in new caf
//#include "cafPdmSettings.h"
//#include "cafPdmUiPropertyDialog.h"
#include "cafProgressInfo.h"
#include <QDir>
@ -49,17 +52,17 @@ RimEclipseResultCase::RimEclipseResultCase()
CAF_PDM_InitObject("Eclipse Case", ":/Case48x48.png", "", "");
CAF_PDM_InitField(&caseFileName, "CaseFileName", QString(), "Case file name", "", "" ,"");
caseFileName.setUiReadOnly(true);
caseFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
// Obsolete, unused field
CAF_PDM_InitField(&caseDirectory, "CaseFolder", QString(), "Directory", "", "" ,"");
caseDirectory.setIOWritable(false);
caseDirectory.setUiHidden(true);
caseDirectory.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
caseDirectory.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
flipXAxis.setIOWritable(true);
//flipXAxis.setUiHidden(true);
flipYAxis.setIOWritable(true);
//flipYAxis.setUiHidden(true);
flipXAxis.capability<caf::PdmXmlFieldHandle>()->setIOWritable(true);
//flipXAxis.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
flipYAxis.capability<caf::PdmXmlFieldHandle>()->setIOWritable(true);
//flipYAxis.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
m_activeCellInfoIsReadFromFile = false;
m_gridAndWellDataIsReadFromFile = false;
@ -245,6 +248,10 @@ cvf::ref<RifReaderInterface> RimEclipseResultCase::createMockModel(QString model
}
else if (modelName == RimDefines::mockModelCustomized())
{
// MODTODO
// Replace with other caf structures
/*
QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
RimMockModelSettings rimMockModelSettings;
@ -281,6 +288,7 @@ cvf::ref<RifReaderInterface> RimEclipseResultCase::createMockModel(QString model
{
QApplication::restoreOverrideCursor();
}
*/
}
this->setReservoirData( reservoir.p() );

View File

@ -39,24 +39,24 @@ RimEclipseResultDefinition::RimEclipseResultDefinition()
CAF_PDM_InitObject("Result Definition", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_resultType, "ResultType", "Type", "", "", "");
m_resultType.setUiHidden(true);
m_resultType.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModelType", "Porosity", "", "", "");
m_porosityModel.setUiHidden(true);
m_porosityModel.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&m_resultVariable, "ResultVariable", RimDefines::undefinedResultName(), "Variable", "", "", "" );
m_resultVariable.setUiHidden(true);
m_resultVariable.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_resultTypeUiField, "MResultType", "Type", "", "", "");
m_resultTypeUiField.setIOReadable(false);
m_resultTypeUiField.setIOWritable(false);
m_resultTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_resultTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
CAF_PDM_InitFieldNoDefault(&m_porosityModelUiField, "MPorosityModelType", "Porosity", "", "", "");
m_porosityModelUiField.setIOReadable(false);
m_porosityModelUiField.setIOWritable(false);
m_porosityModelUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_porosityModelUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
CAF_PDM_InitField(&m_resultVariableUiField, "MResultVariable", RimDefines::undefinedResultName(), "Result property", "", "", "" );
m_resultVariableUiField.setIOReadable(false);
m_resultVariableUiField.setIOWritable(false);
m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_resultVariableUiField.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
}
//--------------------------------------------------------------------------------------------------
@ -357,11 +357,11 @@ void RimEclipseResultDefinition::updateFieldVisibility()
{
if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->reservoirActiveCellCount() == 0)
{
m_porosityModelUiField.setUiHidden(true);
m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
else
{
m_porosityModelUiField.setUiHidden(false);
m_porosityModelUiField.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
}
}
}

View File

@ -59,24 +59,24 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase()
CAF_PDM_InitObject("Case Group Statistics", ":/Histogram16x16.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_calculateEditCommand, "m_editingAllowed", "", "", "", "");
m_calculateEditCommand.setIOWritable(false);
m_calculateEditCommand.setIOReadable(false);
m_calculateEditCommand.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
m_calculateEditCommand.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_calculateEditCommand.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_calculateEditCommand.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_calculateEditCommand.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
m_calculateEditCommand.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_calculateEditCommand = false;
CAF_PDM_InitField(&m_selectionSummary, "SelectionSummary", QString(""), "Summary of calculation setup", "", "", "");
m_selectionSummary.setIOWritable(false);
m_selectionSummary.setIOReadable(false);
m_selectionSummary.setUiReadOnly(true);
m_selectionSummary.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
m_selectionSummary.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
m_selectionSummary.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_selectionSummary.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
m_selectionSummary.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
CAF_PDM_InitFieldNoDefault(&m_resultType, "ResultType", "Result Type", "", "", "");
m_resultType.setIOWritable(false);
m_resultType.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModel", "Porosity Model", "", "", "");
m_porosityModel.setIOWritable(false);
m_porosityModel.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
CAF_PDM_InitFieldNoDefault(&m_selectedDynamicProperties, "DynamicPropertiesToCalculate", "Dyn Prop", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_selectedStaticProperties, "StaticPropertiesToCalculate", "Stat Prop", "", "", "");
@ -88,15 +88,15 @@ RimEclipseStatisticsCase::RimEclipseStatisticsCase()
CAF_PDM_InitFieldNoDefault(&m_selectedFractureGeneratedProperties, "FractureGeneratedPropertiesToCalculate", "", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_selectedFractureInputProperties, "FractureInputPropertiesToCalculate", "", "", "", "");
m_selectedDynamicProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedStaticProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedGeneratedProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedInputProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedInputProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureDynamicProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureStaticProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureGeneratedProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureInputProperties.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
m_selectedFractureInputProperties.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
CAF_PDM_InitField(&m_calculatePercentiles, "CalculatePercentiles", true, "Calculate Percentiles", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_percentileCalculationType, "PercentileCalculationType", "Method", "", "", "");
@ -161,6 +161,10 @@ bool RimEclipseStatisticsCase::openEclipseGridFile()
//--------------------------------------------------------------------------------------------------
RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection()
{
return dynamic_cast<RimCaseCollection*>(this->parentField()->ownerObject());
// MODTODO Remove
/*
std::vector<RimCaseCollection*> parentObjects;
this->parentObjectsOfType(parentObjects);
@ -170,6 +174,7 @@ RimCaseCollection* RimEclipseStatisticsCase::parentStatisticsCaseCollection()
}
return NULL;
*/
}
//--------------------------------------------------------------------------------------------------
@ -590,18 +595,18 @@ void RimEclipseStatisticsCase::defineEditorAttribute(const caf::PdmFieldHandle*
void RimEclipseStatisticsCase::updateSelectionListVisibilities()
{
bool isLocked = hasComputedStatistics();
m_resultType.setUiHidden(isLocked);
m_porosityModel.setUiHidden(isLocked ); // || !caseGroup()->mainCase()->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()
m_resultType.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked);
m_porosityModel.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked ); // || !caseGroup()->mainCase()->reservoirData()->results(RifReaderInterface::FRACTURE_RESULTS)->resultCount()
m_selectedDynamicProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
m_selectedStaticProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
m_selectedGeneratedProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
m_selectedInputProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
m_selectedDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
m_selectedStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
m_selectedGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::GENERATED));
m_selectedInputProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::MATRIX_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
m_selectedFractureDynamicProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
m_selectedFractureStaticProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
m_selectedFractureGeneratedProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
m_selectedFractureInputProperties.setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
m_selectedFractureDynamicProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::DYNAMIC_NATIVE));
m_selectedFractureStaticProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::STATIC_NATIVE));
m_selectedFractureGeneratedProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::GENERATED));
m_selectedFractureInputProperties.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !(m_porosityModel() == RimDefines::FRACTURE_MODEL && m_resultType() == RimDefines::INPUT_PROPERTY));
}
//--------------------------------------------------------------------------------------------------
@ -610,11 +615,11 @@ void RimEclipseStatisticsCase::updateSelectionListVisibilities()
void RimEclipseStatisticsCase::updatePercentileUiVisibility()
{
bool isLocked = hasComputedStatistics();
m_calculatePercentiles.setUiHidden(isLocked);
m_percentileCalculationType.setUiHidden( isLocked || !m_calculatePercentiles());
m_lowPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
m_midPercentile .setUiHidden(isLocked || !m_calculatePercentiles());
m_highPercentile.setUiHidden(isLocked || !m_calculatePercentiles());
m_calculatePercentiles.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked);
m_percentileCalculationType.capability<caf::PdmUiFieldHandle>()->setUiHidden( isLocked || !m_calculatePercentiles());
m_lowPercentile .capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
m_midPercentile .capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
m_highPercentile.capability<caf::PdmUiFieldHandle>()->setUiHidden(isLocked || !m_calculatePercentiles());
}
//--------------------------------------------------------------------------------------------------

View File

@ -21,6 +21,7 @@
#include "RimEclipseStatisticsCaseCollection.h"
#include "RimIdenticalGridCaseGroup.h"
#include "RimEclipseStatisticsCase.h"
CAF_PDM_SOURCE_INIT(RimEclipseStatisticsCaseCollection, "RimStatisticalCollection");
@ -49,6 +50,12 @@ RimEclipseStatisticsCaseCollection::~RimEclipseStatisticsCaseCollection()
//--------------------------------------------------------------------------------------------------
RimIdenticalGridCaseGroup* RimEclipseStatisticsCaseCollection::parentCaseGroup()
{
RimIdenticalGridCaseGroup* parentObject = dynamic_cast<RimIdenticalGridCaseGroup*>(this->owner());
return parentObject;
// MODTODO Remove
/*
std::vector<RimIdenticalGridCaseGroup*> parentObjects;
this->parentObjectsOfType(parentObjects);
@ -58,5 +65,6 @@ RimIdenticalGridCaseGroup* RimEclipseStatisticsCaseCollection::parentCaseGroup()
}
return NULL;
*/
}

View File

@ -20,11 +20,13 @@
#pragma once
#include "cvfBase.h"
#include "cvfObject.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cvfBase.h"
#include "cvfObject.h"
class RimEclipseStatisticsCase;
class RimIdenticalGridCaseGroup;
@ -42,7 +44,7 @@ public:
RimEclipseStatisticsCaseCollection();
virtual ~RimEclipseStatisticsCaseCollection();
caf::PdmPointersField<RimEclipseStatisticsCase*> cases;
caf::PdmChildArrayField<RimEclipseStatisticsCase*> cases;
RimIdenticalGridCaseGroup* parentCaseGroup();

View File

@ -21,6 +21,7 @@
#pragma once
#include "cafAppEnum.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
@ -84,14 +85,14 @@ public:
// Fields containing child objects :
caf::PdmField<RimEclipseCellColors*> cellResult;
caf::PdmField<RimCellEdgeColors*> cellEdgeResult;
caf::PdmField<RimEclipseFaultColors*> faultResultSettings;
caf::PdmChildField<RimEclipseCellColors*> cellResult;
caf::PdmChildField<RimCellEdgeColors*> cellEdgeResult;
caf::PdmChildField<RimEclipseFaultColors*> faultResultSettings;
caf::PdmField<RimEclipsePropertyFilterCollection*> propertyFilterCollection;
caf::PdmChildField<RimEclipsePropertyFilterCollection*> propertyFilterCollection;
caf::PdmField<RimEclipseWellCollection*> wellCollection;
caf::PdmField<RimFaultCollection*> faultCollection;
caf::PdmChildField<RimEclipseWellCollection*> wellCollection;
caf::PdmChildField<RimFaultCollection*> faultCollection;
// Fields

View File

@ -37,7 +37,7 @@ RimEclipseWell::RimEclipseWell()
CAF_PDM_InitFieldNoDefault(&name, "WellName", "Name", "", "", "");
CAF_PDM_InitField(&showWell, "ShowWell", true, "Show well ", "", "", "");
showWell.setUiHidden(true);
showWell.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&showWellLabel, "ShowWellLabel", true, "Show well label", "", "", "");
@ -48,8 +48,8 @@ RimEclipseWell::RimEclipseWell()
CAF_PDM_InitField(&showWellCells, "ShowWellCells", true, "Add cells to range filter", "", "", "");
CAF_PDM_InitField(&showWellCellFence, "ShowWellCellFence", false, "Use well fence", "", "", "");
name.setUiHidden(true);
name.setUiReadOnly(true);
name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
m_wellIndex = cvf::UNDEFINED_SIZE_T;

View File

@ -85,7 +85,7 @@ RimEclipseWellCollection::RimEclipseWellCollection()
CAF_PDM_InitObject("Wells", ":/WellCollection.png", "", "");
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
isActive.setUiHidden(true);
isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&showWellHead, "ShowWellHead", true, "Show well heads", "", "", "");
CAF_PDM_InitField(&showWellLabel, "ShowWellLabel", true, "Show well labels", "", "", "");
@ -98,7 +98,7 @@ RimEclipseWellCollection::RimEclipseWellCollection()
CAF_PDM_InitField(&pipeRadiusScaleFactor, "WellPipeRadiusScale", 0.1, "Pipe radius scale", "", "", "");
CAF_PDM_InitField(&pipeCrossSectionVertexCount, "WellPipeVertexCount", 12, "Pipe vertex count", "", "", "");
pipeCrossSectionVertexCount.setUiHidden(true);
pipeCrossSectionVertexCount.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&wellCellsToRangeFilterMode, "GlobalWellCellVisibility", WellCellsRangeFilterEnum(RANGE_ADD_NONE), "Add cells to range filter", "", "", "");
CAF_PDM_InitField(&showWellCellFences, "ShowWellFences", false, "Use well fence", "", "", "");

View File

@ -20,10 +20,11 @@
#pragma once
#include "cafAppEnum.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cafAppEnum.h"
// Include to make Pdm work for cvf::Color
#include "cafPdmFieldCvfColor.h"
@ -101,7 +102,7 @@ public:
caf::PdmField<bool> isAutoDetectingBranches;
caf::PdmPointersField<RimEclipseWell*> wells;
caf::PdmChildArrayField<RimEclipseWell*> wells;
RimEclipseWell* findWell(QString name);
bool hasVisibleWellCells();

View File

@ -32,7 +32,7 @@ RimExportInputSettings::RimExportInputSettings()
CAF_PDM_InitObject("RimExportInputSettings", "", "", "");
CAF_PDM_InitFieldNoDefault(&fileName, "Filename", "Export filename", "", "", "");
fileName.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
fileName.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
CAF_PDM_InitFieldNoDefault(&eclipseKeyword, "Eclipse Keyword", "Keyword", "", "", "");
}

View File

@ -33,11 +33,11 @@ RimFault::RimFault()
CAF_PDM_InitObject("RimFault", ":/draw_style_faults_24x24.png", "", "");
CAF_PDM_InitFieldNoDefault(&name, "FaultName", "Name", "", "", "");
name.setUiHidden(true);
name.setUiReadOnly(true);
name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitField(&showFault, "ShowFault", true, "Show fault", "", "", "");
showFault.setUiHidden(true);
showFault.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&faultColor, "Color", cvf::Color3f(0.588f, 0.588f, 0.804f), "Fault color", "", "", "");
@ -69,7 +69,9 @@ void RimFault::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const Q
if (&faultColor == changedField || &showFault == changedField)
{
RimEclipseView* reservoirView = NULL;
this->firstAncestorOfType(reservoirView);
// MODTODO fix usage of firstAncestorOfType
//this->firstAncestorOfType(reservoirView);
if (reservoirView)
{

View File

@ -58,7 +58,7 @@ RimFaultCollection::RimFaultCollection()
RiaPreferences* prefs = RiaApplication::instance()->preferences();
CAF_PDM_InitField(&showFaultCollection, "Active", true, "Active", "", "", "");
showFaultCollection.setUiHidden(true);
showFaultCollection.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&showFaultFaces, "ShowFaultFaces", true, "Show defined faces", "", "", "");
CAF_PDM_InitField(&showOppositeFaultFaces, "ShowOppositeFaultFaces", true, "Show opposite faces", "", "", "");
@ -325,9 +325,9 @@ void RimFaultCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrderi
{
bool isGridVizMode = isGridVisualizationMode();
faultResult.setUiReadOnly(isGridVizMode);
showFaultFaces.setUiReadOnly(isGridVizMode);
showOppositeFaultFaces.setUiReadOnly(isGridVizMode);
faultResult.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
showFaultFaces.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
showOppositeFaultFaces.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(isGridVizMode);
caf::PdmUiGroup* labs = uiOrdering.addNewGroup("Fault Labels");
labs->add(&showFaultLabel);

View File

@ -19,16 +19,20 @@
#pragma once
#include "RimReservoirCellResultsStorage.h"
#include "cafAppEnum.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cvfBase.h"
// Include to make Pdm work for cvf::Color
#include "cafPdmFieldCvfColor.h"
#include "RimReservoirCellResultsStorage.h"
#include <QString>
@ -78,10 +82,10 @@ public:
caf::PdmField<bool> showNNCs;
caf::PdmField<bool> hideNncsWhenNoResultIsAvailable;
caf::PdmPointersField<RimFault*> faults;
caf::PdmChildArrayField<RimFault*> faults;
RimFault* findFaultByName(QString name);
caf::PdmField<RimNoCommonAreaNncCollection*> noCommonAreaNnncCollection;
caf::PdmChildField<RimNoCommonAreaNncCollection*> noCommonAreaNnncCollection;
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
virtual caf::PdmFieldHandle* objectToggleField();

View File

@ -34,7 +34,7 @@ RimGeoMechCase::RimGeoMechCase(void)
CAF_PDM_InitObject("Geomechanical Case", ":/GeoMechCase48x48.png", "", "");
CAF_PDM_InitField(&m_caseFileName, "CaseFileName", QString(), "Case file name", "", "", "");
m_caseFileName.setUiReadOnly(true);
m_caseFileName.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitFieldNoDefault(&geoMechViews, "GeoMechViews", "", "", "", "");
}

View File

@ -18,11 +18,14 @@
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "RimCase.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cvfObject.h"
class RimGeoMechView;
@ -54,7 +57,7 @@ public:
virtual std::vector<RimView*> views();
// Fields:
caf::PdmPointersField<RimGeoMechView*> geoMechViews;
caf::PdmChildArrayField<RimGeoMechView*> geoMechViews;
private:
virtual void initAfterRead();

View File

@ -20,6 +20,8 @@
#pragma once
#include "RimGeoMechResultDefinition.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
class RimLegendConfig;
@ -37,5 +39,5 @@ public:
RimGeoMechCellColors(void);
virtual ~RimGeoMechCellColors(void);
caf::PdmField<RimLegendConfig*> legendConfig;
caf::PdmChildField<RimLegendConfig*> legendConfig;
};

View File

@ -19,6 +19,7 @@
#pragma once
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
@ -37,7 +38,7 @@ public:
RimGeoMechModels(void);
virtual ~RimGeoMechModels(void);
caf::PdmPointersField<RimGeoMechCase*> cases;
caf::PdmChildArrayField<RimGeoMechCase*> cases;
private:
};

View File

@ -47,13 +47,13 @@ RimGeoMechPropertyFilter::RimGeoMechPropertyFilter()
// Set to hidden to avoid this item to been displayed as a child item
// Fields in this object are displayed using defineUiOrdering()
resultDefinition.setUiHidden(true);
resultDefinition.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", "");
lowerBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
lowerBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", "");
upperBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
upperBound.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName());
updateIconState();
@ -177,8 +177,8 @@ void RimGeoMechPropertyFilter::computeResultValueRange()
m_maximumResultValue = max;
m_minimumResultValue = min;
lowerBound.setUiName(QString("Min (%1)").arg(min));
upperBound.setUiName(QString("Max (%1)").arg(max));
lowerBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min (%1)").arg(min));
upperBound.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max (%1)").arg(max));
}
//--------------------------------------------------------------------------------------------------

View File

@ -21,6 +21,8 @@
#include "RimCellFilter.h"
#include "cafPdmChildField.h"
class RimGeoMechResultDefinition;
class RimGeoMechPropertyFilterCollection;
@ -37,7 +39,7 @@ public:
RimGeoMechPropertyFilter();
virtual ~RimGeoMechPropertyFilter();
caf::PdmField<RimGeoMechResultDefinition*> resultDefinition;
caf::PdmChildField<RimGeoMechResultDefinition*> resultDefinition;
caf::PdmField<double> lowerBound;
caf::PdmField<double> upperBound;

View File

@ -36,7 +36,7 @@ RimGeoMechPropertyFilterCollection::RimGeoMechPropertyFilterCollection()
CAF_PDM_InitFieldNoDefault(&propertyFilters, "PropertyFilters", "Property Filters", "", "", "");
CAF_PDM_InitField(&active, "Active", true, "Active", "", "", "");
active.setUiHidden(true);
active.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
//--------------------------------------------------------------------------------------------------

View File

@ -19,8 +19,9 @@
#pragma once
#include "cafPdmObject.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
class RimGeoMechPropertyFilter;
@ -43,7 +44,7 @@ public:
// Fields:
caf::PdmField<bool> active;
caf::PdmPointersField<RimGeoMechPropertyFilter*> propertyFilters;
caf::PdmChildArrayField<RimGeoMechPropertyFilter*> propertyFilters;
// Methods
RimGeoMechPropertyFilter* createAndAppendPropertyFilter();

View File

@ -53,22 +53,22 @@ RimGeoMechResultDefinition::RimGeoMechResultDefinition(void)
CAF_PDM_InitObject("Color Result", ":/CellResult.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_resultPositionType, "ResultPositionType" , "Result Position", "", "", "");
m_resultPositionType.setUiHidden(true);
m_resultPositionType.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&m_resultFieldName, "ResultFieldName", QString(""), "Field Name", "", "", "");
m_resultFieldName.setUiHidden(true);
m_resultFieldName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&m_resultComponentName, "ResultComponentName", QString(""), "Component", "", "", "");
m_resultComponentName.setUiHidden(true);
m_resultComponentName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_resultPositionTypeUiField, "ResultPositionTypeUi", "Result Position", "", "", "");
m_resultPositionTypeUiField.setIOWritable(false);
m_resultPositionTypeUiField.setIOReadable(false);
m_resultPositionTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_resultPositionTypeUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitField(&m_resultVariableUiField, "ResultVariableUI", QString(""), "Value", "", "", "");
m_resultVariableUiField.setIOWritable(false);
m_resultVariableUiField.setIOReadable(false);
m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_resultVariableUiField.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
m_resultVariableUiField.setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
m_resultVariableUiField.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
m_resultVariableUiField.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
}
//--------------------------------------------------------------------------------------------------

View File

@ -19,29 +19,31 @@
#pragma once
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cafAppEnum.h"
#include "cafPdmFieldCvfColor.h"
#include "cafPdmFieldCvfMat4d.h"
#include "cvfObject.h"
#include "RimView.h"
class RimGeoMechCellColors;
class Rim3dOverlayInfoConfig;
class RiuViewer;
class RimGeoMechCase;
class RivGeoMechPartMgr;
class RimCellRangeFilterCollection;
class RivGeoMechVizLogic;
class RimGeoMechPropertyFilterCollection;
#include "cafAppEnum.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmFieldCvfColor.h"
#include "cafPdmFieldCvfMat4d.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
#include "cvfObject.h"
class RigFemPart;
class Rim3dOverlayInfoConfig;
class RimCellRangeFilterCollection;
class RimGeoMechCase;
class RimGeoMechCellColors;
class RimGeoMechPropertyFilterCollection;
class RiuViewer;
class RivGeoMechPartMgr;
class RivGeoMechVizLogic;
namespace cvf {
class Transform;
class CellRangeFilter;
class Transform;
}
//==================================================================================================
@ -61,8 +63,8 @@ public:
virtual void loadDataAndUpdate();
caf::PdmField<RimGeoMechCellColors*> cellResult;
caf::PdmField<RimGeoMechPropertyFilterCollection*> propertyFilterCollection;
caf::PdmChildField<RimGeoMechCellColors*> cellResult;
caf::PdmChildField<RimGeoMechPropertyFilterCollection*> propertyFilterCollection;
bool isTimeStepDependentDataVisible();

View File

@ -51,7 +51,7 @@ RimIdenticalGridCaseGroup::RimIdenticalGridCaseGroup()
CAF_PDM_InitField(&name, "UserDescription", QString("Grid Case Group"), "Name", "", "", "");
CAF_PDM_InitField(&groupId, "GroupId", -1, "Case Group ID", "", "" ,"");
groupId.setUiReadOnly(true);
groupId.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitFieldNoDefault(&statisticsCaseCollection, "StatisticsCaseCollection", "Derived Statistics", ":/Histograms16x16.png", "", "");
CAF_PDM_InitFieldNoDefault(&caseCollection, "CaseCollection", "Source Cases", ":/Cases16x16.png", "", "");
@ -457,11 +457,10 @@ RigActiveCellInfo* RimIdenticalGridCaseGroup::unionOfActiveCells(RifReaderInterf
//--------------------------------------------------------------------------------------------------
bool RimIdenticalGridCaseGroup::isStatisticsCaseCollection(RimCaseCollection* rimCaseCollection)
{
std::vector<caf::PdmFieldHandle*> fields;
rimCaseCollection->parentFields(fields);
if (fields.size() == 1)
caf::PdmFieldHandle* parentField = rimCaseCollection->parentField();
if (parentField)
{
if (fields[0]->keyword() == "StatisticsCaseCollection")
if (parentField->keyword() == "StatisticsCaseCollection")
{
return true;
}

View File

@ -20,19 +20,21 @@
#pragma once
#include "cvfBase.h"
#include "cvfObject.h"
#include "RifReaderInterface.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "RifReaderInterface.h"
#include "cvfBase.h"
#include "cvfObject.h"
class RigActiveCellInfo;
class RigMainGrid;
class RimCaseCollection;
class RimEclipseStatisticsCase;
class RimEclipseCase;
class RigMainGrid;
class RigActiveCellInfo;
class RimEclipseStatisticsCase;
//==================================================================================================
//
@ -49,8 +51,8 @@ public:
caf::PdmField<QString> name;
caf::PdmField<int> groupId;
caf::PdmField<RimCaseCollection*> caseCollection;
caf::PdmField<RimCaseCollection*> statisticsCaseCollection;
caf::PdmChildField<RimCaseCollection*> caseCollection;
caf::PdmChildField<RimCaseCollection*> statisticsCaseCollection;
void addCase(RimEclipseCase* reservoir);
void removeCase(RimEclipseCase* reservoir);

View File

@ -114,7 +114,7 @@ RimLegendConfig::RimLegendConfig()
CAF_PDM_InitField(&m_userDefinedMaxValue, "UserDefinedMax", 1.0, "Max", "", "Min value of the legend", "");
CAF_PDM_InitField(&m_userDefinedMinValue, "UserDefinedMin", 0.0, "Min", "", "Max value of the legend", "");
CAF_PDM_InitField(&resultVariableName, "ResultVariableUsage", QString(""), "", "", "", "");
resultVariableName.setUiHidden(true);
resultVariableName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
m_linDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLinear;
m_logDiscreteScalarMapper = new cvf::ScalarMapperDiscreteLog;
@ -392,20 +392,20 @@ void RimLegendConfig::updateLegend()
if (m_globalAutoMax != cvf::UNDEFINED_DOUBLE )
{
m_userDefinedMaxValue.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax, 'g', m_precision) + ")");
m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax, 'g', m_precision) + ")");
}
else
{
m_userDefinedMaxValue.setUiName(QString());
m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString());
}
if (m_globalAutoMin != cvf::UNDEFINED_DOUBLE )
{
m_userDefinedMinValue.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin, 'g', m_precision) + ")");
m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin, 'g', m_precision) + ")");
}
else
{
m_userDefinedMinValue.setUiName(QString());
m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiName(QString());
}
}
@ -470,13 +470,13 @@ void RimLegendConfig::updateFieldVisibility()
{
if (m_rangeMode == USER_DEFINED)
{
m_userDefinedMaxValue.setUiHidden(false);
m_userDefinedMinValue.setUiHidden(false);
m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(false);
}
else
{
m_userDefinedMaxValue.setUiHidden(true);
m_userDefinedMinValue.setUiHidden(true);
m_userDefinedMaxValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
m_userDefinedMinValue.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
}

View File

@ -39,7 +39,7 @@ RimMockModelSettings::RimMockModelSettings()
CAF_PDM_InitField(&cellCountZ, "CellCountZ", quint64(10), "Cell Count Z", "", "", "");
CAF_PDM_InitFieldNoDefault(&totalCellCount, "TotalCellCount", "Total Cell Count", "", "", "");
totalCellCount.setUiReadOnly(true);
totalCellCount.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitField(&resultCount, "ResultCount", quint64(3), "Result Count", "", "", "");
CAF_PDM_InitField(&timeStepCount, "TimeStepCount", quint64(10), "Time Step Count", "", "", "");
@ -58,7 +58,12 @@ RimMockModelSettings::~RimMockModelSettings()
void RimMockModelSettings::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
{
totalCellCount = cellCountX * cellCountY * cellCountZ;
totalCellCount.updateConnectedEditors();
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&totalCellCount);
if (uiFieldHandle)
{
uiFieldHandle->updateConnectedEditors();
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -29,7 +29,7 @@ RimNoCommonAreaNNC::RimNoCommonAreaNNC()
CAF_PDM_InitObject("RimNoCommonAreaNNC", "", "", "");
CAF_PDM_InitFieldNoDefault(&name, "Name", "Name", "", "", "");
name.setUiReadOnly(true);
name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
}
//--------------------------------------------------------------------------------------------------

View File

@ -19,6 +19,8 @@
#include "RimNoCommonAreaNncCollection.h"
#include "RimNoCommonAreaNNC.h"
CAF_PDM_SOURCE_INIT(RimNoCommonAreaNncCollection, "RimNoCommonAreaNncCollection");
//--------------------------------------------------------------------------------------------------
@ -29,7 +31,7 @@ RimNoCommonAreaNncCollection::RimNoCommonAreaNncCollection()
CAF_PDM_InitObject("RimNoCommonAreaNncCollection", "", "", "");
CAF_PDM_InitField(&name, "UserDescription", QString("No Common Area Nncs"), "Name", "", "", "");
name.setUiHidden(true);
name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&noCommonAreaNncs, "NoCommonAreaNncs", "NoCommonAreaNncs", "", "", "");
}

View File

@ -19,6 +19,7 @@
#pragma once
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
@ -41,5 +42,5 @@ public:
virtual caf::PdmFieldHandle* userDescriptionField();
caf::PdmField<QString> name;
caf::PdmPointersField<RimNoCommonAreaNNC*> noCommonAreaNncs;
caf::PdmChildArrayField<RimNoCommonAreaNNC*> noCommonAreaNncs;
};

View File

@ -20,13 +20,14 @@
#pragma once
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
class RimWellPathCollection;
class RimEclipseCaseCollection;
class RimGeoMechModels;
class RimWellPathCollection;
//==================================================================================================
///
@ -40,7 +41,7 @@ public:
RimOilField(void);
virtual ~RimOilField(void);
caf::PdmField<RimEclipseCaseCollection*> analysisModels;
caf::PdmField<RimGeoMechModels*> geoMechModels;
caf::PdmField<RimWellPathCollection*> wellPathCollection;
caf::PdmChildField<RimEclipseCaseCollection*> analysisModels;
caf::PdmChildField<RimGeoMechModels*> geoMechModels;
caf::PdmChildField<RimWellPathCollection*> wellPathCollection;
};

View File

@ -32,6 +32,7 @@
#include "RimScriptCollection.h"
#include "RimWellPathCollection.h"
#include "RimWellPathImport.h"
#include "RimCommandObject.h"
#include <QDir>
#include "RimGeoMechModels.h"
@ -44,44 +45,44 @@ CAF_PDM_SOURCE_INIT(RimProject, "ResInsightProject");
RimProject::RimProject(void)
{
CAF_PDM_InitFieldNoDefault(&m_projectFileVersionString, "ProjectFileVersionString", "", "", "", "");
m_projectFileVersionString.setUiHidden(true);
m_projectFileVersionString.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&nextValidCaseId, "NextValidCaseId", 0, "Next Valid Case ID", "", "" ,"");
nextValidCaseId.setUiHidden(true);
nextValidCaseId.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&nextValidCaseGroupId, "NextValidCaseGroupId", 0, "Next Valid Case Group ID", "", "" ,"");
nextValidCaseGroupId.setUiHidden(true);
nextValidCaseGroupId.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&oilFields, "OilFields", "Oil Fields", "", "", "");
oilFields.setUiHidden(true);
oilFields.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&scriptCollection, "ScriptCollection", "Scripts", ":/Default.png", "", "");
CAF_PDM_InitFieldNoDefault(&treeViewState, "TreeViewState", "", "", "", "");
treeViewState.setUiHidden(true);
treeViewState.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&wellPathImport, "WellPathImport", "WellPathImport", "", "", "");
wellPathImport = new RimWellPathImport();
wellPathImport.setUiHidden(true);
wellPathImport.setUiChildrenHidden(true);
wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiChildrenHidden(true);
CAF_PDM_InitFieldNoDefault(&commandObjects, "CommandObjects", "CommandObjects", "", "", "");
//wellPathImport.setUiHidden(true);
//wellPathImport.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&currentModelIndexPath, "TreeViewCurrentModelIndexPath", "", "", "", "");
currentModelIndexPath.setUiHidden(true);
currentModelIndexPath.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
// Obsolete fields. The content is moved to OilFields and friends
CAF_PDM_InitFieldNoDefault(&casesObsolete, "Reservoirs", "", "", "", "");
casesObsolete.setUiHidden(true);
casesObsolete.setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
casesObsolete.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
casesObsolete.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
CAF_PDM_InitFieldNoDefault(&caseGroupsObsolete, "CaseGroups", "", "", "", "");
caseGroupsObsolete.setUiHidden(true);
caseGroupsObsolete.setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
caseGroupsObsolete.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
caseGroupsObsolete.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false); // read but not write, they will be moved into RimAnalysisGroups
// Initialization
scriptCollection = new RimScriptCollection();
scriptCollection->directory.setUiHidden(true);
scriptCollection->directory.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
// For now, create a default first oilfield that contains the rest of the project
oilFields.push_back(new RimOilField);

View File

@ -20,18 +20,19 @@
#pragma once
#include "cafPdmChildField.h"
#include "cafPdmDocument.h"
class RimOilField;
class RimEclipseCase;
class RimCase;
class RigGridManager;
class RimScriptCollection;
class RimIdenticalGridCaseGroup;
class RigMainGrid;
class RigCaseData;
class RimWellPathImport;
class RigGridManager;
class RigMainGrid;
class RimCase;
class RimCommandObject;
class RimEclipseCase;
class RimIdenticalGridCaseGroup;
class RimOilField;
class RimScriptCollection;
class RimWellPathImport;
//==================================================================================================
///
@ -45,10 +46,10 @@ public:
RimProject(void);
virtual ~RimProject(void);
caf::PdmPointersField<RimOilField*> oilFields;
caf::PdmField<RimScriptCollection*> scriptCollection;
caf::PdmField<RimWellPathImport*> wellPathImport;
caf::PdmPointersField<RimCommandObject*> commandObjects;
caf::PdmChildArrayField<RimOilField*> oilFields;
caf::PdmChildField<RimScriptCollection*> scriptCollection;
caf::PdmChildField<RimWellPathImport*> wellPathImport;
caf::PdmChildArrayField<RimCommandObject*> commandObjects;
caf::PdmField<QString> treeViewState;
caf::PdmField<QString> currentModelIndexPath;
@ -80,7 +81,7 @@ private:
caf::PdmField<int> nextValidCaseId; // Unique case ID within a project, used to identify a case from Octave scripts
caf::PdmField<int> nextValidCaseGroupId; // Unique case group ID within a project, used to identify a case group from Octave scripts
caf::PdmPointersField<RimEclipseCase*> casesObsolete; // obsolete
caf::PdmPointersField<RimIdenticalGridCaseGroup*> caseGroupsObsolete; // obsolete
caf::PdmChildArrayField<RimEclipseCase*> casesObsolete; // obsolete
caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> caseGroupsObsolete; // obsolete
};

View File

@ -50,9 +50,9 @@ RimReservoirCellResultsStorage::RimReservoirCellResultsStorage()
CAF_PDM_InitObject("Cacher", "", "", "");
CAF_PDM_InitField(&m_resultCacheFileName, "ResultCacheFileName", QString(), "UiDummyname", "", "" ,"");
m_resultCacheFileName.setUiHidden(true);
m_resultCacheFileName.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_resultCacheMetaData, "ResultCacheEntries", "UiDummyname", "", "", "");
m_resultCacheMetaData.setUiHidden(true);
m_resultCacheMetaData.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
}
@ -1527,8 +1527,11 @@ double RimReservoirCellResultsStorage::darchysValue()
double darchy = 0.008527; // (ECLIPSE 100) (METRIC)
// MODTODO Fix usage of firstAncestorOfType
return darchy;
RimEclipseCase* rimCase = NULL;
this->firstAncestorOfType(rimCase);
//this->firstAncestorOfType(rimCase);
if (rimCase && rimCase->reservoirData())
{

View File

@ -20,13 +20,16 @@
#pragma once
#include "RimDefines.h"
#include "cafAppEnum.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cvfBase.h"
#include "cvfObject.h"
#include "RimDefines.h"
#include <QDateTime>
@ -80,7 +83,7 @@ private:
QString getCacheDirectoryPath();
// Fields
caf::PdmField<QString> m_resultCacheFileName;
caf::PdmPointersField<RimReservoirCellResultsStorageEntryInfo*>
caf::PdmChildArrayField<RimReservoirCellResultsStorageEntryInfo*>
m_resultCacheMetaData;
cvf::ref<RifReaderInterface> m_readerInterface;

View File

@ -42,7 +42,7 @@ RimScriptCollection::RimScriptCollection()
CAF_PDM_InitFieldNoDefault(&calcScripts, "CalcScripts", "", "", "", "");
CAF_PDM_InitFieldNoDefault(&subDirectories, "SubDirectories", "", "", "", "");
directory.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
directory.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
}
//--------------------------------------------------------------------------------------------------

View File

@ -20,6 +20,7 @@
#pragma once
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
@ -44,9 +45,9 @@ public:
public: // Pdm Fields
caf::PdmField<QString> directory;
caf::PdmPointersField<RimCalcScript*> calcScripts;
caf::PdmChildArrayField<RimCalcScript*> calcScripts;
caf::PdmPointersField<RimScriptCollection*> subDirectories;
caf::PdmChildArrayField<RimScriptCollection*> subDirectories;
public: // Methods
void readContentFromDisc();

View File

@ -57,29 +57,29 @@ RimTernaryLegendConfig::RimTernaryLegendConfig()
CAF_PDM_InitField(&rangeMode, "RangeType", RangeModeEnum(USER_DEFINED), "Range type", "", "Switches between automatic and user defined range on the legend", "");
CAF_PDM_InitFieldNoDefault(&applyLocalMinMax, "m_applyLocalMinMax", "", "", "", "");
applyLocalMinMax.setIOWritable(false);
applyLocalMinMax.setIOReadable(false);
applyLocalMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyLocalMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyLocalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
applyLocalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
applyLocalMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyLocalMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyLocalMinMax = false;
CAF_PDM_InitFieldNoDefault(&applyGlobalMinMax, "m_applyGlobalMinMax", "", "", "", "");
applyGlobalMinMax.setIOWritable(false);
applyGlobalMinMax.setIOReadable(false);
applyGlobalMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyGlobalMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyGlobalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
applyGlobalMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
applyGlobalMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyGlobalMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyGlobalMinMax = false;
CAF_PDM_InitFieldNoDefault(&applyFullRangeMinMax, "m_applyFullRangeMinMax", "", "", "", "");
applyFullRangeMinMax.setIOWritable(false);
applyFullRangeMinMax.setIOReadable(false);
applyFullRangeMinMax.setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyFullRangeMinMax.setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyFullRangeMinMax.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
applyFullRangeMinMax.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
applyFullRangeMinMax.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
applyFullRangeMinMax.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
applyFullRangeMinMax = false;
CAF_PDM_InitFieldNoDefault(&ternaryRangeSummary, "ternaryRangeSummary", "Range summary", "", "", "");
ternaryRangeSummary.setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
ternaryRangeSummary.setUiLabelPosition(caf::PdmUiItemInfo::TOP);
ternaryRangeSummary.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
ternaryRangeSummary.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
CAF_PDM_InitField(&userDefinedMaxValueSoil, "UserDefinedMaxSoil", 1.0, "Max", "", "Min value of the legend", "");
@ -380,47 +380,47 @@ void RimTernaryLegendConfig::ternaryRanges(double& soilLower, double& soilUpper,
void RimTernaryLegendConfig::updateLabelText()
{
{
userDefinedMinValueSoil.setUiName("Min");
userDefinedMaxValueSoil.setUiName("Max");
userDefinedMinValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
userDefinedMaxValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
if (m_globalAutoMin[TERNARY_SOIL_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMinValueSoil.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SOIL_IDX], 'g', precision) + ")");
userDefinedMinValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SOIL_IDX], 'g', precision) + ")");
}
if (m_globalAutoMax[TERNARY_SOIL_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMaxValueSoil.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SOIL_IDX], 'g', precision) + ")");
userDefinedMaxValueSoil.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SOIL_IDX], 'g', precision) + ")");
}
}
{
userDefinedMinValueSgas.setUiName("Min");
userDefinedMaxValueSgas.setUiName("Max");
userDefinedMinValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
userDefinedMaxValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
if (m_globalAutoMin[TERNARY_SGAS_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMinValueSgas.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SGAS_IDX], 'g', precision) + ")");
userDefinedMinValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SGAS_IDX], 'g', precision) + ")");
}
if (m_globalAutoMax[TERNARY_SGAS_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMaxValueSgas.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SGAS_IDX], 'g', precision) + ")");
userDefinedMaxValueSgas.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SGAS_IDX], 'g', precision) + ")");
}
}
{
userDefinedMinValueSwat.setUiName("Min");
userDefinedMaxValueSwat.setUiName("Max");
userDefinedMinValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName("Min");
userDefinedMaxValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName("Max");
if (m_globalAutoMin[TERNARY_SWAT_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMinValueSwat.setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SWAT_IDX], 'g', precision) + ")");
userDefinedMinValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Min ") + "(" + QString::number(m_globalAutoMin[TERNARY_SWAT_IDX], 'g', precision) + ")");
}
if (m_globalAutoMax[TERNARY_SWAT_IDX] != cvf::UNDEFINED_DOUBLE )
{
userDefinedMaxValueSwat.setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SWAT_IDX], 'g', precision) + ")");
userDefinedMaxValueSwat.capability<caf::PdmUiFieldHandle>()->setUiName(QString("Max ") + "(" + QString::number(m_globalAutoMax[TERNARY_SWAT_IDX], 'g', precision) + ")");
}
}

View File

@ -205,7 +205,9 @@ void RimUiTreeModelPdm::deleteReservoirViews(const std::vector<caf::PdmUiItem*>&
RimView* reservoirView = dynamic_cast<RimView*>(treeSelection[sIdx]);
ownerCases.insert(reservoirView->ownerCase());
reservoirView->removeFromParentFields();
// MODTODO how to hanle this??
//reservoirView->removeFromParentFields();
delete reservoirView;
}
@ -223,25 +225,22 @@ void RimUiTreeModelPdm::deleteReservoirViews(const std::vector<caf::PdmUiItem*>&
//--------------------------------------------------------------------------------------------------
void RimUiTreeModelPdm::deleteGeoMechCases(const std::vector<caf::PdmUiItem*>& treeSelection)
{
std::set<caf::PdmObject*> allParents;
std::set<caf::PdmObjectHandle*> allParents;
for (size_t sIdx = 0; sIdx < treeSelection.size(); ++sIdx)
{
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(treeSelection[sIdx]);
if (!geomCase) continue;
std::vector<caf::PdmObject*> parents;
geomCase->parentObjects(parents);
for (size_t pIdx = 0; pIdx < treeSelection.size(); ++pIdx)
{
allParents.insert(parents[pIdx]);
}
allParents.insert(geomCase->parentField()->ownerObject());
// MODTODO how to handle this?
//geomCase->removeFromParentFields();
geomCase->removeFromParentFields();
delete geomCase;
}
for (std::set<caf::PdmObject*>::iterator it = allParents.begin(); it != allParents.end(); ++it)
for (std::set<caf::PdmObjectHandle*>::iterator it = allParents.begin(); it != allParents.end(); ++it)
{
updateUiSubTree(*it);
}
@ -535,11 +534,9 @@ void RimUiTreeModelPdm::addInputProperty(const QModelIndex& itemIndex, const QSt
RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(currentItem->dataObject().p());
CVF_ASSERT(inputPropertyCollection);
std::vector<RimEclipseInputCase*> parentObjects;
inputPropertyCollection->parentObjectsOfType(parentObjects);
CVF_ASSERT(parentObjects.size() == 1);
RimEclipseInputCase* inputReservoir = parentObjects[0];
RimEclipseInputCase* inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
CVF_ASSERT(inputReservoir);
if (inputReservoir)
{
@ -559,25 +556,17 @@ void RimUiTreeModelPdm::deleteInputProperty(const QModelIndex& itemIndex)
caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(itemIndex);
if (!uiItem) return;
caf::PdmObject* object = uiItem->dataObject().p();
caf::PdmObjectHandle* object = uiItem->dataObject().p();
RimEclipseInputProperty* inputProperty = dynamic_cast<RimEclipseInputProperty*>(object);
if (!inputProperty) return;
// Remove item from UI tree model before delete of project data structure
removeRows_special(itemIndex.row(), 1, itemIndex.parent());
std::vector<RimEclipseInputPropertyCollection*> parentObjects;
object->parentObjectsOfType(parentObjects);
CVF_ASSERT(parentObjects.size() == 1);
RimEclipseInputPropertyCollection* inputPropertyCollection = parentObjects[0];
RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(object->parentField()->ownerObject());
if (!inputPropertyCollection) return;
std::vector<RimEclipseInputCase*> parentObjects2;
inputPropertyCollection->parentObjectsOfType(parentObjects2);
CVF_ASSERT(parentObjects2.size() == 1);
RimEclipseInputCase* inputReservoir = parentObjects2[0];
RimEclipseInputCase* inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
if (!inputReservoir) return;
inputReservoir->removeProperty(inputProperty);
@ -682,7 +671,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
if (gridCaseGroup)
{
std::vector<caf::PdmPointer<RimEclipseResultCase> > typedObjects;
pdmObjects.createCopyByType(&typedObjects);
pdmObjects.createCopyByType(&typedObjects, caf::PdmDefaultObjectFactory::instance());
if (typedObjects.size() == 0)
{
@ -781,7 +770,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
else if (caseFromItemIndex(itemIndex))
{
std::vector<caf::PdmPointer<RimEclipseView> > eclipseViews;
pdmObjects.createCopyByType(&eclipseViews);
pdmObjects.createCopyByType(&eclipseViews, caf::PdmDefaultObjectFactory::instance());
if (eclipseViews.size() != 0)
{
@ -817,7 +806,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
}
}
caf::PdmObject* selectedObject = getTreeItemFromIndex(itemIndex)->dataObject().p();
caf::PdmObjectHandle* selectedObject = getTreeItemFromIndex(itemIndex)->dataObject().p();
RimGeoMechCase* geomCase = dynamic_cast<RimGeoMechCase*>(selectedObject);
if (!geomCase && selectedObject)
{
@ -828,7 +817,7 @@ void RimUiTreeModelPdm::addObjects(const QModelIndex& itemIndex, const caf::PdmO
if (geomCase)
{
std::vector<caf::PdmPointer<RimGeoMechView> > geomViews;
pdmObjects.createCopyByType(&geomViews);
pdmObjects.createCopyByType(&geomViews, caf::PdmDefaultObjectFactory::instance());
if (geomViews.size() != 0)
{
@ -874,7 +863,7 @@ void RimUiTreeModelPdm::moveObjects(const QModelIndex& itemIndex, caf::PdmObject
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& itemIndex)
bool RimUiTreeModelPdm::deleteObjectFromPdmChildArrayField(const QModelIndex& itemIndex)
{
if (!itemIndex.isValid())
{
@ -884,13 +873,11 @@ bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& item
caf::PdmUiTreeItem* currentItem = getTreeItemFromIndex(itemIndex);
CVF_ASSERT(currentItem);
caf::PdmObject* currentPdmObject = currentItem->dataObject().p();
caf::PdmObjectHandle* currentPdmObject = currentItem->dataObject().p();
CVF_ASSERT(currentPdmObject);
std::vector<caf::PdmFieldHandle*> parentFields;
currentPdmObject->parentFields(parentFields);
caf::PdmFieldHandle* parentField = currentPdmObject->parentField();
if (parentFields.size() == 1)
{
beginRemoveRows(itemIndex.parent(), itemIndex.row(), itemIndex.row());
if (currentItem->parent())
@ -899,7 +886,7 @@ bool RimUiTreeModelPdm::deleteObjectFromPdmPointersField(const QModelIndex& item
}
endRemoveRows();
caf::PdmPointersField<RimIdenticalGridCaseGroup*>* caseGroup = dynamic_cast<caf::PdmPointersField<RimIdenticalGridCaseGroup*> *>(parentFields[0]);
caf::PdmChildArrayField<RimIdenticalGridCaseGroup*>* caseGroup = dynamic_cast<caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> *>(parentField);
if (caseGroup)
{
caseGroup->removeChildObject(currentPdmObject);
@ -979,7 +966,7 @@ bool RimUiTreeModelPdm::dropMimeData(const QMimeData *data, Qt::DropAction actio
{
QModelIndex mi = myMimeData->indexes().at(i);
caf::PdmUiTreeItem* currentItem = getTreeItemFromIndex(mi);
caf::PdmObject* pdmObj = currentItem->dataObject().p();
caf::PdmObjectHandle* pdmObj = currentItem->dataObject().p();
pog.objects().push_back(pdmObj);
}
@ -1116,19 +1103,24 @@ void RimUiTreeModelPdm::setObjectToggleStateForSelection(QModelIndexList selecte
caf::PdmUiTreeItem* treeItem = UiTreeModelPdm::getTreeItemFromIndex(index);
assert(treeItem);
caf::PdmObject* obj = treeItem->dataObject();
caf::PdmObjectHandle* obj = treeItem->dataObject();
assert(obj);
caf::PdmUiObjectHandle* uiObjectHandle = uiObj(obj);
assert(uiObjectHandle);
if (selectedIndexes.size() != 1)
{
if (obj && obj->objectToggleField())
if (uiObjectHandle && uiObjectHandle->objectToggleField())
{
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(obj->objectToggleField());
if (field)
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(uiObjectHandle->objectToggleField());
caf::PdmUiFieldHandle* uiFieldHandle = uiField(field);
if (uiFieldHandle)
{
if (state == RimUiTreeView::TOGGLE_ON) field->setValueFromUi(true);
if (state == RimUiTreeView::TOGGLE_OFF) field->setValueFromUi(false);
if (state == RimUiTreeView::TOGGLE) field->setValueFromUi(!(field->v()));
if (state == RimUiTreeView::TOGGLE_ON) uiFieldHandle->setValueFromUi(true);
if (state == RimUiTreeView::TOGGLE_OFF) uiFieldHandle->setValueFromUi(false);
if (state == RimUiTreeView::TOGGLE) uiFieldHandle->setValueFromUi(!(field->v()));
}
}
}
@ -1142,16 +1134,19 @@ void RimUiTreeModelPdm::setObjectToggleStateForSelection(QModelIndexList selecte
caf::PdmUiTreeItem* child = treeItem->child(cIdx);
if (!child) continue;
caf::PdmObject* childObj = child->dataObject();
caf::PdmObjectHandle* childObj = child->dataObject();
caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj(obj);
if (childObj && childObj->objectToggleField())
if (uiObjectHandleChild && uiObjectHandleChild->objectToggleField())
{
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(childObj->objectToggleField());
if (field)
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(uiObjectHandleChild->objectToggleField());
caf::PdmUiFieldHandle* uiFieldHandle = uiField(field);
if (uiFieldHandle)
{
if (state == RimUiTreeView::TOGGLE_ON) field->setValueFromUi(true);
if (state == RimUiTreeView::TOGGLE_OFF) field->setValueFromUi(false);
if (state == RimUiTreeView::TOGGLE) field->setValueFromUi(!(field->v()));
if (state == RimUiTreeView::TOGGLE_ON) uiFieldHandle->setValueFromUi(true);
if (state == RimUiTreeView::TOGGLE_OFF) uiFieldHandle->setValueFromUi(false);
if (state == RimUiTreeView::TOGGLE) uiFieldHandle->setValueFromUi(!(field->v()));
}
}
}
@ -1169,7 +1164,7 @@ void RimUiTreeModelPdm::deleteAllWellPaths(const QModelIndex& itemIndex)
caf::PdmUiTreeItem* uiItem = getTreeItemFromIndex(itemIndex);
if (!uiItem) return;
caf::PdmObject* object = uiItem->dataObject().p();
caf::PdmObjectHandle* object = uiItem->dataObject().p();
RimWellPathCollection* wellPathCollection = dynamic_cast<RimWellPathCollection*>(object);
if (!wellPathCollection) return;

View File

@ -78,7 +78,7 @@ public:
RimEclipseStatisticsCase* addStatisticalCalculation(const QModelIndex& itemIndex, QModelIndex& insertedModelIndex);
RimIdenticalGridCaseGroup* addCaseGroup(QModelIndex& insertedModelIndex);
bool deleteObjectFromPdmPointersField(const QModelIndex& itemIndex);
bool deleteObjectFromPdmChildArrayField(const QModelIndex& itemIndex);
void updateScriptPaths();

View File

@ -23,7 +23,9 @@
#include "cafPdmDocument.h"
#include "cafPdmFieldCvfColor.h"
#include "cafPdmFieldCvfMat4d.h"
#include "cafPdmUiPropertyDialog.h"
// MODTODO
//#include "cafPdmUiPropertyDialog.h"
#include <QAction>
#include <QMenu>
@ -73,6 +75,7 @@
#include "RigSingleWellResultsData.h"
#include "RimGeoMechView.h"
#include "RimGeoMechCase.h"
#include "cafPdmUiPropertyViewDialog.h"
//--------------------------------------------------------------------------------------------------
@ -232,7 +235,7 @@ void RimUiTreeView::contextMenuEvent(QContextMenuEvent* event)
{
menu.addAction(QString("New Grid Case Group"), this, SLOT(slotAddCaseGroup()));
menu.addAction(m_pasteAction);
menu.addAction(QString("Close"), this, SLOT(slotDeleteObjectFromPdmPointersField()));
menu.addAction(QString("Close"), this, SLOT(slotDeleteObjectFromPdmChildArrayField()));
}
else if (dynamic_cast<RimCaseCollection*>(uiItem->dataObject().p()))
{
@ -718,7 +721,7 @@ void RimUiTreeView::slotDeleteView()
//--------------------------------------------------------------------------------------------------
void RimUiTreeView::slotSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected)
{
caf::PdmObject* pdmObject = NULL;
caf::PdmObjectHandle* pdmObject = NULL;
if (selected.indexes().size() == 1)
{
@ -828,18 +831,10 @@ void RimUiTreeView::slotWriteInputProperty()
// Find input reservoir for this property
RimEclipseInputCase* inputReservoir = NULL;
{
std::vector<RimEclipseInputPropertyCollection*> parentObjects;
inputProperty->parentObjectsOfType(parentObjects);
CVF_ASSERT(parentObjects.size() == 1);
RimEclipseInputPropertyCollection* inputPropertyCollection = parentObjects[0];
RimEclipseInputPropertyCollection* inputPropertyCollection = dynamic_cast<RimEclipseInputPropertyCollection*>(inputProperty->parentField()->ownerObject());
if (!inputPropertyCollection) return;
std::vector<RimEclipseInputCase*> parentObjects2;
inputPropertyCollection->parentObjectsOfType(parentObjects2);
CVF_ASSERT(parentObjects2.size() == 1);
inputReservoir = parentObjects2[0];
inputReservoir = dynamic_cast<RimEclipseInputCase*>(inputPropertyCollection->parentField()->ownerObject());
}
if (!inputReservoir) return;
@ -864,7 +859,7 @@ void RimUiTreeView::slotWriteInputProperty()
exportSettings.fileName = outputFileName;
}
caf::PdmUiPropertyDialog propertyDialog(this, &exportSettings, "Export Eclipse Property to Text File");
caf::PdmUiPropertyViewDialog propertyDialog(this, &exportSettings, "Export Eclipse Property to Text File", "");
if (propertyDialog.exec() == QDialog::Accepted)
{
bool isOk = RifEclipseInputFileTools::writePropertyToTextFile(exportSettings.fileName, inputReservoir->reservoirData(), 0, inputProperty->resultName, exportSettings.eclipseKeyword);
@ -917,7 +912,7 @@ void RimUiTreeView::slotWriteBinaryResultAsInputProperty()
exportSettings.fileName = outputFileName;
}
caf::PdmUiPropertyDialog propertyDialog(this, &exportSettings, "Export Binary Eclipse Data to Text File");
caf::PdmUiPropertyViewDialog propertyDialog(this, &exportSettings, "Export Binary Eclipse Data to Text File", "");
if (propertyDialog.exec() == QDialog::Accepted)
{
size_t timeStep = resultColors->reservoirView()->currentTimeStep();
@ -1025,12 +1020,12 @@ void RimUiTreeView::slotAddCaseGroup()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimUiTreeView::slotDeleteObjectFromPdmPointersField()
void RimUiTreeView::slotDeleteObjectFromPdmChildArrayField()
{
RimUiTreeModelPdm* myModel = dynamic_cast<RimUiTreeModelPdm*>(model());
if (myModel)
{
myModel->deleteObjectFromPdmPointersField(currentIndex());
myModel->deleteObjectFromPdmChildArrayField(currentIndex());
}
}
@ -1657,7 +1652,7 @@ void RimUiTreeView::selectedUiItems(std::vector<caf::PdmUiItem*>& objects)
caf::PdmUiTreeItem* uiItem = myModel->getTreeItemFromIndex(idxList[i]);
if (uiItem)
{
caf::PdmUiItem* item = uiItem->dataObject();
caf::PdmUiItem* item = uiObj(uiItem->dataObject());
objects.push_back(item);
}
}

View File

@ -91,7 +91,7 @@ private slots:
void slotComputeStatistics();
void slotAddCaseGroup();
void slotDeleteObjectFromPdmPointersField();
void slotDeleteObjectFromPdmChildArrayField();
void slotAddScriptPath();
void slotDeleteScriptPath();
@ -108,7 +108,7 @@ private slots:
void slotDeleteAllWellPaths();
signals:
void selectedObjectChanged( caf::PdmObject* pdmObject );
void selectedObjectChanged( caf::PdmObjectHandle* pdmObject );
public:
enum SelectionToggleType

View File

@ -61,7 +61,7 @@ RimView::RimView(void)
CAF_PDM_InitField(&name, "UserDescription", QString(""), "Name", "", "", "");
CAF_PDM_InitField(&showWindow, "ShowWindow", true, "Show 3D viewer", "", "", "");
showWindow.setUiHidden(true);
showWindow.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&cameraPosition, "CameraPosition", cvf::Mat4d::IDENTITY, "", "", "", "");
double defaultScaleFactor = 1.0;
@ -72,12 +72,12 @@ RimView::RimView(void)
CAF_PDM_InitField(&backgroundColor, "ViewBackgroundColor", defBackgColor, "Background", "", "", "");
CAF_PDM_InitField(&maximumFrameRate, "MaximumFrameRate", 10, "Maximum frame rate", "", "", "");
maximumFrameRate.setUiHidden(true);
maximumFrameRate.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&hasUserRequestedAnimation, "AnimationMode", false, "Animation Mode", "", "", "");
hasUserRequestedAnimation.setUiHidden(true);
hasUserRequestedAnimation.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&m_currentTimeStep, "CurrentTimeStep", 0, "Current Time Step", "", "", "");
m_currentTimeStep.setUiHidden(true);
m_currentTimeStep.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&overlayInfoConfig, "OverlayInfoConfig", "Info Box", "", "", "");
overlayInfoConfig = new Rim3dOverlayInfoConfig();
@ -270,14 +270,14 @@ void RimView::setMeshOnlyDrawstyle()
{
if (isGridVisualizationMode())
{
meshMode.setValueFromUi(FULL_MESH);
uiField(&meshMode)->setValueFromUi(FULL_MESH);
}
else
{
meshMode.setValueFromUi(FAULTS_MESH);
uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
}
surfaceMode.setValueFromUi(NO_SURFACE);
uiField(&surfaceMode)->setValueFromUi(NO_SURFACE);
}
//--------------------------------------------------------------------------------------------------
@ -287,13 +287,13 @@ void RimView::setMeshSurfDrawstyle()
{
if (isGridVisualizationMode())
{
surfaceMode.setValueFromUi(SURFACE);
meshMode.setValueFromUi(FULL_MESH);
uiField(&surfaceMode)->setValueFromUi(SURFACE);
uiField(&meshMode)->setValueFromUi(FULL_MESH);
}
else
{
surfaceMode.setValueFromUi(FAULTS);
meshMode.setValueFromUi(FAULTS_MESH);
uiField(&surfaceMode)->setValueFromUi(FAULTS);
uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
}
}
@ -309,14 +309,14 @@ void RimView::setFaultMeshSurfDrawstyle()
// Mesh SF SF SF
if (this->isGridVisualizationMode())
{
surfaceMode.setValueFromUi(SURFACE);
uiField(&surfaceMode)->setValueFromUi(SURFACE);
}
else
{
surfaceMode.setValueFromUi(FAULTS);
uiField(&surfaceMode)->setValueFromUi(FAULTS);
}
meshMode.setValueFromUi(FAULTS_MESH);
uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
}
//--------------------------------------------------------------------------------------------------
@ -326,13 +326,14 @@ void RimView::setSurfOnlyDrawstyle()
{
if (isGridVisualizationMode())
{
surfaceMode.setValueFromUi(SURFACE);
uiField(&surfaceMode)->setValueFromUi(SURFACE);
}
else
{
surfaceMode.setValueFromUi(FAULTS);
uiField(&surfaceMode)->setValueFromUi(FAULTS);
}
meshMode.setValueFromUi(NO_MESH);
uiField(&meshMode)->setValueFromUi(NO_MESH);
}
//--------------------------------------------------------------------------------------------------
@ -343,13 +344,13 @@ void RimView::setShowFaultsOnly(bool showFaults)
if (showFaults)
{
m_previousGridModeMeshLinesWasFaults = meshMode() == FAULTS_MESH;
if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(FAULTS);
if (meshMode() != NO_MESH) meshMode.setValueFromUi(FAULTS_MESH);
if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(FAULTS);
if (meshMode() != NO_MESH) uiField(&meshMode)->setValueFromUi(FAULTS_MESH);
}
else
{
if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(SURFACE);
if (meshMode() != NO_MESH) meshMode.setValueFromUi(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH: FULL_MESH);
if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(SURFACE);
if (meshMode() != NO_MESH) uiField(&meshMode)->setValueFromUi(m_previousGridModeMeshLinesWasFaults ? FAULTS_MESH: FULL_MESH);
}
}
@ -358,7 +359,7 @@ void RimView::setShowFaultsOnly(bool showFaults)
//--------------------------------------------------------------------------------------------------
void RimView::setSurfaceDrawstyle()
{
if (surfaceMode() != NO_SURFACE) surfaceMode.setValueFromUi(SURFACE);
if (surfaceMode() != NO_SURFACE) uiField(&surfaceMode)->setValueFromUi(SURFACE);
}
//--------------------------------------------------------------------------------------------------

View File

@ -19,13 +19,17 @@
#pragma once
#include "cafPdmObject.h"
#include "cafAppEnum.h"
#include "cafPdmChildField.h"
#include "cafPdmField.h"
#include "cafPdmFieldCvfColor.h"
#include "cafPdmFieldCvfMat4d.h"
#include "cafAppEnum.h"
#include "cafPdmObject.h"
#include "RivCellSetEnum.h"
#include <QPointer>
class RiuViewer;
class Rim3dOverlayInfoConfig;
class RimCase;
@ -63,7 +67,7 @@ public:
caf::PdmField<int> maximumFrameRate;
caf::PdmField<bool> hasUserRequestedAnimation;
caf::PdmField<RimCellRangeFilterCollection*> rangeFilterCollection;
caf::PdmChildField<RimCellRangeFilterCollection*> rangeFilterCollection;
// Draw style
@ -140,7 +144,7 @@ protected:
QPointer<RiuViewer> m_viewer;
caf::PdmField<int> m_currentTimeStep;
caf::PdmField<Rim3dOverlayInfoConfig*> overlayInfoConfig;
caf::PdmChildField<Rim3dOverlayInfoConfig*> overlayInfoConfig;
// Overridden PDM methods:
virtual void setupBeforeSave();

View File

@ -39,44 +39,44 @@ RimWellPath::RimWellPath()
CAF_PDM_InitObject("WellPath", ":/Well.png", "", "");
CAF_PDM_InitFieldNoDefault(&name, "WellPathName", "Name", "", "", "");
name.setUiReadOnly(true);
name.setIOWritable(false);
name.setIOReadable(false);
name.setUiHidden(true);
name.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
name.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
name.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
name.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&id, "WellPathId", "Id", "", "", "");
id.setUiReadOnly(true);
id.setIOWritable(false);
id.setIOReadable(false);
id.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
id.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
id.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitFieldNoDefault(&sourceSystem, "SourceSystem", "Source System", "", "", "");
sourceSystem.setUiReadOnly(true);
sourceSystem.setIOWritable(false);
sourceSystem.setIOReadable(false);
sourceSystem.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
sourceSystem.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
sourceSystem.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitFieldNoDefault(&utmZone, "UTMZone", "UTM Zone", "", "", "");
utmZone.setUiReadOnly(true);
utmZone.setIOWritable(false);
utmZone.setIOReadable(false);
utmZone.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
utmZone.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
utmZone.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitFieldNoDefault(&updateDate, "WellPathUpdateDate", "Update Date", "", "", "");
updateDate.setUiReadOnly(true);
updateDate.setIOWritable(false);
updateDate.setIOReadable(false);
updateDate.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
updateDate.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
updateDate.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitFieldNoDefault(&updateUser, "WellPathUpdateUser", "Update User", "", "", "");
updateUser.setUiReadOnly(true);
updateUser.setIOWritable(false);
updateUser.setIOReadable(false);
updateUser.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
updateUser.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
updateUser.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitFieldNoDefault(&m_surveyType, "WellPathSurveyType", "Survey Type", "", "", "");
m_surveyType.setUiReadOnly(true);
m_surveyType.setIOWritable(false);
m_surveyType.setIOReadable(false);
m_surveyType.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
m_surveyType.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
m_surveyType.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
CAF_PDM_InitField(&filepath, "WellPathFilepath", QString(""), "Filepath", "", "", "");
filepath.setUiReadOnly(true);
filepath.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitField(&wellPathIndexInFile, "WellPathNumberInFile", -1, "Well Number in file", "", "", "");
wellPathIndexInFile.setUiReadOnly(true);
wellPathIndexInFile.capability<caf::PdmUiFieldHandle>()->setUiReadOnly(true);
CAF_PDM_InitField(&showWellPathLabel, "ShowWellPathLabel", true, "Show well path label", "", "", "");
CAF_PDM_InitField(&showWellPath, "ShowWellPath", true, "Show well path", "", "", "");
showWellPath.setUiHidden(true);
showWellPath.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&wellPathRadiusScaleFactor, "WellPathRadiusScale", 1.0, "Well path radius scale", "", "", "");
CAF_PDM_InitField(&wellPathColor, "WellPathColor", cvf::Color3f(0.999f, 0.333f, 0.999f), "Well path color", "", "", "");

View File

@ -56,7 +56,7 @@ RimWellPathCollection::RimWellPathCollection()
CAF_PDM_InitObject("Wells", ":/WellCollection.png", "", "");
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
isActive.setUiHidden(true);
isActive.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&showWellPathLabel, "ShowWellPathLabel", true, "Show well path labels", "", "", "");
@ -67,9 +67,9 @@ RimWellPathCollection::RimWellPathCollection()
CAF_PDM_InitField(&wellPathRadiusScaleFactor, "WellPathRadiusScale", 0.1, "Well Path radius scale", "", "", "");
CAF_PDM_InitField(&wellPathCrossSectionVertexCount, "WellPathVertexCount", 12, "Well Path vertex count", "", "", "");
wellPathCrossSectionVertexCount.setIOWritable(false);
wellPathCrossSectionVertexCount.setIOReadable(false);
wellPathCrossSectionVertexCount.setUiHidden(true);
wellPathCrossSectionVertexCount.capability<caf::PdmXmlFieldHandle>()->setIOWritable(false);
wellPathCrossSectionVertexCount.capability<caf::PdmXmlFieldHandle>()->setIOReadable(false);
wellPathCrossSectionVertexCount.capability<caf::PdmUiFieldHandle>()->setUiHidden(true);
CAF_PDM_InitField(&wellPathClip, "WellPathClip", true, "Clip Well Paths", "", "", "");
CAF_PDM_InitField(&wellPathClipZDistance, "WellPathClipZDistance", 100, "Well path clipping depth distance", "", "", "");

View File

@ -20,6 +20,7 @@
#pragma once
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
#include "cafPdmPointer.h"
@ -72,7 +73,7 @@ public:
caf::PdmField<bool> wellPathClip;
caf::PdmField<int> wellPathClipZDistance;
caf::PdmPointersField<RimWellPath*> wellPaths;
caf::PdmChildArrayField<RimWellPath*> wellPaths;
RivWellPathCollectionPartMgr* wellPathCollectionPartMgr() { return m_wellPathCollectionPartManager.p(); }

View File

@ -59,8 +59,12 @@
#include "cafAboutDialog.h"
#include "cafAnimationToolBar.h"
#include "cafPdmFieldCvfMat4d.h"
#include "cafPdmUiPropertyDialog.h"
// MODTODO
//#include "cafPdmUiPropertyDialog.h"
#include "cafPdmUiPropertyView.h"
#include "cafPdmUiPropertyViewDialog.h"
#include "cvfTimer.h"
#include "RimGeoMechModels.h"
@ -572,7 +576,7 @@ void RiuMainWindow::createDockPanels()
dockWidget->setWidget(m_pdmUiPropertyView);
m_pdmUiPropertyView->layout()->setContentsMargins(5,0,0,0);
connect(m_treeView, SIGNAL(selectedObjectChanged( caf::PdmObject* )), m_pdmUiPropertyView, SLOT(showProperties( caf::PdmObject* )));
connect(m_treeView, SIGNAL(selectedObjectChanged( caf::PdmObjectHandle* )), m_pdmUiPropertyView, SLOT(showProperties( caf::PdmObjectHandle* )));
addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
}
@ -1438,6 +1442,10 @@ void RiuMainWindow::slotShowPerformanceInfo(bool enable)
//--------------------------------------------------------------------------------------------------
void RiuMainWindow::slotEditPreferences()
{
// MODTODO
// See RPM to find a solution for read/write to registry from pdm object
/*
RiaApplication* app = RiaApplication::instance();
caf::PdmUiPropertyDialog propertyDialog(this, app->preferences(), "Preferences");
if (propertyDialog.exec() == QDialog::Accepted)
@ -1451,6 +1459,7 @@ void RiuMainWindow::slotEditPreferences()
// Read back currently stored values using QSettings
app->readFieldsFromApplicationStore(app->preferences());
}
*/
}
//--------------------------------------------------------------------------------------------------
@ -1469,7 +1478,8 @@ void RiuMainWindow::slotFramerateChanged(double frameRate)
{
if (RiaApplication::instance()->activeReservoirView() != NULL)
{
RiaApplication::instance()->activeReservoirView()->maximumFrameRate.setValueFromUi(QVariant(frameRate));
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&RiaApplication::instance()->activeReservoirView()->maximumFrameRate);
uiFieldHandle->setValueFromUi(QVariant(frameRate));
}
}
@ -1518,7 +1528,7 @@ void RiuMainWindow::slotCurrentChanged(const QModelIndex & current, const QModel
while (tmp.isValid())
{
caf::PdmUiTreeItem* treeItem = m_treeModelPdm->getTreeItemFromIndex(tmp);
caf::PdmObject* pdmObject = treeItem->dataObject();
caf::PdmObjectHandle* pdmObject = treeItem->dataObject();
RimView* rimReservoirView = dynamic_cast<RimView*>(pdmObject);
if (rimReservoirView)
@ -1596,7 +1606,7 @@ void RiuMainWindow::slotNewObjectPropertyView()
addDockWidget(Qt::RightDockWidgetArea, dockWidget);
connect(treeView, SIGNAL(selectedObjectChanged( caf::PdmObject* )), propView, SLOT(showProperties( caf::PdmObject* )));
connect(treeView, SIGNAL(selectedObjectChanged( caf::PdmObjectHandle* )), propView, SLOT(showProperties( caf::PdmObjectHandle* )));
additionalPropertyEditors.push_back(dockWidget);
}
}
@ -1731,7 +1741,8 @@ void RiuMainWindow::slotToggleFaultLabelsAction(bool showLabels)
RimEclipseView* activeRiv = dynamic_cast<RimEclipseView*>(RiaApplication::instance()->activeReservoirView());
if (!activeRiv) return;
activeRiv->faultCollection->showFaultLabel.setValueFromUi(showLabels);
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&activeRiv->faultCollection->showFaultLabel);
uiFieldHandle->setValueFromUi(showLabels);
refreshDrawStyleActions();
}
@ -1861,7 +1872,8 @@ void RiuMainWindow::slotScaleChanged(int scaleValue)
{
if (RiaApplication::instance()->activeReservoirView())
{
RiaApplication::instance()->activeReservoirView()->scaleZ.setValueFromUi(scaleValue);
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&RiaApplication::instance()->activeReservoirView()->scaleZ);
uiFieldHandle->setValueFromUi(scaleValue);
}
}
@ -1930,7 +1942,23 @@ void RiuMainWindow::slotImportWellPathsFromSSIHub()
wellPathsFolderPath += "_wellpaths";
QDir::root().mkpath(wellPathsFolderPath);
RimWellPathImport* copyOfWellPathImport = dynamic_cast<RimWellPathImport*>(app->project()->wellPathImport->deepCopy());
RimWellPathImport* copyOfWellPathImport = NULL;
// Create a copy of the object
// MODTODO: Verify that behaviour is correct
{
caf::PdmObjectGroup objGroup;
objGroup.addObject(app->project()->wellPathImport);
std::vector<caf::PdmPointer<RimWellPathImport> > typedObjects;
objGroup.createCopyByType(&typedObjects, caf::PdmDefaultObjectFactory::instance());
if (typedObjects.size() == 1)
{
copyOfWellPathImport = typedObjects[0];
}
}
RiuWellImportWizard wellImportwizard(app->preferences()->ssihubAddress, wellPathsFolderPath, copyOfWellPathImport, this);
RimWellPathImport* wellPathObjectToBeDeleted = NULL;
@ -2014,7 +2042,7 @@ void RiuMainWindow::slotShowRegressionTestDialog()
RiaApplication* app = RiaApplication::instance();
app->readFieldsFromApplicationStore(&regTestConfig);
caf::PdmUiPropertyDialog regressionTestDialog(this, &regTestConfig, "Regression Test");
caf::PdmUiPropertyViewDialog regressionTestDialog(this, &regTestConfig, "Regression Test", "");
if (regressionTestDialog.exec() == QDialog::Accepted)
{
// Write preferences using QSettings and apply them to the application
@ -2074,7 +2102,12 @@ void RiuMainWindow::slotAddWellCellsToRangeFilterAction(bool doAdd)
{
caf::AppEnum<RimEclipseWellCollection::WellCellsRangeFilterType> rangeAddType;
rangeAddType = doAdd ? RimEclipseWellCollection::RANGE_ADD_INDIVIDUAL : RimEclipseWellCollection::RANGE_ADD_NONE;
riv->wellCollection()->wellCellsToRangeFilterMode.setValueFromUi(static_cast<unsigned int>(rangeAddType.index()));
caf::PdmUiFieldHandle* pdmUiFieldHandle = uiField(&riv->wellCollection()->wellCellsToRangeFilterMode);
if (pdmUiFieldHandle)
{
pdmUiFieldHandle->setValueFromUi(static_cast<unsigned int>(rangeAddType.index()));
}
}
}
@ -2095,7 +2128,7 @@ void RiuMainWindow::slotOpenUsersGuideInBrowserAction()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuMainWindow::appendActionsContextMenuForPdmObject(caf::PdmObject* pdmObject, QMenu* menu)
void RiuMainWindow::appendActionsContextMenuForPdmObject(caf::PdmObjectHandle* pdmObject, QMenu* menu)
{
if (!menu)
{

View File

@ -99,7 +99,7 @@ public:
void setDefaultWindowSize();
void appendActionsContextMenuForPdmObject(caf::PdmObject* pdmObject, QMenu* menu);
void appendActionsContextMenuForPdmObject(caf::PdmObjectHandle* pdmObject, QMenu* menu);
void refreshDrawStyleActions();
void setExpanded(const caf::PdmObject* pdmObject, bool expanded);

View File

@ -275,7 +275,11 @@ void RiuViewerCommands::slotHideFault()
RimFault* rimFault = eclipseView->faultCollection()->findFaultByName(faultName);
if (rimFault)
{
rimFault->showFault.setValueFromUi(!rimFault->showFault);
caf::PdmUiFieldHandle* uiFieldHandle = uiField(&rimFault->showFault);
if (uiFieldHandle)
{
uiFieldHandle->setValueFromUi(!rimFault->showFault);
}
}
}
}