Example #1
0
QWidget* SpinBoxDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const
{
	Q_UNUSED(option);
	Q_UNUSED(index);
	
	QSpinBox* spinbox = Util::SpinBox::create(min, max, unit, step);
	spinbox->setParent(parent);
	
	// Commit each change immediately when returning to event loop
	QSignalMapper* signal_mapper = new QSignalMapper(spinbox);
	signal_mapper->setMapping(spinbox, spinbox);
	connect(spinbox, SIGNAL(valueChanged(int)), signal_mapper, SLOT(map()), Qt::QueuedConnection);
	connect(signal_mapper, SIGNAL(mapped(QWidget*)), this, SIGNAL(commitData(QWidget*)));
	
	return spinbox;
}