mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Added missing childObjects() for PtrField and fixed legend tree view visibility for PtrFields
This commit is contained in:
parent
f45c50fb43
commit
ac45fb111b
@ -61,6 +61,10 @@ public:
|
||||
|
||||
bool operator==(const DataTypePtr& fieldValue) { return m_fieldValue == fieldValue; }
|
||||
|
||||
// Child objects
|
||||
|
||||
virtual void childObjects(std::vector<PdmObjectHandle*>*);
|
||||
|
||||
// Ptr referenced objects
|
||||
|
||||
virtual void ptrReferencedObjects(std::vector<PdmObjectHandle*>* objectsToFill);
|
||||
@ -70,6 +74,7 @@ private:
|
||||
|
||||
friend class PdmFieldXmlCap< PdmPtrField <DataType*> >;
|
||||
void setRawPtr(PdmObjectHandle* obj);
|
||||
|
||||
PdmPointer<DataType> m_fieldValue;
|
||||
};
|
||||
|
||||
|
@ -72,6 +72,22 @@ caf::PdmPtrField<DataType*>& PdmPtrField<DataType*>::operator=(const FieldDataTy
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
template<typename DataType >
|
||||
void caf::PdmPtrField<DataType*>::childObjects(std::vector<PdmObjectHandle*>* objects)
|
||||
{
|
||||
assert(objects);
|
||||
PdmObjectHandle* obj = m_fieldValue.rawPtr();
|
||||
if (obj)
|
||||
{
|
||||
objects->push_back(obj);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -638,23 +638,7 @@ PdmUiTreeItem* UiTreeItemBuilderPdm::buildViewItems(PdmUiTreeItem* parentTreeIte
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
PdmUiTreeItem* objectTreeItem = NULL;
|
||||
|
||||
// Ignore this particular object if the field it resides in is hidden.
|
||||
// Child objects of this object, however, is not hidden
|
||||
// Todo: This is a Hack to make oilField disappear. Must be rewritten when
|
||||
// a more general ui tree building method is in place.
|
||||
|
||||
caf::PdmFieldHandle* parentField = object->parentField();
|
||||
if (parentField && parentField->uiCapability() && parentField->uiCapability()->isUiHidden())
|
||||
{
|
||||
objectTreeItem = parentTreeItem;
|
||||
}
|
||||
else
|
||||
{
|
||||
objectTreeItem = new PdmUiTreeItem(parentTreeItem, position, object);
|
||||
}
|
||||
PdmUiTreeItem* objectTreeItem = new PdmUiTreeItem(parentTreeItem, position, object);
|
||||
|
||||
std::vector<caf::PdmFieldHandle*> fields;
|
||||
object->fields(fields);
|
||||
|
Loading…
Reference in New Issue
Block a user