13 #include <QtGui/QHeaderView>
14 #include <QtGui/QClipboard>
15 #include <QtGui/QKeyEvent>
41 mpProxyModel->setSortCaseSensitivity(Qt::CaseInsensitive);
44 mpTblFunctions->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
45 mpTblFunctions->verticalHeader()->hide();
52 this, SLOT(
dataChanged(
const QModelIndex&,
const QModelIndex&)));
53 connect(mpLEFilter, SIGNAL(textChanged(
const QString &)),
75 if (mpTblFunctions->hasFocus())
83 const QItemSelectionModel * pSelectionModel = mpTblFunctions->selectionModel();
85 QModelIndexList mappedSelRows;
88 for (i = 0; i < imax; i++)
90 if (pSelectionModel->isRowSelected((
int) i, QModelIndex()))
96 if (mappedSelRows.empty())
106 QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
108 if (ret == QMessageBox::Yes)
133 if (mpTblFunctions->selectionModel() != NULL)
135 disconnect(mpTblFunctions->selectionModel(), SIGNAL(selectionChanged(
const QItemSelection&,
const QItemSelection&)),
141 mpTblFunctions->setModel(NULL);
143 connect(mpTblFunctions->selectionModel(), SIGNAL(selectionChanged(
const QItemSelection&,
const QItemSelection&)),
146 mpTblFunctions->resizeColumnsToContents();
153 bool selected =
false;
155 QModelIndexList selRows = mpTblFunctions->selectionModel()->selectedRows();
157 if (selRows.size() == 0)
161 if (selRows.size() == 1)
172 mpBtnDelete->setEnabled(selected);
175 mpBtnClear->setEnabled(
true);
177 mpBtnClear->setEnabled(
false);
181 const QItemSelection&
C_UNUSED(deselected))
187 const QModelIndex&
C_UNUSED(bottomRight))
189 mpTblFunctions->resizeColumnsToContents();
195 QModelIndex index =
mpProxyModel->mapToSource(proxyIndex);
213 if (ev->key() == Qt::Key_Delete)
215 else if (ev->key() == Qt::Key_C && (ev->modifiers() & Qt::ControlModifier))
217 QModelIndexList selRows = mpTblFunctions->selectionModel()->selectedRows(0);
223 QModelIndexList::const_iterator i;
225 for (i = selRows.begin(); i != selRows.end(); ++i)
229 if (!mpTblFunctions->isColumnHidden(x))
241 QApplication::clipboard()->setText(str);
247 QRegExp regExp(mpLEFilter->text() +
"|New Function", Qt::CaseInsensitive, QRegExp::RegExp);
CCopasiVectorN< CFunction > & loadedFunctions()
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
void switchToOtherWidget(const size_t &id, const std::string &key)
virtual const std::string & getKey() const
bool removeRows(QModelIndexList rows, const QModelIndex &index=QModelIndex())
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
static CFunctionDB * getFunctionList()
static CKeyFactory * getKeyFactory()
virtual bool isDefaultRow(const QModelIndex &i) const
static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)