1..34 # __construct() - takes a id_format argument - id attributes takes precedence over auto generated ids - can disable id generation # ->getLabel() ->setLabel() - returns null if no label has been defined - returns the label - changes the label # ->getDefault() ->setDefault() - returns null if no default value has been defined - returns the default value - changes the default value for the widget # ->getParent() ->setParent() - returns null if no widget schema has been defined - associates a widget schema to the widget # ->getIdFormat() ->setIdFormat() - sets the format for the generated id attribute # ->isHidden() - returns false if a widget is not hidden - returns true if a widget is hidden # ->needsMultipartForm() - returns false if the widget does not need a multipart form - returns false if the widget needs a multipart form # ->renderTag() - does not add an id if no name is given - does not add an id if one is given - adds an id if none is given and a name is given - uses the id_format to generate an id - does not close tag if not in XHTML mode # ->renderContentTag() - does not add an id if no name is given - does not add an id if one is given - adds an id if none is given and a name is given - uses the id_format to generate an id # ->generateId() - sets the format of the widget id - removes the [] from the name - replaces [] with _ - takes the value into account if provided - leaves valid ids - returns the name if the id format does not contain %s - removes invalid characters - removes invalid characters - removes invalid characters # Looks like everything went fine.