diff --git a/ApplicationCode/ProjectDataModel/Rim3dView.cpp b/ApplicationCode/ProjectDataModel/Rim3dView.cpp index e0db696577..fa72cfab77 100644 --- a/ApplicationCode/ProjectDataModel/Rim3dView.cpp +++ b/ApplicationCode/ProjectDataModel/Rim3dView.cpp @@ -89,7 +89,7 @@ Rim3dView::Rim3dView( void ) CAF_PDM_InitObject( "3d View", "", "", "" ); RICF_InitField( &m_id, "Id", -1, "View ID", "", "", "" ); - m_id.xmlCapability()->registerKeywordAlias( "ViewId" ); + m_id.registerKeywordAlias( "ViewId" ); m_id.uiCapability()->setUiReadOnly( true ); m_id.uiCapability()->setUiHidden( true ); m_id.capability()->setIOWriteable( false ); @@ -114,7 +114,7 @@ Rim3dView::Rim3dView( void ) cvf::Color3f defBackgColor = preferences->defaultViewerBackgroundColor(); RICF_InitField( &m_backgroundColor, "BackgroundColor", defBackgColor, "Background", "", "", "" ); - m_backgroundColor.xmlCapability()->registerKeywordAlias( "ViewBackgroundColor" ); + m_backgroundColor.registerKeywordAlias( "ViewBackgroundColor" ); CAF_PDM_InitField( &maximumFrameRate, "MaximumFrameRate", 10, "Maximum Frame Rate", "", "", "" ); maximumFrameRate.uiCapability()->setUiHidden( true ); diff --git a/ApplicationCode/ProjectDataModel/RimCase.cpp b/ApplicationCode/ProjectDataModel/RimCase.cpp index 859930acc5..f43589ebb3 100644 --- a/ApplicationCode/ProjectDataModel/RimCase.cpp +++ b/ApplicationCode/ProjectDataModel/RimCase.cpp @@ -46,16 +46,16 @@ RimCase::RimCase() RICF_InitObjectWithScriptNameAndComment( "Case", ":/Case48x48.png", "", "", "Case", "The ResInsight base class for Cases" ); RICF_InitField( &caseUserDescription, "Name", QString(), "Case Name", "", "", "" ); - caseUserDescription.xmlCapability()->registerKeywordAlias( "CaseUserDescription" ); + caseUserDescription.registerKeywordAlias( "CaseUserDescription" ); RICF_InitField( &caseId, "Id", -1, "Case ID", "", "", "" ); - caseId.xmlCapability()->registerKeywordAlias( "CaseId" ); + caseId.registerKeywordAlias( "CaseId" ); caseId.uiCapability()->setUiReadOnly( true ); caseId.capability()->setIOWriteable( false ); RICF_InitFieldNoDefault( &m_caseFileName, "FilePath", "Case File Name", "", "", "" ); - m_caseFileName.xmlCapability()->registerKeywordAlias( "CaseFileName" ); - m_caseFileName.xmlCapability()->registerKeywordAlias( "GridFileName" ); + m_caseFileName.registerKeywordAlias( "CaseFileName" ); + m_caseFileName.registerKeywordAlias( "GridFileName" ); m_caseFileName.uiCapability()->setUiReadOnly( true ); diff --git a/ApplicationCode/ProjectDataModel/RimPlotWindow.cpp b/ApplicationCode/ProjectDataModel/RimPlotWindow.cpp index eea4cda76d..7ff6703c97 100644 --- a/ApplicationCode/ProjectDataModel/RimPlotWindow.cpp +++ b/ApplicationCode/ProjectDataModel/RimPlotWindow.cpp @@ -45,7 +45,7 @@ RimPlotWindow::RimPlotWindow() "The Abstract base class for all MDI Windows in the Plot Window" ); RICF_InitField( &m_id, "Id", -1, "View ID", "", "", "" ); - m_id.xmlCapability()->registerKeywordAlias( "ViewId" ); + m_id.registerKeywordAlias( "ViewId" ); m_id.uiCapability()->setUiReadOnly( true ); m_id.uiCapability()->setUiHidden( true ); m_id.capability()->setIOWriteable( false ); diff --git a/ApplicationCode/ProjectDataModel/RimSimWellInView.cpp b/ApplicationCode/ProjectDataModel/RimSimWellInView.cpp index f697282298..2ce7f7a18f 100644 --- a/ApplicationCode/ProjectDataModel/RimSimWellInView.cpp +++ b/ApplicationCode/ProjectDataModel/RimSimWellInView.cpp @@ -65,7 +65,7 @@ RimSimWellInView::RimSimWellInView() RICF_InitObjectWithScriptNameAndComment( "Simulation Well", ":/Well.png", "", "", "SimulationWell", "An Eclipse Simulation Well" ); RICF_InitFieldNoDefault( &name, "Name", "Name", "", "", "" ); - name.xmlCapability()->registerKeywordAlias( "WellName" ); + name.registerKeywordAlias( "WellName" ); CAF_PDM_InitField( &showWell, "ShowWell", true, "Show well ", "", "", "" ); diff --git a/ApplicationCode/ProjectDataModel/RimWellPath.cpp b/ApplicationCode/ProjectDataModel/RimWellPath.cpp index 1f719a8619..4340e86fbb 100644 --- a/ApplicationCode/ProjectDataModel/RimWellPath.cpp +++ b/ApplicationCode/ProjectDataModel/RimWellPath.cpp @@ -76,7 +76,7 @@ RimWellPath::RimWellPath() RICF_InitObject( "WellPath", ":/Well.png", "", "The Base class for Well Paths" ); RICF_InitFieldNoDefault( &m_name, "Name", "Name", "", "", "" ); - m_name.xmlCapability()->registerKeywordAlias( "WellPathName" ); + m_name.registerKeywordAlias( "WellPathName" ); m_name.uiCapability()->setUiReadOnly( true ); m_name.uiCapability()->setUiHidden( true ); m_name.xmlCapability()->disableIO(); diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.cpp index ba26e818cd..7b237d0ff1 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.cpp @@ -104,6 +104,26 @@ bool PdmFieldHandle::hasPtrReferencedObjects() return (ptrReffedObjs.size() > 0); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmFieldHandle::registerKeywordAlias(const QString& alias) +{ + m_keywordAliases.push_back(alias); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool PdmFieldHandle::matchesKeywordAlias(const QString& keyword) const +{ + for (const QString& alias : m_keywordAliases) + { + if (alias == keyword) return true; + } + return false; +} + // These two functions can be used when PdmCore is used standalone without PdmUi/PdmXml /* PdmUiFieldHandle* PdmFieldHandle::uiCapability() diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h index 416165401d..aa1293769e 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmCore/cafPdmFieldHandle.h @@ -27,6 +27,9 @@ public: PdmObjectHandle* ownerObject(); QString ownerClass() const; + void registerKeywordAlias(const QString& alias); + bool matchesKeywordAlias(const QString& keyword) const; + // Child objects bool hasChildObjects(); virtual void childObjects(std::vector*) { } @@ -55,14 +58,13 @@ protected: private: PDM_DISABLE_COPY_AND_ASSIGN(PdmFieldHandle); - bool matchesKeywordAlias(const QString& keyword) const; - friend class PdmObjectHandle; // Give access to m_ownerObject and set Keyword void setKeyword(const QString& keyword); PdmObjectHandle* m_ownerObject; QString m_ownerClass; - QString m_keyword; + QString m_keyword; + std::vector m_keywordAliases; std::vector > m_capabilities; }; diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.cpp index 352579acb4..e876afcaff 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.cpp @@ -61,26 +61,6 @@ QString PdmXmlFieldHandle::childClassKeyword() return m_childClassKeyword; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void PdmXmlFieldHandle::registerKeywordAlias(const QString& alias) -{ - m_keywordAliases.push_back(alias); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -bool PdmXmlFieldHandle::matchesKeywordAlias(const QString& keyword) const -{ - for (const QString& alias : m_keywordAliases) - { - if (alias == keyword) return true; - } - return false; -} - //-------------------------------------------------------------------------------------------------- /// Implementation of uiCapability() defined in cafPdmFieldHandle.h //-------------------------------------------------------------------------------------------------- @@ -92,14 +72,5 @@ PdmXmlFieldHandle* PdmFieldHandle::xmlCapability() return xmlField; } -bool PdmFieldHandle::matchesKeywordAlias(const QString& keyword) const -{ - const PdmXmlFieldHandle* xmlField = capability(); - if (xmlField) - { - return xmlField->matchesKeywordAlias(keyword); - } - return false; -} } // End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.h index 14ccb5bbfe..f81b83755b 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmXml/cafPdmXmlFieldHandle.h @@ -40,9 +40,6 @@ public: QString childClassKeyword(); - void registerKeywordAlias(const QString& alias); - bool matchesKeywordAlias(const QString& keyword) const; - virtual void readFieldData(QXmlStreamReader& xmlStream, PdmObjectFactory* objectFactory) = 0; virtual void writeFieldData(QXmlStreamWriter& xmlStream) const = 0; @@ -58,7 +55,6 @@ private: bool m_isIOReadable; bool m_isIOWritable; bool m_isCopyable; - std::vector m_keywordAliases; PdmFieldHandle* m_owner; };