+ return ','.join([str(x) for x in value])
+
+class IntegerListSetting (ListSetting):
+ """A named setting with a list of integer point values.
+
+ >>> s = IntegerListSetting(name='integerlist')
+ >>> s.default
+ []
+ >>> s.convert_to_text([1, 3])
+ '1,3'
+ >>> s.convert_from_text('4, -6')
+ [4, -6]
+ >>> s.convert_to_text([])
+ ''
+ >>> s.convert_from_text('')
+ []
+ """
+ def _convert_from_text(self, value):
+ if value is None:
+ return value
+ return int(value)
+
+
+class FloatListSetting (ListSetting):
+ """A named setting with a list of floating point values.
+
+ >>> s = FloatListSetting(name='floatlist')
+ >>> s.default
+ []
+ >>> s.convert_to_text([1, 2.3])
+ '1,2.3'
+ >>> s.convert_from_text('4.5, -6.7') # doctest: +ELLIPSIS
+ [4.5, -6.7...]
+ >>> s.convert_to_text([])
+ ''
+ >>> s.convert_from_text('')
+ []
+ """
+ def _convert_from_text(self, value):
+ if value is None:
+ return value
+ return float(value)