mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
You can now view and alter the pg layer subset query from the vector layer properties dialog. Currently only by using the texteditor....I will hook up the pg query builder tomorrow for the truly shiftless and lazy among us :-P
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@2301 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
4a25956c36
commit
23364c4f71
@ -18,6 +18,7 @@
|
||||
/* $Id$ */
|
||||
#include <qstring.h>
|
||||
#include <qlineedit.h>
|
||||
#include <qtextedit.h>
|
||||
#include <qlabel.h>
|
||||
#include <qlistview.h>
|
||||
#include <qcombobox.h>
|
||||
@ -30,12 +31,15 @@
|
||||
#include <qwidgetstack.h>
|
||||
#include <qpushbutton.h>
|
||||
#include <qwidget.h>
|
||||
#include <qgroupbox.h>
|
||||
|
||||
|
||||
#include "qgis.h"
|
||||
#include "qgsrect.h"
|
||||
#include "qgsfield.h"
|
||||
#include "qgsdlgvectorlayerproperties.h"
|
||||
#include "qgsvectordataprovider.h"
|
||||
#include "../providers/postgres/qgspostgresprovider.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgssinglesymrenderer.h"
|
||||
#include "qgsgraduatedmarenderer.h"
|
||||
@ -64,6 +68,8 @@ QgsDlgVectorLayerProperties::QgsDlgVectorLayerProperties(QgsVectorLayer * lyr, Q
|
||||
bufferRenderer(layer->
|
||||
renderer())
|
||||
{
|
||||
|
||||
|
||||
// populate the general information
|
||||
QString source = layer->source();
|
||||
source = source.left(source.find("password"));
|
||||
@ -72,6 +78,20 @@ bufferRenderer(layer->
|
||||
// display type and feature count
|
||||
lblGeometryType->setText(QGis::qgisVectorGeometryType[layer->vectorType()]);
|
||||
QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
|
||||
//see if we are dealing with a pg layer here so that we can enable the sql box
|
||||
if(lyr->providerType() == "postgres")
|
||||
{
|
||||
grpSubset->setEnabled(true);
|
||||
QgsPostgresProvider * myPGProvider = (QgsPostgresProvider *) dp;
|
||||
txtSubsetSQL->setText(myPGProvider->subsetString());
|
||||
txtSubsetSQL->setEnabled(true);
|
||||
pbnQueryBuilder->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// disable sql subset group box
|
||||
grpSubset->setEnabled(false);
|
||||
}
|
||||
QString numFeatures;
|
||||
numFeatures = numFeatures.setNum(dp->featureCount());
|
||||
lblFeatureCount->setText(numFeatures);
|
||||
@ -274,7 +294,22 @@ void QgsDlgVectorLayerProperties::pbnOK_clicked()
|
||||
}
|
||||
void QgsDlgVectorLayerProperties::pbnApply_clicked()
|
||||
{
|
||||
//
|
||||
// Set up sql subset query if applicable
|
||||
//
|
||||
|
||||
QgsVectorDataProvider *dp = dynamic_cast<QgsVectorDataProvider *>(layer->getDataProvider());
|
||||
//see if we are dealing with a pg layer here
|
||||
if(layer->providerType() == "postgres")
|
||||
{
|
||||
grpSubset->setEnabled(true);
|
||||
QgsPostgresProvider * myPGProvider = (QgsPostgresProvider *) dp;
|
||||
myPGProvider->setSubsetString(txtSubsetSQL->text());
|
||||
}
|
||||
else
|
||||
{
|
||||
//do nothing
|
||||
}
|
||||
// set up the scale based layer visibility stuff....
|
||||
layer->setScaleBasedVisibility(chkUseScaleDependentRendering->isChecked());
|
||||
layer->setMinScale(spinMinimumScale->value());
|
||||
@ -333,3 +368,8 @@ void QgsDlgVectorLayerProperties::pbnApply_clicked()
|
||||
|
||||
rendererDirty = false;
|
||||
}
|
||||
|
||||
void QgsDlgVectorLayerProperties::pbnQueryBuilder_clicked()
|
||||
{
|
||||
|
||||
}
|
@ -68,8 +68,8 @@ class QgsDlgVectorLayerProperties : public QgsDlgVectorLayerPropertiesBase{
|
||||
void pbnOK_clicked();
|
||||
void pbnApply_clicked();
|
||||
void btnHelp_clicked();
|
||||
|
||||
|
||||
void pbnQueryBuilder_clicked();
|
||||
|
||||
|
||||
protected:
|
||||
QgsVectorLayer *layer;
|
||||
@ -89,7 +89,7 @@ class QgsDlgVectorLayerProperties : public QgsDlgVectorLayerPropertiesBase{
|
||||
|
||||
inline void QgsDlgVectorLayerProperties::setBufferDialog(QDialog* dialog)
|
||||
{
|
||||
bufferDialog=dialog;
|
||||
bufferDialog=dialog;
|
||||
}
|
||||
|
||||
inline QPixmap* QgsDlgVectorLayerProperties::getBufferPixmap()
|
||||
|
@ -316,7 +316,10 @@
|
||||
</widget>
|
||||
<widget class="QGroupBox" row="3" column="0" rowspan="1" colspan="4">
|
||||
<property name="name">
|
||||
<cstring>groupBox31</cstring>
|
||||
<cstring>grpSubset</cstring>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Subset:</string>
|
||||
@ -327,12 +330,15 @@
|
||||
</property>
|
||||
<widget class="QTextEdit" row="0" column="0" rowspan="1" colspan="2">
|
||||
<property name="name">
|
||||
<cstring>textEdit5</cstring>
|
||||
<cstring>txtSubsetSQL</cstring>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QPushButton" row="1" column="1">
|
||||
<property name="name">
|
||||
<cstring>pushButton84</cstring>
|
||||
<cstring>pbnQueryBuilder</cstring>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Query Builder</string>
|
||||
@ -645,6 +651,12 @@
|
||||
<receiver>QgsDlgVectorLayerPropertiesBase</receiver>
|
||||
<slot>pbnCancel_pressed()</slot>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>pbnQueryBuilder</sender>
|
||||
<signal>clicked()</signal>
|
||||
<receiver>QgsDlgVectorLayerPropertiesBase</receiver>
|
||||
<slot>pbnQueryBuilder_clicked()</slot>
|
||||
</connection>
|
||||
</connections>
|
||||
<includes>
|
||||
<include location="local" impldecl="in implementation">qgsdlgvectorlayerpropertiesbase.ui.h</include>
|
||||
@ -655,6 +667,7 @@
|
||||
<slot>pbnApply_clicked()</slot>
|
||||
<slot>btnHelp_clicked()</slot>
|
||||
<slot>pbnCancel_pressed()</slot>
|
||||
<slot>pbnQueryBuilder_clicked()</slot>
|
||||
</slots>
|
||||
<layoutdefaults spacing="6" margin="11"/>
|
||||
</UI>
|
||||
|
@ -36,3 +36,9 @@ void QgsDlgVectorLayerPropertiesBase::pbnCancel_pressed()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void QgsDlgVectorLayerPropertiesBase::pbnQueryBuilder_clicked()
|
||||
{
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user