[QGIS-Developer] MetaSearch provider connections in master

Tom Kralidis tomkralidis at gmail.com
Mon Nov 13 08:01:19 PST 2017


Hi Alessandro: thanks for the info.  I tried this (see Gist in [1]) whichj
also results in the behaviour originally reported.

Thanks

..Tom


[1] https://gist.github.com/tomkralidis/dccb49efa760a585be38ee0c3188b8b3

On Mon, Nov 13, 2017 at 10:59 AM, Alessandro Pasotti <apasotti at gmail.com> wrote:
>
> I think you can try this first: the WMS 'on_btnConnect_clicked' slot has
> been renamed to  'btnConnect_clicked'
>
>
>
> On Mon, Nov 13, 2017 at 4:37 PM, Tom Kralidis <tomkralidis at gmail.com> wrote:
>>
>> On Mon, Nov 13, 2017 at 10:32 AM, Alessandro Pasotti <apasotti at gmail.com>
>> wrote:
>> > On Mon, Nov 13, 2017 at 4:24 PM, Tom Kralidis <tomkralidis at gmail.com>
>> > wrote:
>> >>
>> >> On Mon, Nov 13, 2017 at 10:17 AM, Alessandro Pasotti
>> >> <apasotti at gmail.com>
>> >> wrote:
>> >> > On Mon, Nov 13, 2017 at 3:59 PM, Tom Kralidis <tomkralidis at gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> On Mon, Nov 13, 2017 at 9:18 AM, Alessandro Pasotti
>> >> >> <apasotti at gmail.com>
>> >> >> wrote:
>> >> >> > On Mon, Nov 13, 2017 at 3:06 PM, Tom Kralidis
>> >> >> > <tomkralidis at gmail.com>
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> Hi devs:
>> >> >> >>
>> >> >> >> Given https://issues.qgis.org/issues/17347 I'm working on fixing
>> >> >> >> MetaSearch
>> >> >> >> provider connections in master. The core part of the code is
>> >> >> >> currently
>> >> >> >> at
>> >> >> >> [1]. A
>> >> >> >> standalone example can be found at [2].  Result is that the
>> >> >> >> WMS/WMTS
>> >> >> >> provider
>> >> >> >> opens connecting to the selected WMS/WMTS (good).  When clicking
>> >> >> >> 'Ok',
>> >> >> >> 'Close',
>> >> >> >> or 'Add', the WMS/WMTS layer is added (expecting 'Close' to
>> >> >> >> simply
>> >> >> >> close the dialog
>> >> >> >> and 'Ok' to add the layer and then close).  Finally clicking the
>> >> >> >> 'X'
>> >> >> >> (top right) closes
>> >> >> >> the dialog as expected.
>> >> >> >>
>> >> >> >> - are there other slots to call instead?
>> >> >> >> - should the Data Source Manager be used instead [3]?  Are there
>> >> >> >> plans
>> >> >> >> for providing
>> >> >> >> Python binding to this?
>> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > I can't tell if it's a good idea, but you can definitely add
>> >> >> > whatever
>> >> >> > you
>> >> >> > want to the DataSourceManager dialog with plain python:
>> >> >> >
>> >> >> > class ConcreteDataSourceWidget(QgsAbstractDataSourceWidget):
>> >> >> >     pass
>> >> >> >
>> >> >> > class ConcreteSourceSelectProvider(QgsSourceSelectProvider):
>> >> >> >
>> >> >> >     def providerKey(self):
>> >> >> >         return "MyTestProviderKey"
>> >> >> >
>> >> >> >     def text(self):
>> >> >> >         return "MyTestProviderText"
>> >> >> >
>> >> >> >     def icon(self):
>> >> >> >         return QIcon()
>> >> >> >
>> >> >> >     def createDataSourceWidget(self):
>> >> >> >         return ConcreteDataSourceWidget()
>> >> >> >
>> >> >> >     def ordering(self):
>> >> >> >         return 1
>> >> >> >
>> >> >> > registry = QgsSourceSelectProviderRegistry()
>> >> >> > registry.addProvider(ConcreteSourceSelectProvider())
>> >> >> >
>> >> >> > Note that the DataSourceManager dialog is created when QGIS
>> >> >> > starts,
>> >> >> > you
>> >> >> > will
>> >> >> > want to register your provider early in the startup process, for
>> >> >> > now,
>> >> >> > there
>> >> >> > is no way to refresh the dialog after it has been constructed.
>> >> >> >
>> >> >>
>> >> >> Thanks Alessandro.  Is this example to add a provider type?
>> >> >> MetaSearch
>> >> >> simply wants to open a given existing provider dialog, open based on
>> >> >> a
>> >> >> given
>> >> >> provider type and let the user interact from there.
>> >> >>
>> >> >> ..Tom
>> >> >
>> >> >
>> >> >
>> >> > Yes, that's the way to add a new "provider" (it does not really need
>> >> > to
>> >> > be a
>> >> > provider) to the items in the data source manager dialog.
>> >> >
>> >> > Maybe you wanted to use this:
>> >> >
>> >> >
>> >> > http://qgis.org/api/classQgsDataSourceManagerDialog.html#a6b9046d38467a13ec321a70166bff289
>> >> >
>> >>
>> >> Thanks Alessandro.  Is QgsDataSourceManagerDialog planned to be
>> >> available via Python?  See:
>> >>
>> >> http://qgis.org/api/classQgsDataSourceManagerDialog.html (docs say not
>> >> available in Python
>> >> bindings)
>> >>
>> >
>> >
>> > Yes, that was planned. The idea was to build a generic re-usable widget
>> > to
>> > select data sources.
>> >
>> > But you are probably talking about exposing it through iface, correct?
>> >
>>
>> Would that work currently/is that possible?  At this point the main
>> goal is to fix MetaSearch [1]
>> in master given the changes to the data source/provider dialogs.
>>
>> [1]
>> https://github.com/qgis/QGIS/blob/master/python/plugins/MetaSearch/dialogs/maindialog.py#L754-L792
>>
>> >
>> >
>> >
>> >>
>> >>
>> >> > Btw you can also get the individual source selects from provider
>> >> > registry:
>> >> > QgsProviderRegistry.instance().createSelectionWidget('ogr').show()
>> >> >
>> >>
>> >> This is exactly what MetaSearch is doing currently which results in the
>> >> issues originally mentioned.
>> >>
>> >> ..Tom
>> >>
>> >> >
>> >> >
>> >> > Cheers.
>> >> >
>> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >>
>> >> >> >>
>> >> >> >> Thanks
>> >> >> >>
>> >> >> >> ..Tom
>> >> >> >>
>> >> >> >> [1]
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> https://github.com/qgis/QGIS/blob/master/python/plugins/MetaSearch/dialogs/maindialog.py#L759-L792
>> >> >> >> [2]
>> >> >> >>
>> >> >> >> https://gist.github.com/tomkralidis/dccb49efa760a585be38ee0c3188b8b3
>> >> >> >> [3] http://qgis.org/api/classQgsDataSourceManagerDialog.html
>> >> >> >> _______________________________________________
>> >> >> >> QGIS-Developer mailing list
>> >> >> >> QGIS-Developer at lists.osgeo.org
>> >> >> >> List info:
>> >> >> >> https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >> >> >> Unsubscribe:
>> >> >> >> https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Alessandro Pasotti
>> >> >> > w3:   www.itopen.it
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Alessandro Pasotti
>> >> > w3:   www.itopen.it
>> >
>> >
>> >
>> >
>> > --
>> > Alessandro Pasotti
>> > w3:   www.itopen.it
>
>
>
>
> --
> Alessandro Pasotti
> w3:   www.itopen.it


More information about the QGIS-Developer mailing list