#1830 AppFwk : Rename to isReadOnly and disable these items in tree view

This commit is contained in:
Magne Sjaastad
2017-09-08 07:47:23 +02:00
parent 8e8c735fe6
commit 33e94c447b
4 changed files with 19 additions and 15 deletions

View File

@@ -45,10 +45,10 @@ namespace caf
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, const QVariant& aValue, bool anIsDimmed /* = false */, QIcon anIcon /* = QIcon()*/)
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, const QVariant& aValue, bool isReadOnly /* = false */, QIcon anIcon /* = QIcon()*/)
: m_value(aValue),
m_optionUiText(anOptionUiText),
m_isDimmed(anIsDimmed),
m_isReadOnly(isReadOnly),
m_icon(anIcon),
m_level(0)
{
@@ -58,9 +58,9 @@ PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, const QVaria
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObjectHandle* obj, bool anIsDimmed /*= false*/, QIcon anIcon /*= QIcon()*/)
PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObjectHandle* obj, bool isReadOnly /*= false*/, QIcon anIcon /*= QIcon()*/)
: m_optionUiText(anOptionUiText),
m_isDimmed(anIsDimmed),
m_isReadOnly(isReadOnly),
m_icon(anIcon),
m_level(0)
{
@@ -70,9 +70,9 @@ PdmOptionItemInfo::PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObje
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
PdmOptionItemInfo PdmOptionItemInfo::createHeader(const QString& anOptionUiText, bool anIsDimmed /*= false*/, QIcon anIcon /*= QIcon()*/)
PdmOptionItemInfo PdmOptionItemInfo::createHeader(const QString& anOptionUiText, bool isReadOnly /*= false*/, QIcon anIcon /*= QIcon()*/)
{
PdmOptionItemInfo header(anOptionUiText, QVariant(), anIsDimmed, anIcon);
PdmOptionItemInfo header(anOptionUiText, QVariant(), isReadOnly, anIcon);
return header;
}
@@ -104,9 +104,9 @@ const QVariant PdmOptionItemInfo::value() const
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool PdmOptionItemInfo::isDimmed() const
bool PdmOptionItemInfo::isReadOnly() const
{
return m_isDimmed;
return m_isReadOnly;
}
//--------------------------------------------------------------------------------------------------

View File

@@ -86,16 +86,16 @@ private:
class PdmOptionItemInfo
{
public:
PdmOptionItemInfo(const QString& anOptionUiText, const QVariant& aValue, bool anIsDimmed = false, QIcon anIcon = QIcon());
PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObjectHandle* obj, bool anIsDimmed = false, QIcon anIcon = QIcon());
PdmOptionItemInfo(const QString& anOptionUiText, const QVariant& aValue, bool isReadOnly = false, QIcon anIcon = QIcon());
PdmOptionItemInfo(const QString& anOptionUiText, caf::PdmObjectHandle* obj, bool isReadOnly = false, QIcon anIcon = QIcon());
static PdmOptionItemInfo createHeader(const QString& anOptionUiText, bool anIsDimmed = false, QIcon anIcon = QIcon());
static PdmOptionItemInfo createHeader(const QString& anOptionUiText, bool isReadOnly = false, QIcon anIcon = QIcon());
void setLevel(int level);
const QString optionUiText() const;
const QVariant value() const;
bool isDimmed() const;
bool isReadOnly() const;
bool isHeading() const;
const QIcon icon() const;
int level() const;
@@ -112,7 +112,7 @@ public:
private:
QString m_optionUiText;
QVariant m_value;
bool m_isDimmed;
bool m_isReadOnly;
QIcon m_icon;
int m_level;
};

View File

@@ -126,7 +126,7 @@ public:
{
text = "Second_a";
caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text);
caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text, true);
itemInfo.setLevel(1);
options.push_back(itemInfo);
}

View File

@@ -107,7 +107,11 @@ Qt::ItemFlags caf::PdmUiTreeSelectionQModel::flags(const QModelIndex &index) con
{
int opIndex = optionItemIndex(index);
if (!m_options[opIndex].isHeading())
if (m_options[opIndex].isReadOnly())
{
return QAbstractItemModel::flags(index)^Qt::ItemIsEnabled;
}
else if (!m_options[opIndex].isHeading())
{
return QAbstractItemModel::flags(index) | Qt::ItemIsUserCheckable;
}