# $Source: /usr/local/SimSoft/Sfx3D/src/gts/gts05.tcl,v $
# $Revision: 1.2 $
# $Author: baum $
# $Date: 2001/11/29 15:18:10 $
#
# Login name of the user who locked the revision
# $Locker:  $
# Tag name used to checkout the file
# $Name: Release-14 $
# State assigned to revision
# $State: Exp $
#
#
# $Log: gts05.tcl,v $
# Revision 1.2  2001/11/29 15:18:10  baum
# -Realzeitsteuerung eingebaut
# -Handsteuerung eingebaut
#

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# ++++++++++++  D I A L O G :  Prozesse +++++++++++++++++++++++++++++++++++++
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

proc TLM.DlgParameter { W inputs labels lbreite lorient} {
   set Werte  $W.r  
   catch {destroy $Werte}
   frame $Werte  -borderwidth 1 
   pack $Werte -expand yes -fill both -side top -padx 2m -pady 2m

   set index 1
   set entrys {}

   foreach i $labels {
     set inp     [lindex $inputs $index]
     set tt      [lindex $i 1]
     set einheit [lindex $i 2]
     
     if {[lindex $i 0] == "S"} { 
       set e [dialog_entry $Werte "$tt:" $lbreite $einheit 20 $inp "String" $lorient]
     } elseif { [lindex $i 0] == "F"} {
       set str $inp
       set e [dialog_entry $Werte "$tt:" $lbreite $einheit 10 $inp "Float" $lorient]
     } elseif {[lindex $i 0] == "I"} {  
       set inp [FloatInInt $inp]
       set e [dialog_entry $Werte "$tt:" $lbreite $einheit 10 $inp "Int" $lorient]
     }
     lappend entrys $e
     incr index
   }
   return $entrys
}
#  ENDE TLM.DlgParameter

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.selProzessart { s } {
  global TLM GTS ENTRYS
  foreach i $GTS(PROZESSARTEN) { if { $s == [lindex $GTS($i,TLM) 0] } { break } }
  set TLM(ProzessArt) $i

  [dialog_entry_getlabel $ENTRYS(BETRIFFT)] configure \
                          -label [lindex $GTS($TLM(ProzessArt),TLM) 1] 
  if {[lindex $GTS($TLM(ProzessArt),TLM) 1] == "" } {
     pack forget $ENTRYS(BETRIFFT)
  } else {
     pack $ENTRYS(BETRIFFT)
  }   
}
# ENDE TLM.selProzessart

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.ProzessArt { Werte } {
   global GTS ENTRYS TLM
   set lf [dialog_lframe $Werte "Prozess"]
   set cb [dialog_combobox $lf "TLM.selProzessart" 3 "top"]

   foreach i $GTS(PROZESSARTEN) { $cb insert end [lindex $GTS($i,TLM) 0] }
   tixSetSilent $cb  [lindex $GTS($TLM(ProzessArt),TLM) 0]
   
   set ENTRYS(BETRIFFT) [dialog_entry $lf [lindex $GTS($TLM(ProzessArt),TLM) 1]\
                         15 "" 15 $TLM(Betrifft) "Int" "top"]
   if {[lindex $GTS($TLM(ProzessArt),TLM) 1] == "" } {
     [dialog_entry_getlabel $ENTRYS(BETRIFFT)] configure \
                            -label [lindex $GTS($TLM(ProzessArt),TLM) 1] 
     pack forget $ENTRYS(BETRIFFT)
   }  
}
# ENDE TLM.ProzessArt

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.ProzessErzeugen { } {
   global TLM ENTRYS GTS Confirm
   set TLM(Betrifft)  0
   set TLM(ProzessNr) 0
   set dlg [dialog_create "Prozess erzeugen" Dialog "OK" "Abbruch"]
   set GTS(EF1) [dialog_entry $dlg "Prozessnr.:" 14 "" 10 $TLM(ProzessNr) "Int"]
   dialog_focus $GTS(EF1)
   set TLM(ProzessArt) 1
   TLM.ProzessArt $dlg
   
   set ret 0
   dialog_wait $dlg
   while {!($Confirm($dlg) == "0")} { 
     set TLM(ProzessNr) [$GTS(EF1) get]
     set werte {}
     foreach i $ENTRYS(BETRIFFT) { lappend werte [$i get] }
     set ret [DlgExperiment PROZESSE ERZEUGEN \
              $TLM(ProzessNr) $TLM(ProzessArt) $werte]
     if { ($ret == "1") } {
       set GTS(PLIST) [DlgExperiment PROZESSE INFO 0 0 0]
       $GTS(HLIST) delete all
       $GTS(HLIST) add .
       foreach line $GTS(PLIST) { setProzess $GTS(HLIST) $line }
       set Confirm($dlg) 0
     } else {  
     dialog_wait $dlg
     }
   }
   dialog_destroy $dlg
   return $ret
}
#  ENDE TLM.ProzessErzeugen

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.DlgVerteil0 { W } {
   set Werte $W.rahmen  
   catch {destroy $W.rahmen}
   frame $Werte -relief solid  -borderwidth 1
   pack  $Werte -expand yes -fill both  -padx 5 -pady 5        

   TLM.ProzessArt $Werte
   set button [MachButton $Werte "Übernehmen" 10]
   bind $button.1 <ButtonRelease-1> {
        global ENTRYS TLM
        set werte {}
        foreach i $ENTRYS(BETRIFFT) { lappend werte [$i get] }
        set ret [DlgExperiment PROZESSE SETVERTEIL0 \
                               $TLM(ProzessNr) $TLM(ProzessArt) $werte]
   }
}
#  ENDE TLM.DlgVerteil0

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc select_tlm1 { s } {
  global TLM GTS ENTRYS
  foreach i $TLM(Verteilungen) { if { $s == [lindex $GTS($i,TLM) 0] } { break } }
  set TLM(VerteilArt1) $i
  set ENTRYS(VERTEIL1) [TLM.DlgParameter $TLM(Verteil1)\
                       "0 0 0 0 0 0 0 0 0 0" $GTS($i,TLM1) 20 top]
}
# ENDE select_tlm1

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc select_tlm2 { s } {
  global TLM GTS ENTRYS
  foreach i $TLM(Verteilungen) { if { $s == [lindex $GTS($i,TLM) 0] } { break } }
  set TLM(VerteilArt2) $i
  set ENTRYS(VERTEIL2) [TLM.DlgParameter $TLM(Verteil2)\
                       "0 0 0 0 0 0 0 0 0 0" $GTS($i,TLM1) 20 top]
}
# ENDE select_tlm2

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.VerteilArt { fname vname inputs select selprozess} {
   global GTS TLM
   set lf [dialog_lframe $fname $vname]
   set cb [dialog_combobox $lf "$selprozess" 3 "top"]
   foreach i $TLM(Verteilungen) { $cb insert end [lindex $GTS($i,TLM) 0] }
   tixSetSilent $cb [lindex $select 0]
}
# ENDE TLM.VerteilArt

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc DlgVerteil { Werte vt } {
   global TLM GTS ENTRYS
   catch {destroy $Werte}
   frame $Werte -relief solid  -borderwidth 1
   pack  $Werte -expand yes -fill both  -padx 5 -pady 5        
   frame  $Werte.fr  
   pack   $Werte.fr   -side bottom  -fill x
   button $Werte.fr.button -text "Übernehmen" -width 10
   pack   $Werte.fr.button -side right  -padx 10 -pady 5

   set inputs [DlgExperiment PROZESSE GETVERTEIL$vt $TLM(ProzessNr) 0 0]
   set TLM(VerteilArt$vt) [lindex $inputs 0]
   TLM.VerteilArt $Werte "Verteilung" $inputs \
                          $GTS($TLM(VerteilArt$vt),TLM) select_tlm$vt
 
   set lf [dialog_lframe $Werte "Parameter"]
   set ENTRYS(VERTEIL$vt) {}
   set ENTRYS(VERTEIL$vt) [TLM.DlgParameter $lf $inputs \
                          $GTS([lindex $inputs 0],TLM1) 20 top]
   return $lf                          
}
#  ENDE DlgVerteil

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.VerteilParameter { } {
   global GTS TLM
   TLM.DlgVerteil0 $GTS(nb1)
   
   set TLM(Verteil1) [DlgVerteil $GTS(nb2).rahmen 1]
   bind $GTS(nb2).rahmen.fr.button <ButtonRelease-1> {
     global ENTRYS TLM
     set werte {}
     foreach i $ENTRYS(VERTEIL1) { lappend werte [$i get] }
     DlgExperiment PROZESSE SETVERTEIL1 $TLM(ProzessNr) $TLM(VerteilArt1) $werte 
   }

   set TLM(Verteil2) [DlgVerteil $GTS(nb3).rahmen 2]
   bind $GTS(nb3).rahmen.fr.button <ButtonRelease-1> {
     global ENTRYS TLM
     set werte {}
     foreach i $ENTRYS(VERTEIL2) { lappend werte [$i get] }
     DlgExperiment PROZESSE SETVERTEIL2 $TLM(ProzessNr) $TLM(VerteilArt2) $werte 
   }
}
##  TLM.VerteilParameter 

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.ProzessDialog {  } {
   global TLM GTS Confirm
   set dlg [dialog_create "Prozess bearbeiten" Dialog "Info" "Schliessen"]
   frame $dlg.top
   pack $dlg.top -side top -fill x  -padx 2m -pady 5m
   button $dlg.top.botton -text "Übernehmen" -width 10
   pack   $dlg.top.botton -side right -padx 2m -pady 0m
   set GTS(EF1) [dialog_entry $dlg.top "Prozessnr.:" 14 "" 10 \
                              $TLM(ProzessNr) "Int" "left"]
   dialog_focus $GTS(EF1)
   
   bind   $dlg.top.botton <ButtonRelease-1> {
      global TLM GTS
      set TLM(ProzessNr) [DlgExperiment PROZESSE SETPROZESSNR \
                         $TLM(ProzessNr) [$GTS(EF1) get] 0]
      $GTS(EF1) delete 0 end
      $GTS(EF1) insert 0 $TLM(ProzessNr)
   }

   set GTS(NBook) [dialog_nbook $dlg]
   set GTS(nb1) [dialog_add_nbook $GTS(NBook) algWerte "Allgemein"]
   set GTS(nb2) [dialog_add_nbook $GTS(NBook) vt1Werte "Verteilung 1"]
   set GTS(nb3) [dialog_add_nbook $GTS(NBook) vt2Werte "Verteilung 2"]
   
   TLM.VerteilParameter

   dialog_wait $dlg 
   while {$Confirm($dlg) == "1"} { 
     set ret [DlgExperiment PROZESSE SELECT [$GTS(EF1) get] 0 0]
     if { !($ret == "") } {
        set TLM(ProzessNr)  [lindex $ret 0]
        set TLM(ProzessArt) [lindex $ret 1]
        set TLM(Betrifft)   [lindex $ret 2]
        $GTS(EF1) delete 0 end
        $GTS(EF1) insert 0 $TLM(ProzessNr)
        TLM.VerteilParameter
      } else {
       $GTS(EF1) delete 0 end
       $GTS(EF1) insert 0 $TLM(ProzessNr)
      }
      dialog_wait $dlg
   }
   dialog_destroy $dlg
}
#  ENDE TLM.ProzessDialog

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc SetStyle { W } {
   return [tixDisplayStyle text  -refwindow $W -fg black  \
           -padx 4 -pady 2 -font [tix option get bold_font ]]
}       
# SetStyle 

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc setProzess { hlist proz } {
   set style(fett) [SetStyle $hlist]
   $hlist config -separator "."  -width 60 -drawbranch 1 -indent 10
   set index [lindex $proz 0]
   set row [$hlist add $index  -itemtype text \
             -text [lindex $proz 1] -style $style(fett)]
   $hlist item create $row 1 -itemtype text -text [lindex $proz 2] 
}
#  ENDE setProzess

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Init { } {
  global GTS VERTEILUNGEN ENTRYS TLM
  set TLM(ProzessNr)   ""
  set TLM(ProzessArt)  ""
  set TLM(Betrifft)    ""
  set TLM(VerteilArt1) ""
  set TLM(Verteil1)    ""
  set ENTRYS(BETRIFFT) ""
  set ENTRYS(VERTEIL0) ""
  set ENTRYS(VERTEIL1) ""
  set ENTRYS(VERTEIL2) ""
  set GTS(EF1) ""
  set GTS(EF2) ""
  set GTS(PLIST) ""
  set GTS(HLIST) ""
  set GTS(PROZESSARTEN) { 1 2 3 }
  set GTS(1,TLM) {"Lastprozess" "für Arbeitsplan:" }
  set GTS(2,TLM) {"Störprozess" "für Baustein:" }
  set GTS(3,TLM) {"Programmprozess" "" }

  set TLM(Verteilungen) { 100 110 200 210 300 301 302 310 311 312 \
                          400 401 402 410 411 412 500 501 502 510 \
                          511 512 610 611 612 }
  set GTS(100,TLM) "RealExplizit"
  set GTS(110,TLM) "IntExplizit"
  set GTS(200,TLM) "RealGleich"
  set GTS(210,TLM) "IntGleich"
  set GTS(300,TLM) "RealExp"
  set GTS(301,TLM) "RealExpMitGrenze"
  set GTS(302,TLM) "RealExpMitGrenzeNeuziehen"
  set GTS(310,TLM) "IntExp"
  set GTS(311,TLM) "IntExpMitGrenze"
  set GTS(312,TLM) "IntExpMitGrenzeNeuziehen"
  set GTS(400,TLM) "RealGauss"
  set GTS(401,TLM) "RealGaussMitGrenze"
  set GTS(402,TLM) "RealGaussMitGrenzeNeuziehen"
  set GTS(410,TLM) "IntGauss"
  set GTS(411,TLM) "IntGaussMitGrenze"
  set GTS(412,TLM) "IntGaussMitGrenzeNeuziehen"
  set GTS(500,TLM) "RealErlang"
  set GTS(501,TLM) "RealErlangMitGrenze"
  set GTS(502,TLM) "RealErlangMitGrenzeNeuziehen"
  set GTS(510,TLM) "IntErlang"
  set GTS(511,TLM) "IntErlangMitGrenze"
  set GTS(512,TLM) "IntErlangMitGrenzeNeuziehen"
  set GTS(610,TLM) "IntPoisson"
  set GTS(611,TLM) "IntPoissonMitGrenze"
  set GTS(612,TLM) "IntPoissonMitGrenzeNeuziehen"

  set GTS(100,TLM1) {{F "Wert" ""}}
  set GTS(110,TLM1) {{I "Wert" ""}}
  set GTS(200,TLM1) {{F "Min" ""}
                     {F "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(210,TLM1) {{I "Min" ""}
                     {I "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(300,TLM1) {{F "Erwartungswert" ""}
                     {I "Startzahl" ""}
                     }
  set GTS(301,TLM1) {{F "Min" ""}
                     {F "Erwartungswert" ""}
                     {F "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(302,TLM1) {{F "Min" ""}
                     {F "Erwartungswert" ""}
                     {F "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(310,TLM1) {{I "Erwartungswert" ""}
                     {I "Startzahl" ""}
                     }
  set GTS(311,TLM1) {{I "Min" ""}
                     {I "Erwartungswert" ""}
                     {I "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(312,TLM1) {{I "Min" ""}
                     {I "Erwartungswert" ""}
                     {I "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(400,TLM1) {{F "Mittelwert" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(401,TLM1) {{F "Min" ""}
                     {F "Mittelwert" ""}
                     {F "Max" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(402,TLM1) {{F "Min" ""}
                     {F "Mittelwert" ""}
                     {F "Max" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(410,TLM1) {{I "Mittelwert" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(411,TLM1) {{I "Min" ""}
                     {F "Mittelwert" ""}
                     {I "Max" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(412,TLM1) {{I "Min" ""}
                     {F "Mittelwert" ""}
                     {I "Max" ""}
                     {F "Abweichung" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(500,TLM1) {{F "Erwartungszahl" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(501,TLM1) {{F "Min" ""}
                     {F "Erwartungswert" ""}
                     {F "Max" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(502,TLM1) {{F "Min" ""}
                     {F "Erwartungswert" ""}
                     {F "Max" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(510,TLM1) {{F "Erwartungszahl" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(511,TLM1) {{I "Min" ""}
                     {F "Erwartungswert" ""}
                     {I "Max" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(512,TLM1) {{I "Min" ""}
                     {F "Erwartungswert" ""}
                     {I "Max" ""}
                     {I "K-Wert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(610,TLM1) {{I "Mittelwert" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(611,TLM1) {{I "Min" ""}
                     {I "Mittelwert" ""}
                     {I "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(612,TLM1) {{I "Min" ""}
                     {I "Mittelwert" ""}
                     {I "Max" ""}
                     {I "Startzahl" ""}
                    }
  set GTS(1,TLM_ALT_NEU)  200
  set GTS(2,TLM_ALT_NEU)  301
  set GTS(3,TLM_ALT_NEU)  300
  set GTS(4,TLM_ALT_NEU)  210
  set GTS(5,TLM_ALT_NEU)  110
  set GTS(6,TLM_ALT_NEU)  100
  set GTS(7,TLM_ALT_NEU)  411
  set GTS(8,TLM_ALT_NEU)  401
  set GTS(9,TLM_ALT_NEU)  511
  set GTS(10,TLM_ALT_NEU) 501
  set GTS(11,TLM_ALT_NEU) 611
}
#  ENDE TLM.Init

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Exit { } {
  global GTS ENTRYS TLM
  unset TLM(ProzessNr)
  unset TLM(ProzessArt)
  unset TLM(Betrifft)
  unset TLM(VerteilArt1)
  unset TLM(Verteil1)
  unset ENTRYS
  unset GTS(EF1) GTS(EF2)
  unset GTS(PLIST)
  unset GTS(HLIST)
  unset GTS(PROZESSARTEN)
  unset GTS(1,TLM) GTS(2,TLM) GTS(3,TLM)
  foreach i $TLM(Verteilungen) { 
    unset GTS($i,TLM) 
    unset GTS($i,TLM1) 
  }
  foreach i { 1 2 3 4 5 6 7 8 9 10 11 } { unset GTS($i,TLM_ALT_NEU) }
}
#  ENDE TLM.Exit

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Erzeugen { win } {
   global TLM
   dialog_icon $win
   set ret [TLM.ProzessErzeugen]
   dialog_deicon $win
   if { $ret == 1 } { 
      set ret [DlgExperiment PROZESSE SELECT $TLM(ProzessNr) 0 0]
      set TLM(ProzessNr)  [lindex $ret 0]
      set TLM(ProzessArt) [lindex $ret 1]
      set TLM(Betrifft)   [lindex $ret 2]
      dialog_icon $win
      TLM.ProzessDialog 
      dialog_deicon $win
   } 
}
# ENDE TLM.Erzeugen

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Loeschen { } {
   global GTS
   if {!([$GTS(HLIST) selection get] == "") &&
       !([$GTS(HLIST) selection get] == ".")} { 
       set index [$GTS(HLIST) selection get]
       set line [lindex $GTS(PLIST) $index]
       set nr [lindex $line 1]
       $GTS(HLIST) delete entry $index
       DlgExperiment PROZESSE LOESCHEN $nr 0 0
   }
}
# ENDE TLM.Loeschen

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Bearbeiten { win } {
   global GTS TLM
   if {!([$GTS(HLIST) selection get] == "") &&
       !([$GTS(HLIST) selection get] == ".")} { 
       set index [$GTS(HLIST) selection get]
       set line [lindex $GTS(PLIST) $index]
       set ret  [DlgExperiment PROZESSE SELECT [lindex $line 1] 0 0]
       set TLM(ProzessNr)  [lindex $ret 0]
       set TLM(ProzessArt) [lindex $ret 1]
       set TLM(Betrifft)   [lindex $ret 2]
       dialog_icon $win
       TLM.ProzessDialog 
       dialog_deicon $win
       set GTS(PLIST) [DlgExperiment PROZESSE INFO 0 0 0]
       $GTS(HLIST) delete all
       $GTS(HLIST) add .
       foreach line $GTS(PLIST) { setProzess $GTS(HLIST) $line }
    }
}
# ENDE TLM.Bearbeiten

# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
proc TLM.Dialog { } {
   TLM.Init
   global GTS Confirm
   
   set dlg [dialog_create "Prozesse" Dialog "Schliessen"]
   focus $dlg.box.ok
   set    W $dlg.rahmen
   frame $W -relief solid  -borderwidth 1
   pack  $W -expand yes -fill both  -padx 10 -pady 10        
   
   set tmp "Typ\tbetrifft\n     Verteilung 1: Typ, Parameter...\t Startzahl\
                         \n     Verteilung 2: Typ, Parameter...\t Startzahl"
   set kopf "{{Prozessnr.} 15}  {{$tmp} 45}"
   set GTS(HLIST) [dialog_scrollhlist $W $kopf]
   
   set GTS(PLIST) [DlgExperiment PROZESSE INFO 0 0 0]
   $GTS(HLIST) add .
   foreach line $GTS(PLIST) { setProzess $GTS(HLIST) $line }

   set button [MachButton $W "Erzeugen Löschen Bearbeiten" 8]
   bind $button.1 <ButtonRelease-1> [list TLM.Erzeugen   $dlg]
   bind $button.2 <ButtonRelease-1> [list TLM.Loeschen]
   bind $button.3 <ButtonRelease-1> [list TLM.Bearbeiten $dlg]
   
   dialog_wait $dlg 
   dialog_destroy $dlg
   TLM.Exit
}
# ENDE TLM.Dialog

# ++++++++++++++++++  E N D E  Prozesse   +++++++++++++++++++++++++++++++++++
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++