25 #define COL_ASSIGNMENT 5
27 #define COLUMN_COUNT 6
30 QAbstractItemModel(pParent),
31 mpModelParameterSet(NULL),
52 if (pNode == NULL)
return QVariant();
54 switch (index.column())
91 return Qt::ItemIsEnabled;
97 return QAbstractItemModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsEnabled;
108 return QAbstractItemModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsEnabled;
120 return QAbstractItemModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsEnabled;
126 return QAbstractItemModel::flags(index) & ~Qt::ItemIsEditable;
132 if (role != Qt::DisplayRole)
138 return QVariant(
"Name");
146 return QVariant(
"Type");
150 return QVariant(
"Value");
154 return QVariant(
"Unit");
158 return QVariant(
"Expression");
175 if (row < (
int) pParent->
size())
176 return createIndex(row, column, *(pParent->
begin() + row));
178 return QModelIndex();
188 return QModelIndex();
193 return QModelIndex();
198 return createIndex(
getRow(pParent), 0, pParent);
204 if (!parent.isValid())
233 bool success =
false;
236 role == Qt::EditRole)
238 switch (_index.column())
249 if (pGlobalQuantity != NULL)
291 return QModelIndex();
296 return index(0, 0, QModelIndex());
299 QModelIndex Parent =
index(static_cast< CModelParameter * >(pNode->
getParent()));
307 if (!index.isValid())
return NULL;
309 QModelIndex Tmp =
index;
310 const QAbstractItemModel *pModel = Tmp.model();
312 while (pModel->inherits(
"QSortFilterProxyModel"))
314 Tmp =
static_cast< const QSortFilterProxyModel *
>(pModel)->mapToSource(index);
315 pModel = Tmp.model();
339 for (
int i = 0; it != end; ++it, ++i)
353 if (role == Qt::DisplayRole)
399 case Qt::ToolTipRole:
404 return QVariant(QString(
"The item is no longer present in the model. \n\n"
405 "Click to remove from the set."));
409 return QVariant(QString(
"The item is present in the model but is missing in the parameter set. \n\n"
410 "Click to add to the set."));
414 return QVariant(QString(
"The item's value differs from the current model. \n\n"
415 "Click to update the sets value."));
419 return QVariant(QString(
"The item's value cannot be assigned to the model object since the\n"
420 "object is determined by an assignment. \n\n"
421 "Click to resolve conflict."));
425 return QVariant(QString(
"The item's value is identical with the current model."));
431 case Qt::SizeHintRole:
432 return QVariant(QSize(20, 20));
451 if (role == Qt::DisplayRole)
473 if (role == Qt::EditRole)
474 return QVariant(QString::number(pNode->
getValue(static_cast< CModelParameter::Framework >(
mFramework)),
'g', 10));
475 else if (role == Qt::DisplayRole)
476 return QVariant(pNode->
getValue(static_cast< CModelParameter::Framework >(
mFramework)));
486 if (role == Qt::DisplayRole)
497 if (role == Qt::DisplayRole)
504 if (pGlobalQuantity != NULL)
509 return QVariant(QString(
FROM_UTF8(GlobalQuantityCN)));
514 if (pExpression != NULL)
Header file of class CExpression.
std::string getInitialExpression() const
virtual Qt::ItemFlags flags(const QModelIndex &index) const
void signalOpenEditor(const QModelIndex &) const
virtual std::string getName() const
static const std::string StatusName[]
const CompareResult & getCompareResult() const
virtual QModelIndex parent(const QModelIndex &index) const
CModelParameter * getModelParameter(const std::string &cn) const
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
const std::string & getDisplayString() const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
static QVariant typeData(const CModelParameter *pNode, int role)
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
const std::string getUnit(const Framework &framework) const
const CCopasiObjectName & getCN() const
QVariant valueData(const CModelParameter *pNode, int role) const
static QVariant diffData(const CModelParameter *pNode, int role)
virtual void setValue(const double &value, const Framework &framework)
static QVariant assignmentData(const CModelParameter *pNode, int role)
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
CModelParameterSet * getSet() const
static const QIcon & icon(const IconID &id)
void signalCloseEditor(const QModelIndex &) const
virtual const double & getValue(const Framework &framework) const
static CModelParameter * nodeFromIndex(const QModelIndex &index)
void setFramework(const int &framework)
const CModelEntity::Status & getSimulationType() const
const CExpression * getInitialExpressionPtr() const
std::vector< CModelParameter * >::const_iterator const_iterator
virtual QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const
const Type & getType() const
static int getRow(const CModelParameter *pNode)
CQParameterOverviewDM(QObject *pParent)
CModelParameterGroup * mpModelParameterSet
QVariant unitData(const CModelParameter *pNode, int role) const
void setModelParameterset(CModelParameterSet *pModelParameterSet)
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
static QVariant nameData(const CModelParameter *pNode, int role)
virtual ~CQParameterOverviewDM()
CModelParameterGroup * getParent() const