Changeset 306
- Timestamp:
- 06/20/08 16:28:41 (7 months ago)
- Files:
-
- trunk/formal/examples/dynamic.py (added)
- trunk/formal/examples/main.py (modified) (1 diff)
- trunk/formal/form.py (modified) (4 diffs)
- trunk/setup.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/formal/examples/main.py
r304 r306 28 28 'formal.examples.richtextarea.RichTextAreaFormPage', 29 29 'formal.examples.sequences.SequencesFormPage', 30 'formal.examples.dynamic.DynamicFormPage', 30 31 ] 31 32 trunk/formal/form.py
r303 r306 290 290 # Forward to FormItems methods 291 291 self.add = self.items.add 292 self.addLast = self.items.addLast 293 self.addFirst = self.items.addFirst 294 self.addBefore = self.items.addBefore 295 self.addAfter = self.items.addAfter 292 296 self.getItemByName = self.items.getItemByName 293 297 … … 367 371 # Forward to FormItems methods 368 372 self.add = self.items.add 373 self.addLast = self.items.addLast 374 self.addFirst = self.items.addFirst 375 self.addBefore = self.items.addBefore 376 self.addAfter = self.items.addAfter 369 377 self.getItemByName = self.items.getItemByName 370 378 … … 462 470 463 471 def add(self, item): 472 return self.__add(item, self.items.append) 473 474 475 def addLast(self, item, ref=None): 476 if ref is not None: 477 return self.__refToItem(ref).addLast(item) 478 return self.add(item) 479 480 481 def addFirst(self, item, ref=None): 482 if ref is not None: 483 return self.__refToItem(ref).addFirst(item) 484 return self.__add(item, lambda item: self.items.insert(0, item)) 485 486 487 def addBefore(self, item, ref): 488 ref = self.__refToItem(ref) 489 if ref.itemParent is not self.itemParent: 490 return ref.itemParent.addBefore(item, ref) 491 pos = self.items.index(ref) 492 return self.__add(item, lambda item: self.items.insert(pos, item)) 493 494 495 def addAfter(self, item, ref): 496 ref = self.__refToItem(ref) 497 if ref.itemParent is not self.itemParent: 498 return ref.itemParent.addAfter(item, ref) 499 pos = self.items.index(ref) 500 return self.__add(item, lambda item: self.items.insert(pos+1, item)) 501 502 503 def __refToItem(self, ref): 504 if isinstance(ref, (str, unicode)): 505 return self.getItemByName(ref) 506 return ref 507 508 509 def __add(self, item, adder): 464 510 # Check the item name is unique 465 511 if item.name in [i.name for i in self.items]: … … 467 513 (item.name, self)) 468 514 # Add to child items and set self the parent 469 self.items.append(item)515 adder(item) 470 516 item.setItemParent(self.itemParent) 471 517 return item trunk/setup.py
r305 r306 3 3 setup( 4 4 name='formal', 5 version='0.1 7',5 version='0.18', 6 6 description='HTML forms framework for Nevow', 7 7 author='Matt Goodall',
