diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2014-07-11 17:42:43 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-07-11 16:58:42 -0700 |
commit | af9d62bac3add0de07744f3d8a42e3a058e32a41 (patch) | |
tree | a9d510538dab29065b1800b396331abbc5fe11ff /qt-ui/modeldelegates.cpp | |
parent | 3dbc5bfeaa554f519da0bed0abddddb17da26f20 (diff) | |
download | subsurface-af9d62bac3add0de07744f3d8a42e3a058e32a41.tar.gz |
Fixed input in the DivePlanner table
Based on Glance's idea on rewritting the Delegates, but
we don't need to redo the wheel as Qt already gives us
the correct Delegate, we just need to set some boundaries
on it before returning.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/modeldelegates.cpp')
-rw-r--r-- | qt-ui/modeldelegates.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/qt-ui/modeldelegates.cpp b/qt-ui/modeldelegates.cpp index dc6af5665..8dfc56789 100644 --- a/qt-ui/modeldelegates.cpp +++ b/qt-ui/modeldelegates.cpp @@ -364,3 +364,31 @@ void ProfilePrintDelegate::paint(QPainter *painter, const QStyleOptionViewItem & } QStyledItemDelegate::paint(painter, option, index); } + +SpinBoxDelegate::SpinBoxDelegate(int min, int max, QObject *parent): + QStyledItemDelegate(parent), + min(min), + max(max) +{ +} + +QWidget *SpinBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + QSpinBox *w = qobject_cast<QSpinBox*>(QStyledItemDelegate::createEditor(parent, option, index)); + w->setRange(min,max); + return w; +} + +DoubleSpinBoxDelegate::DoubleSpinBoxDelegate(qreal min, qreal max, QObject *parent): + QStyledItemDelegate(parent), + min(min), + max(max) +{ +} + +QWidget *DoubleSpinBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + QDoubleSpinBox *w = qobject_cast<QDoubleSpinBox*>(QStyledItemDelegate::createEditor(parent, option, index)); + w->setRange(min,max); + return w; +} |