home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / newproploc.tcl < prev    next >
Text File  |  1997-10-31  |  3KB  |  102 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cadre Technologies Inc.    1996
  4. #
  5. #      File:           @(#)newproploc.tcl    /main/titanic/3
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)newproploc.tcl    /main/titanic/3   31 Oct 1997 Copyright 1996 Cadre Technologies Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require "newcustobj.tcl"
  15.  
  16. Class NewPropLocDialog : {NewCustObjectDialog} {
  17.     constructor
  18.     method destructor
  19.     method popUp
  20.     method handleOkPressed
  21.     attribute editorArea
  22. }
  23.  
  24. constructor NewPropLocDialog {class this name} {
  25.     set this [NewCustObjectDialog::constructor $class $this $name]
  26.     # Start constructor user section
  27.     $this title "New Property Location"
  28.     interface DlgColumn $this.DC {
  29.         allowResize 1
  30.         Label L {
  31.             text "Property:"
  32.         }
  33.         BrowsView nameBV {
  34.             rowCount 10
  35.             columnCount 30
  36.             selectionPolicy BROWSE
  37.             mode DETAIL
  38.         }
  39.     }
  40.     BrowsHeader new $this.DC.nameBV.shortBH -label Name -width 12
  41.     BrowsHeader new $this.DC.nameBV.longBH -label "Long Name" -width 30
  42.  
  43.     $this helpPressed { .main helpOnName newPropLocation }
  44.     $this okPressed "$this handleOkPressed"
  45.  
  46.     # End constructor user section
  47.     return $this
  48. }
  49.  
  50. method NewPropLocDialog::destructor {this} {
  51.     # Start destructor user section
  52.     # End destructor user section
  53.     $this NewCustObjectDialog::destructor
  54. }
  55.  
  56. method NewPropLocDialog::popUp {this} {
  57.  
  58.     if [[$this editorArea] areaCleared] {
  59.         [$this editorArea] areaCleared 0
  60.         foreach objName [$this.DC.nameBV objectSet] {
  61.             $objName delete
  62.         }
  63.     }
  64.  
  65.     set objs [$this.DC.nameBV objectSet]
  66.  
  67.     if [lempty $objs] {
  68.         set dict [[$this editorArea] longName]
  69.  
  70.         foreach def [$dict names] {
  71.             set objName $this.DC.nameBV.$def
  72.             BrowsObject new $objName
  73.             $objName smallIcon folder_16
  74.             $objName label $def
  75.             $objName details [list [$dict set $def]]
  76.             $objName activated "$this handleOkPressed"
  77.         }
  78.  
  79.         # sort on name
  80.         $this.DC.nameBV sort -column $this.DC.nameBV.shortBH
  81.  
  82.         $this.DC.nameBV selectedSet [lindex [$this.DC.nameBV objectSet] 0]
  83.     }
  84.  
  85.     $this TemplateDialog::popUp
  86. }
  87.  
  88. method NewPropLocDialog::handleOkPressed {this} {
  89.  
  90.     set name [[lindex [$this.DC.nameBV selectedSet] 0] label]
  91.  
  92.     if {$name == ""} {
  93.         wmtkerror "Invalid selection."
  94.     } else {
  95.         $this popDown
  96.         [.main editorArea] newObject $name [$this edit]
  97.     }
  98. }
  99.  
  100. # Do not delete this line -- regeneration end marker
  101.  
  102.