[Checkins] SVN: z3c.form/trunk/ - Feature: All ``IFieldWidget``
instances that are also HTML element widgets
Stephan Richter
srichter at cosmos.phy.tufts.edu
Tue Jul 3 04:57:24 EDT 2007
Log message for revision 77328:
- Feature: All ``IFieldWidget`` instances that are also HTML element widgets
now declare an additional CSS class of the form "<fieldtype.lower()>-field".
- Feature: Added ``addClass()`` method to HTML element widgets, so that adding
a new CSS class is simpler.
- Feature: Renamed "css" attribute of the widget to "klass", because the class
of an HTML element is a classification, not a CSS marker
Changed:
U z3c.form/trunk/CHANGES.txt
U z3c.form/trunk/src/z3c/form/adding.txt
U z3c.form/trunk/src/z3c/form/browser/README.txt
U z3c.form/trunk/src/z3c/form/browser/checkbox.py
U z3c.form/trunk/src/z3c/form/browser/checkbox_input.pt
U z3c.form/trunk/src/z3c/form/browser/file.py
U z3c.form/trunk/src/z3c/form/browser/file_input.pt
U z3c.form/trunk/src/z3c/form/browser/interfaces.py
U z3c.form/trunk/src/z3c/form/browser/orderedselect.py
U z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt
U z3c.form/trunk/src/z3c/form/browser/password.py
U z3c.form/trunk/src/z3c/form/browser/password_input.pt
U z3c.form/trunk/src/z3c/form/browser/radio.py
U z3c.form/trunk/src/z3c/form/browser/radio_input.pt
U z3c.form/trunk/src/z3c/form/browser/select.py
U z3c.form/trunk/src/z3c/form/browser/select_input.pt
U z3c.form/trunk/src/z3c/form/browser/submit.py
U z3c.form/trunk/src/z3c/form/browser/submit_display.pt
U z3c.form/trunk/src/z3c/form/browser/submit_input.pt
U z3c.form/trunk/src/z3c/form/browser/text.py
U z3c.form/trunk/src/z3c/form/browser/text_input.pt
U z3c.form/trunk/src/z3c/form/browser/textarea.py
U z3c.form/trunk/src/z3c/form/browser/textarea_input.pt
U z3c.form/trunk/src/z3c/form/browser/widget.py
U z3c.form/trunk/src/z3c/form/form.txt
U z3c.form/trunk/src/z3c/form/group.txt
U z3c.form/trunk/src/z3c/form/subform.txt
U z3c.form/trunk/src/z3c/form/widget.py
-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/CHANGES.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -5,6 +5,15 @@
Version 1.5.0 (??/??/2007)
-------------------------
+- Feature: All ``IFieldWidget`` instances that are also HTML element widgets
+ now declare an additional CSS class of the form "<fieldtype.lower()>-field".
+
+- Feature: Added ``addClass()`` method to HTML element widgets, so that adding
+ a new CSS class is simpler.
+
+- Feature: Renamed "css" attribute of the widget to "klass", because the class
+ of an HTML element is a classification, not a CSS marker.
+
- Feature: Reviewed all widget attributes. Added all available HTML attributes
to the widgets.
@@ -168,4 +177,4 @@
Version 1.0.0 (5/24/2007)
-------------------------
-- Initial Releas
+- Initial Release
Modified: z3c.form/trunk/src/z3c/form/adding.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/adding.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/adding.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -80,8 +80,8 @@
<form action=".">
<div class="row">
<label for="form-widgets-name">Name</label>
- <input type="text" id="form-widgets-name"
- name="form.widgets.name" class="textWidget" value="" />
+ <input type="text" id="form-widgets-name" name="form.widgets.name"
+ class="textWidget textline-field" value="" />
</div>
<div class="action">
<input type="submit" id="form-buttons-add"
Modified: z3c.form/trunk/src/z3c/form/browser/README.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/README.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/README.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -40,7 +40,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <textarea id="foo" name="bar" class="textAreaWidget">This is
+ <textarea id="foo" name="bar" class="textAreaWidget ascii-field">This is
ASCII.</textarea>
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -56,7 +56,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget asciiline-field"
value="An ASCII line." />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -73,13 +73,13 @@
>>> print widget.render()
<span class="option">
<input type="radio" id="foo-0" name="bar:list"
- class="radioWidget" value="yes" checked="checked" />
+ class="radioWidget bool-field" value="yes" checked="checked" />
<label for="foo-0">
<span class="label">yes</span>
</label>
</span><span class="option">
<input type="radio" id="foo-1" name="bar:list"
- class="radioWidget" value="no" />
+ class="radioWidget bool-field" value="no" />
<label for="foo-1">
<span class="label">no</span>
</label>
@@ -101,14 +101,14 @@
>>> print widget.render()
<span class="option">
<input type="checkbox" id="foo-0" name="bar:list"
- class="checkBoxWidget" value="yes"
+ class="checkBoxWidget bool-field" value="yes"
checked="checked" />
<label for="foo-0">
<span class="label">yes</span>
</label>
</span><span class="option">
<input type="checkbox" id="foo-1" name="bar:list"
- class="checkBoxWidget" value="no" />
+ class="checkBoxWidget bool-field" value="no" />
<label for="foo-1">
<span class="label">no</span>
</label>
@@ -128,12 +128,13 @@
>>> widget.update()
>>> print widget.render()
<input type="submit" id="foo" name="bar"
- class="submitWidget" value="Press me!" />
+ class="submitWidget button-field" value="Press me!" />
>>> widget.mode = interfaces.DISPLAY_MODE
>>> print widget.render()
<input type="submit" id="foo" name="bar"
- class="submitWidget" value="Press me!" disabled="" />
+ class="submitWidget button-field" value="Press me!"
+ disabled="disabled" />
Bytes
@@ -143,7 +144,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="file" id="foo" name="bar" class="fileWidget" />
+ <input type="file" id="foo" name="bar" class="fileWidget bytes-field" />
>>> widget.mode = interfaces.DISPLAY_MODE
>>> widget.render()
@@ -157,7 +158,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget bytesline-field"
value="A Bytes line." />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -176,7 +177,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <select id="foo" name="bar:list" class="selectWidget"
+ <select id="foo" name="bar:list" class="selectWidget choice-field"
size="1">
<option id="foo-0" value="yes" selected="selected">Yes</option>
<option id="foo-1" value="no">No</option>
@@ -196,7 +197,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget date-field"
value="07/04/01" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -211,7 +212,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget datetime-field"
value="07/04/01 12:00" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -227,7 +228,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget decimal-field"
value="1,265.87" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -249,7 +250,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget dottedname-field"
value="z3c.form" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -264,7 +265,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget float-field"
value="1,265.8" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -281,7 +282,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <select id="foo" name="bar:list" class="selectWidget"
+ <select id="foo" name="bar:list" class="selectWidget frozenset-field"
multiple="multiple" size="5">
<option id="foo-0" value="1" selected="selected">1</option>
<option id="foo-1" value="2">2</option>
@@ -302,7 +303,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget id-field"
value="z3c.form" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -317,7 +318,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget int-field"
value="1,200" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -342,7 +343,7 @@
<tr>
<td>
<select id="foo-from" name="bar.from" size="5"
- multiple="multiple">
+ multiple="multiple" class="list-field">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
@@ -359,7 +360,8 @@
onclick="javascript:to2from('foo')"><- </button>
</td>
<td>
- <select id="foo-to" name="bar.to" size="5" multiple="multiple">
+ <select id="foo-to" name="bar.to" size="5"
+ multiple="multiple" class="list-field">
<option value="1">1</option>
<option value="3">3</option>
</select>
@@ -399,7 +401,7 @@
>>> widget.update()
>>> print widget.render()
<input type="password" id="foo" name="bar"
- class="passwordWidget" />
+ class="passwordWidget password-field" />
>>> widget.mode = interfaces.DISPLAY_MODE
>>> print widget.render()
@@ -415,7 +417,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <select id="foo" name="bar:list" class="selectWidget"
+ <select id="foo" name="bar:list" class="selectWidget set-field"
multiple="multiple" size="5">
<option id="foo-0" value="1" selected="selected">1</option>
<option id="foo-1" value="2">2</option>
@@ -437,7 +439,7 @@
>>> widget.update()
>>> print widget.render()
<textarea id="foo" name="bar"
- class="textAreaWidget"><source /></textarea>
+ class="textAreaWidget sourcetext-field"><source /></textarea>
>>> widget.mode = interfaces.DISPLAY_MODE
>>> print widget.render()
@@ -451,7 +453,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <textarea id="foo" name="bar" class="textAreaWidget">Some
+ <textarea id="foo" name="bar" class="textAreaWidget text-field">Some
Text.</textarea>
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -467,7 +469,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget textline-field"
value="Some Text line." />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -482,7 +484,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget time-field"
value="12:00" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -497,7 +499,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget timedelta-field"
value="3 days, 0:00:00" />
>>> widget.mode = interfaces.DISPLAY_MODE
@@ -522,7 +524,7 @@
<tr>
<td>
<select id="foo-from" name="bar.from" size="5"
- multiple="multiple">
+ multiple="multiple" class="tuple-field">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
@@ -539,7 +541,8 @@
onclick="javascript:to2from('foo')"><- </button>
</td>
<td>
- <select id="foo-to" name="bar.to" size="5" multiple="multiple">
+ <select id="foo-to" name="bar.to" size="5"
+ multiple="multiple" class="tuple-field">
<option value="1">1</option>
<option value="3">3</option>
</select>
@@ -571,7 +574,7 @@
>>> widget = setupWidget(field)
>>> widget.update()
>>> print widget.render()
- <input type="text" id="foo" name="bar" class="textWidget"
+ <input type="text" id="foo" name="bar" class="textWidget uri-field"
value="http://zope.org" />
>>> widget.mode = interfaces.DISPLAY_MODE
Modified: z3c.form/trunk/src/z3c/form/browser/checkbox.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/checkbox.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/checkbox.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -23,15 +23,16 @@
import zope.schema.interfaces
from zope.i18n import translate
-from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLInputWidget
+from z3c.form import interfaces
+from z3c.form.widget import SequenceWidget, FieldWidget
+from z3c.form.browser import widget
-class CheckBoxWidget(HTMLInputWidget, widget.SequenceWidget):
+class CheckBoxWidget(widget.HTMLInputWidget, SequenceWidget):
"""Input type checkbox widget implementation."""
zope.interface.implementsOnly(interfaces.ICheckBoxWidget)
- css = u'checkBoxWidget'
+ klass = u'checkBoxWidget'
items = ()
def isChecked(self, term):
@@ -40,6 +41,7 @@
def update(self):
"""See z3c.form.interfaces.IWidget."""
super(CheckBoxWidget, self).update()
+ widget.addFieldClass(self)
self.items = []
for count, term in enumerate(self.terms):
checked = self.isChecked(term)
@@ -57,4 +59,4 @@
@zope.interface.implementer(interfaces.IFieldWidget)
def CheckBoxFieldWidget(field, request):
"""IFieldWidget factory for CheckBoxWidget."""
- return widget.FieldWidget(field, CheckBoxWidget(request))
+ return FieldWidget(field, CheckBoxWidget(request))
Modified: z3c.form/trunk/src/z3c/form/browser/checkbox_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/checkbox_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/checkbox_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -7,7 +7,7 @@
tal:attributes="id item/id;
name item/name;
value item/value;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
@@ -35,7 +35,7 @@
tal:attributes="id item/id;
name item/name;
value item/value;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/file.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/file.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/file.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -28,12 +28,14 @@
"""Input type text widget implementation."""
zope.interface.implementsOnly(interfaces.IFileWidget)
+ klass = u'fileWidget'
+
# Filename and headers attribute get set by ``IDataConverter`` to the widget
# provided by the FileUpload object of the form.
headers = None
filename = None
- css = u'fileWidget'
+
@zope.component.adapter(zope.schema.interfaces.IBytes, interfaces.IFormLayer)
@zope.interface.implementer(interfaces.IFieldWidget)
def FileFieldWidget(field, request):
Modified: z3c.form/trunk/src/z3c/form/browser/file_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/file_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/file_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -2,7 +2,7 @@
readonly="" alt="" tabindex="" accesskey="" size="" maxlength=""
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/interfaces.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/interfaces.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/interfaces.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -30,7 +30,7 @@
required=False)
# HTML "class" attribute; "class" is a keyword in Python.
- css = zope.schema.TextLine(
+ klass = zope.schema.TextLine(
title=u'Class',
description=(u'This attribute assigns a class name or set of '
u'class names to an element. Any number of elements '
@@ -165,7 +165,13 @@
u'gaining focus.'),
required=False)
+ def addClass(klass):
+ """Add a class to the HTML element.
+ The class must be added to the ``klass`` attribute.
+ """
+
+
class IHTMLInputWidget(IHTMLFormElement):
"""A widget using the HTML INPUT element."""
Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -22,11 +22,12 @@
import zope.schema.interfaces
from zope.i18n import translate
-from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLSelectWidget
+from z3c.form import interfaces
+from z3c.form.widget import SequenceWidget, FieldWidget
+from z3c.form.browser import widget
-class OrderedSelectWidget(HTMLSelectWidget, widget.SequenceWidget):
+class OrderedSelectWidget(widget.HTMLSelectWidget, SequenceWidget):
"""Ordered-Select widget implementation."""
zope.interface.implementsOnly(interfaces.IOrderedSelectWidget)
@@ -46,6 +47,7 @@
def update(self):
"""See z3c.form.interfaces.IWidget."""
super(OrderedSelectWidget, self).update()
+ widget.addFieldClass(self)
self.items = [
self.getItem(term, count)
for count, term in enumerate(self.terms)]
@@ -58,7 +60,7 @@
@zope.interface.implementer(interfaces.IFieldWidget)
def OrderedSelectFieldWidget(field, request):
"""IFieldWidget factory for SelectWidget."""
- return widget.FieldWidget(field, OrderedSelectWidget(request))
+ return FieldWidget(field, OrderedSelectWidget(request))
@zope.component.adapter(
zope.schema.interfaces.ISequence, interfaces.IFormLayer)
Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -143,7 +143,7 @@
<select id="from" name="from" size="5" multiple=""
tal:attributes="name string:${view/name}.from;
id string:${view/id}-from;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
@@ -183,7 +183,7 @@
<select id="to" name="to" size="5" multiple=""
tal:attributes="name string:${view/name}.to;
id string:${view/id}-to;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/password.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/password.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/password.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -27,7 +27,7 @@
"""Input type password widget implementation."""
zope.interface.implementsOnly(interfaces.IPasswordWidget)
- css = u'passwordWidget'
+ klass = u'passwordWidget'
@zope.component.adapter(zope.schema.interfaces.IPassword, interfaces.IFormLayer)
Modified: z3c.form/trunk/src/z3c/form/browser/password_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/password_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/password_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -2,7 +2,7 @@
readonly="" alt="" tabindex="" accesskey="" size="" maxlength=""
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/radio.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/radio.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/radio.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -23,15 +23,16 @@
import zope.schema.interfaces
from zope.i18n import translate
-from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLInputWidget
+from z3c.form import interfaces
+from z3c.form.widget import SequenceWidget, FieldWidget
+from z3c.form.browser import widget
-class RadioWidget(HTMLInputWidget, widget.SequenceWidget):
+class RadioWidget(widget.HTMLInputWidget, SequenceWidget):
"""Input type radio widget implementation."""
zope.interface.implementsOnly(interfaces.IRadioWidget)
- css = u'radioWidget'
+ klass = u'radioWidget'
items = ()
def isChecked(self, term):
@@ -40,6 +41,7 @@
def update(self):
"""See z3c.form.interfaces.IWidget."""
super(RadioWidget, self).update()
+ widget.addFieldClass(self)
self.items = []
for count, term in enumerate(self.terms):
checked = self.isChecked(term)
@@ -57,4 +59,4 @@
@zope.interface.implementer(interfaces.IFieldWidget)
def RadioFieldWidget(field, request):
"""IFieldWidget factory for RadioWidget."""
- return widget.FieldWidget(field, RadioWidget(request))
+ return FieldWidget(field, RadioWidget(request))
Modified: z3c.form/trunk/src/z3c/form/browser/radio_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/radio_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/radio_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -7,7 +7,7 @@
tal:attributes="id item/id;
name item/name;
value item/value;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
@@ -35,7 +35,7 @@
tal:attributes="id item/id;
name item/name;
value item/value;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/select.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/select.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/select.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -22,16 +22,17 @@
import zope.schema.interfaces
from zope.i18n import translate
-from z3c.form import interfaces, widget
+from z3c.form import interfaces
from z3c.form.i18n import MessageFactory as _
-from z3c.form.browser.widget import HTMLSelectWidget
+from z3c.form.widget import SequenceWidget, FieldWidget
+from z3c.form.browser import widget
-class SelectWidget(HTMLSelectWidget, widget.SequenceWidget):
+class SelectWidget(widget.HTMLSelectWidget, SequenceWidget):
"""Select widget implementation."""
zope.interface.implementsOnly(interfaces.ISelectWidget)
- css = u'selectWidget'
+ klass = u'selectWidget'
items = ()
prompt = False
@@ -39,7 +40,7 @@
promptMessage = _('select a value ...')
# Internal attributes
- _adapterValueAttributes = widget.SequenceWidget._adapterValueAttributes + \
+ _adapterValueAttributes = SequenceWidget._adapterValueAttributes + \
('noValueMessage', 'promptMessage')
def isSelected(self, term):
@@ -48,6 +49,7 @@
def update(self):
"""See z3c.form.interfaces.IWidget."""
super(SelectWidget, self).update()
+ widget.addFieldClass(self)
self.items = []
if (not self.required or self.prompt) and self.multiple is None:
message = self.noValueMessage
@@ -75,7 +77,7 @@
@zope.interface.implementer(interfaces.IFieldWidget)
def SelectFieldWidget(field, request):
"""IFieldWidget factory for SelectWidget."""
- return widget.FieldWidget(field, SelectWidget(request))
+ return FieldWidget(field, SelectWidget(request))
@zope.component.adapter(
Modified: z3c.form/trunk/src/z3c/form/browser/select_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/select_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/select_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -1,7 +1,7 @@
<select id="" name="" class="" tabindex="" disabled="" multiple="" size=""
tal:attributes="id view/id;
name string:${view/name}:list;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/submit.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/submit.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/submit.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -20,20 +20,24 @@
import zope.interface
from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLInputWidget
+from z3c.form.widget import Widget, FieldWidget
+from z3c.form.browser import widget
-class SubmitWidget(HTMLInputWidget, widget.Widget):
+class SubmitWidget(widget.HTMLInputWidget, Widget):
"""A submit button of a form."""
zope.interface.implementsOnly(interfaces.ISubmitWidget)
- css = u'submitWidget'
+ klass = u'submitWidget'
+ def update(self):
+ super(SubmitWidget, self).update()
+ widget.addFieldClass(self)
@zope.component.adapter(interfaces.IButton, interfaces.IFormLayer)
@zope.interface.implementer(interfaces.IFieldWidget)
def SubmitFieldWidget(field, request):
- submit = widget.FieldWidget(field, SubmitWidget(request))
+ submit = FieldWidget(field, SubmitWidget(request))
submit.value = field.title
return submit
Modified: z3c.form/trunk/src/z3c/form/browser/submit_display.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/submit_display.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/submit_display.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -1,5 +1,5 @@
-<input type="submit" id="" name="" class="" value="" disabled=""
+<input type="submit" id="" name="" class="" value="" disabled="disabled"
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
value view/value" />
Modified: z3c.form/trunk/src/z3c/form/browser/submit_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/submit_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/submit_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -2,7 +2,7 @@
accesskey=""
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
lang view/lang;
onclick view/onclick;
ondblclick view/ondblclick;
Modified: z3c.form/trunk/src/z3c/form/browser/text.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/text.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/text.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -20,20 +20,24 @@
import zope.interface
import zope.schema.interfaces
-from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLTextInputWidget
+from z3c.form import interfaces
+from z3c.form.widget import Widget, FieldWidget
+from z3c.form.browser import widget
-class TextWidget(HTMLTextInputWidget, widget.Widget):
+class TextWidget(widget.HTMLTextInputWidget, Widget):
"""Input type text widget implementation."""
-
zope.interface.implementsOnly(interfaces.ITextWidget)
- css = u'textWidget'
+ klass = u'textWidget'
value = u''
+ def update(self):
+ super(TextWidget, self).update()
+ widget.addFieldClass(self)
+
@zope.component.adapter(zope.schema.interfaces.IField, interfaces.IFormLayer)
@zope.interface.implementer(interfaces.IFieldWidget)
def TextFieldWidget(field, request):
"""IFieldWidget factory for TextWidget."""
- return widget.FieldWidget(field, TextWidget(request))
+ return FieldWidget(field, TextWidget(request))
Modified: z3c.form/trunk/src/z3c/form/browser/text_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/text_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/text_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -2,7 +2,7 @@
readonly="" alt="" tabindex="" accesskey="" size="" maxlength=""
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/textarea.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/textarea.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/textarea.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -20,20 +20,25 @@
import zope.interface
import zope.schema.interfaces
-from z3c.form import interfaces, widget
-from z3c.form.browser.widget import HTMLTextAreaWidget
+from z3c.form import interfaces
+from z3c.form.widget import Widget, FieldWidget
+from z3c.form.browser import widget
-class TextAreaWidget(HTMLTextAreaWidget, widget.Widget):
+class TextAreaWidget(widget.HTMLTextAreaWidget, Widget):
"""Textarea widget implementation."""
zope.interface.implementsOnly(interfaces.ITextAreaWidget)
- css = u'textAreaWidget'
+ klass = u'textAreaWidget'
value = u''
+ def update(self):
+ super(TextAreaWidget, self).update()
+ widget.addFieldClass(self)
+
@zope.component.adapter(zope.schema.interfaces.IField, interfaces.IFormLayer)
@zope.interface.implementer(interfaces.IFieldWidget)
def TextAreaFieldWidget(field, request):
"""IFieldWidget factory for TextWidget."""
- return widget.FieldWidget(field, TextAreaWidget(request))
+ return FieldWidget(field, TextAreaWidget(request))
Modified: z3c.form/trunk/src/z3c/form/browser/textarea_input.pt
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/textarea_input.pt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/textarea_input.pt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -3,7 +3,7 @@
tabindex="" disabled="" readonly="" accesskey=""
tal:attributes="id view/id;
name view/name;
- class view/css;
+ class view/klass;
title view/title;
lang view/lang;
onclick view/onclick;
Modified: z3c.form/trunk/src/z3c/form/browser/widget.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/widget.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/browser/widget.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -19,13 +19,14 @@
import zope.interface
from zope.schema.fieldproperty import FieldProperty
+from z3c.form.interfaces import IFieldWidget
from z3c.form.browser import interfaces
class HTMLFormElement(object):
zope.interface.implements(interfaces.IHTMLFormElement)
id = FieldProperty(interfaces.IHTMLFormElement['id'])
- css = FieldProperty(interfaces.IHTMLFormElement['css'])
+ klass = FieldProperty(interfaces.IHTMLFormElement['klass'])
style = FieldProperty(interfaces.IHTMLFormElement['style'])
title = FieldProperty(interfaces.IHTMLFormElement['title'])
@@ -48,7 +49,14 @@
onblur = FieldProperty(interfaces.IHTMLFormElement['onblur'])
onchange = FieldProperty(interfaces.IHTMLFormElement['onchange'])
+ def addClass(self, klass):
+ """See interfaces.IHTMLFormElement"""
+ if not self.klass:
+ self.klass = klass
+ else:
+ self.klass += ' ' + klass
+
class HTMLInputWidget(HTMLFormElement):
zope.interface.implements(interfaces.IHTMLInputWidget)
@@ -80,3 +88,13 @@
multiple = FieldProperty(interfaces.IHTMLSelectWidget['multiple'])
size = FieldProperty(interfaces.IHTMLSelectWidget['size'])
+
+
+def addFieldClass(widget):
+ """Add a class to the widget that is based on the field type name.
+
+ If the widget does not have field, then nothing is done.
+ """
+ if IFieldWidget.providedBy(widget):
+ klass = unicode(widget.field.__class__.__name__.lower() + '-field')
+ widget.addClass(klass)
Modified: z3c.form/trunk/src/z3c/form/form.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/form.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/form.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -294,17 +294,18 @@
<div class="row">
<label for="form-widgets-id">ID</label>
<input type="text" id="form-widgets-id"
- name="form.widgets.id" class="textWidget" value="" />
+ name="form.widgets.id" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="form-widgets-name">Name</label>
<input type="text" id="form-widgets-name" name="form.widgets.name"
- class="textWidget" value="" />
+ class="textWidget textline-field" value="" />
</div>
<div class="row">
<label for="form-widgets-gender">Gender</label>
<select id="form-widgets-gender" name="form.widgets.gender:list"
- class="selectWidget" size="1">
+ class="selectWidget choice-field" size="1">
<option id="form-widgets-gender-novalue"
value="--NOVALUE--">no value</option>
<option id="form-widgets-gender-0" value="male">male</option>
@@ -316,7 +317,7 @@
<div class="row">
<label for="form-widgets-age">Age</label>
<input type="text" id="form-widgets-age" name="form.widgets.age"
- class="textWidget" value="20" />
+ class="textWidget int-field" value="20" />
</div>
<div class="action">
<input type="submit" id="form-buttons-add" name="form.buttons.add"
@@ -399,18 +400,19 @@
<div class="row">
<label for="form-widgets-id">ID</label>
<input type="text" id="form-widgets-id"
- name="form.widgets.id" class="textWidget" value="srichter" />
+ name="form.widgets.id" class="textWidget textline-field"
+ value="srichter" />
</div>
<div class="row">
<b><div class="error">Required input is missing.</div>
</b><label for="form-widgets-name">Name</label>
<input type="text" id="form-widgets-name" name="form.widgets.name"
- class="textWidget" value="" />
+ class="textWidget textline-field" value="" />
</div>
<div class="row">
<label for="form-widgets-gender">Gender</label>
<select id="form-widgets-gender" name="form.widgets.gender:list"
- class="selectWidget" size="1">
+ class="selectWidget choice-field" size="1">
<option id="form-widgets-gender-novalue"
value="--NOVALUE--">no value</option>
<option id="form-widgets-gender-0" value="male"
@@ -423,7 +425,7 @@
<div class="row">
<label for="form-widgets-age">Age</label>
<input type="text" id="form-widgets-age" name="form.widgets.age"
- class="textWidget" value="23" />
+ class="textWidget int-field" value="23" />
</div>
<div class="action">
<input type="submit" id="form-buttons-add" name="form.buttons.add"
@@ -569,7 +571,7 @@
<div class="row">
<label for="form-widgets-name">Full Name</label>
<input type="text" id="form-widgets-name" name="form.widgets.name"
- class="textWidget" value="" />
+ class="textWidget textline-field" value="" />
</div>
...
@@ -693,12 +695,12 @@
<div class="row">
<label for="form-widgets-name">Full Name</label>
<input type="text" id="form-widgets-name" name="form.widgets.name"
- class="textWidget" value="Stephan Richter" />
+ class="textWidget textline-field" value="Stephan Richter" />
</div>
<div class="row">
<label for="form-widgets-gender">Gender</label>
<select id="form-widgets-gender" name="form.widgets.gender:list"
- class="selectWidget" size="1">
+ class="selectWidget choice-field" size="1">
<option id="form-widgets-gender-novalue"
value="--NOVALUE--">no value</option>
<option id="form-widgets-gender-0" value="male"
@@ -711,7 +713,7 @@
<div class="row">
<label for="form-widgets-age">Age</label>
<input type="text" id="form-widgets-age" name="form.widgets.age"
- class="textWidget" value="20" />
+ class="textWidget int-field" value="20" />
</div>
<div class="action">
<input type="submit" id="form-buttons-apply" name="form.buttons.apply"
@@ -757,12 +759,12 @@
<div class="row">
<label for="form-widgets-name">Full Name</label>
<input type="text" id="form-widgets-name" name="form.widgets.name"
- class="textWidget" value="Claudia Richter" />
+ class="textWidget textline-field" value="Claudia Richter" />
</div>
<div class="row">
<label for="form-widgets-gender">Gender</label>
<select id="form-widgets-gender" name="form.widgets.gender:list"
- class="selectWidget" size="1">
+ class="selectWidget choice-field" size="1">
<option id="form-widgets-gender-novalue"
value="--NOVALUE--">no value</option>
<option id="form-widgets-gender-0" value="male">male</option>
@@ -776,7 +778,7 @@
<b><div class="error">The value cannot be a negative number.</div>
</b><label for="form-widgets-age">Age</label>
<input type="text" id="form-widgets-age" name="form.widgets.age"
- class="textWidget" value="-1" />
+ class="textWidget int-field" value="-1" />
</div>
<div class="action">
<input type="submit" id="form-buttons-apply" name="form.buttons.apply"
@@ -907,13 +909,13 @@
<div class="row">
<label for="form-widgets-name">Full Name</label>
<input type="text" id="form-widgets-name"
- name="form.widgets.name" class="textWidget"
+ name="form.widgets.name" class="textWidget textline-field"
value="Roger Ineichen" />
</div>
<div class="row">
<label for="form-widgets-gender">Gender</label>
<select id="form-widgets-gender" name="form.widgets.gender:list"
- class="selectWidget" size="1">
+ class="selectWidget choice-field" size="1">
<option id="form-widgets-gender-novalue"
value="--NOVALUE--" selected="selected">no value</option>
<option id="form-widgets-gender-0" value="male">male</option>
@@ -925,7 +927,8 @@
<div class="row">
<label for="form-widgets-age">Age</label>
<input type="text" id="form-widgets-age"
- name="form.widgets.age" class="textWidget" value="20" />
+ name="form.widgets.age" class="textWidget int-field"
+ value="20" />
</div>
<div class="action">
<input type="submit" id="form-buttons-apply"
@@ -1103,7 +1106,7 @@
>>> from z3c.form.browser import text
>>> class MyWidget(text.TextWidget):
... """My new widget."""
- ... css = u'MyCSS'
+ ... klass = u'MyCSS'
Now we can define a field widget factory:
@@ -1127,7 +1130,7 @@
...
<html...
<input type="text" id="form-widgets-name"
- name="form.widgets.name" class="MyCSS"
+ name="form.widgets.name" class="MyCSS textline-field"
value="Claudia Richter" />
...
@@ -1135,7 +1138,7 @@
Hidden fields
-------------
-Another important part of a form is that we can generate hidden widgets. We can
+Another important part of a form is that we can generate hidden widgets. We can
do this in a form by defining a widget mode. We can do this by override the
setUpWidgets method.
@@ -1143,7 +1146,7 @@
...
... fields = field.Fields(IPerson)
... fields['name'].widgetFactory = MyFieldWidget
- ...
+ ...
... def updateWidgets(self):
... super(HiddenFieldEditForm, self).updateWidgets()
... self.widgets['age'].mode = interfaces.HIDDEN_MODE
@@ -1156,7 +1159,7 @@
>>> print hiddenEdit.render()
<html>...
<input type="text" id="form-widgets-name"
- name="form.widgets.name" class="MyCSS"
+ name="form.widgets.name" class="MyCSS textline-field"
value="Claudia Richter" />
...
<input type="hidden" id="form-widgets-age"
Modified: z3c.form/trunk/src/z3c/form/group.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/group.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/group.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -105,28 +105,28 @@
<div class="row">
<label for="form-widgets-firstName">First Name</label>
<input type="text" id="form-widgets-firstName"
- name="form.widgets.firstName" class="textWidget"
- value="" />
+ name="form.widgets.firstName" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="form-widgets-lastName">Last Name</label>
<input type="text" id="form-widgets-lastName"
- name="form.widgets.lastName" class="textWidget"
- value="" />
+ name="form.widgets.lastName" class="textWidget textline-field"
+ value="" />
</div>
<fieldgroup>
<legend>License</legend>
<div class="row">
<label for="form-widgets-license">License</label>
<input type="text" id="form-widgets-license"
- name="form.widgets.license" class="textWidget"
- value="" />
+ name="form.widgets.license" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="form-widgets-address">Address</label>
<input type="text" id="form-widgets-address"
- name="form.widgets.address" class="textWidget"
- value="" />
+ name="form.widgets.address" class="textWidget textline-field"
+ value="" />
</div>
</fieldgroup>
<fieldgroup>
@@ -134,17 +134,20 @@
<div class="row">
<label for="form-widgets-model">Model</label>
<input type="text" id="form-widgets-model"
- name="form.widgets.model" class="textWidget" value="" />
+ name="form.widgets.model" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="form-widgets-make">Make</label>
<input type="text" id="form-widgets-make"
- name="form.widgets.make" class="textWidget" value="" />
+ name="form.widgets.make" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="form-widgets-year">Year</label>
<input type="text" id="form-widgets-year"
- name="form.widgets.year" class="textWidget" value="" />
+ name="form.widgets.year" class="textWidget int-field"
+ value="" />
</div>
</fieldgroup>
<div class="action">
@@ -291,13 +294,13 @@
<div class="row">
<label for="form-widgets-firstName">First Name</label>
<input type="text" id="form-widgets-firstName"
- name="form.widgets.firstName" class="textWidget"
+ name="form.widgets.firstName" class="textWidget textline-field"
value="Stephan" />
</div>
<div class="row">
<label for="form-widgets-lastName">Last Name</label>
<input type="text" id="form-widgets-lastName"
- name="form.widgets.lastName" class="textWidget"
+ name="form.widgets.lastName" class="textWidget textline-field"
value="Richter" />
</div>
<fieldgroup>
@@ -305,13 +308,13 @@
<div class="row">
<label for="form-widgets-license">License</label>
<input type="text" id="form-widgets-license"
- name="form.widgets.license" class="textWidget"
+ name="form.widgets.license" class="textWidget textline-field"
value="MA 40387" />
</div>
<div class="row">
<label for="form-widgets-address">Address</label>
<input type="text" id="form-widgets-address"
- name="form.widgets.address" class="textWidget"
+ name="form.widgets.address" class="textWidget textline-field"
value="10 Main St, Maynard, MA" />
</div>
</fieldgroup>
@@ -320,19 +323,19 @@
<div class="row">
<label for="form-widgets-model">Model</label>
<input type="text" id="form-widgets-model"
- name="form.widgets.model" class="textWidget"
+ name="form.widgets.model" class="textWidget textline-field"
value="BMW" />
</div>
<div class="row">
<label for="form-widgets-make">Make</label>
<input type="text" id="form-widgets-make"
- name="form.widgets.make" class="textWidget"
+ name="form.widgets.make" class="textWidget textline-field"
value="325" />
</div>
<div class="row">
<label for="form-widgets-year">Year</label>
<input type="text" id="form-widgets-year"
- name="form.widgets.year" class="textWidget"
+ name="form.widgets.year" class="textWidget int-field"
value="2005" />
</div>
</fieldgroup>
@@ -422,4 +425,4 @@
>>> reg.year
2006
-And that's
+And that's it!
Modified: z3c.form/trunk/src/z3c/form/subform.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/subform.txt 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/subform.txt 2007-07-03 08:57:23 UTC (rev 77328)
@@ -108,27 +108,26 @@
<form action=".">
<div class="row">
<label for="car-widgets-model">Model</label>
- <input type="text" id="car-widgets-model"
- name="car.widgets.model" class="textWidget" value="Nissan" />
+ <input type="text" id="car-widgets-model" name="car.widgets.model"
+ class="textWidget textline-field" value="Nissan" />
</div>
<div class="row">
<label for="car-widgets-make">Make</label>
- <input type="text" id="car-widgets-make"
- name="car.widgets.make" class="textWidget" value="Sentra" />
+ <input type="text" id="car-widgets-make" name="car.widgets.make"
+ class="textWidget textline-field" value="Sentra" />
</div>
<fieldset>
<legend>Owner</legend>
<div class="row">
<label for="owner-widgets-name">Name</label>
- <input type="text" id="owner-widgets-name"
- name="owner.widgets.name" class="textWidget"
- value="Stephan Richter" />
+ <input type="text" id="owner-widgets-name" name="owner.widgets.name"
+ class="textWidget textline-field" value="Stephan Richter" />
</div>
<div class="row">
<label for="owner-widgets-license">License</label>
<input type="text" id="owner-widgets-license"
- name="owner.widgets.license" class="textWidget"
- value="MA-1231FW97" />
+ name="owner.widgets.license"
+ class="textWidget textline-field" value="MA-1231FW97" />
</div>
<div class="action">
<input type="submit" id="owner-buttons-apply"
@@ -178,13 +177,13 @@
<div class="row">
<label for="car-widgets-model">Model</label>
<input type="text" id="car-widgets-model"
- name="car.widgets.model" class="textWidget"
+ name="car.widgets.model" class="textWidget textline-field"
value="BMW" />
</div>
<div class="row">
<label for="car-widgets-make">Make</label>
<input type="text" id="car-widgets-make"
- name="car.widgets.make" class="textWidget"
+ name="car.widgets.make" class="textWidget textline-field"
value="325" />
</div>
<fieldset>
@@ -193,14 +192,14 @@
<div class="row">
<label for="owner-widgets-name">Name</label>
<input type="text" id="owner-widgets-name"
- name="owner.widgets.name" class="textWidget"
+ name="owner.widgets.name" class="textWidget textline-field"
value="Stephan Richter" />
</div>
<div class="row">
<label for="owner-widgets-license">License</label>
<input type="text" id="owner-widgets-license"
- name="owner.widgets.license" class="textWidget"
- value="MA-97097A87" />
+ name="owner.widgets.license"
+ class="textWidget textline-field" value="MA-97097A87" />
</div>
<div class="action">
<input type="submit" id="owner-buttons-apply"
@@ -289,25 +288,25 @@
<div class="row">
<label for="car-widgets-model">Model</label>
<input type="text" id="car-widgets-model" name="car.widgets.model"
- class="textWidget" value="BMW" />
+ class="textWidget textline-field" value="BMW" />
</div>
<div class="row">
<label for="car-widgets-make">Make</label>
<input type="text" id="car-widgets-make" name="car.widgets.make"
- class="textWidget" value="325" />
+ class="textWidget textline-field" value="325" />
</div>
<fieldset>
<legend>Owner</legend>
<div class="row">
<label for="owner-widgets-name">Name</label>
<input type="text" id="owner-widgets-name" name="owner.widgets.name"
- class="textWidget" value="Stephan Richter" />
+ class="textWidget textline-field" value="Stephan Richter" />
</div>
<div class="row">
<label for="owner-widgets-license">License</label>
<input type="text" id="owner-widgets-license"
- name="owner.widgets.license" class="textWidget"
- value="MA-97097A87" />
+ name="owner.widgets.license"
+ class="textWidget textline-field" value="MA-97097A87" />
</div>
</fieldset>
<div class="action">
@@ -381,12 +380,14 @@
<b><div class="error">Constraint not satisfied</div>
</b><label for="car-widgets-model">Model</label>
<input type="text" id="car-widgets-model"
- name="car.widgets.model" class="textWidget" value="Volvo " />
+ name="car.widgets.model" class="textWidget textline-field"
+ value="Volvo " />
</div>
<div class="row">
<label for="car-widgets-make">Make</label>
<input type="text" id="car-widgets-make"
- name="car.widgets.make" class="textWidget" value="450" />
+ name="car.widgets.make" class="textWidget textline-field"
+ value="450" />
</div>
<fieldset>
<legend>Owner</legend>
@@ -394,14 +395,14 @@
<div class="row">
<label for="owner-widgets-name">Name</label>
<input type="text" id="owner-widgets-name"
- name="owner.widgets.name" class="textWidget"
- value="Stephan Richter" />
+ name="owner.widgets.name" class="textWidget textline-field"
+ value="Stephan Richter" />
</div>
<div class="row">
<label for="owner-widgets-license">License</label>
<input type="text" id="owner-widgets-license"
- name="owner.widgets.license" class="textWidget"
- value="MA-991723FDG" />
+ name="owner.widgets.license"
+ class="textWidget textline-field" value="MA-991723FDG" />
</div>
</fieldset>
<div class="action">
@@ -552,24 +553,27 @@
<div class="row">
<label for="car-widgets-model">Model</label>
<input type="text" id="car-widgets-model"
- name="car.widgets.model" class="textWidget" value="" />
+ name="car.widgets.model" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="car-widgets-make">Make</label>
<input type="text" id="car-widgets-make"
- name="car.widgets.make" class="textWidget" value="" />
+ name="car.widgets.make" class="textWidget textline-field"
+ value="" />
</div>
<fieldset>
<legend>Owner</legend>
<div class="row">
<label for="owner-widgets-name">Name</label>
<input type="text" id="owner-widgets-name"
- name="owner.widgets.name" class="textWidget" value="" />
+ name="owner.widgets.name" class="textWidget textline-field"
+ value="" />
</div>
<div class="row">
<label for="owner-widgets-license">License</label>
<input type="text" id="owner-widgets-license"
- name="owner.widgets.license" class="textWidget"
+ name="owner.widgets.license" class="textWidget textline-field"
value="" />
</div>
<div class="action">
Modified: z3c.form/trunk/src/z3c/form/widget.py
===================================================================
--- z3c.form/trunk/src/z3c/form/widget.py 2007-07-03 08:52:12 UTC (rev 77327)
+++ z3c.form/trunk/src/z3c/form/widget.py 2007-07-03 08:57:23 UTC (rev 77328)
@@ -62,7 +62,7 @@
ignoreContext = False
# See ``interfaces.IFormAware``
form = None
- # See ``interfaces.IFieldAware``
+ # See ``interfaces.IFieldWidget``
field = None
# Internal attributes
More information about the Checkins
mailing list