diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.cpp b/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.cpp index 10581bf59a..037a100cd9 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.cpp +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.cpp @@ -47,6 +47,24 @@ void PdmObjectGroup::addObject(PdmObjectHandle * obj) +CAF_PDM_SOURCE_INIT(PdmGuardedObjects, "PdmGuardedObjects"); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +PdmGuardedObjects::PdmGuardedObjects() +{ + CAF_PDM_InitObject("PdmGuardedObjects", "", "", ""); + CAF_PDM_InitFieldNoDefault(&objects, "PdmObjects", "", "", "", "") +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +PdmGuardedObjects::~PdmGuardedObjects() +{ + +} } //End of namespace caf diff --git a/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.h b/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.h index d25a917ca6..66b23f4161 100644 --- a/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.h +++ b/Fwk/AppFwk/cafProjectDataModel/cafPdmObjectGroup.h @@ -1,6 +1,7 @@ #pragma once #include "cafPdmObject.h" +#include "cafPdmChildArrayField.h" #include @@ -89,6 +90,16 @@ void PdmObjectGroup::createCopyByType(std::vector >* copyOfTypedOb } +class PdmGuardedObjects : public PdmObject +{ + CAF_PDM_HEADER_INIT; +public: + PdmGuardedObjects(); + ~PdmGuardedObjects(); + + caf::PdmChildArrayField objects; +}; + } // End of namespace caf diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.cpp index a553a3d10f..305a88d559 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.cpp @@ -37,8 +37,9 @@ #include "cafPdmUiListView.h" -#include "cafPdmUiListViewEditor.h" +#include "cafPdmObjectGroup.h" #include "cafPdmObjectHandle.h" +#include "cafPdmUiListViewEditor.h" #include @@ -79,7 +80,7 @@ PdmUiListView::~PdmUiListView() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void PdmUiListView::setPdmObject(caf::PdmObjectHandle* object) +void PdmUiListView::setPdmObject(caf::PdmGuardedObjects* object) { assert(m_listViewEditor); diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.h index 7957141c56..bdd1e79b78 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiListView.h @@ -44,7 +44,7 @@ class QVBoxLayout; namespace caf { -class PdmObjectHandle; +class PdmGuardedObjects; class PdmUiListViewEditor; //================================================================================================== @@ -57,7 +57,7 @@ public: PdmUiListView(QWidget* parent = 0, Qt::WindowFlags f = 0); ~PdmUiListView(); - void setPdmObject(caf::PdmObjectHandle* object); + void setPdmObject(caf::PdmGuardedObjects* object); private: PdmUiListViewEditor* m_listViewEditor; diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.cpp index 8aa9afeb10..eec54096ec 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.cpp @@ -184,7 +184,7 @@ QVariant caf::UiListViewModelPdm::data(const QModelIndex &index, int role /*= Qt //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void caf::UiListViewModelPdm::setPdmData(PdmObjectGroup* objectGroup, const QString& configName) +void caf::UiListViewModelPdm::setPdmData(PdmGuardedObjects* objectGroup, const QString& configName) { m_pdmObjectGroup = objectGroup; m_configName = configName; @@ -244,7 +244,7 @@ QWidget* PdmUiListViewEditor::createWidget(QWidget* parent) //-------------------------------------------------------------------------------------------------- void PdmUiListViewEditor::configureAndUpdateUi(const QString& uiConfigName) { - PdmObjectGroup* objectGroup = dynamic_cast(pdmObject()); + PdmGuardedObjects* objectGroup = dynamic_cast(pdmObject()); m_tableModelPdm->setPdmData(objectGroup, uiConfigName); m_tableView->resizeColumnsToContents(); diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.h index 6d0119f973..5c5ec47d71 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiListViewEditor.h @@ -50,7 +50,7 @@ namespace caf { class PdmUiFieldEditorHandle; class PdmUiItem; -class PdmObjectGroup; +class PdmGuardedObjects; @@ -80,7 +80,7 @@ class UiListViewModelPdm : public QAbstractTableModel public: UiListViewModelPdm(QObject* parent); - void setPdmData(PdmObjectGroup* objectGroup, const QString& configName); + void setPdmData(PdmGuardedObjects* objectGroup, const QString& configName); // Qt overrides virtual int rowCount( const QModelIndex &parent = QModelIndex( ) ) const; @@ -92,7 +92,7 @@ private: void computeColumnCount(); private: - PdmObjectGroup* m_pdmObjectGroup; + PdmGuardedObjects* m_pdmObjectGroup; QString m_configName; PdmUiListViewEditorAttribute m_editorAttribute; int m_columnCount;