58 return Qt::ItemIsEnabled;
60 return QAbstractItemModel::flags(index) & ~Qt::ItemIsEditable;
71 if (role == Qt::DisplayRole || role == Qt::EditRole)
75 switch (index.column())
78 return QVariant(index.row() + 1);
83 std::pair< C_FLOAT64, C_FLOAT64 > Changes =
86 if (Changes.first > 100.0 * std::numeric_limits< C_FLOAT64 >::epsilon() ||
87 Changes.second > 100.0 * std::numeric_limits< C_FLOAT64 >::epsilon())
89 return QVariant(QString(
"-" + QString::number(Changes.first) +
" | +" + QString::number(Changes.second)));
103 if (role != Qt::DisplayRole)
106 if (orientation == Qt::Horizontal)
111 return QVariant(QString(
"#"));
120 return QString(
"%1").arg(section + 1);
virtual bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex())
CCopasiProblem * getProblem()
std::pair< C_FLOAT64, C_FLOAT64 > getSpeciesChanges(const CFluxMode &fluxMode, const CMetab &metab) const
const CCopasiVector< CMetab > & getMetabolites() const
void setTask(const CEFMTask *pTask)
std::vector< CFluxMode >::const_iterator mBeginModes
std::vector< CMetab * >::const_iterator mBeginSpecies
virtual size_t size() const
const std::vector< CFluxMode > & getFluxModes() const
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
virtual bool isDefaultRow(const QModelIndex &i) const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
CModel * getModel() const
virtual Qt::ItemFlags flags(const QModelIndex &index) const
virtual bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex())
CQEFMSpeciesDM(QObject *parent=0)