mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
[Fwk] Created test project for Cvf specialization
This commit is contained in:
parent
5093b559d2
commit
8e85c4e8fb
@ -1,24 +1,9 @@
|
||||
|
||||
#include "cafPdmField.h"
|
||||
|
||||
#include "MainWindow.h"
|
||||
|
||||
#include "WidgetLayoutTest.h"
|
||||
|
||||
#include <QDockWidget>
|
||||
#include <QTreeView>
|
||||
#include <QAction>
|
||||
#include <QMenuBar>
|
||||
#include <QUndoView>
|
||||
|
||||
|
||||
#include "cafAppEnum.h"
|
||||
|
||||
#ifdef TAP_USE_COMMAND_FRAMEWORK
|
||||
#include "cafCmdExecCommandManager.h"
|
||||
#include "cafCmdSelectionHelper.h"
|
||||
#include "cafCmdFeatureManager.h"
|
||||
#endif
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectGroup.h"
|
||||
#include "cafPdmProxyValueField.h"
|
||||
@ -32,329 +17,18 @@
|
||||
#include "cafPdmUiTreeView.h"
|
||||
#include "cafSelectionManager.h"
|
||||
|
||||
|
||||
|
||||
class DemoPdmObjectGroup : public caf::PdmObjectCollection
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
public:
|
||||
|
||||
DemoPdmObjectGroup()
|
||||
{
|
||||
objects.uiCapability()->setUiHidden(true);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
CAF_PDM_SOURCE_INIT(DemoPdmObjectGroup, "DemoPdmObjectGroup");
|
||||
|
||||
class SmallDemoPdmObject: public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
public:
|
||||
|
||||
SmallDemoPdmObject()
|
||||
{
|
||||
CAF_PDM_InitObject("Small Demo Object", ":/images/win/filenew.png", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework");
|
||||
|
||||
CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Toggle Field", "", "Toggle Field tooltip", " Toggle Field whatsthis");
|
||||
CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want" );
|
||||
CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here", "This is a place you can enter a small integer value if you want");
|
||||
CAF_PDM_InitField(&m_textField, "TextField", QString(""), "Text", "", "Text tooltip", "This is a place you can enter a small integer value if you want");
|
||||
|
||||
m_proxyDoubleField.registerSetMethod(this, &SmallDemoPdmObject::setDoubleMember);
|
||||
m_proxyDoubleField.registerGetMethod(this, &SmallDemoPdmObject::doubleMember);
|
||||
CAF_PDM_InitFieldNoDefault(&m_proxyDoubleField, "ProxyDouble", "Proxy Double", "", "", "");
|
||||
|
||||
m_proxyDoubleField = 0;
|
||||
if (!(m_proxyDoubleField == 3)) { std::cout << "Double is not 3 " << std::endl; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
caf::PdmField<double> m_doubleField;
|
||||
caf::PdmField<int> m_intField;
|
||||
caf::PdmField<QString> m_textField;
|
||||
caf::PdmProxyValueField<double> m_proxyDoubleField;
|
||||
|
||||
caf::PdmField<bool> m_toggleField;
|
||||
virtual caf::PdmFieldHandle* objectToggleField()
|
||||
{
|
||||
return &m_toggleField;
|
||||
}
|
||||
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
if (changedField == &m_toggleField)
|
||||
{
|
||||
std::cout << "Toggle Field changed" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void setDoubleMember(const double& d) { m_doubleMember = d; std::cout << "setDoubleMember" << std::endl; }
|
||||
double doubleMember() const { std::cout << "doubleMember" << std::endl; return m_doubleMember; }
|
||||
|
||||
private:
|
||||
double m_doubleMember;
|
||||
|
||||
};
|
||||
|
||||
CAF_PDM_SOURCE_INIT(SmallDemoPdmObject, "SmallDemoPdmObject");
|
||||
|
||||
|
||||
class SmallDemoPdmObjectA: public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
public:
|
||||
|
||||
enum TestEnumType
|
||||
{
|
||||
T1, T2, T3
|
||||
};
|
||||
|
||||
|
||||
SmallDemoPdmObjectA()
|
||||
{
|
||||
CAF_PDM_InitObject("Small Demo Object A", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework");
|
||||
|
||||
CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Toggle Field", "", "Toggle Field tooltip", " Toggle Field whatsthis");
|
||||
CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want");
|
||||
CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here","This is a place you can enter a small integer value if you want");
|
||||
CAF_PDM_InitField(&m_textField, "TextField", QString("Small Demo Object A"), "Name Text Field", "", "", "");
|
||||
CAF_PDM_InitField(&m_testEnumField, "TestEnumValue", caf::AppEnum<TestEnumType>(T1), "EnumField", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_ptrField, "m_ptrField", "PtrField", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_proxyEnumField, "ProxyEnumValue", "ProxyEnum", "", "", "");
|
||||
m_proxyEnumField.registerSetMethod(this, &SmallDemoPdmObjectA::setEnumMember);
|
||||
m_proxyEnumField.registerGetMethod(this, &SmallDemoPdmObjectA::enumMember);
|
||||
m_proxyEnumMember = T2;
|
||||
|
||||
m_testEnumField.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName());
|
||||
}
|
||||
|
||||
caf::PdmField<double> m_doubleField;
|
||||
caf::PdmField<int> m_intField;
|
||||
caf::PdmField<QString> m_textField;
|
||||
caf::PdmField< caf::AppEnum<TestEnumType> > m_testEnumField;
|
||||
caf::PdmPtrField<SmallDemoPdmObjectA*> m_ptrField;
|
||||
|
||||
caf::PdmProxyValueField< caf::AppEnum<TestEnumType> > m_proxyEnumField;
|
||||
void setEnumMember(const caf::AppEnum<TestEnumType>& val) { m_proxyEnumMember = val; }
|
||||
caf::AppEnum<TestEnumType> enumMember() const { return m_proxyEnumMember; }
|
||||
TestEnumType m_proxyEnumMember;
|
||||
|
||||
|
||||
|
||||
caf::PdmField<bool> m_toggleField;
|
||||
virtual caf::PdmFieldHandle* objectToggleField()
|
||||
{
|
||||
return &m_toggleField;
|
||||
}
|
||||
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
if (changedField == &m_toggleField)
|
||||
{
|
||||
std::cout << "Toggle Field changed" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly)
|
||||
{
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
|
||||
|
||||
if (&m_ptrField == fieldNeedingOptions)
|
||||
{
|
||||
caf::PdmFieldHandle* field;
|
||||
std::vector<caf::PdmObjectHandle*> objects;
|
||||
field = this->parentField();
|
||||
|
||||
field->childObjects(&objects);
|
||||
|
||||
for (size_t i = 0; i < objects.size(); ++i)
|
||||
{
|
||||
QString userDesc;
|
||||
|
||||
caf::PdmUiObjectHandle* uiObject = caf::uiObj(objects[i]);
|
||||
if (uiObject)
|
||||
{
|
||||
if (uiObject->userDescriptionField())
|
||||
{
|
||||
caf::PdmUiFieldHandle* uiFieldHandle = uiObject->userDescriptionField()->uiCapability();
|
||||
if (uiFieldHandle)
|
||||
{
|
||||
userDesc = uiFieldHandle->uiValue().toString();
|
||||
}
|
||||
}
|
||||
|
||||
options.push_back(caf::PdmOptionItemInfo(uiObject->uiName() + "(" + userDesc + ")", QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(objects[i]))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (useOptionsOnly) *useOptionsOnly = true;
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
virtual caf::PdmFieldHandle* userDescriptionField()
|
||||
{
|
||||
return &m_textField;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
CAF_PDM_SOURCE_INIT(SmallDemoPdmObjectA, "SmallDemoPdmObjectA");
|
||||
|
||||
namespace caf
|
||||
{
|
||||
template<>
|
||||
void AppEnum<SmallDemoPdmObjectA::TestEnumType>::setUp()
|
||||
{
|
||||
addItem(SmallDemoPdmObjectA::T1, "T1", "An A letter");
|
||||
addItem(SmallDemoPdmObjectA::T2, "T2", "A B letter");
|
||||
addItem(SmallDemoPdmObjectA::T3, "T3", "A B C letter");
|
||||
setDefault(SmallDemoPdmObjectA::T1);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Q_DECLARE_METATYPE(caf::AppEnum<SmallDemoPdmObjectA::TestEnumType>);
|
||||
|
||||
|
||||
|
||||
|
||||
class DemoPdmObject: public caf::PdmObject
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
public:
|
||||
|
||||
DemoPdmObject()
|
||||
{
|
||||
CAF_PDM_InitObject( "Demo Object", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework");
|
||||
|
||||
CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Toggle Field", "", "Toggle Field tooltip", " Toggle Field whatsthis");
|
||||
CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want");
|
||||
CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here", "This is a place you can enter a small integer value if you want" );
|
||||
CAF_PDM_InitField(&m_boolField, "BooleanValue", false, "Boolean:" , "", "Boolean:Enter some small number here", "Boolean:This is a place you can enter a small integer value if you want");
|
||||
CAF_PDM_InitField(&m_textField, "TextField", QString("Demo Object Description Field"), "", "", "", "");
|
||||
CAF_PDM_InitField(&m_filePath, "FilePath", QString(""), "Filename", "", "", "");
|
||||
CAF_PDM_InitField(&m_longText, "LongText", QString("Test text"), "Long Text", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_multiSelectList, "MultiSelect", "Selection List", "", "List" , "This is a multi selection list" );
|
||||
CAF_PDM_InitFieldNoDefault(&m_objectList, "ObjectList", "Objects list Field", "", "List" , "This is a list of PdmObjects" );
|
||||
CAF_PDM_InitFieldNoDefault(&m_objectListOfSameType, "m_objectListOfSameType", "Same type Objects list Field", "", "Same type List" , "Same type list of PdmObjects" );
|
||||
CAF_PDM_InitFieldNoDefault(&m_ptrField, "m_ptrField", "PtrField", "", "Same type List", "Same type list of PdmObjects");
|
||||
|
||||
m_filePath.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName());
|
||||
m_filePath.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
|
||||
m_longText.capability<caf::PdmUiFieldHandle>()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
|
||||
m_longText.capability<caf::PdmUiFieldHandle>()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
uiOrdering.add(&m_ptrField);
|
||||
uiOrdering.add(&m_boolField);
|
||||
caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Name1");
|
||||
group1->add(&m_doubleField);
|
||||
caf::PdmUiGroup* group2 = uiOrdering.addNewGroup("Name2");
|
||||
group2->add(&m_intField);
|
||||
caf::PdmUiGroup* group3 = group2->addNewGroup("Name3");
|
||||
group3->add(&m_textField);
|
||||
|
||||
//uiConfig->add(&f3);
|
||||
//uiConfig->forgetRemainingFields();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly)
|
||||
{
|
||||
QList<caf::PdmOptionItemInfo> options;
|
||||
if (&m_multiSelectList == fieldNeedingOptions)
|
||||
{
|
||||
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 1", "Choice1"));
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 2", "Choice2"));
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 3", "Choice3"));
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 4", "Choice4"));
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 5", "Choice5"));
|
||||
options.push_back(caf::PdmOptionItemInfo("Choice 6", "Choice6"));
|
||||
|
||||
}
|
||||
|
||||
if (&m_ptrField == fieldNeedingOptions)
|
||||
{
|
||||
for (size_t i = 0; i < m_objectListOfSameType.size(); ++i)
|
||||
{
|
||||
caf::PdmUiObjectHandle* uiObject = caf::uiObj(m_objectListOfSameType[i]);
|
||||
if (uiObject)
|
||||
{
|
||||
options.push_back(caf::PdmOptionItemInfo(uiObject->uiName(), QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(m_objectListOfSameType[i]))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (useOptionsOnly) *useOptionsOnly = true;
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
virtual caf::PdmFieldHandle* userDescriptionField()
|
||||
{
|
||||
return &m_textField;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Fields
|
||||
caf::PdmField<bool> m_boolField;
|
||||
caf::PdmField<double> m_doubleField;
|
||||
caf::PdmField<int> m_intField;
|
||||
caf::PdmField<QString> m_textField;
|
||||
|
||||
caf::PdmField<QString> m_filePath;
|
||||
|
||||
caf::PdmField<QString> m_longText;
|
||||
caf::PdmField<std::vector<QString> > m_multiSelectList;
|
||||
|
||||
|
||||
caf::PdmChildArrayField< caf::PdmObjectHandle* > m_objectList;
|
||||
caf::PdmChildArrayField< SmallDemoPdmObjectA* > m_objectListOfSameType;
|
||||
caf::PdmPtrField<SmallDemoPdmObjectA*> m_ptrField;
|
||||
|
||||
|
||||
caf::PdmField<bool> m_toggleField;
|
||||
virtual caf::PdmFieldHandle* objectToggleField()
|
||||
{
|
||||
return &m_toggleField;
|
||||
}
|
||||
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
if (changedField == &m_toggleField)
|
||||
{
|
||||
std::cout << "Toggle Field changed" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
CAF_PDM_SOURCE_INIT(DemoPdmObject, "DemoPdmObject");
|
||||
|
||||
#include <QAction>
|
||||
#include <QDockWidget>
|
||||
#include <QMenuBar>
|
||||
#include <QTreeView>
|
||||
#include <QUndoView>
|
||||
|
||||
#ifdef TAP_USE_COMMAND_FRAMEWORK
|
||||
#include "cafCmdExecCommandManager.h"
|
||||
#include "cafCmdSelectionHelper.h"
|
||||
#include "cafCmdFeatureManager.h"
|
||||
#endif
|
||||
#include "TapProject.h"
|
||||
|
||||
|
||||
MainWindow* MainWindow::sm_mainWindowInstance = NULL;
|
||||
@ -372,10 +46,10 @@ MainWindow::MainWindow()
|
||||
createDockPanels();
|
||||
|
||||
buildTestModel();
|
||||
setPdmRoot(m_testRoot);
|
||||
setPdmRoot(m_project);
|
||||
|
||||
sm_mainWindowInstance = this;
|
||||
caf::SelectionManager::instance()->setPdmRootObject(m_testRoot);
|
||||
caf::SelectionManager::instance()->setPdmRootObject(m_project);
|
||||
|
||||
#ifdef TAP_USE_COMMAND_FRAMEWORK
|
||||
caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true);
|
||||
@ -457,37 +131,7 @@ void MainWindow::createDockPanels()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void MainWindow::buildTestModel()
|
||||
{
|
||||
m_testRoot = new DemoPdmObjectGroup;
|
||||
|
||||
DemoPdmObject* demoObject = new DemoPdmObject;
|
||||
m_testRoot->objects.push_back(demoObject);
|
||||
|
||||
SmallDemoPdmObject* smallObj1 = new SmallDemoPdmObject;
|
||||
m_testRoot->objects.push_back(smallObj1);
|
||||
|
||||
SmallDemoPdmObjectA* smallObj2 = new SmallDemoPdmObjectA;
|
||||
m_testRoot->objects.push_back(smallObj2);
|
||||
|
||||
DemoPdmObject* demoObj2 = new DemoPdmObject;
|
||||
|
||||
demoObject->m_textField = "Mitt Demo Obj";
|
||||
demoObject->m_objectList.push_back(demoObj2);
|
||||
demoObject->m_objectList.push_back(new SmallDemoPdmObjectA());
|
||||
SmallDemoPdmObject* smallObj3 = new SmallDemoPdmObject();
|
||||
demoObject->m_objectList.push_back(smallObj3);
|
||||
demoObject->m_objectList.push_back(new SmallDemoPdmObject());
|
||||
|
||||
demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA());
|
||||
demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA());
|
||||
demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA());
|
||||
demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA());
|
||||
|
||||
|
||||
demoObj2->m_objectList.push_back(new SmallDemoPdmObjectA());
|
||||
demoObj2->m_objectList.push_back(new SmallDemoPdmObjectA());
|
||||
demoObj2->m_objectList.push_back(new SmallDemoPdmObject());
|
||||
|
||||
delete smallObj3;
|
||||
m_project = new TapProject;
|
||||
}
|
||||
|
||||
|
||||
@ -544,10 +188,9 @@ MainWindow::~MainWindow()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void MainWindow::releaseTestData()
|
||||
{
|
||||
if (m_testRoot)
|
||||
if (m_project)
|
||||
{
|
||||
m_testRoot->objects.deleteAllChildObjects();
|
||||
delete m_testRoot;
|
||||
delete m_project;
|
||||
}
|
||||
}
|
||||
|
||||
@ -586,6 +229,7 @@ void MainWindow::createActions()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void MainWindow::slotInsert()
|
||||
{
|
||||
/*
|
||||
std::vector<caf::PdmUiItem*> selection;
|
||||
m_pdmUiTreeView->selectedUiItems(selection);
|
||||
|
||||
@ -615,6 +259,7 @@ void MainWindow::slotInsert()
|
||||
}
|
||||
#endif
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -1,13 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <QtGui/QMainWindow>
|
||||
#include <QMainWindow>
|
||||
#include <QAbstractItemModel>
|
||||
#include <QItemSelection>
|
||||
|
||||
class DemoPdmObject;
|
||||
class QTreeView;
|
||||
class QUndoView;
|
||||
|
||||
class TapProject;
|
||||
|
||||
|
||||
namespace caf
|
||||
{
|
||||
class PdmObjectCollection;
|
||||
@ -58,6 +60,7 @@ private:
|
||||
caf::PdmUiTreeView* m_pdmUiTreeView2;
|
||||
caf::PdmUiPropertyView* m_pdmUiPropertyView;
|
||||
caf::PdmUiTableView* m_pdmUiTableView;
|
||||
caf::PdmObjectCollection* m_testRoot;
|
||||
|
||||
TapProject* m_project;
|
||||
};
|
||||
|
||||
|
@ -18,4 +18,5 @@ TapCvfSpecialization::TapCvfSpecialization()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_vecArrayField, "Points", "Selected points", "", "", "");
|
||||
|
||||
m_vecArrayField.v().push_back(cvf::Vec3d(1, 2, 3));
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "TapProject.h"
|
||||
#include "TapCvfSpecialization.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(TapProject, "RPMProject");
|
||||
|
||||
@ -9,6 +10,8 @@ TapProject::TapProject(void)
|
||||
{
|
||||
CAF_PDM_InitFieldNoDefault(&m_objectList, "ObjectList", "Objects list Field", "", "List", "This is a list of PdmObjects");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_testSpecialization, "TapCvfSpecialization", "TapCvfSpecialization Field", "", "", "");
|
||||
m_testSpecialization = new TapCvfSpecialization;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -1,7 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "cafPdmDocument.h"
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmChildField.h"
|
||||
|
||||
class TapCvfSpecialization;
|
||||
|
||||
|
||||
class TapProject : public caf::PdmDocument
|
||||
@ -14,4 +18,5 @@ public:
|
||||
|
||||
caf::PdmChildArrayField< caf::PdmObjectHandle* > m_objectList;
|
||||
|
||||
caf::PdmChildField< TapCvfSpecialization* > m_testSpecialization;
|
||||
};
|
Loading…
Reference in New Issue
Block a user