Skip to content
Permalink
Browse files

Add QgsSourceSelectDialog python bindings

  • Loading branch information
manisandro committed May 31, 2016
1 parent 0ac8ce1 commit 1f02d4a43de87d9485eeba05eee2d39e7cf29f24
Showing with 46 additions and 1 deletion.
  1. +1 −0 python/gui/gui.sip
  2. +43 −0 python/gui/qgssourceselectdialog.sip
  3. +2 −1 src/gui/qgssourceselectdialog.cpp
@@ -150,6 +150,7 @@
%Include qgssearchquerybuilder.sip
%Include qgsshortcutsmanager.sip
%Include qgsslider.sip
%Include qgssourceselectdialog.sip
%Include qgssublayersdialog.sip
%Include qgssvgannotationitem.sip
%Include qgstablewidgetitem.sip
@@ -0,0 +1,43 @@
/**
* Generic class listing layers available from a remote service.
*/
class QgsSourceSelectDialog : public QDialog //, protected Ui::QgsSourceSelectBase
{
%TypeHeaderCode
#include "qgssourceselectdialog.h"
%End

public:
/** Whether the dialog is for a map service or a feature service */
enum ServiceType { MapService, FeatureService };

/** Constructor */
QgsSourceSelectDialog( const QString& serviceName, ServiceType serviceType, QWidget* parent, Qt::WindowFlags fl );
/** Destructor */
~QgsSourceSelectDialog();
/** Sets the current extent and CRS. Used to select an appropriate CRS and possibly to retreive data only in the current extent */
void setCurrentExtentAndCrs( const QgsRectangle& canvasExtent, const QgsCoordinateReferenceSystem& canvasCrs );

signals:
/** Emitted when a layer is added from the dialog */
void addLayer( QString uri, QString typeName );
/** Emitted when the connections for the service were changed */
void connectionsChanged();

protected:
/** To be implemented in the child class. Called when a new connection is initiated. */
virtual bool connectToService( const QgsOWSConnection& connection ) = 0;
/** May be implemented in child classes for services which support customized queries. */
virtual void buildQuery( const QgsOWSConnection&, const QModelIndex& );
/** To be implemented in the child class. Constructs an URI for the specified service layer. */
virtual QString getLayerURI( const QgsOWSConnection& connection,
const QString& layerTitle,
const QString& layerName,
const QString& crs = QString(),
const QString& filter = QString(),
const QgsRectangle& bBox = QgsRectangle() ) const = 0;
/** Updates the UI for the list of available image encodings from the specified list. */
void populateImageEncodings( const QStringList& availableEncodings );
/** Returns the selected image encoding. */
QString getSelectedImageEncoding() const;
};
@@ -36,7 +36,8 @@
#include <QRadioButton>
#include <QImageReader>

/** Item delegate with tweaked sizeHint. */
/** Item delegate with tweaked sizeHint.
* @note not available in Python bindings */
class QgsSourceSelectItemDelegate : public QItemDelegate
{
public:

0 comments on commit 1f02d4a

Please sign in to comment.
You can’t perform that action at this time.