@@ -418,21 +418,22 @@ def add(values, *args):
418
418
"""
419
419
helptemplate = Template ("""<h3>$name function</h3><br>$doc""" )
420
420
class QgsExpressionFunction (QgsExpression .Function ):
421
- def __init__ (self , name , args , group , helptext = '' ):
422
- QgsExpression .Function .__init__ (self , name , args , group , helptext )
421
+ def __init__ (self , name , args , group , helptext = '' , usesgeometry = False ):
422
+ QgsExpression .Function .__init__ (self , name , args , group , helptext , usesgeometry )
423
423
424
424
def func (self , values , feature , parent ):
425
425
pass
426
426
427
427
def wrapper (func ):
428
428
name = kwargs .get ('name' , func .__name__ )
429
+ usesgeometry = kwargs .get ('usesgeometry' , False )
429
430
help = func .__doc__ or ''
430
431
help = help .strip ()
431
432
if args == 0 and not name [0 ] == '$' :
432
433
name = '${0}' .format (name )
433
434
func .__name__ = name
434
435
help = helptemplate .safe_substitute (name = name , doc = help )
435
- f = QgsExpressionFunction (name , args , group , help )
436
+ f = QgsExpressionFunction (name , args , group , help , usesgeometry )
436
437
f .func = func
437
438
register = kwargs .get ('register' , True )
438
439
if register :
0 commit comments