diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/multieditor/multieditorbool.h')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/multieditor/multieditorbool.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditorbool.h b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditorbool.h new file mode 100644 index 0000000..f328cf0 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/multieditor/multieditorbool.h @@ -0,0 +1,68 @@ +#ifndef MULTIEDITORBOOL_H +#define MULTIEDITORBOOL_H + +#include "guiSQLiteStudio_global.h" +#include "multieditorwidget.h" +#include "multieditorwidgetplugin.h" +#include "plugins/builtinplugin.h" +#include <QStringList> + +class QCheckBox; + +class GUI_API_EXPORT MultiEditorBool : public MultiEditorWidget +{ + Q_OBJECT + + public: + explicit MultiEditorBool(QWidget* parent = 0); + + static void staticInit(); + + void setValue(const QVariant& boolValue); + QVariant getValue(); + void setReadOnly(bool boolValue); + QList<QWidget*> getNoScrollWidgets(); + QString getTabLabel(); + void focusThisWidget(); + + private: + enum Format + { + TRUE_FALSE, + ON_OFF, + YES_NO, + ONE_ZERO, + BOOL + }; + + bool valueFromString(const QString& strValue); + void updateLabel(); + + static QStringList validValues; + + QCheckBox* checkBox = nullptr; + Format valueFormat = ONE_ZERO; + bool upperCaseValue = false; + bool readOnly = false; + bool boolValue = false; + + private slots: + void stateChanged(int state); +}; + +class GUI_API_EXPORT MultiEditorBoolPlugin : public BuiltInPlugin, public MultiEditorWidgetPlugin +{ + Q_OBJECT + + SQLITESTUDIO_PLUGIN_AUTHOR("sqlitestudio.pl") + SQLITESTUDIO_PLUGIN_DESC("Boolean data editor.") + SQLITESTUDIO_PLUGIN_TITLE("Boolean") + SQLITESTUDIO_PLUGIN_VERSION(10000) + + public: + MultiEditorWidget* getInstance(); + bool validFor(const DataType& dataType); + int getPriority(const DataType& dataType); +}; + +#endif // MULTIEDITORBOOL_H |
