diff --git a/src/customwidgets/CMakeLists.txt b/src/customwidgets/CMakeLists.txt index 2b458118557..bbdcb2aa5ae 100644 --- a/src/customwidgets/CMakeLists.txt +++ b/src/customwidgets/CMakeLists.txt @@ -20,6 +20,7 @@ SET (QGIS_CUSTOMWIDGETS_SRCS qgscolorbuttonv2plugin.cpp qgsdatetimeeditplugin.cpp qgsdatadefinedbuttonplugin.cpp + qgsdoublespinboxplugin.cpp qgsfieldcomboboxplugin.cpp qgsfieldexpressionwidgetplugin.cpp qgsfilterlineeditplugin.cpp @@ -27,6 +28,7 @@ SET (QGIS_CUSTOMWIDGETS_SRCS qgsrelationeditorwidgetplugin.cpp qgsrelationreferencewidgetplugin.cpp qgsscalerangewidgetplugin.cpp + qgsspinboxplugin.cpp ) SET (QGIS_CUSTOMWIDGETS_MOC_HDRS @@ -36,6 +38,7 @@ SET (QGIS_CUSTOMWIDGETS_MOC_HDRS qgscolorbuttonv2plugin.h qgsdatetimeeditplugin.h qgsdatadefinedbuttonplugin.h + qgsdoublespinboxplugin.h qgsfieldcomboboxplugin.h qgsfieldexpressionwidgetplugin.h qgsfilterlineeditplugin.h @@ -43,6 +46,7 @@ SET (QGIS_CUSTOMWIDGETS_MOC_HDRS qgsrelationeditorwidgetplugin.h qgsrelationreferencewidgetplugin.h qgsscalerangewidgetplugin.h + qgsspinboxplugin.h ) QT4_WRAP_CPP(QGIS_CUSTOMWIDGETS_MOC_SRCS ${QGIS_CUSTOMWIDGETS_MOC_HDRS}) @@ -60,6 +64,7 @@ SET(QGIS_CUSTOMWIDGETS_HDRS qgscolorbuttonv2plugin.h qgsdatetimeeditplugin.h qgsdatadefinedbuttonplugin.h + qgsdoublespinboxplugin.h qgsfieldcomboboxplugin.h qgsfieldexpressionwidgetplugin.h qgsfilterlineeditplugin.h @@ -67,6 +72,7 @@ SET(QGIS_CUSTOMWIDGETS_HDRS qgsrelationeditorwidgetplugin.h qgsrelationreferencewidgetplugin.h qgsscalerangewidgetplugin.h + qgsspinboxplugin.h ) # left commented as there is no UI file yet diff --git a/src/customwidgets/qgiscustomwidgets.cpp b/src/customwidgets/qgiscustomwidgets.cpp index 02c7f917fa0..288b2cc2c5c 100644 --- a/src/customwidgets/qgiscustomwidgets.cpp +++ b/src/customwidgets/qgiscustomwidgets.cpp @@ -21,12 +21,14 @@ #include "qgscolorbuttonplugin.h" #include "qgscolorbuttonv2plugin.h" #include "qgsdatadefinedbuttonplugin.h" +#include "qgsdoublespinboxplugin.h" #include "qgsfieldcomboboxplugin.h" #include "qgsfieldexpressionwidgetplugin.h" #include "qgsmaplayercomboboxplugin.h" #include "qgsrelationeditorwidgetplugin.h" #include "qgsrelationreferencewidgetplugin.h" #include "qgsscalerangewidgetplugin.h" +#include "qgsspinboxplugin.h" QgisCustomWidgets::QgisCustomWidgets( QObject *parent ) @@ -36,12 +38,14 @@ QgisCustomWidgets::QgisCustomWidgets( QObject *parent ) mWidgets.append( new QgsColorButtonPlugin ); mWidgets.append( new QgsColorButtonV2Plugin ); mWidgets.append( new QgsDataDefinedButtonPlugin ); + mWidgets.append( new QgsDoubleSpinBoxPlugin ); mWidgets.append( new QgsFieldComboBoxPlugin ); mWidgets.append( new QgsFieldExpressionWidgetPlugin ); mWidgets.append( new QgsMapLayerComboBoxPlugin ); mWidgets.append( new QgsRelationEditorWidgetPlugin ); mWidgets.append( new QgsRelationReferenceWidgetPlugin ); mWidgets.append( new QgsScaleRangeWidgetPlugin ); + mWidgets.append( new QgsSpinBoxPlugin ); } QList QgisCustomWidgets::customWidgets() const diff --git a/src/customwidgets/qgsdoublespinboxplugin.cpp b/src/customwidgets/qgsdoublespinboxplugin.cpp new file mode 100644 index 00000000000..a03726e5abe --- /dev/null +++ b/src/customwidgets/qgsdoublespinboxplugin.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + qgsdoublespinboxplugin.cpp + -------------------------------------- + Date : 01.09.2014 + Copyright : (C) 2014 Denis Rouzaud + Email : denis.rouzaud@gmail.com +*************************************************************************** +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +***************************************************************************/ + +#include "qgiscustomwidgets.h" +#include "qgsdoublespinboxplugin.h" +#include "qgsdoublespinbox.h" + + +QgsDoubleSpinBoxPlugin::QgsDoubleSpinBoxPlugin( QObject *parent ) + : QObject( parent ) + , mInitialized( false ) +{ +} + + +QString QgsDoubleSpinBoxPlugin::name() const +{ + return "QgsDoubleSpinBox"; +} + +QString QgsDoubleSpinBoxPlugin::group() const +{ + return QgisCustomWidgets::groupName(); +} + +QString QgsDoubleSpinBoxPlugin::includeFile() const +{ + return "qgsdoublespinbox.h"; +} + +QIcon QgsDoubleSpinBoxPlugin::icon() const +{ + return QIcon(); +} + +bool QgsDoubleSpinBoxPlugin::isContainer() const +{ + return false; +} + +QWidget *QgsDoubleSpinBoxPlugin::createWidget( QWidget *parent ) +{ + return new QgsDoubleSpinBox( parent ); +} + +bool QgsDoubleSpinBoxPlugin::isInitialized() const +{ + return mInitialized; +} + +void QgsDoubleSpinBoxPlugin::initialize( QDesignerFormEditorInterface *core ) +{ + Q_UNUSED( core ); + if ( mInitialized ) + return; + mInitialized = true; +} + + +QString QgsDoubleSpinBoxPlugin::toolTip() const +{ + return ""; +} + +QString QgsDoubleSpinBoxPlugin::whatsThis() const +{ + return ""; +} + +QString QgsDoubleSpinBoxPlugin::domXml() const +{ + return QString( "\n" + " \n" + " \n" + " \n" + " 0\n" + " 0\n" + " 90\n" + " 27\n" + " \n" + " \n" + " \n" + "\n" ) + .arg( name() ); +} diff --git a/src/customwidgets/qgsdoublespinboxplugin.h b/src/customwidgets/qgsdoublespinboxplugin.h new file mode 100644 index 00000000000..c2786b290fc --- /dev/null +++ b/src/customwidgets/qgsdoublespinboxplugin.h @@ -0,0 +1,48 @@ +/*************************************************************************** + qgsdoublespinboxplugin.h + -------------------------------------- + Date : 01.09.2014 + Copyright : (C) 2014 Denis Rouzaud + Email : denis.rouzaud@gmail.com +*************************************************************************** +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +***************************************************************************/ + +#ifndef QGSDOUBLESPINBOXPLUGIN_H +#define QGSDOUBLESPINBOXPLUGIN_H + +#include +#include + + +class CUSTOMWIDGETS_EXPORT QgsDoubleSpinBoxPlugin : public QObject, public QDesignerCustomWidgetInterface +{ + Q_OBJECT + Q_INTERFACES( QDesignerCustomWidgetInterface ) + + public: + explicit QgsDoubleSpinBoxPlugin( QObject *parent = 0 ); + + private: + bool mInitialized; + + // QDesignerCustomWidgetInterface interface + public: + QString name() const; + QString group() const; + QString includeFile() const; + QIcon icon() const; + bool isContainer() const; + QWidget *createWidget( QWidget *parent ); + bool isInitialized() const; + void initialize( QDesignerFormEditorInterface *core ); + QString toolTip() const; + QString whatsThis() const; + QString domXml() const; +}; +#endif // QGSDOUBLESPINBOXPLUGIN_H diff --git a/src/customwidgets/qgsspinboxplugin.cpp b/src/customwidgets/qgsspinboxplugin.cpp new file mode 100644 index 00000000000..ae4508b42b7 --- /dev/null +++ b/src/customwidgets/qgsspinboxplugin.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + qgsspinboxplugin.cpp + -------------------------------------- + Date : 01.09.2014 + Copyright : (C) 2014 Denis Rouzaud + Email : denis.rouzaud@gmail.com +*************************************************************************** +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +***************************************************************************/ + +#include "qgiscustomwidgets.h" +#include "qgsspinboxplugin.h" +#include "qgsspinbox.h" + + +QgsSpinBoxPlugin::QgsSpinBoxPlugin( QObject *parent ) + : QObject( parent ) + , mInitialized( false ) +{ +} + + +QString QgsSpinBoxPlugin::name() const +{ + return "QgsSpinBox"; +} + +QString QgsSpinBoxPlugin::group() const +{ + return QgisCustomWidgets::groupName(); +} + +QString QgsSpinBoxPlugin::includeFile() const +{ + return "qgsspinbox.h"; +} + +QIcon QgsSpinBoxPlugin::icon() const +{ + return QIcon(); +} + +bool QgsSpinBoxPlugin::isContainer() const +{ + return false; +} + +QWidget *QgsSpinBoxPlugin::createWidget( QWidget *parent ) +{ + return new QgsSpinBox( parent ); +} + +bool QgsSpinBoxPlugin::isInitialized() const +{ + return mInitialized; +} + +void QgsSpinBoxPlugin::initialize( QDesignerFormEditorInterface *core ) +{ + Q_UNUSED( core ); + if ( mInitialized ) + return; + mInitialized = true; +} + + +QString QgsSpinBoxPlugin::toolTip() const +{ + return ""; +} + +QString QgsSpinBoxPlugin::whatsThis() const +{ + return ""; +} + +QString QgsSpinBoxPlugin::domXml() const +{ + return QString( "\n" + " \n" + " \n" + " \n" + " 0\n" + " 0\n" + " 90\n" + " 27\n" + " \n" + " \n" + " \n" + "\n" ) + .arg( name() ); +} diff --git a/src/customwidgets/qgsspinboxplugin.h b/src/customwidgets/qgsspinboxplugin.h new file mode 100644 index 00000000000..155287997de --- /dev/null +++ b/src/customwidgets/qgsspinboxplugin.h @@ -0,0 +1,48 @@ +/*************************************************************************** + qgsspinboxplugin.h + -------------------------------------- + Date : 01.09.2014 + Copyright : (C) 2014 Denis Rouzaud + Email : denis.rouzaud@gmail.com +*************************************************************************** +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +***************************************************************************/ + +#ifndef QGSSPINBOXPLUGIN_H +#define QGSSPINBOXPLUGIN_H + +#include +#include + + +class CUSTOMWIDGETS_EXPORT QgsSpinBoxPlugin : public QObject, public QDesignerCustomWidgetInterface +{ + Q_OBJECT + Q_INTERFACES( QDesignerCustomWidgetInterface ) + + public: + explicit QgsSpinBoxPlugin( QObject *parent = 0 ); + + private: + bool mInitialized; + + // QDesignerCustomWidgetInterface interface + public: + QString name() const; + QString group() const; + QString includeFile() const; + QIcon icon() const; + bool isContainer() const; + QWidget *createWidget( QWidget *parent ); + bool isInitialized() const; + void initialize( QDesignerFormEditorInterface *core ); + QString toolTip() const; + QString whatsThis() const; + QString domXml() const; +}; +#endif // QGSSPINBOXPLUGIN_H