doc/book/en/development/devweb/form.rst
changeset 4443 83ff2bb898a5
parent 2172 cf8f9180e63e
child 4465 18fb359f5c7a
--- a/doc/book/en/development/devweb/form.rst	Wed Feb 03 20:33:49 2010 +0100
+++ b/doc/book/en/development/devweb/form.rst	Wed Feb 03 20:34:44 2010 +0100
@@ -1,28 +1,69 @@
 Form construction
 ------------------
+CubicWeb provides usual form/field/widget/renderer abstraction to provde
+some generic building blocks which will greatly help you in building forms
+properly integrated with |cubicweb| (coherent display, error handling, etc...)
 
-Forms
-~~~~~
-XXX feed me
-:Vocabulary control on relations:
+A form basically only hold a set of fields, and is bound to a renderer that is
+responsible to layout them. Each field is bound to a widget that will be used
+to fill in value(s) for that field.
+
+The Field class and basic fields
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. autoclass: cubicweb.web.formfields.Field
+
+
+Existing field types are:
 
-  * `vocabulary(rtype, x='subject', limit=None)`, called by the
-    editing views, it returns a list of couples (label, eid) of entities
-    that could be related to the entity by the relation `rtype`
-  * `subject_relation_vocabulary(rtype, limit=None)`, called internally
-    by  `vocabulary` in the case of a subject relation
-  * `object_relation_vocabulary(rtype, limit=None)`, called internally
-    by  `vocabulary` in the case of an object relation
-  * `relation_vocabulary(rtype, targettype, x, limit=None)`, called
-    internally by `subject_relation_vocabulary` and `object_relation_vocabulary`
+.. autoclass: cubicweb.web.formfields.StringField
+.. autoclass: cubicweb.web.formfields.PasswordField
+.. autoclass: cubicweb.web.formfields.RichTextField
+.. autoclass: cubicweb.web.formfields.FileField
+.. autoclass: cubicweb.web.formfields.EditableFileField
+.. autoclass: cubicweb.web.formfields.IntField
+.. autoclass: cubicweb.web.formfields.BooleanField
+.. autoclass: cubicweb.web.formfields.FloatField
+.. autoclass: cubicweb.web.formfields.DateField
+.. autoclass: cubicweb.web.formfields.DateTimeField
+.. autoclass: cubicweb.web.formfields.TimeField
+.. autoclass: cubicweb.web.formfields.RelationField
+.. XXX still necessary?
+.. autoclass: cubicweb.web.formfields.CompoundField
 
-Fields
-~~~~~~
-XXX feed me
 
 Widgets
 ~~~~~~~
-XXX feed me
+Base class for widget is :class:cubicweb.web.formwidgets.FieldWidget class.
+
+Existing widget types are:
+.. autoclass: cubicweb.web.formwidgets.HiddenInput
+.. autoclass: cubicweb.web.formwidgets.TextInput
+.. autoclass: cubicweb.web.formwidgets.PasswordInput
+.. autoclass: cubicweb.web.formwidgets.PasswordSingleInput
+.. autoclass: cubicweb.web.formwidgets.FileInput
+.. autoclass: cubicweb.web.formwidgets.ButtonInput
+.. autoclass: cubicweb.web.formwidgets.TextArea
+.. autoclass: cubicweb.web.formwidgets.FCKEditor
+.. autoclass: cubicweb.web.formwidgets.Select
+.. autoclass: cubicweb.web.formwidgets.CheckBox
+.. autoclass: cubicweb.web.formwidgets.Radio
+.. autoclass: cubicweb.web.formwidgets.DateTimePicker
+.. autoclass: cubicweb.web.formwidgets.JQueryDateTimePicker
+.. autoclass: cubicweb.web.formwidgets.JQueryDatePicker
+.. autoclass: cubicweb.web.formwidgets.JQueryTimePicker
+.. autoclass: cubicweb.web.formwidgets.AjaxWidget
+.. autoclass: cubicweb.web.formwidgets.AutoCompletionWidget
+.. autoclass: cubicweb.web.formwidgets.EditableURLWidget
+
+.. XXX StaticFileAutoCompletionWidget, RestrictedAutoCompletionWidget, AddComboBoxWidget, IntervalWidget, HorizontalLayoutWidget
+
+The following classes may also be useful: Button, SubmitButton, ResetButton,
+ImgButton, which are not proper widget (they are not associated to field) but are
+used are form controls.
+
+
+Of course you can not use any widget with any field...
 
 Renderers
 ~~~~~~~~~