13 #include <QtGui/QHeaderView>
14 #include <QtGui/QClipboard>
15 #include <QtGui/QKeyEvent>
40 mpProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
47 mpTblGlobalQuantities->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
48 mpTblGlobalQuantities->verticalHeader()->hide();
49 mpTblGlobalQuantities->sortByColumn(
COL_ROW_NUMBER, Qt::AscendingOrder);
55 this, SLOT(
dataChanged(
const QModelIndex&,
const QModelIndex&)));
56 connect(mpLEFilter, SIGNAL(textChanged(
const QString &)),
79 if (mpTblGlobalQuantities->hasFocus())
87 const QItemSelectionModel * pSelectionModel = mpTblGlobalQuantities->selectionModel();
89 QModelIndexList mappedSelRows;
92 for (i = 0; i < imax; i++)
94 if (pSelectionModel->isRowSelected((
int) i, QModelIndex()))
100 if (mappedSelRows.empty())
110 QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
112 if (ret == QMessageBox::Yes)
137 if (mpTblGlobalQuantities->selectionModel() != NULL)
139 disconnect(mpTblGlobalQuantities->selectionModel(), SIGNAL(selectionChanged(
const QItemSelection&,
const QItemSelection&)),
145 mpTblGlobalQuantities->setModel(NULL);
147 connect(mpTblGlobalQuantities->selectionModel(), SIGNAL(selectionChanged(
const QItemSelection&,
const QItemSelection&)),
150 mpTblGlobalQuantities->resizeColumnsToContents();
157 bool selected =
false;
159 QModelIndexList selRows = mpTblGlobalQuantities->selectionModel()->selectedRows();
161 if (selRows.size() == 0)
165 if (selRows.size() == 1)
176 mpBtnDelete->setEnabled(selected);
179 mpBtnClear->setEnabled(
true);
181 mpBtnClear->setEnabled(
false);
185 const QItemSelection&
C_UNUSED(deselected))
191 const QModelIndex&
C_UNUSED(bottomRight))
193 mpTblGlobalQuantities->resizeColumnsToContents();
199 QModelIndex index =
mpProxyModel->mapToSource(proxyIndex);
211 assert(pDataModel != NULL);
225 if (ev->key() == Qt::Key_Delete)
227 else if (ev->key() == Qt::Key_C && (ev->modifiers() & Qt::ControlModifier))
229 QModelIndexList selRows = mpTblGlobalQuantities->selectionModel()->selectedRows(0);
235 QModelIndexList::const_iterator i;
237 for (i = selRows.begin(); i != selRows.end(); ++i)
241 if (!mpTblGlobalQuantities->isColumnHidden(x))
253 QApplication::clipboard()->setText(str);
259 QRegExp regExp(mpLEFilter->text() +
"|New Quantity", Qt::CaseInsensitive, QRegExp::RegExp);
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
const QStringList & getTypes()
void switchToOtherWidget(const size_t &id, const std::string &key)
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
const CCopasiVectorN< CModelValue > & getModelValues() const
virtual const std::string & getKey() const
static CCopasiVector< CCopasiDataModel > * getDatamodelList()
static CKeyFactory * getKeyFactory()
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
virtual bool isDefaultRow(const QModelIndex &i) const
static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)