[processing] more work on parameter wrappers

This commit is contained in:
volaya 2016-09-09 08:25:03 +02:00
parent e353d226a8
commit bc06600871
2 changed files with 36 additions and 2 deletions

View File

@ -106,8 +106,10 @@ class Parameter:
take as input.
"""
default_metadata = {}
default_metadata = {
'widget_wrapper': 'processing.gui.wrappers.BasicWidgetWrapper'
}
def __init__(self, name='', description='', default=None, optional=False,
metadata={}):
self.name = name
@ -870,6 +872,11 @@ class ParameterNumber(Parameter):
class ParameterRange(Parameter):
default_metadata = {
'widget_wrapper': 'processing.gui.wrappers.BasicWidgetWrapper'
}
def __init__(self, name='', description='', default=None, optional=False):
Parameter.__init__(self, name, description, default, optional)
@ -1461,6 +1468,10 @@ class ParameterVector(ParameterDataObject):
class ParameterGeometryPredicate(Parameter):
default_metadata = {
'widget_wrapper': 'processing.gui.wrappers.BasicWidgetWrapper'
}
predicates = ('intersects',
'contains',
'disjoint',

View File

@ -17,6 +17,7 @@
* *
***************************************************************************
"""
from gui.GeometryPredicateSelectionPanel import GeometryPredicateSelectionPanel
__author__ = 'Arnaud Morvan'
__date__ = 'May 2016'
@ -131,6 +132,17 @@ class WidgetWrapper(QObject):
def refresh(self):
pass
class BasicWidgetWrapper(WidgetWrapper):
def createWidget(self):
return QLineEdit()
def setValue(self, value):
self.widget.setText(value)
def value(self):
return self.widget.text()
class BooleanWidgetWrapper(WidgetWrapper):
@ -792,3 +804,14 @@ class TableFieldWidgetWrapper(WidgetWrapper):
self.widget.addItem(self.tr(self.NOT_SET))
self.widget.addItems(self.getFields(layer, wrapper.param.datatype))
def GeometryPredicateWidgetWrapper(WidgetWrapper):
def createWidget(self):
return GeometryPredicateSelectionPanel()
def setValue(self, value):
self.widget.setValue(value)
def value(self):
return self.widget.value()