'Constructor to configure the widget
@param field: the selector(s) for the field(s) to filter by
@param attr: configuration options for this widget
Common configuration options:
@keyword label: label for the widget
@keyword comment: comment for the widget
@keyword hidden: render widget initially hidden
(="advanced" option)
- other options see subclasses'

def __init__(self, field=None, **attr):

    self.field = field
    self.alias = None
    attributes = Storage()
    options = Storage()
    for (k, v) in attr.iteritems():
        if (k[0] == '_'):
            attributes[k] = v
        else:
            options[k] = v
    self.attr = attributes
    self.opts = options
    self.selector = None
    self.values = Storage()
