50 if (role == Qt::DisplayRole || role == Qt::EditRole)
55 return QVariant(QString(
"-- select --"));
57 return QVariant(QString(
""));
59 return QVariant(QString(
""));
63 switch (index.column())
66 return QVariant(index.row() + 1);
83 if (role != Qt::DisplayRole)
86 if (orientation == Qt::Horizontal)
91 return QVariant(QString(
"#"));
93 return QVariant(QString(
"Relationship"));
95 return QVariant(QString(
" Resource "));
97 return QVariant(QString(
"ID"));
103 return QString(
"%1").arg(section + 1);
109 if (index.isValid() && role == Qt::EditRole)
113 if (index.data() != value)
119 switch (index.column())
132 emit dataChanged(index, index);
142 beginInsertRows(QModelIndex(), position, position + rows - 1);
144 for (
int row = 0; row < rows; ++row)
159 beginRemoveRows(QModelIndex(), position, position + rows - 1);
161 for (
int row = 0; row < rows; ++row)
179 QList <CBiologicalDescription *> pBiologicalDescriptions;
180 QModelIndexList::const_iterator i;
182 for (i = rows.begin(); i != rows.end(); ++i)
188 bool retVal =
false, askEveryItem =
true;
189 QMessageBox::StandardButton choice = QMessageBox::NoToAll;
190 QList <CBiologicalDescription *>::const_iterator j;
192 for (j = pBiologicalDescriptions.begin(); j != pBiologicalDescriptions.end(); ++j)
204 QString resource =
data(this->index((
int) delRow,
COL_RESOURCE_BD), Qt::DisplayRole).toString();
205 QString Id =
data(this->index((
int) delRow,
COL_ID_BD), Qt::DisplayRole).toString();
207 QString msg =
"Do you want to delete Description '";
209 if (!resource.isNull())
211 msg.append(resource);
223 QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No | QMessageBox::NoToAll,
227 if (choice == QMessageBox::NoToAll)
229 else if (choice == QMessageBox::Yes)
231 else if (choice == QMessageBox::YesToAll)
233 askEveryItem =
false;
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
void notifyGUI(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key="")
QVariant data(const QModelIndex &index, int role) const
CMIRIAMInfo * mpMIRIAMInfo
const CCopasiVector< CBiologicalDescription > & getBiologicalDescriptions() const
virtual size_t size() const
#define TOTAL_COLS_BIOLOGICAL_DESCRIPTIONS
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex())
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
bool removeRow(int position)
CQBiologicalDescriptionDM(CMIRIAMInfo *MIRIAMInfo, QObject *parent=0)
bool removeBiologicalDescription(int position)
virtual bool isDefaultRow(const QModelIndex &i) const
CBiologicalDescription * createBiologicalDescription()
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)