aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/multieditor/multieditornumeric.cpp109
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;
+}