IWidgetFactory is the interface that must be implemented by a widget factory class.
When calling CBaseController::createWidget
, if a widget factory is available,
it will be used for creating the requested widget.
||the owner of the new widget
||the class name of the widget. This can also be a path alias (e.g. system.web.widgets.COutputCache)
||the initial property values (name=>value) of the widget.
||the newly created widget whose properties have been initialized with the given values.
Creates a new widget based on the given class name and initial properties.