[custom widgets] adds filter line edit

This commit is contained in:
Denis Rouzaud 2014-09-02 15:15:16 +02:00
parent a64e7b134c
commit f97d5e319e
6 changed files with 157 additions and 63 deletions

View File

@ -10,6 +10,8 @@ class QgsFilterLineEdit : QLineEdit
QgsFilterLineEdit( QWidget* parent = 0 );
void setNullValue( QString nullValue );
QString nullValue() const;
signals:
void cleared();

View File

@ -22,6 +22,7 @@ SET (QGIS_CUSTOMWIDGETS_SRCS
qgsdatadefinedbuttonplugin.cpp
qgsfieldcomboboxplugin.cpp
qgsfieldexpressionwidgetplugin.cpp
qgsfilterlineeditplugin.cpp
qgsmaplayercomboboxplugin.cpp
qgsrelationeditorwidgetplugin.cpp
qgsrelationreferencewidgetplugin.cpp
@ -37,6 +38,7 @@ SET (QGIS_CUSTOMWIDGETS_MOC_HDRS
qgsdatadefinedbuttonplugin.h
qgsfieldcomboboxplugin.h
qgsfieldexpressionwidgetplugin.h
qgsfilterlineeditplugin.h
qgsmaplayercomboboxplugin.h
qgsrelationeditorwidgetplugin.h
qgsrelationreferencewidgetplugin.h
@ -60,6 +62,7 @@ SET(QGIS_CUSTOMWIDGETS_HDRS
qgsdatadefinedbuttonplugin.h
qgsfieldcomboboxplugin.h
qgsfieldexpressionwidgetplugin.h
qgsfilterlineeditplugin.h
qgsmaplayercomboboxplugin.h
qgsrelationeditorwidgetplugin.h
qgsrelationreferencewidgetplugin.h

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.0.1, 2014-09-01T10:16:06. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">-1</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
<value type="QByteArray">{316279e7-c793-4c38-a9aa-b021b7d95d28}</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">15</value>
</data>
</qtcreator>

View File

@ -0,0 +1,100 @@
/***************************************************************************
qgsfilterlineeditplugin.cpp
--------------------------------------
Date : 20.08.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 "qgsfilterlineedit.h"
#include "qgsfilterlineeditplugin.h"
QgsFilterLineEditPlugin::QgsFilterLineEditPlugin( QObject *parent )
: QObject( parent )
, mInitialized( false )
{
}
QString QgsFilterLineEditPlugin::name() const
{
return "QgsFilterLineEdit";
}
QString QgsFilterLineEditPlugin::group() const
{
return QgisCustomWidgets::groupName();
}
QString QgsFilterLineEditPlugin::includeFile() const
{
return "qgsfilterlineedit.h";
}
QIcon QgsFilterLineEditPlugin::icon() const
{
return QIcon();
}
bool QgsFilterLineEditPlugin::isContainer() const
{
return false;
}
QWidget *QgsFilterLineEditPlugin::createWidget( QWidget *parent )
{
return new QgsFilterLineEdit( parent );
}
bool QgsFilterLineEditPlugin::isInitialized() const
{
return mInitialized;
}
void QgsFilterLineEditPlugin::initialize( QDesignerFormEditorInterface *core )
{
Q_UNUSED( core );
if ( mInitialized )
return;
mInitialized = true;
}
QString QgsFilterLineEditPlugin::toolTip() const
{
return "";
}
QString QgsFilterLineEditPlugin::whatsThis() const
{
return "";
}
QString QgsFilterLineEditPlugin::domXml() const
{
return QString( "<ui language=\"c++\">\n"
" <widget class=\"%1\" name=\"mLineEdit\">\n"
" <property name=\"qgisRelation\" >\n"
" <string notr=\"true\"></string>\n"
" </property>\n"
" <property name=\"geometry\">\n"
" <rect>\n"
" <x>0</x>\n"
" <y>0</y>\n"
" <width>60</width>\n"
" <height>27</height>\n"
" </rect>\n"
" </property>\n"
" </widget>\n"
"</ui>\n" )
.arg( name() );
}

View File

@ -0,0 +1,48 @@
/***************************************************************************
qgsfilterlineeditplugin.h
--------------------------------------
Date : 20.08.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 QGSFILTERLINEEDITPLUGIN_H
#define QGSFILTERLINEEDITPLUGIN_H
#include <QDesignerExportWidget>
#include <QDesignerCustomWidgetInterface>
class CUSTOMWIDGETS_EXPORT QgsFilterLineEditPlugin : public QObject, public QDesignerCustomWidgetInterface
{
Q_OBJECT
Q_INTERFACES( QDesignerCustomWidgetInterface )
public:
explicit QgsFilterLineEditPlugin( 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 // QGSFILTERLINEEDITPLUGIN_H

View File

@ -28,11 +28,15 @@ class QToolButton;
class GUI_EXPORT QgsFilterLineEdit : public QLineEdit
{
Q_OBJECT
Q_PROPERTY( QString nullValue READ nullValue WRITE setNullValue )
public:
QgsFilterLineEdit( QWidget* parent = 0, QString nullValue = QString::null );
void setNullValue( QString nullValue ) { mNullValue = nullValue; }
QString nullValue() const {return mNullValue;}
signals:
void cleared();