5 #include <QStyledItemDelegate>
6 #include <QItemEditorCreatorBase>
7 #include <QDoubleSpinBox>
8 #include <QItemEditorFactory>
10 #include <QHeaderView>
11 #include "weightspinbox.h"
13 class WeightView : public QTableView
17 explicit WeightView(QWidget *parent = 0) :
20 QItemEditorFactory *editorFactory = new QItemEditorFactory;
21 editorFactory->registerEditor(QVariant::Double, new WeightView::WeightEditCreator);
22 delegate.setItemEditorFactory(editorFactory);
23 setItemDelegate(&delegate);
24 setSelectionMode(QAbstractItemView::SingleSelection);
25 this->verticalHeader()->hide();
26 this->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
27 this->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
33 class WeightEditCreator : public QItemEditorCreatorBase
36 WeightEditCreator() : QItemEditorCreatorBase() { }
37 virtual QWidget *createWidget(QWidget *parent) const
39 return new WeightSpinBox(parent);
41 virtual QByteArray valuePropertyName() const { return "value"; }
44 QStyledItemDelegate delegate;
47 #endif // WEIGHTVIEW_H