'Constructor
@param filter: show an input field in the widget to filter for options,
can be:
- True (always show filter field)
- False (never show the filter field)
- "auto" (show filter if more than 10 options)
- <number> (show filter if more than <number> options)
@param header: show a header for the options list, can be:
- True (show the default Select All/Deselect All header)
- False (don\'t show a header unless required for filter)
@param selectedList: maximum number of individual selected options to show
on the widget button (before collapsing into "<number>
selected")
@param noneSelectedText: text to show on the widget button when no option is
selected (automatic l10n, no T() required)
@param columns: set the columns width class for Foundation forms
@param create: options to create a new record {c: \'controller\',
f: \'function\',
label: \'label\',
parent: \'parent\', (optional: which function to lookup options from)
child: \'child\', (optional: which field to lookup options for)
@ToDo: Complete the \'create\' feature:
* Ensure the Create option doesn\'t get filtered out when searching for items
* Style option to make it clearer that it\'s an Action item'

def __init__(self, filter='auto', header=True, multiple=True, selectedList=3, noneSelectedText='Select', columns=None, create=None):

    self.filter = filter
    self.header = header
    self.multiple = multiple
    self.selectedList = selectedList
    self.noneSelectedText = noneSelectedText
    self.columns = columns
    self.create = create
