mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Allow invalid PdmUiTreeOrdering objects, and display message in Debug
This commit is contained in:
parent
198da4d553
commit
c7fca88bdc
@ -54,6 +54,8 @@ namespace caf
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiTreeOrdering::add(PdmFieldHandle * field)
|
||||
{
|
||||
assert(field);
|
||||
|
||||
PdmUiTreeOrdering* child = new PdmUiTreeOrdering(this, field);
|
||||
}
|
||||
|
||||
@ -62,6 +64,8 @@ void PdmUiTreeOrdering::add(PdmFieldHandle * field)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiTreeOrdering::add(PdmObjectHandle* object)
|
||||
{
|
||||
assert(object);
|
||||
|
||||
PdmUiTreeOrdering* child = new PdmUiTreeOrdering(this, object);
|
||||
}
|
||||
|
||||
@ -71,6 +75,7 @@ void PdmUiTreeOrdering::add(PdmObjectHandle* object)
|
||||
PdmUiTreeOrdering* PdmUiTreeOrdering::add(const QString & title, const QString& iconResourceName)
|
||||
{
|
||||
PdmUiTreeOrdering* child = new PdmUiTreeOrdering(title, iconResourceName);
|
||||
assert(child->isValid());
|
||||
|
||||
this->appendChild(child);
|
||||
return child;
|
||||
|
@ -119,8 +119,8 @@ private:
|
||||
PdmUiTreeOrdering(PdmUiTreeOrdering* parent, PdmFieldHandle* pdmField );
|
||||
|
||||
// Item that we represent
|
||||
PdmPointer<PdmObjectHandle> m_object;
|
||||
PdmFieldHandle* m_field;
|
||||
PdmPointer<PdmObjectHandle> m_object; // We keep both pointer to object and pointer to field when representing a field
|
||||
PdmFieldHandle* m_field; // because m_object is guarded while PdmFieldHandle::ownerObject() is not guarded
|
||||
PdmUiItem* m_uiItem;
|
||||
|
||||
// Tree generation control
|
||||
|
@ -89,7 +89,7 @@ void PdmUiTreeViewModel::setPdmItemRoot(PdmUiItem* rootItem)
|
||||
|
||||
assert( newRoot || rootItem == NULL ); // Only fields, objects or NULL is allowed.
|
||||
|
||||
if (newRoot) newRoot->debugDump(0);
|
||||
//if (newRoot) newRoot->debugDump(0);
|
||||
|
||||
this->resetTree(newRoot);
|
||||
}
|
||||
@ -483,8 +483,17 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
bool isFieldRep = uitreeOrdering->isRepresentingField();
|
||||
bool isDisplayOnly = uitreeOrdering->isDisplayItemOnly();
|
||||
|
||||
// MODTODO
|
||||
//assert (uitreeOrdering->isValid()); // Tree generation has some error.
|
||||
|
||||
if (role == Qt::DisplayRole && !uitreeOrdering->isValid())
|
||||
{
|
||||
QString str;
|
||||
|
||||
#ifdef DEBUG
|
||||
str = "Invalid uiordering";
|
||||
#endif
|
||||
|
||||
return QVariant(str);
|
||||
}
|
||||
|
||||
if (role == Qt::DisplayRole || role == Qt::EditRole)
|
||||
{
|
||||
@ -512,8 +521,8 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
|
||||
if (uitreeOrdering->activeItem())
|
||||
{
|
||||
return uitreeOrdering->activeItem()->uiName();
|
||||
}
|
||||
return uitreeOrdering->activeItem()->uiName();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
@ -523,8 +532,8 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
{
|
||||
if (uitreeOrdering->activeItem())
|
||||
{
|
||||
return uitreeOrdering->activeItem()->uiIcon();
|
||||
}
|
||||
return uitreeOrdering->activeItem()->uiIcon();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
@ -534,8 +543,8 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
{
|
||||
if (uitreeOrdering->activeItem())
|
||||
{
|
||||
return uitreeOrdering->activeItem()->uiToolTip();
|
||||
}
|
||||
return uitreeOrdering->activeItem()->uiToolTip();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
@ -545,8 +554,8 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
{
|
||||
if (uitreeOrdering->activeItem())
|
||||
{
|
||||
return uitreeOrdering->activeItem()->uiWhatsThis();
|
||||
}
|
||||
return uitreeOrdering->activeItem()->uiWhatsThis();
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
@ -561,24 +570,24 @@ QVariant PdmUiTreeViewModel::data(const QModelIndex &index, int role ) const
|
||||
{
|
||||
caf::PdmUiFieldHandle* uiFieldHandle = pdmUiObj->objectToggleField()->uiCapability();
|
||||
if (uiFieldHandle)
|
||||
{
|
||||
{
|
||||
bool isToggledOn = uiFieldHandle->uiValue().toBool();
|
||||
if (isToggledOn)
|
||||
{
|
||||
return Qt::Checked;
|
||||
if (isToggledOn)
|
||||
{
|
||||
return Qt::Checked;
|
||||
}
|
||||
else
|
||||
{
|
||||
return Qt::Unchecked;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return Qt::Unchecked;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user