home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / xuibuilder / xuiStructureCreator.tcl < prev   
Text File  |  2000-11-02  |  1KB  |  40 lines

  1.  
  2. class structureCreator {
  3.     inherit objectCreator
  4.     method processSyntax {token object xuiBuilder}
  5.     method createObject {token xuiBuilder}
  6.     method loadValueFromNode
  7.     method loadDefaultFromNode    
  8. }
  9.  
  10. body structureCreator::createObject {token xuiBuilder} {
  11.    if [string length [set parentName [$xuiBuilder cget -currentParentName]]] {
  12.       set name $parentName.[dom::getAttribute $token name]
  13.    } else {
  14.        set name ::#auto
  15.     }    
  16.     return [xuiStructure $name]
  17. }
  18.  
  19. body structureCreator::loadValueFromNode {valueToken object xuiBuilder} {
  20.         foreach element [dom::getElements $valueToken] {
  21.     set strObject [$object getComponentByName [dom::getTagName $element]]
  22.     $xuiBuilder loadValueFromNode $element $strObject
  23.     }
  24. }
  25.  
  26. body structureCreator::loadDefaultFromNode {defaultToken object xuiBuilder} {
  27.         $object setDefault [dom::getText $defaultToken]
  28. }
  29.  
  30. body structureCreator::processSyntax { token object xuiBuilder} {
  31.      $object setAlign [dom::getAttribute $token align]
  32.      $object setStyle [dom::getAttribute $token style]
  33.      set syntaxToken [dom::rp $token syntax]
  34.      foreach component [dom::getElements $syntaxToken] {
  35.     $xuiBuilder configure -currentParentName $object
  36.         $object addComponent [ $xuiBuilder handleObject $component]
  37.      }
  38. }
  39.  
  40.