6 #include <QtCore/QString>
19 mpListOfParameterSets(NULL)
45 return QAbstractItemModel::flags(index);
47 switch (index.column())
50 return QAbstractItemModel::flags(index) & ~Qt::ItemIsEditable;
54 return QAbstractItemModel::flags(index) & ~Qt::ItemIsEditable;
58 return QAbstractItemModel::flags(index);
65 if (!index.isValid())
return QVariant();
67 if (index.row() >=
rowCount())
return QVariant();
69 if (role == Qt::DisplayRole || role == Qt::EditRole)
71 switch (index.column())
74 return QVariant(index.row() + 1);
89 if (role != Qt::DisplayRole)
92 if (orientation == Qt::Horizontal)
97 return QVariant(QString(
"#"));
101 return QVariant(QString(
"Name"));
110 return QString(
"%1").arg(section + 1);
117 if (!index.isValid())
return false;
119 if (index.row() >=
rowCount())
return false;
121 if (index.isValid() && role == Qt::EditRole)
123 switch (index.column())
154 beginInsertRows(QModelIndex(), position, position + rows - 1);
156 for (
int row = 0; row < rows; ++row)
168 if (rows <= 0)
return true;
172 beginRemoveRows(QModelIndex(), position, position + rows - 1);
174 std::vector< CModelParameterSet * > DeletedModelParameterSets;
175 DeletedModelParameterSets.resize(rows);
177 std::vector< CModelParameterSet * >::iterator itDeletedModelParameterSet;
178 std::vector< CModelParameterSet * >::iterator endDeletedModelParameterSet = DeletedModelParameterSets.end();
182 for (itDeletedModelParameterSet = DeletedModelParameterSets.begin(); itDeletedModelParameterSet != endDeletedModelParameterSet; ++itDeletedModelParameterSet, ++itRow)
184 *itDeletedModelParameterSet = *itRow;
187 for (itDeletedModelParameterSet = DeletedModelParameterSets.begin(); itDeletedModelParameterSet != endDeletedModelParameterSet; ++itDeletedModelParameterSet)
189 std::string Key = (*itDeletedModelParameterSet)->
getKey();
191 pdelete(*itDeletedModelParameterSet);
203 if (rows.isEmpty())
return false;
209 QList< CModelParameterSet * > ModelParameterSets;
210 QModelIndexList::const_iterator i;
212 for (i = rows.begin(); i != rows.end(); ++i)
217 QList< CModelParameterSet * >::const_iterator j;
219 for (j = ModelParameterSets.begin(); j != ModelParameterSets.end(); ++j)
223 size_t delRow =
mpListOfParameterSets->CCopasiVector< CModelParameterSet >::getIndex(pModelParameterSet);
227 QMessageBox::StandardButton choice =
230 std::set< const CCopasiObject * >());
232 if (choice == QMessageBox::Ok)
virtual QVariant data(const QModelIndex &index, int role) const
virtual bool isDefaultRow(const QModelIndex &i) const
void setListOfModelParameterSets(CCopasiVectorN< CModelParameterSet > *pListOfModelParameterSets)
void notifyGUI(ListViews::ObjectType objectType, ListViews::Action action, const std::string &key="")
const std::string & getObjectName() const
virtual size_t size() const
CCopasiVectorN< CModelParameterSet > * mpListOfParameterSets
virtual Qt::ItemFlags flags(const QModelIndex &index) const
virtual bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex())
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
CQParameterSetsDM(QObject *parent=0)
bool removeRow(int position)
virtual const std::string & getKey() const
virtual ~CQParameterSetsDM()
static StandardButton confirmDelete(QWidget *parent, const QString &objectType, const QString &objects, const std::set< const CCopasiObject * > &deletedObjects)
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const