25 Commits

Author SHA1 Message Date
Samweli
bdfd670403 include docstrings for the use of the hidden variables 2022-09-04 12:19:48 +02:00
Samweli
df3b3d122e Added new logic for handling hiding of expression variables, this will help to have a clear way of not showing variables that are not needed anymore but they can break past QGIS projects if they are removed. 2022-08-31 10:42:01 +02:00
Nyall Dawson
11a8d40a86 Allow geometries to be set separate to features in expression contexts
Refs #46455 -- we need a way to separate these too, as we don't always
want $geometry to refer to a feature's geometry
2022-02-21 13:04:07 +10:00
Nyall Dawson
e6b39077a2
Promote QgsCoordinateTransform::TransformDirection to enum class, move to Qgis
This enum was forcing an include of qgscoordinatetransform.h within the
widely used qgsabstractgeometry.h header, causing an absolute explosion
of includes of a bunch of very heavy header classes all across QGIS. By
removing the forced include we can avoid a ton of unwanted includes
and make wider use of forward declarations...
2021-09-22 16:40:49 +10:00
Nyall Dawson
8869c9cbe4 Allow setting a QgsFeedback object in QgsExpressionContext
This can be checked by expression functions which are costly to
evaluate (e.g. those which fetch features from a layer) and which
would benefit from early exits when the results of the expression
evaluation are no longer needed (e.g. due to canceling a layer
rendering, etc)
2021-06-19 06:21:51 +10:00
Nyall Dawson
8f510cf2d4 [FEATURE] Add new variable @geometry_ring_num for data defined
styling when rendering polygon rings

The variable is available whenever a polygon outline is being
rendered (e.g. as a simple line, marker line, etc). It will
be set to 0 for the exterior ring, and 1, 2, 3... for interior
rings.
2021-03-31 17:04:53 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Matthias Kuhn
332550ed55 Typo 2019-12-07 13:11:25 +01:00
Nyall Dawson
ee51551baa Add method to retrieve highlighted variable list from QgsExpressionContext 2019-04-08 07:07:12 +10:00
Nyall Dawson
107b48a430 Add NULLPTR macro for use in doxygen comments
For the c++ api dox this expands to "\c nullptr" (the
\c directive indicates a code literal value), and for sipify/Python
it expands to ``None`` (`` is sphinx annotation for literal values)

Makes for nicer dox for both c++ and Python!
2019-02-27 09:41:11 +10:00
Nyall Dawson
a7ca08784c Nullptr consistency in dox 2019-02-27 09:41:11 +10:00
Nyall Dawson
b6d66becab Sipify 2019-02-27 09:41:11 +10:00
Nyall Dawson
69f45e389c Refactor QgsExpressionContext and move QgsExpressionContextUtils
out to its own header

Avoids slow recompilation caused by changes to the frequently
modified QgsExpressionContextUtils class
2019-02-13 07:59:30 +10:00
Nyall Dawson
e533a4078c [processing] Expose some model related variables to expressions
run inside models

Allows expressions to access important variables like the current
model path
2019-02-13 07:59:30 +10:00
Nyall Dawson
a0e91f3798 Add API to read/write QgsExpressionContextScope from/to XML 2019-01-18 12:56:05 +11:00
Nyall Dawson
0f62685963 Fix is_layer_visible to allow direct layer objects and handle removed layers 2018-09-26 04:27:27 +10:00
Nyall Dawson
8e1c437e02 Allow expression contexts to specify a list of highlighted functions
as well as just variable names

In some cases contexts may provide specific functions of use
to that context, or more generally there may be functions we want
to highlight for a particular expression builder (e.g. highlighting
to_dms in the grid annotation builder)
2018-09-22 05:26:29 +10:00
signedav
d80ad3d34f form_mode for qmlwidgetwrapper expression 2018-09-10 18:08:26 +02:00
Denis Rouzaud
65bb60e96c run sipify 2018-05-28 10:39:34 -08:00
Nyall Dawson
f8bc97030b Remove extra space added before first line of docstring 2018-05-28 08:22:11 +10:00
Nyall Dawson
38850bdb94 [pyqgis] Ensure that multiline param tags are indented for additional lines 2018-05-27 18:54:09 +10:00
Alessandro Pasotti
83328ae596 [feature] Form context expressions in value relation widget
The value relation widget filter expression can now use two
new functions/variables that have access to the current
values and geometry of the form being edited.

This allows for dynamic filtering (drill-down) as explained
in the crowdfunding page:
https://north-road.com/drill-down-cascading-forms/

The new functions/variables are:

Function:
get_current_form_field_value( 'FIELD_NAME' )

Variable:
@current_form_geometry
2018-05-15 08:34:08 +02:00
Denis Rouzaud
7df2593caf move auto generated sip file in dedicated folder 2018-05-14 10:23:37 -04:00