Skip to content

Commit

Permalink
add scale widget to custom widgets
Browse files Browse the repository at this point in the history
  • Loading branch information
3nids committed Jan 9, 2015
1 parent 127c882 commit d9280b1
Show file tree
Hide file tree
Showing 4 changed files with 170 additions and 15 deletions.
3 changes: 3 additions & 0 deletions src/customwidgets/CMakeLists.txt
Expand Up @@ -35,6 +35,7 @@ SET (QGIS_CUSTOMWIDGETS_SRCS
qgsrelationeditorwidgetplugin.cpp
qgsrelationreferencewidgetplugin.cpp
qgsscalerangewidgetplugin.cpp
qgsscalewidgetplugin.cpp
qgsspinboxplugin.cpp
)

Expand All @@ -54,6 +55,7 @@ SET (QGIS_CUSTOMWIDGETS_MOC_HDRS
qgsrelationeditorwidgetplugin.h
qgsrelationreferencewidgetplugin.h
qgsscalerangewidgetplugin.h
qgsscalewidgetplugin.h
qgsspinboxplugin.h
)

Expand All @@ -79,6 +81,7 @@ SET(QGIS_CUSTOMWIDGETS_HDRS
qgsrelationeditorwidgetplugin.h
qgsrelationreferencewidgetplugin.h
qgsscalerangewidgetplugin.h
qgsscalewidgetplugin.h
qgsspinboxplugin.h
)

Expand Down
34 changes: 19 additions & 15 deletions src/customwidgets/qgiscustomwidgets.cpp
Expand Up @@ -31,27 +31,29 @@
#include "qgsrelationeditorwidgetplugin.h"
#include "qgsrelationreferencewidgetplugin.h"
#include "qgsscalerangewidgetplugin.h"
#include "qgsscalewidgetplugin.h"
#include "qgsspinboxplugin.h"


QgisCustomWidgets::QgisCustomWidgets( QObject *parent )
: QObject( parent )
{
mWidgets.append( new QgsCollapsibleGroupBoxPlugin(this) );
mWidgets.append( new QgsColorButtonPlugin(this) );
mWidgets.append( new QgsColorButtonV2Plugin(this) );
mWidgets.append( new QgsDataDefinedButtonPlugin(this) );
mWidgets.append( new QgsDateTimeEditPlugin(this) );
mWidgets.append( new QgsDoubleSpinBoxPlugin(this) );
mWidgets.append( new QgsFieldComboBoxPlugin(this) );
mWidgets.append( new QgsFieldExpressionWidgetPlugin(this) );
mWidgets.append( new QgsFilterLineEditPlugin(this) );
mWidgets.append( new QgsMapLayerComboBoxPlugin(this) );
mWidgets.append( new QgsProjectionSelectionWidgetPlugin(this) );
mWidgets.append( new QgsRelationEditorWidgetPlugin(this) );
mWidgets.append( new QgsRelationReferenceWidgetPlugin(this) );
mWidgets.append( new QgsScaleRangeWidgetPlugin(this) );
mWidgets.append( new QgsSpinBoxPlugin(this) );
mWidgets.append( new QgsCollapsibleGroupBoxPlugin( this ) );
mWidgets.append( new QgsColorButtonPlugin( this ) );
mWidgets.append( new QgsColorButtonV2Plugin( this ) );
mWidgets.append( new QgsDataDefinedButtonPlugin( this ) );
mWidgets.append( new QgsDateTimeEditPlugin( this ) );
mWidgets.append( new QgsDoubleSpinBoxPlugin( this ) );
mWidgets.append( new QgsFieldComboBoxPlugin( this ) );
mWidgets.append( new QgsFieldExpressionWidgetPlugin( this ) );
mWidgets.append( new QgsFilterLineEditPlugin( this ) );
mWidgets.append( new QgsMapLayerComboBoxPlugin( this ) );
mWidgets.append( new QgsProjectionSelectionWidgetPlugin( this ) );
mWidgets.append( new QgsRelationEditorWidgetPlugin( this ) );
mWidgets.append( new QgsRelationReferenceWidgetPlugin( this ) );
mWidgets.append( new QgsScaleRangeWidgetPlugin( this ) );
mWidgets.append( new QgsScaleWidgetPlugin( this ) );
mWidgets.append( new QgsSpinBoxPlugin( this ) );
}

QList<QDesignerCustomWidgetInterface*> QgisCustomWidgets::customWidgets() const
Expand All @@ -62,3 +64,5 @@ QList<QDesignerCustomWidgetInterface*> QgisCustomWidgets::customWidgets() const
#if QT_VERSION < 0x050000
Q_EXPORT_PLUGIN2( customwidgetsplugin, QgisCustomWidgets )
#endif


100 changes: 100 additions & 0 deletions src/customwidgets/qgsscalewidgetplugin.cpp
@@ -0,0 +1,100 @@
/***************************************************************************
qgsscalewidgetplugin.cpp
--------------------------------------
Date : 08.01.2015
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 "qgsscalewidgetplugin.h"
#include "qgsscalewidget.h"


QgsScaleWidgetPlugin::QgsScaleWidgetPlugin( QObject *parent )
: QObject( parent )
, mInitialized( false )
{
}


QString QgsScaleWidgetPlugin::name() const
{
return "QgsScaleWidget";
}

QString QgsScaleWidgetPlugin::group() const
{
return QgisCustomWidgets::groupName();
}

QString QgsScaleWidgetPlugin::includeFile() const
{
return "qgsscalewidget.h";
}

QIcon QgsScaleWidgetPlugin::icon() const
{
return QIcon();
}

bool QgsScaleWidgetPlugin::isContainer() const
{
return false;
}

QWidget *QgsScaleWidgetPlugin::createWidget( QWidget *parent )
{
return new QgsScaleWidget( parent );
}

bool QgsScaleWidgetPlugin::isInitialized() const
{
return mInitialized;
}

void QgsScaleWidgetPlugin::initialize( QDesignerFormEditorInterface *core )
{
Q_UNUSED( core );
if ( mInitialized )
return;
mInitialized = true;
}


QString QgsScaleWidgetPlugin::toolTip() const
{
return tr( "A widget to define the scale" );
}

QString QgsScaleWidgetPlugin::whatsThis() const
{
return tr( "A widget to define the scale." );
}

QString QgsScaleWidgetPlugin::domXml() const
{
return QString( "<ui language=\"c++\">\n"
" <widget class=\"%1\" name=\"mScaleWidget\">\n"
" <property name=\"geometry\">\n"
" <rect>\n"
" <x>0</x>\n"
" <y>0</y>\n"
" <width>200</width>\n"
" <height>27</height>\n"
" </rect>\n"
" </property>\n"
" <property name=\"showCurrentScaleButton\">\n"
" <bool>true</bool>\n"
" </property>\n"
" </widget>\n"
"</ui>\n" )
.arg( name() );
}
48 changes: 48 additions & 0 deletions src/customwidgets/qgsscalewidgetplugin.h
@@ -0,0 +1,48 @@
/***************************************************************************
qgsscalewidgetplugin.h
--------------------------------------
Date : 08.01.2015
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 QGSSCALEWIDGETPLUGIN_H
#define QGSSCALEWIDGETPLUGIN_H

#include <QDesignerExportWidget>
#include <QDesignerCustomWidgetInterface>


class CUSTOMWIDGETS_EXPORT QgsScaleWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES( QDesignerCustomWidgetInterface )

public:
explicit QgsScaleWidgetPlugin( 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 // QGSSCALEWIDGETPLUGIN_H

0 comments on commit d9280b1

Please sign in to comment.