A new widget which handles parameter values for child algorithms
within a model. Instead of the previous approach of requiring
individual widget wrappers to handle creation of a suitable
model widget, we do all this automatically for them.
This widget uses a stacked widget with a toolbutton to select
the parameter's source, instead of the previous combo box approach
(which didn't scale well for large models). I.e. users select
first whether the value is taken from a static value, a
model input, or an output from a different child algorithm. The
widget then changes appearance and behavior based on this
choice.
Additionally, a new option is present for all parameters
of using a "precalculated expression". This expression is
evaluated once before the child algorithm is executed
and used during the execution of that algorithm.
- Add abstract base class for Processing widget wrappers to c++
- Add wrapper factory interface to c++
- Make QgsProcessingGuiRegistry also register widget wrapper
factories, and be responsible for creation of new c++
processing widget wrapper instances
- Start on private c++ implementation of boolean widget wrapper,
including unit tests
Adds a common widget for SVG sources, with a tool button with
some handy options:
- select file (old behaviour), pick a file from disk
- embed file (pick a file from disk, is embedded into project/symbol)
- extract embedded file (for embedded files, allows you to save these
back to a disk based svg file)
- from url (opens a dialog prompting for a url, exposing
the previously hidden functionality that svgs can be retrieved
from a remote url (eg github))
Sponsored by SMEC/SJ
Creates a new QgsProxyStyle subclass of QProxyStyle which
automatically sets the base style to match the current
application style (creating a new QStyle object, since
setting the base style takes ownership). Additionally,
QgsProxyStyle correctly parents the style to a parent
widget, avoiding leaks since calling QWidget::setStyle
doesn't transfer ownership.
Fixes incorrect theme used for layer tree view since
addition of indicator icons.
This adds a mini-framework for display of extra icons in layer tree views
next to layer and group names. Tool tip text can be associated with indicators
to give extra context for indicators. In addition, a signal gets emitted
when user clicks indicators and custom actions can be defined.
The main window's layer tree view (ToC) gets support for indicators
that are shown when a vector layer has a filter applied. This makes it easier
for users to understand that they are looking at a subset of all data.
Clicking the indicator's icon brings up query builder.
* avoid using lambdas and use dedicate class and subclasses for each widget type (lable, groupbox, tree, etc)
* this makes the code much more clearer
* allow creating custom highlight widgets with API
For each child relations, the subform is visible.
Each attribute of the children has a tool button option to define to which
aggregate the specified value should be compared. This allows for searching
things like
* Each city where the highest building is more than 300 m
* Each sensor where the median value is lower than 50 ppm
* Each feature with a child with a missing value
* ...
* add Geonode connection menu to the toolbar
* add header files for geonode-qgis client
* add action to launch geonode connection dialog from menubar
* Move to proper directory
* Add geonodeconnection class.
* Add unit test for geonode connection.
* Use const static to avoid typo.
* Get list layers from geonode.
* Add get maps method.
* Geonode connection dialog (#13)
* add new geonode connection dialog
* apply functionality to the geonode connection manager dialog
* add save and load geonode connection functionality
* edit baseKey and credentialBaseKey
* remove auto-connect slots
* Add unit test for geonode connection.
* Add wms url getter.
* Add uuid and layer name in the table.
* Add handler for the list layer clicked. WIP.
* Use new style connect, better hacky to get wms url.
* update gitignore
* Make QGIS able to add WMS layer from geonode. With hacky code.
* Fix Docstring.
* Show web service type (WMS/WFS) in layer table.
* fix http and toolbar menu
* add geonode data item to the browser panel as an extention of ows provider
* [WIP] Add WFS.
* Add geonode get service url.
* combobox functionality and test geonode connection
* Add WFS.
* Disable add button if it's a map. Currently we can't do anything for map.
* Add busy cursor when add layer.
* get service uri capabilitites
* add available layers to the geonode browser panel
* remove debugging footprint and replace old style connect
* add actions (new, edit, delete) to geonode browser panel
* fix getLayers by WMS url
* add Geonode connection menu to the toolbar
* Filter out invalid layer / map.
* Fix service url method.
* Add service url for XYZ for GeoNode QGIS Server backend.
* Add XYZ url to geonode connection dialog.
* Add XYZ layer to QGIS.
* fix double geonode submenu
* add wfs/wms layers from browser panel using its native provider
* comply with qgis3 new class naming
* Handle different prefix for layer in GeoNode QGIS Server backend.
* base class for cms connection
* make geonode connection as a derived class from cms connection
* update cmakelists
* move geonode connection to geocms dir
* update CMakeLists
* Handle geonode 2.7 with new API.
* Handle multiple geoserver url in one geonode.
* Fix add xyz for qgis server. Fix add wms, wfs, xyz for geoserver in geonode 2.7
* Refactor serviceURL to return QStringList.
* add 'add geonode layer' icon
* add geonode to the data source manager dialog
* [GeoNode-Client] Fix add WFS layer.
* fix wms url parameter
* add xyz dataitems
* Use new style connect.
* [GeoNode Client] Handle qgis server specific typename to make add WFS works.
* Code improvement.
* [GeoNode Client] Make geonode dialog in add universal layer can add layer.
* Open universal add layer when click Add GeoNode layer.
* Make sure the geonode url has protocol.
* Handle geonode version in a better way.
* make sure the serviceUrl method has scheme in its urls
* add services option to the dialog
* remove version label if not wfs
* construct wms url with parameters for geonode connection
* handle layer from multi service urls for every wfs, wms, & xyz services
* fix new style connect using static_cast
* hode close button if dialog is in embedded mode
* fix xyz layer naming in the browser tree
* create base class for geocms dataitems
* fix compiling warning
* Use struct instead QVariantMap.
* tidy up code
* Tidy up code, use QgsStringMap instead QVariantMap.
* Add spellok for catalogue.
* update sip
* update sip
* Use naming convention for QgsGeoCmsConnection and use QUuid.
* Async by using GeoNodeRequest class.
* Move geonode to src/gui.
* Use stack not heap.
* Remove unused includes.
* Use signal to handle request.
* Use QStringLiteral.
* Switch to use Q_FOREACH.
* Use Q_FOREACH and addressing PR's review.
* Set private for data members.
* update sip
* Update sip.
* Update sip.
* Fix sip problem to make it buildable again.
* Remove geocms
* Tidy up code.
* Use QgsSetting Scope::Provider.
* Fix missing zip.h
It makes no sense to have two classes covering this use case, with
partial functionality in each. Smash the two together so we can
safely use QgsFileWidget for all use cases in future.