mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#3222 AppFwk : Improve robustness/maintainability
This commit is contained in:
parent
37369cb0fb
commit
cd63332514
@ -7,20 +7,47 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiFieldHandle::PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership):
|
||||
m_isAutoAddingOptionFromValue(true)
|
||||
PdmUiFieldHandle::PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership)
|
||||
: m_isAutoAddingOptionFromValue(true)
|
||||
{
|
||||
m_owner = owner;
|
||||
m_owner = owner;
|
||||
owner->addCapability(this, giveOwnership);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiFieldHandle::~PdmUiFieldHandle() {}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* PdmUiFieldHandle::fieldHandle()
|
||||
{
|
||||
return m_owner;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QVariant PdmUiFieldHandle::uiValue() const
|
||||
{
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<caf::PdmOptionItemInfo> PdmUiFieldHandle::valueOptions(bool* useOptionsOnly) const
|
||||
{
|
||||
return QList<PdmOptionItemInfo>();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiFieldHandle::notifyFieldChanged(const QVariant& oldFieldValue, const QVariant& newFieldValue)
|
||||
{
|
||||
@ -45,6 +72,27 @@ void PdmUiFieldHandle::notifyFieldChanged(const QVariant& oldFieldValue, const Q
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiFieldHandle::isAutoAddingOptionFromValue() const
|
||||
{
|
||||
return m_isAutoAddingOptionFromValue;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiFieldHandle::setAutoAddingOptionFromValue(bool isAddingValue)
|
||||
{
|
||||
m_isAutoAddingOptionFromValue = isAddingValue;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiFieldHandle::setValueFromUiEditor(const QVariant& uiValue) {}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Implementation of uiCapability() defined in cafPdmFieldHandle.h
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -1,43 +1,40 @@
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmUiItem.h"
|
||||
#include "cafPdmFieldCapability.h"
|
||||
#include "cafPdmUiFieldHandleInterface.h"
|
||||
#include "cafPdmUiItem.h"
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
class PdmFieldHandle;
|
||||
|
||||
class PdmUiFieldHandle : public PdmUiItem, public PdmFieldCapability, public PdmUiFieldHandleInterface
|
||||
{
|
||||
public:
|
||||
PdmUiFieldHandle(PdmFieldHandle* owner, bool giveOwnership);
|
||||
virtual ~PdmUiFieldHandle() { }
|
||||
virtual ~PdmUiFieldHandle();
|
||||
|
||||
PdmFieldHandle* fieldHandle() { return m_owner; }
|
||||
PdmFieldHandle* fieldHandle();
|
||||
|
||||
// Generalized access methods for User interface
|
||||
// The QVariant encapsulates the real value, or an index into the valueOptions
|
||||
|
||||
virtual QVariant uiValue() const { return QVariant(); }
|
||||
virtual QList<PdmOptionItemInfo>
|
||||
valueOptions(bool* useOptionsOnly) { return QList<PdmOptionItemInfo>(); }
|
||||
virtual QVariant uiValue() const;
|
||||
virtual QList<PdmOptionItemInfo> valueOptions(bool* useOptionsOnly) const;
|
||||
|
||||
virtual void notifyFieldChanged(const QVariant& oldUiBasedQVariant, const QVariant& newUiBasedQVariant);
|
||||
void notifyFieldChanged(const QVariant& oldUiBasedQVariant, const QVariant& newUiBasedQVariant) override;
|
||||
|
||||
bool isAutoAddingOptionFromValue() const { return m_isAutoAddingOptionFromValue; }
|
||||
void setAutoAddingOptionFromValue(bool isAddingValue) { m_isAutoAddingOptionFromValue = isAddingValue;}
|
||||
bool isAutoAddingOptionFromValue() const;
|
||||
void setAutoAddingOptionFromValue(bool isAddingValue);
|
||||
|
||||
private:
|
||||
friend class PdmUiCommandSystemProxy;
|
||||
friend class CmdFieldChangeExec;
|
||||
virtual void setValueFromUiEditor(const QVariant& uiValue) { }
|
||||
virtual void setValueFromUiEditor(const QVariant& uiValue);
|
||||
|
||||
private:
|
||||
PdmFieldHandle* m_owner;
|
||||
bool m_isAutoAddingOptionFromValue;
|
||||
PdmFieldHandle* m_owner;
|
||||
bool m_isAutoAddingOptionFromValue;
|
||||
};
|
||||
|
||||
|
||||
} // End of namespace caf
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
void setKeyword(const QString& keyword);
|
||||
QString keyword() const;
|
||||
|
||||
virtual bool isUiGroup();
|
||||
bool isUiGroup() override;
|
||||
|
||||
/// Set this group to be collapsed by default. When the user expands the group, the default no longer has any effect.
|
||||
void setCollapsedByDefault(bool doCollapse);
|
||||
|
@ -34,44 +34,48 @@
|
||||
//
|
||||
//##################################################################################################
|
||||
|
||||
|
||||
#include "cafPdmUiItem.h"
|
||||
#include "cafPdmUiEditorHandle.h"
|
||||
#include "cafPdmPtrField.h"
|
||||
#include "cafPdmUiEditorHandle.h"
|
||||
#include "cafPdmUiObjectEditorHandle.h"
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, const QVariant& aValue, bool isReadOnly /* = false */, QIcon anIcon /* = QIcon()*/)
|
||||
: m_optionUiText(anOptionUiText),
|
||||
m_value(aValue),
|
||||
m_isReadOnly(isReadOnly),
|
||||
m_icon(anIcon),
|
||||
m_level(0)
|
||||
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText,
|
||||
const QVariant& aValue,
|
||||
bool isReadOnly /* = false */,
|
||||
QIcon anIcon /* = QIcon()*/)
|
||||
: m_optionUiText(anOptionUiText)
|
||||
, m_value(aValue)
|
||||
, m_isReadOnly(isReadOnly)
|
||||
, m_icon(anIcon)
|
||||
, m_level(0)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObjectHandle* obj, bool isReadOnly /*= false*/, QIcon anIcon /*= QIcon()*/)
|
||||
: m_optionUiText(anOptionUiText),
|
||||
m_isReadOnly(isReadOnly),
|
||||
m_icon(anIcon),
|
||||
m_level(0)
|
||||
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText,
|
||||
caf::PdmObjectHandle* obj,
|
||||
bool isReadOnly /*= false*/,
|
||||
QIcon anIcon /*= QIcon()*/)
|
||||
: m_optionUiText(anOptionUiText)
|
||||
, m_isReadOnly(isReadOnly)
|
||||
, m_icon(anIcon)
|
||||
, m_level(0)
|
||||
{
|
||||
m_value = QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(obj));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmOptionItemInfo PdmOptionItemInfo::createHeader(const QString& anOptionUiText, bool isReadOnly /*= false*/, QIcon anIcon /*= QIcon()*/)
|
||||
PdmOptionItemInfo
|
||||
PdmOptionItemInfo::createHeader(const QString& anOptionUiText, bool isReadOnly /*= false*/, QIcon anIcon /*= QIcon()*/)
|
||||
{
|
||||
PdmOptionItemInfo header(anOptionUiText, QVariant(), isReadOnly, anIcon);
|
||||
|
||||
@ -79,7 +83,7 @@ PdmOptionItemInfo PdmOptionItemInfo::createHeader(const QString& anOptionUiText,
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmOptionItemInfo::setLevel(int level)
|
||||
{
|
||||
@ -87,7 +91,7 @@ void PdmOptionItemInfo::setLevel(int level)
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmOptionItemInfo::optionUiText() const
|
||||
{
|
||||
@ -95,7 +99,7 @@ const QString PdmOptionItemInfo::optionUiText() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QVariant PdmOptionItemInfo::value() const
|
||||
{
|
||||
@ -103,7 +107,7 @@ const QVariant PdmOptionItemInfo::value() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmOptionItemInfo::isReadOnly() const
|
||||
{
|
||||
@ -111,7 +115,7 @@ bool PdmOptionItemInfo::isReadOnly() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmOptionItemInfo::isHeading() const
|
||||
{
|
||||
@ -119,7 +123,7 @@ bool PdmOptionItemInfo::isHeading() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QIcon PdmOptionItemInfo::icon() const
|
||||
{
|
||||
@ -127,7 +131,7 @@ const QIcon PdmOptionItemInfo::icon() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
int PdmOptionItemInfo::level() const
|
||||
{
|
||||
@ -135,13 +139,13 @@ int PdmOptionItemInfo::level() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList PdmOptionItemInfo::extractUiTexts(const QList<PdmOptionItemInfo>& optionList)
|
||||
{
|
||||
QStringList texts;
|
||||
|
||||
for (auto option : optionList)
|
||||
|
||||
for (const auto& option : optionList)
|
||||
{
|
||||
texts.push_back(option.optionUiText());
|
||||
}
|
||||
@ -149,7 +153,6 @@ QStringList PdmOptionItemInfo::extractUiTexts(const QList<PdmOptionItemInfo>& op
|
||||
return texts;
|
||||
}
|
||||
|
||||
|
||||
//==================================================================================================
|
||||
/// PdmUiItem
|
||||
//==================================================================================================
|
||||
@ -157,9 +160,9 @@ QStringList PdmOptionItemInfo::extractUiTexts(const QList<PdmOptionItemInfo>& op
|
||||
bool PdmUiItem::sm_showExtraDebugText = false;
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmUiItem::uiName(QString uiConfigName) const
|
||||
const QString PdmUiItem::uiName(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -169,13 +172,21 @@ const QString PdmUiItem::uiName(QString uiConfigName) const
|
||||
if (defInfo && !(defInfo->m_uiName.isNull())) return defInfo->m_uiName;
|
||||
if (sttInfo && !(sttInfo->m_uiName.isNull())) return sttInfo->m_uiName;
|
||||
|
||||
return QString("");
|
||||
return QString("");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QIcon PdmUiItem::uiIcon(QString uiConfigName) const
|
||||
void PdmUiItem::setUiName(const QString& uiName, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_uiName = uiName;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QIcon PdmUiItem::uiIcon(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -185,13 +196,21 @@ const QIcon PdmUiItem::uiIcon(QString uiConfigName) const
|
||||
if (defInfo && !(defInfo->m_icon.isNull())) return defInfo->m_icon;
|
||||
if (sttInfo && !(sttInfo->m_icon.isNull())) return sttInfo->m_icon;
|
||||
|
||||
return QIcon();
|
||||
return QIcon();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmUiItem::uiToolTip(QString uiConfigName) const
|
||||
void PdmUiItem::setUiIcon(const QIcon& uiIcon, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_icon = uiIcon;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmUiItem::uiToolTip(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -226,13 +245,21 @@ const QString PdmUiItem::uiToolTip(QString uiConfigName) const
|
||||
}
|
||||
}
|
||||
|
||||
return text;
|
||||
return text;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmUiItem::uiWhatsThis(QString uiConfigName) const
|
||||
void PdmUiItem::setUiToolTip(const QString& uiToolTip, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_toolTip = uiToolTip;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const QString PdmUiItem::uiWhatsThis(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -242,13 +269,21 @@ const QString PdmUiItem::uiWhatsThis(QString uiConfigName) const
|
||||
if (defInfo && !(defInfo->m_whatsThis.isNull())) return defInfo->m_whatsThis;
|
||||
if (sttInfo && !(sttInfo->m_whatsThis.isNull())) return sttInfo->m_whatsThis;
|
||||
|
||||
return QString("");
|
||||
return QString("");
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiHidden(QString uiConfigName) const
|
||||
void PdmUiItem::setUiWhatsThis(const QString& uiWhatsThis, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_whatsThis = uiWhatsThis;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiHidden(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -262,9 +297,17 @@ bool PdmUiItem::isUiHidden(QString uiConfigName) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiTreeHidden(QString uiConfigName) const
|
||||
void PdmUiItem::setUiHidden(bool isHidden, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_isHidden = isHidden;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiTreeHidden(const QString& uiConfigName) const
|
||||
{
|
||||
// TODO: Must be separated from uiHidden when childField object embedding is implemented
|
||||
|
||||
@ -272,9 +315,17 @@ bool PdmUiItem::isUiTreeHidden(QString uiConfigName) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiTreeChildrenHidden(QString uiConfigName) const
|
||||
void PdmUiItem::setUiTreeHidden(bool isHidden, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_isHidden = isHidden;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiTreeChildrenHidden(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -288,9 +339,17 @@ bool PdmUiItem::isUiTreeChildrenHidden(QString uiConfigName) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiReadOnly(QString uiConfigName /*= ""*/) const
|
||||
void PdmUiItem::setUiTreeChildrenHidden(bool isTreeChildrenHidden, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_isTreeChildrenHidden = isTreeChildrenHidden;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiReadOnly(const QString& uiConfigName /*= ""*/) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -304,7 +363,15 @@ bool PdmUiItem::isUiReadOnly(QString uiConfigName /*= ""*/) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::setUiReadOnly(bool isReadOnly, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_isReadOnly = isReadOnly;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString PdmUiItem::uiEditorTypeName(const QString& uiConfigName) const
|
||||
{
|
||||
@ -320,9 +387,25 @@ QString PdmUiItem::uiEditorTypeName(const QString& uiConfigName) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiItemInfo::LabelPosType PdmUiItem::uiLabelPosition(QString uiConfigName) const
|
||||
void PdmUiItem::setUiEditorTypeName(const QString& editorTypeName, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_editorTypeName = editorTypeName;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isUiGroup()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiItemInfo::LabelPosType PdmUiItem::uiLabelPosition(const QString& uiConfigName) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -336,9 +419,17 @@ PdmUiItemInfo::LabelPosType PdmUiItem::uiLabelPosition(QString uiConfigName) con
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isCustomContextMenuEnabled(QString uiConfigName /*= ""*/) const
|
||||
void PdmUiItem::setUiLabelPosition(PdmUiItemInfo::LabelPosType alignment, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_labelAlignment = alignment;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::isCustomContextMenuEnabled(const QString& uiConfigName /*= ""*/) const
|
||||
{
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName);
|
||||
const PdmUiItemInfo* defInfo = defaultInfo();
|
||||
@ -352,10 +443,18 @@ bool PdmUiItem::isCustomContextMenuEnabled(QString uiConfigName /*= ""*/) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::setCustomContextMenuEnabled(bool enableCustomContextMenu, const QString& uiConfigName /*= ""*/)
|
||||
{
|
||||
m_configItemInfos[uiConfigName].m_isCustomContextMenuEnabled = enableCustomContextMenu;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
const PdmUiItemInfo* PdmUiItem::configInfo(QString uiConfigName) const
|
||||
const PdmUiItemInfo* PdmUiItem::configInfo(const QString& uiConfigName) const
|
||||
{
|
||||
if (uiConfigName == "" || uiConfigName.isNull()) return nullptr;
|
||||
|
||||
@ -368,7 +467,7 @@ const PdmUiItemInfo* PdmUiItem::configInfo(QString uiConfigName) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
const PdmUiItemInfo* PdmUiItem::defaultInfo() const
|
||||
@ -382,7 +481,7 @@ const PdmUiItemInfo* PdmUiItem::defaultInfo() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::updateConnectedEditors()
|
||||
{
|
||||
@ -394,7 +493,7 @@ void PdmUiItem::updateConnectedEditors()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::updateAllRequiredEditors()
|
||||
{
|
||||
@ -404,7 +503,7 @@ void PdmUiItem::updateAllRequiredEditors()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiItem::~PdmUiItem()
|
||||
{
|
||||
@ -416,20 +515,34 @@ PdmUiItem::~PdmUiItem()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::updateUiIconFromState(bool isActive, QString uiConfigName)
|
||||
PdmUiItem::PdmUiItem()
|
||||
: m_staticItemInfo(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::updateUiIconFromState(bool isActive, const QString& uiConfigName)
|
||||
{
|
||||
static const QString iconStorageConfigNamePostfix = "_Internally_StoredNormalIcon";
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName + iconStorageConfigNamePostfix);
|
||||
QIcon normalIcon;
|
||||
const PdmUiItemInfo* conInfo = configInfo(uiConfigName + iconStorageConfigNamePostfix);
|
||||
QIcon normalIcon;
|
||||
|
||||
if (conInfo) normalIcon = conInfo->m_icon;
|
||||
else normalIcon = this->uiIcon(uiConfigName);
|
||||
if (conInfo)
|
||||
{
|
||||
normalIcon = conInfo->m_icon;
|
||||
}
|
||||
else
|
||||
{
|
||||
normalIcon = this->uiIcon(uiConfigName);
|
||||
}
|
||||
|
||||
this->setUiIcon(normalIcon, uiConfigName + iconStorageConfigNamePostfix);
|
||||
|
||||
if ( isActive )
|
||||
if (isActive)
|
||||
{
|
||||
this->setUiIcon(normalIcon, uiConfigName);
|
||||
m_configItemInfos.erase(uiConfigName + iconStorageConfigNamePostfix);
|
||||
@ -443,7 +556,7 @@ void PdmUiItem::updateUiIconFromState(bool isActive, QString uiConfigName)
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<PdmUiEditorHandle*> PdmUiItem::connectedEditors() const
|
||||
{
|
||||
@ -457,7 +570,7 @@ std::vector<PdmUiEditorHandle*> PdmUiItem::connectedEditors() const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool PdmUiItem::showExtraDebugText()
|
||||
{
|
||||
@ -465,12 +578,35 @@ bool PdmUiItem::showExtraDebugText()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::enableExtraDebugText(bool enable)
|
||||
{
|
||||
sm_showExtraDebugText = enable;
|
||||
}
|
||||
|
||||
} //End of namespace caf
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::setUiItemInfo(PdmUiItemInfo* itemInfo)
|
||||
{
|
||||
m_staticItemInfo = itemInfo;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::removeFieldEditor(PdmUiEditorHandle* fieldView)
|
||||
{
|
||||
m_editors.erase(fieldView);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiItem::addFieldEditor(PdmUiEditorHandle* fieldView)
|
||||
{
|
||||
m_editors.insert(fieldView);
|
||||
}
|
||||
|
||||
} // End of namespace caf
|
||||
|
@ -192,47 +192,47 @@ bool PdmOptionItemInfo::findValues(const QList<PdmOptionItemInfo>& optionList, Q
|
||||
class PdmUiItem
|
||||
{
|
||||
public:
|
||||
PdmUiItem() : m_staticItemInfo(nullptr) { }
|
||||
PdmUiItem();
|
||||
virtual ~PdmUiItem();
|
||||
|
||||
PdmUiItem(const PdmUiItem&) = delete;
|
||||
PdmUiItem& operator=(const PdmUiItem&) = delete;
|
||||
|
||||
const QString uiName(QString uiConfigName = "") const;
|
||||
void setUiName(const QString& uiName, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_uiName = uiName; }
|
||||
const QString uiName(const QString& uiConfigName = "") const;
|
||||
void setUiName(const QString& uiName, const QString& uiConfigName = "");
|
||||
|
||||
const QIcon uiIcon(QString uiConfigName = "") const;
|
||||
void setUiIcon(const QIcon& uiIcon, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_icon = uiIcon; }
|
||||
const QIcon uiIcon(const QString& uiConfigName = "") const;
|
||||
void setUiIcon(const QIcon& uiIcon, const QString& uiConfigName = "");
|
||||
|
||||
const QString uiToolTip(QString uiConfigName = "") const;
|
||||
void setUiToolTip(const QString& uiToolTip, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_toolTip = uiToolTip; }
|
||||
const QString uiToolTip(const QString& uiConfigName = "") const;
|
||||
void setUiToolTip(const QString& uiToolTip, const QString& uiConfigName = "");
|
||||
|
||||
const QString uiWhatsThis(QString uiConfigName = "") const;
|
||||
void setUiWhatsThis(const QString& uiWhatsThis, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_whatsThis = uiWhatsThis; }
|
||||
const QString uiWhatsThis(const QString& uiConfigName = "") const;
|
||||
void setUiWhatsThis(const QString& uiWhatsThis, const QString& uiConfigName = "");
|
||||
|
||||
bool isUiHidden(QString uiConfigName = "") const;
|
||||
void setUiHidden(bool isHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isHidden = isHidden; }
|
||||
bool isUiHidden(const QString& uiConfigName = "") const;
|
||||
void setUiHidden(bool isHidden, const QString& uiConfigName = "");
|
||||
|
||||
bool isUiTreeHidden(QString uiConfigName = "") const;
|
||||
void setUiTreeHidden(bool isHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isHidden = isHidden; }
|
||||
bool isUiTreeHidden(const QString& uiConfigName = "") const;
|
||||
void setUiTreeHidden(bool isHidden, const QString& uiConfigName = "");
|
||||
|
||||
bool isUiTreeChildrenHidden(QString uiConfigName = "") const;
|
||||
void setUiTreeChildrenHidden(bool isTreeChildrenHidden, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isTreeChildrenHidden = isTreeChildrenHidden; }
|
||||
bool isUiTreeChildrenHidden(const QString& uiConfigName = "") const;
|
||||
void setUiTreeChildrenHidden(bool isTreeChildrenHidden, const QString& uiConfigName = "");
|
||||
|
||||
bool isUiReadOnly(QString uiConfigName = "") const;
|
||||
void setUiReadOnly(bool isReadOnly, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isReadOnly = isReadOnly; }
|
||||
bool isUiReadOnly(const QString& uiConfigName = "") const;
|
||||
void setUiReadOnly(bool isReadOnly, const QString& uiConfigName = "");
|
||||
|
||||
PdmUiItemInfo::LabelPosType
|
||||
uiLabelPosition(QString uiConfigName = "") const;
|
||||
void setUiLabelPosition(PdmUiItemInfo::LabelPosType alignment, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_labelAlignment = alignment; }
|
||||
uiLabelPosition(const QString& uiConfigName = "") const;
|
||||
void setUiLabelPosition(PdmUiItemInfo::LabelPosType alignment, const QString& uiConfigName = "");
|
||||
|
||||
bool isCustomContextMenuEnabled(QString uiConfigName = "") const;
|
||||
void setCustomContextMenuEnabled(bool enableCustomContextMenu, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_isCustomContextMenuEnabled = enableCustomContextMenu; }
|
||||
bool isCustomContextMenuEnabled(const QString& uiConfigName = "") const;
|
||||
void setCustomContextMenuEnabled(bool enableCustomContextMenu, const QString& uiConfigName = "");
|
||||
|
||||
QString uiEditorTypeName(const QString& uiConfigName) const;
|
||||
void setUiEditorTypeName(const QString& editorTypeName, QString uiConfigName = "") { m_configItemInfos[uiConfigName].m_editorTypeName = editorTypeName; }
|
||||
void setUiEditorTypeName(const QString& editorTypeName, const QString& uiConfigName = "");
|
||||
|
||||
virtual bool isUiGroup() { return false; }
|
||||
virtual bool isUiGroup();
|
||||
|
||||
/// Intended to be called when fields in an object has been changed
|
||||
void updateConnectedEditors();
|
||||
@ -240,7 +240,7 @@ public:
|
||||
/// Intended to be called when an object has been created or deleted
|
||||
void updateAllRequiredEditors();
|
||||
|
||||
void updateUiIconFromState(bool isActive, QString uiConfigName = "");
|
||||
void updateUiIconFromState(bool isActive, const QString& uiConfigName = "");
|
||||
|
||||
std::vector<PdmUiEditorHandle*>
|
||||
connectedEditors() const;
|
||||
@ -255,17 +255,17 @@ public: // Pdm-Private only
|
||||
/// Consider as PRIVATE to the PdmSystem
|
||||
//==================================================================================================
|
||||
|
||||
void setUiItemInfo(PdmUiItemInfo* itemInfo) { m_staticItemInfo = itemInfo; }
|
||||
void setUiItemInfo(PdmUiItemInfo* itemInfo);
|
||||
|
||||
void removeFieldEditor(PdmUiEditorHandle* fieldView) { m_editors.erase(fieldView); }
|
||||
void addFieldEditor(PdmUiEditorHandle* fieldView) { m_editors.insert(fieldView); }
|
||||
void removeFieldEditor(PdmUiEditorHandle* fieldView);
|
||||
void addFieldEditor(PdmUiEditorHandle* fieldView);
|
||||
|
||||
protected:
|
||||
std::set<PdmUiEditorHandle*> m_editors;
|
||||
|
||||
private:
|
||||
const PdmUiItemInfo* defaultInfo() const;
|
||||
const PdmUiItemInfo* configInfo(QString uiConfigName) const;
|
||||
const PdmUiItemInfo* configInfo(const QString& uiConfigName) const;
|
||||
|
||||
PdmUiItemInfo* m_staticItemInfo;
|
||||
std::map< QString, PdmUiItemInfo > m_configItemInfos;
|
||||
|
@ -35,7 +35,7 @@ PdmUiObjectHandle* uiObj(const PdmObjectHandle* obj)
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiObjectHandle::uiOrdering(QString uiConfigName, PdmUiOrdering& uiOrdering)
|
||||
void PdmUiObjectHandle::uiOrdering(const QString& uiConfigName, PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
// Restore state for includeRemainingFields, as this flag
|
||||
// can be changed in defineUiOrdering()
|
||||
@ -66,7 +66,7 @@ void PdmUiObjectHandle::uiOrdering(QString uiConfigName, PdmUiOrdering& uiOrderi
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiObjectHandle::editorAttribute(const PdmFieldHandle* field, QString uiConfigName, PdmUiEditorAttribute * attribute)
|
||||
void PdmUiObjectHandle::editorAttribute(const PdmFieldHandle* field, const QString& uiConfigName, PdmUiEditorAttribute * attribute)
|
||||
{
|
||||
this->defineEditorAttribute(field, uiConfigName, attribute);
|
||||
}
|
||||
@ -74,7 +74,7 @@ void PdmUiObjectHandle::editorAttribute(const PdmFieldHandle* field, QString uiC
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiObjectHandle::objectEditorAttribute(QString uiConfigName, PdmUiEditorAttribute* attribute)
|
||||
void PdmUiObjectHandle::objectEditorAttribute(const QString& uiConfigName, PdmUiEditorAttribute* attribute)
|
||||
{
|
||||
this->defineObjectEditorAttribute(uiConfigName, attribute);
|
||||
}
|
||||
@ -88,7 +88,7 @@ void PdmUiObjectHandle::objectEditorAttribute(QString uiConfigName, PdmUiEditorA
|
||||
///
|
||||
/// The caller is responsible to delete the returned PdmUiTreeOrdering
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
PdmUiTreeOrdering* PdmUiObjectHandle::uiTreeOrdering(QString uiConfigName /*= ""*/)
|
||||
PdmUiTreeOrdering* PdmUiObjectHandle::uiTreeOrdering(const QString& uiConfigName /*= ""*/) const
|
||||
{
|
||||
CAF_ASSERT(this); // This method actually is possible to call on a NULL ptr without getting a crash, so we assert instead.
|
||||
|
||||
@ -168,7 +168,7 @@ void PdmUiObjectHandle::addDefaultUiTreeChildren(PdmUiTreeOrdering* uiTreeOrderi
|
||||
/// Builds the sPdmUiTree for all the children of @param root recursively, and stores the result
|
||||
/// in root
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmUiObjectHandle::expandUiTree(PdmUiTreeOrdering* root, QString uiConfigName /*= "" */)
|
||||
void PdmUiObjectHandle::expandUiTree(PdmUiTreeOrdering* root, const QString& uiConfigName /*= "" */)
|
||||
{
|
||||
#if 1
|
||||
if (!root || !root->isValid()) return;
|
||||
|
@ -27,20 +27,20 @@ public:
|
||||
|
||||
/// Method to be called from the Ui classes creating Auto Gui to get the group information
|
||||
/// supplied by the \sa defineUiOrdering method that can be reimplemented
|
||||
void uiOrdering(QString uiConfigName, PdmUiOrdering& uiOrdering) ;
|
||||
void uiOrdering(const QString& uiConfigName, PdmUiOrdering& uiOrdering);
|
||||
|
||||
/// Method to be called by Ui displaying a tree representation of the object hierarchy
|
||||
/// Caller must delete the returned object.
|
||||
PdmUiTreeOrdering* uiTreeOrdering(QString uiConfigName = "");
|
||||
PdmUiTreeOrdering* uiTreeOrdering(const QString& uiConfigName = "") const;
|
||||
/// Helper function to expand a pre-defined tree start
|
||||
static void expandUiTree(PdmUiTreeOrdering* root, QString uiConfigName = "");
|
||||
static void expandUiTree(PdmUiTreeOrdering* root, const QString& uiConfigName = "");
|
||||
|
||||
|
||||
/// For a specific field, return editor specific parameters used to customize the editor behavior.
|
||||
void editorAttribute(const PdmFieldHandle* field, QString uiConfigName, PdmUiEditorAttribute* attribute);
|
||||
void editorAttribute(const PdmFieldHandle* field, const QString& uiConfigName, PdmUiEditorAttribute* attribute);
|
||||
|
||||
/// Return object editor specific parameters used to customize the editor behavior.
|
||||
void objectEditorAttribute(QString uiConfigName, PdmUiEditorAttribute* attribute);
|
||||
void objectEditorAttribute(const QString& uiConfigName, PdmUiEditorAttribute* attribute);
|
||||
|
||||
/// Field used to control if field change of and object should be covered by undo/redo framework
|
||||
virtual bool useUndoRedoForFieldChanged() { return true; }
|
||||
|
Loading…
Reference in New Issue
Block a user