19 #include <QtCore/QDateTime>
52 if (role == Qt::DisplayRole || role == Qt::EditRole)
57 return QVariant(QString(
""));
60 if (role == Qt::DisplayRole)
61 return QVariant(QDateTime());
63 return QVariant(QDateTime::currentDateTime());
66 return QVariant(QString(
""));
70 switch (index.column())
73 return QVariant(index.row() + 1);
89 if (role != Qt::DisplayRole)
92 if (orientation == Qt::Horizontal)
97 return QVariant(QString(
"#"));
99 return QVariant(QString(
"Date and Time Modified"));
105 return QString(
"%1").arg(section + 1);
111 if (index.isValid() && role == Qt::EditRole)
115 if (index.data() != value)
121 switch (index.column())
128 emit dataChanged(index, index);
138 beginInsertRows(QModelIndex(), position, position + rows - 1);
140 for (
int row = 0; row < rows; ++row)
157 beginRemoveRows(QModelIndex(), position, position + rows - 1);
159 for (
int row = 0; row < rows; ++row)
177 QList < CModification * > pModifieds;
178 QModelIndexList::const_iterator i;
180 for (i = rows.begin(); i != rows.end(); ++i)
186 bool retVal =
false, askEveryItem =
true;
187 QMessageBox::StandardButton choice = QMessageBox::NoToAll;
188 QList <CModification *>::const_iterator j;
190 for (j = pModifieds.begin(); j != pModifieds.end(); ++j)
201 QString dateModified =
data(this->index((
int) delRow,
COL_DATE_MODIFIED), Qt::DisplayRole).toString();
202 QString msg =
"Do you want to delete Date/Time Modified '";
204 if (!dateModified.isNull())
206 msg.append(dateModified);
212 QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No | QMessageBox::NoToAll,
216 if (choice == QMessageBox::NoToAll)
218 else if (choice == QMessageBox::Yes)
222 else if (choice == QMessageBox::YesToAll)
224 askEveryItem =
false;
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex())
void notifyGUI(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key="")
virtual size_t size() const
QVariant data(const QModelIndex &index, int role) const
bool removeModification(int position)
bool removeRow(int position)
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
#define TOTAL_COLS_MODIFIEDS
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
CMIRIAMInfo * mpMIRIAMInfo
CQModifiedDM(CMIRIAMInfo *MIRIAMInfo, QObject *parent=0)
CModification * createModification(const std::string &objectName)
virtual bool isDefaultRow(const QModelIndex &i) const
#define COL_DATE_MODIFIED
const CCopasiVector< CModification > & getModifications() const
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)