diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp new file mode 100644 index 0000000..198f71b --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp @@ -0,0 +1,109 @@ +#include "multieditornumeric.h" +#include "common/numericspinbox.h" +#include <QVariant> +#include <QVBoxLayout> + +MultiEditorNumeric::MultiEditorNumeric(QWidget* parent) + : MultiEditorWidget(parent) +{ + setLayout(new QVBoxLayout()); + spinBox = new NumericSpinBox(); + layout()->addWidget(spinBox); + + connect(spinBox, SIGNAL(modified()), this, SIGNAL(valueModified())); + + setFocusProxy(spinBox); +} + +void MultiEditorNumeric::setValue(const QVariant& value) +{ + spinBox->setValue(value); +} + +QVariant MultiEditorNumeric::getValue() +{ + return spinBox->getValue(); +} + +void MultiEditorNumeric::setReadOnly(bool value) +{ + spinBox->setReadOnly(value); +} + +QString MultiEditorNumeric::getTabLabel() +{ + return tr("Number"); +} + +void MultiEditorNumeric::focusThisWidget() +{ + spinBox->setFocus(); +} + +QList<QWidget*> MultiEditorNumeric::getNoScrollWidgets() +{ + QList<QWidget*> list; + list << spinBox; + return list; +} + +MultiEditorWidget*MultiEditorNumericPlugin::getInstance() +{ + return new MultiEditorNumeric(); +} + +bool MultiEditorNumericPlugin::validFor(const DataType& dataType) +{ + switch (dataType.getType()) + { + case DataType::BIGINT: + case DataType::DECIMAL: + case DataType::DOUBLE: + case DataType::INTEGER: + case DataType::INT: + case DataType::NUMERIC: + case DataType::REAL: + return true; + case DataType::BOOLEAN: + case DataType::BLOB: + case DataType::NONE: + case DataType::STRING: + case DataType::TEXT: + case DataType::CHAR: + case DataType::VARCHAR: + case DataType::DATE: + case DataType::DATETIME: + case DataType::TIME: + case DataType::unknown: + break; + } + return false; +} + +int MultiEditorNumericPlugin::getPriority(const DataType& dataType) +{ + switch (dataType.getType()) + { + case DataType::BIGINT: + case DataType::DECIMAL: + case DataType::DOUBLE: + case DataType::INTEGER: + case DataType::INT: + case DataType::NUMERIC: + case DataType::REAL: + return 1; + case DataType::BOOLEAN: + case DataType::BLOB: + case DataType::NONE: + case DataType::STRING: + case DataType::TEXT: + case DataType::CHAR: + case DataType::VARCHAR: + case DataType::DATE: + case DataType::DATETIME: + case DataType::TIME: + case DataType::unknown: + break; + } + return 10; +} |
