Changeset 256
- Timestamp:
- 08/25/06 14:05:23 (2 years ago)
- Files:
-
- trunk/formal/__init__.py (modified) (1 diff)
- trunk/formal/converters.py (modified) (1 diff)
- trunk/formal/examples/main.py (modified) (1 diff)
- trunk/formal/examples/selections.py (modified) (2 diffs)
- trunk/formal/examples/textareawithselect.py (added)
- trunk/formal/formal.css (modified) (1 diff)
- trunk/formal/widgets/textareawithselect.py (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/formal/__init__.py
r248 r256 56 56 registerAdapter(converters.TimeToStringConverter, Time, iformal.IStringConvertible) 57 57 registerAdapter(converters.NullConverter, File, iformal.IFileConvertible) 58 registerAdapter(converters. NullConverter, Sequence, iformal.ISequenceConvertible)58 registerAdapter(converters.SequenceToStringConverter, Sequence, iformal.IStringConvertible) 59 59 try: 60 60 Decimal trunk/formal/converters.py
r224 r256 176 176 return value 177 177 178 179 180 class SequenceToStringConverter(_Adapter): 181 implements( iformal.IStringConvertible) 182 183 def fromType(self, value): 184 if value is None: 185 return None 186 import cStringIO as StringIO 187 import csv 188 189 sf = StringIO.StringIO() 190 writer = csv.writer(sf) 191 writer.writerow(value) 192 sf.seek(0,0) 193 return sf.read().strip() 194 195 196 def toType(self, value): 197 if not value: 198 return None 199 import cStringIO as StringIO 200 import csv 201 202 sf = StringIO.StringIO() 203 csvReader = csv.reader(sf) 204 sf.write(value) 205 sf.seek(0,0) 206 return csvReader.next() trunk/formal/examples/main.py
r231 r256 24 24 'formal.examples.nofields.NoFieldsFormPage', 25 25 'formal.examples.hidden.HiddenFieldsFormPage', 26 'formal.examples.textareawithselect.TextAreaWithSelectFormPage', 26 27 ] 27 28 trunk/formal/examples/selections.py
r225 r256 17 17 ] 18 18 19 tuples = [ 20 (('a',1), 'a1'), 21 (('b',1), 'b1'), 22 (('c',1), 'c1'), 23 ] 24 19 25 def data_strings(ctx, data): 20 26 # Let's defer it, just for fun. … … 45 51 form.addField('multipleDates', formal.Sequence(formal.Date()), 46 52 formal.widgetFactory(formal.CheckboxMultiChoice, options=dates)) 53 54 form.addField('multipleTuples', formal.Sequence(formal.Sequence()), 55 formal.widgetFactory(formal.CheckboxMultiChoice, 56 options=tuples)) 57 47 58 form.addField('differentNoneSelect', formal.String(), 48 59 formal.widgetFactory(formal.SelectChoice, options=strings, trunk/formal/formal.css
r231 r256 141 141 .nevow-form div.field {display:block;} 142 142 /* End hide from IE Mac */ 143 144 145 .nevow-form .add { 146 display:block; 147 }
