# $Source: /usr/local/SimSoft/Sfx3D/src/gts/gts10.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: gts10.tcl,v $
# Revision 1.2  2001/11/29 15:18:10  baum
# -Realzeitsteuerung eingebaut
# -Handsteuerung eingebaut
#

set outfit 1
if { $outfit == 1 } {
#   set diafuss  "Zustand Avis      Quit"
#   set bdefuss  "Avis    Parameter Quit"
#   set avisfuss "Zustand Parameter Quit"
#   set lisfuss  "<<<     >>>       Quit"
#   set pdx  4m
#   set pdy  2m
#   set tBde 12
#   set vBde 15
#   set tAkt 12
#   set vAkt 10
   set bBde White
   set fBde Black
#   set bAkt White
#   set fAkt Black
#   set cbGood Cyan
#   set cbBad  Blue
} else {
   set diafuss  "Bde     Avis      Quit"
   set bdefuss  "Avis    Akt       Quit"
   set avisfuss "Bde     Akt       Quit"
   set lisfuss  "<<<     >>>       Quit"
   set pdx  1m
   set pdy  1m
   set tBde 12
   set vBde 10
   set tAkt 12
   set vAkt  6
   set bBde White
   set fBde Black
   set bAkt Yellow
   set fAkt Black
   set cbGood Green
   set cbBad  Red
}





# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

# entfaellt  proc erzListbox { topl } {
# entfaellt    listbox $topl.flaeche -relief raised -width 30 -borderwidth 2 \
# entfaellt                  -yscrollcommand "$topl.scrolly set" \
# entfaellt                  -xscrollcommand "$topl.scrollx set"
# entfaellt    scrollbar $topl.scrolly -command "$topl.flaeche yview"
# entfaellt    scrollbar $topl.scrollx -orient horizontal \
# entfaellt                            -command "$topl.flaeche xview"
# entfaellt    pack $topl.scrolly -side right -fill y
# entfaellt    pack $topl.scrollx -side bottom -fill x
# entfaellt    pack $topl.flaeche  -side top -expand yes -fill both
# entfaellt  }
# entfaellt  
# entfaellt  proc FenZeigDat {dat} {
# entfaellt    catch {destroy .fenzeigdat}
# entfaellt    toplevel .fenzeigdat
# entfaellt    erzListbox .fenzeigdat
# entfaellt    set Datei [open $dat]
# entfaellt    while {[gets $Datei Zeile ] >= 0} {
# entfaellt      .fenzeigdat.flaeche insert end $Zeile
# entfaellt    }
# entfaellt  }
# entfaellt  
# entfaellt  set AblInitString "SimZeit WechslZ ErsterV LetzerV T_im_Abl DzMittel"
# entfaellt  set BstInitString "SimZeit WechslZ Zustand Meldung Belegung Strategie Prioritaet M_Belegung M_Auslastung"
# entfaellt  set FksInitString "SimZeit ErsteS LetzteS T_im_Fk DzMittel M_Belegung"
# entfaellt  set TmpInitString "SimZeit Ziel Station  Laufzeit AblPlan"
# entfaellt  set AvisInitString "SimZeit DirAvisSoll DirAvisIst IndAvisSoll IndAvisIst"
# entfaellt  set ZeitInitString "Tag Std Min Sek"
# entfaellt  
# entfaellt  set BstFenBez  {}
# entfaellt  set AvisFenBez {}
# entfaellt  set TmpFenBez  {}
# entfaellt  set FksFenBez  {}
# entfaellt  set AblFenBez  {}
# entfaellt  
# entfaellt  set AlleFenster {BstFenBez AvisFenBez TmpFenBez FksFenBez AblFenBez}
# entfaellt  
# entfaellt  set Bezeichner {Bst_ Avis_ Transp_ Fahrkurs_ AblPlan_}
# entfaellt  set SSY_Funktionen {BausteinZustand AvisZustand TranspEinZustand FahrkursZustand AblPlanZustand}
# entfaellt  
# entfaellt  set BdeFenCounter 0
# entfaellt  
# entfaellt  proc decBdeFenCounter {} {
# entfaellt    global BdeFenCounter
# entfaellt    incr BdeFenCounter -1
# entfaellt  }
# entfaellt  proc BdeTimerFunc {} {
# entfaellt    global AlleFenster
# entfaellt    set TypIndex 0
# entfaellt  
# entfaellt    foreach i $AlleFenster {
# entfaellt      global SSY_Funktionen
# entfaellt      global Bezeichner
# entfaellt      upvar #0 $i fenster
# entfaellt      set index 0
# entfaellt      set tmp [lindex $Bezeichner $TypIndex]
# entfaellt      set k [string length $tmp]
# entfaellt      set ssyFunction [lindex $SSY_Funktionen $TypIndex]
# entfaellt  
# entfaellt      foreach j $fenster {
# entfaellt        if { [winfo exists .$j] } {
# entfaellt          set erg [myobj $ssyFunction [string range $j $k end] 0]
# entfaellt          if {$erg > 0} {
# entfaellt            set ergLaenge [llength $erg]
# entfaellt            for {set x 0} {$x < $ergLaenge} {incr x} {
# entfaellt              after 1 "set var$j$x {[lindex $erg [expr $x + 1]]}"
# entfaellt            }
# entfaellt          }
# entfaellt        } else {
# entfaellt          set a $i
# entfaellt          set foundIndex [lsearch $a $j]
# entfaellt          if {$foundIndex > -1} {
# entfaellt            lreplace $a $foundIndex $foundIndex
# entfaellt          }
# entfaellt        }
# entfaellt        incr index
# entfaellt      }
# entfaellt      incr TypIndex
# entfaellt    }
# entfaellt    global BdeFenCounter
# entfaellt    if {$BdeFenCounter > 0} {\
# entfaellt      after 1000 {
# entfaellt        BdeTimerFunc
# entfaellt      }
# entfaellt    }
# entfaellt  }
# entfaellt  #=============== Liste:Vorg-Nach, Quit, Bst, Avis ===========
# entfaellt  proc Vorg_transp { oNr } {
# entfaellt    set TNr [myobj TranspEinVZustand $oNr 0]
# entfaellt    if { $TNr > 0 } { TranspEinZust  $TNr }
# entfaellt  }
# entfaellt  proc Nach_transp { oNr } {
# entfaellt    set TNr [myobj TranspEinNZustand $oNr 0]
# entfaellt    if { $TNr > 0 } { TranspEinZust  $TNr }
# entfaellt  }
# entfaellt  proc Vorg_fahrkurs { oNr } {
# entfaellt    set FNr [myobj FahrkursVZustand $oNr 0]
# entfaellt    if { $FNr > 0 } { FahrkursZust  $FNr }
# entfaellt  }
# entfaellt  proc Nach_fahrkurs { oNr } {
# entfaellt    set FNr [myobj FahrkursNZustand $oNr 0]
# entfaellt    if { $FNr > 0 } { FahrkursZust  $FNr }
# entfaellt  }
# entfaellt  proc Vorg_ablplan { oNr } {
# entfaellt    set ANr [myobj AblPlanVZustand $oNr 0]
# entfaellt    if { $ANr > 0 } { AblPlanZust  $ANr }
# entfaellt  }
# entfaellt  proc Nach_ablplan { oNr } {
# entfaellt    set ANr [myobj AblPlanNZustand $oNr 0]
# entfaellt    if { $ANr > 0 } { AblPlanZust  $ANr }
# entfaellt  }
# entfaellt  proc CreateDiaBaustein { fenName} {
# entfaellt      global bdefuss
# entfaellt      MachFussButton .$fenName $bdefuss
# entfaellt  
# entfaellt      bind .$fenName.fr.eins <ButtonRelease-1> {
# entfaellt        set bNr [ lindex [split [lindex [ split %W . ] 1] _ ] 1]
# entfaellt        AvisZust $bNr
# entfaellt      }
# entfaellt      bind .$fenName.fr.zwei <ButtonRelease-1> {
# entfaellt        set bNr [ lindex [split [lindex [ split %W . ] 1] _ ] 1]
# entfaellt        DiaTyp_Fenster $bNr
# entfaellt      }
# entfaellt      bind .$fenName.fr.exit <ButtonRelease-1> {
# entfaellt        decBdeFenCounter
# entfaellt        set fen  [lindex [ split %W . ] 1] 
# entfaellt        after idle {destroy .$fen}
# entfaellt      }
# entfaellt  
# entfaellt      wm protocol .$fenName  WM_DELETE_WINDOW { }
# entfaellt  }
# entfaellt  proc CreateDiaAvis { fenName} {
# entfaellt      global avisfuss
# entfaellt      MachFussButton .$fenName $avisfuss
# entfaellt  
# entfaellt      bind .$fenName.fr.eins <ButtonRelease-1> {
# entfaellt        set bNr [ lindex [split [lindex [ split %W . ] 1] _ ] 1]
# entfaellt        BausteinZust $bNr
# entfaellt      }
# entfaellt      bind .$fenName.fr.zwei <ButtonRelease-1> {
# entfaellt        set bNr [ lindex [split [lindex [ split %W . ] 1] _ ] 1]
# entfaellt        DiaTyp_Fenster $bNr
# entfaellt      }
# entfaellt      bind .$fenName.fr.exit <ButtonRelease-1> {
# entfaellt        decBdeFenCounter
# entfaellt        set fen  [lindex [ split %W . ] 1] 
# entfaellt        after idle {destroy .$fen}
# entfaellt      }
# entfaellt  
# entfaellt      wm protocol .$fenName  WM_DELETE_WINDOW { }
# entfaellt  }
# entfaellt  proc CreateDiaListe { fenName } {
# entfaellt      global lisfuss
# entfaellt      MachFussButton .$fenName $lisfuss
# entfaellt  
# entfaellt      bind .$fenName.fr.eins <ButtonRelease-1> {
# entfaellt        set Funk_Nr [split [lindex [ split %W . ] 1] _ ]
# entfaellt        Vorg_[ lindex $Funk_Nr 0] [ lindex $Funk_Nr 1]
# entfaellt      }
# entfaellt      bind .$fenName.fr.zwei <ButtonRelease-1> {
# entfaellt        set Funk_Nr [split [lindex [ split %W . ] 1] _ ]
# entfaellt        Nach_[ lindex $Funk_Nr 0] [ lindex $Funk_Nr 1]
# entfaellt      }
# entfaellt      bind .$fenName.fr.exit <ButtonRelease-1> {
# entfaellt        decBdeFenCounter
# entfaellt        set fen  [lindex [ split %W . ] 1] 
# entfaellt        after idle {destroy .$fen}
# entfaellt      }
# entfaellt  
# entfaellt      wm protocol .$fenName  WM_DELETE_WINDOW { }
# entfaellt  }
# entfaellt  
# entfaellt  proc CreateBdeFenster {Titel InitString FenListe WerteListe bdeFunk wofuer nr} {
# entfaellt     global tBde vBde bBde fBde
# entfaellt     global $FenListe
# entfaellt     global $InitString
# entfaellt     set index 0
# entfaellt     global FensterName
# entfaellt     set FensterName [lindex $WerteListe 0]
# entfaellt     set FensterName [string tolower $FensterName]
# entfaellt  
# entfaellt     lappend $FenListe $FensterName
# entfaellt     catch [destroy .$FensterName]
# entfaellt     toplevel .$FensterName
# entfaellt     wm title .$FensterName $Titel
# entfaellt  
# entfaellt     label .$FensterName.label -text "$wofuer $nr" -relief groove -bd 2 \
# entfaellt          -padx 1m -pady 1m
# entfaellt     pack .$FensterName.label -expand yes -fill both
# entfaellt  
# entfaellt     foreach i $InitString {
# entfaellt       frame .$FensterName.frame$i \
# entfaellt                  -relief ridge -borderwidth 2
# entfaellt       label .$FensterName.frame$i.text \
# entfaellt                  -text $i \
# entfaellt                  -width $tBde
# entfaellt       label .$FensterName.frame$i.wert \
# entfaellt                  -textvariable var$FensterName$index \
# entfaellt                  -relief sunken \
# entfaellt                  -width $vBde -background $bBde -fg $fBde
# entfaellt  
# entfaellt       pack .$FensterName.frame$i -expand yes -fill both
# entfaellt       pack .$FensterName.frame$i.text -expand yes -side left -fill x
# entfaellt       pack .$FensterName.frame$i.wert -expand yes -side left -fill x
# entfaellt  
# entfaellt       incr index
# entfaellt     }
# entfaellt     if { $bdeFunk == "Baustein"  } { CreateDiaBaustein   $FensterName
# entfaellt     } elseif { $bdeFunk == "Avis"  } { CreateDiaAvis   $FensterName
# entfaellt     } else { CreateDiaListe  $FensterName }
# entfaellt  
# entfaellt     global BdeFenCounter
# entfaellt     incr BdeFenCounter
# entfaellt     if { $BdeFenCounter == 1 } { BdeTimerFunc }
# entfaellt  }
# entfaellt  
# entfaellt  proc BdeDeleteAll {} {
# entfaellt    global AlleFenster
# entfaellt  
# entfaellt    foreach i $AlleFenster {
# entfaellt      upvar #0 $i fenster
# entfaellt  
# entfaellt      foreach j $fenster {
# entfaellt        if { [winfo exists .$j] } {
# entfaellt          destroy .$j
# entfaellt        }
# entfaellt      }
# entfaellt    }
# entfaellt    global BdeFenCounter
# entfaellt    global BstFenBez
# entfaellt    global AvisFenBez
# entfaellt    global TmpFenBez
# entfaellt    global FksFenBez
# entfaellt    global AblFenBez
# entfaellt   
# entfaellt    set BdeFenCounter 0
# entfaellt    set BstFenBez  {}
# entfaellt    set AvisFenBez {}
# entfaellt    set TmpFenBez  {}
# entfaellt    set FksFenBez  {}
# entfaellt    set AblFenBez  {}
# entfaellt  }
# entfaellt  #=================== Interaktionen-Baustein =================
# entfaellt  proc BstAkt_Fenster  SegNr  {
# entfaellt  #  set DiaBNr [myobj Baustein $SegNr 0]
# entfaellt  #  DiaTyp_Fenster $DiaBNr
# entfaellt  put_win $SegNr
# entfaellt  }
# entfaellt  proc DiaTyp_Fenster { BNr } {
# entfaellt    global DiaBNr diafuss
# entfaellt    set DiaBNr $BNr
# entfaellt    set tDiaTyp [myobj i_DiaTyp $DiaBNr 0]
# entfaellt    DiaAlle_Fenster $DiaBNr
# entfaellt          if { $tDiaTyp == 0 } {
# entfaellt         DiaBst_Fenster $DiaBNr
# entfaellt    } elseif { $tDiaTyp == 1 } {
# entfaellt         DiaBst_Fenster $DiaBNr
# entfaellt         DiaAvis_Fenster $DiaBNr
# entfaellt    } elseif { $tDiaTyp == 2 } {
# entfaellt         DiaBst_Fenster $DiaBNr
# entfaellt         DiaFts_Fenster $DiaBNr
# entfaellt    } elseif { $tDiaTyp == 3 } {
# entfaellt         DiaStr_Fenster $DiaBNr
# entfaellt    }
# entfaellt    DiaExit_Fenster $DiaBNr
# entfaellt  }
# entfaellt  proc set_time { lab } {
# entfaellt    set fen [lindex [ split $lab . ] 1]
# entfaellt    .$fen.w.zeit configure -text "[myobj i_Zeitstring 0  0]"
# entfaellt    return [lindex [split $fen _ ] 1]
# entfaellt  }
# entfaellt  proc set_entry { fEntry Funk } {
# entfaellt    set bNr [set_time $fEntry]
# entfaellt    set erg [myobj $Funk $bNr [$fEntry get] ];
# entfaellt    $fEntry  delete 0 end
# entfaellt    $fEntry insert 0 $erg
# entfaellt  }
# entfaellt  proc  set_check { fCheck Funk } {
# entfaellt    global cbGood cbBad
# entfaellt    set bNr [set_time $fCheck]
# entfaellt    set erg [myobj $Funk $bNr 0];
# entfaellt    if { $erg == 1 } {
# entfaellt       $fCheck configure -bg $cbGood
# entfaellt       $fCheck deselect
# entfaellt    } else {
# entfaellt       $fCheck configure -bg $cbBad
# entfaellt       $fCheck select
# entfaellt    }
# entfaellt    $fCheck flash
# entfaellt  }
# entfaellt  proc DiaAlle_Fenster { diaBNr } {
# entfaellt    global tAkt vAkt
# entfaellt    catch [destroy .diaF_$diaBNr]
# entfaellt    toplevel .diaF_$diaBNr
# entfaellt    wm title .diaF_$diaBNr Parameter
# entfaellt    set f .diaF_$diaBNr.w
# entfaellt    frame $f
# entfaellt    label $f.label -text "Baustein $diaBNr" \
# entfaellt                   -relief groove -padx 1m -pady 1m
# entfaellt    label $f.zeit -text "[myobj i_Zeitstring 0 0]" \
# entfaellt                   -relief groove
# entfaellt    pack $f 
# entfaellt    pack $f.label -side top -expand yes -fill both -padx 1m -pady 1m
# entfaellt    pack $f.zeit -side top -expand yes -fill both
# entfaellt  }
# entfaellt  proc DiaBst_Fenster { diaBNr } {
# entfaellt    global tAkt vAkt bAkt fAkt
# entfaellt    set f .diaF_$diaBNr.w
# entfaellt    frame  $f.fr1 -relief ridge -borderwidth 2
# entfaellt    label  $f.fr1.aktstrat -text Strategie -width $tAkt
# entfaellt    entry  $f.fr1.varstrat -relief sunken -bg $bAkt -fg  $fAkt -width $vAkt
# entfaellt           $f.fr1.varstrat  insert 0 [myobj i_Strategie $diaBNr 0]
# entfaellt    bind   $f.fr1.varstrat <Return> { 
# entfaellt           set_entry %W s_Strategie
# entfaellt        }
# entfaellt    frame  $f.fr2 -relief ridge -borderwidth 2
# entfaellt    label  $f.fr2.aktprio -text Prioritaet -width $tAkt
# entfaellt    entry  $f.fr2.varprio -relief sunken -bg $bAkt -fg  $fAkt -width $vAkt
# entfaellt           $f.fr2.varprio  insert 0 [myobj i_Prioritaet $diaBNr 0]
# entfaellt    bind   $f.fr2.varprio <Return> { 
# entfaellt           set_entry %W s_Prioritaet
# entfaellt        }
# entfaellt    frame  $f.frk -relief ridge -borderwidth 2
# entfaellt    label  $f.frk.aktkapa -text Kapazitaet -width $tAkt
# entfaellt    entry  $f.frk.varkapa -relief sunken -bg $bAkt -fg  $fAkt -width $vAkt
# entfaellt           $f.frk.varkapa  insert 0 [myobj i_Kapazitaet $diaBNr 0]
# entfaellt    bind   $f.frk.varkapa <Return> {
# entfaellt           set_entry %W s_Kapazitaet
# entfaellt        }
# entfaellt  
# entfaellt    pack $f.fr1 -side top -expand yes -fill both
# entfaellt    pack $f.fr1.aktstrat $f.fr1.varstrat -side left -anchor e -expand yes -fill both
# entfaellt    pack $f.fr2 -side top -expand yes -fill both
# entfaellt    pack $f.fr2.aktprio  $f.fr2.varprio  -side left -anchor e -expand yes -fill both
# entfaellt    pack $f.frk -side top -expand yes -fill both
# entfaellt    pack $f.frk.aktkapa  $f.frk.varkapa  -side left -anchor e -expand yes -fill both
# entfaellt  }
# entfaellt  proc DiaAvis_Fenster { diaBNr } {
# entfaellt    global tAkt vAkt bAkt fAkt
# entfaellt    set f .diaF_$diaBNr.w
# entfaellt    frame  $f.fr3 -relief ridge -borderwidth 2
# entfaellt    label  $f.fr3.aktdsoll -text DirAvisSoll -width $tAkt
# entfaellt    entry  $f.fr3.vardsoll -relief sunken -bg $bAkt -fg $fAkt -width $vAkt
# entfaellt           $f.fr3.vardsoll  insert 0 [myobj i_DirAvisSoll $diaBNr 0]
# entfaellt    bind   $f.fr3.vardsoll <Return> { 
# entfaellt           set_entry %W s_DirAvisSoll
# entfaellt        }
# entfaellt    frame  $f.fr4 -relief ridge -borderwidth 2
# entfaellt    label  $f.fr4.aktisoll -text IndAvisSoll -width $tAkt
# entfaellt    entry  $f.fr4.varisoll -relief sunken -bg $bAkt -fg $fAkt -width $vAkt
# entfaellt           $f.fr4.varisoll  insert 0 [myobj i_IndAvisSoll $diaBNr 0]
# entfaellt    bind   $f.fr4.varisoll <Return> { 
# entfaellt           set_entry %W s_IndAvisSoll
# entfaellt        }
# entfaellt    pack $f.fr3 -side top -expand yes -fill both
# entfaellt    pack $f.fr3.aktdsoll $f.fr3.vardsoll -side left -anchor e -expand yes -fill both
# entfaellt    pack $f.fr4 -side top -expand yes -fill both
# entfaellt    pack $f.fr4.aktisoll $f.fr4.varisoll -side left -anchor e -expand yes -fill both
# entfaellt  }
# entfaellt  proc DiaFts_Fenster { diaBNr } {
# entfaellt    global tAkt vAkt bAkt fAkt
# entfaellt    set f .diaF_$diaBNr.w
# entfaellt    frame  $f.fr5 -relief ridge -borderwidth 2
# entfaellt    label  $f.fr5.aktschau -text Vorschau -width $tAkt
# entfaellt    entry  $f.fr5.varschau -relief sunken -bg $bAkt -fg $fAkt -width $vAkt
# entfaellt           $f.fr5.varschau  insert 0 [myobj i_Vorschau $diaBNr 0]
# entfaellt    bind   $f.fr5.varschau <Return> {
# entfaellt           set_entry %W s_Vorschau
# entfaellt         }
# entfaellt    frame       $f.fr6 -relief ridge -borderwidth 2
# entfaellt    label       $f.fr6.aktschlau -text Fahralgo  -width $tAkt
# entfaellt    checkbutton $f.fr6.vars$diaBNr -relief ridge -anchor center
# entfaellt                set_check $f.fr6.vars$diaBNr i_Fahralgo
# entfaellt    bind        $f.fr6.vars$diaBNr <ButtonRelease-1> {
# entfaellt           set_check %W t_Fahralgo
# entfaellt           %W toggle
# entfaellt         }
# entfaellt    frame       $f.fr7 -relief ridge -borderwidth 2
# entfaellt    label       $f.fr7.aktari -text Ariadne      -width $tAkt
# entfaellt    checkbutton $f.fr7.vara$diaBNr -relief ridge -anchor center
# entfaellt                set_check $f.fr7.vara$diaBNr i_Ariadne
# entfaellt    bind        $f.fr7.vara$diaBNr <ButtonRelease-1> {
# entfaellt           set_check %W t_Ariadne
# entfaellt           %W toggle
# entfaellt         }
# entfaellt  
# entfaellt    pack $f.fr5 -side top -expand yes -fill both
# entfaellt    pack $f.fr5.aktschau  $f.fr5.varschau   -side left  -anchor e -expand yes -fill both
# entfaellt    pack $f.fr6 -side top -expand yes -fill both
# entfaellt    pack $f.fr6.aktschlau $f.fr6.vars$diaBNr -side left -padx 2m -expand yes -fill both
# entfaellt    pack $f.fr7 -side top -expand yes -fill both
# entfaellt    pack $f.fr7.aktari    $f.fr7.vara$diaBNr -side left -padx 2m -expand yes -fill both
# entfaellt  }
# entfaellt  proc DiaStr_Fenster { diaBNr } {
# entfaellt    global tAkt vAkt
# entfaellt    set f .diaF_$diaBNr.w
# entfaellt    frame       $f.frs -relief ridge -borderwidth 2
# entfaellt    label       $f.frs.aktsperr -text Sperren -width $tAkt
# entfaellt    checkbutton $f.frs.varsp$diaBNr -relief ridge -anchor center
# entfaellt                set_check $f.frs.varsp$diaBNr i_StreckeFrei
# entfaellt    bind        $f.frs.varsp$diaBNr <ButtonRelease-1> {
# entfaellt           set_check %W t_StreckeSperr
# entfaellt           %W toggle
# entfaellt         }
# entfaellt  
# entfaellt    pack $f.frs -side top -expand yes -fill both
# entfaellt    pack $f.frs.aktsperr $f.frs.varsp$diaBNr -side left -anchor e -expand yes -fill both
# entfaellt  }
# entfaellt  proc DiaExit_Fenster { diaBNr } {
# entfaellt      global diafuss
# entfaellt      set f .diaF_$diaBNr.w
# entfaellt  
# entfaellt      MachFussButton $f $diafuss
# entfaellt  
# entfaellt      bind $f.fr.eins <ButtonRelease-1> {
# entfaellt         set bNr [lindex [split  [lindex [ split %W . ] 1] _ ] 1]
# entfaellt         BausteinZust $bNr
# entfaellt      }
# entfaellt      bind $f.fr.zwei <ButtonRelease-1> {
# entfaellt         set bNr [lindex [split  [lindex [ split %W . ] 1] _ ] 1]
# entfaellt         AvisZust $bNr
# entfaellt      }
# entfaellt      bind $f.fr.exit <ButtonRelease-1> {
# entfaellt        set bNr [lindex [split  [lindex [ split %W . ] 1] _ ] 1]
# entfaellt        after idle {destroy .diaF_$bNr}
# entfaellt      }
# entfaellt  }
# entfaellt  #=====================BDE: Baustein, Avis =======================
# entfaellt  proc AvisZust { BstNr } {
# entfaellt     global AvisInitString
# entfaellt     set erg [myobj AvisZustand $BstNr 0];
# entfaellt     if {$erg > 0} {
# entfaellt       CreateBdeFenster Avis $AvisInitString AvisFenBez $erg Avis Baustein $BstNr
# entfaellt     } else {
# entfaellt       tk_messageBox -parent .knoeppe -title Achtung -icon info \
# entfaellt          -message {Kein Avis fuer diesen Bausteintyp vorhanden!} \
# entfaellt          -type ok
# entfaellt      }
# entfaellt    }
# entfaellt  proc  BausteinZust { BstNr } {
# entfaellt      global BstInitString
# entfaellt      set erg [myobj BausteinZustand  $BstNr 0];
# entfaellt      CreateBdeFenster Zustand $BstInitString BstFenBez $erg Baustein Baustein $BstNr
# entfaellt    }
# entfaellt  proc BstInfo_Fenster SegNr {
# entfaellt    set BstNr [myobj Baustein $SegNr 0]
# entfaellt    BstBde_Fenster $BstNr
# entfaellt  }
# entfaellt  proc BstBde_Fenster { BNr } {
# entfaellt    catch [destroy .bstInfoFen]
# entfaellt    global BstNr
# entfaellt    set BstNr $BNr
# entfaellt    toplevel .bstInfoFen
# entfaellt    wm title .bstInfoFen Bst
# entfaellt    set f .bstInfoFen.bFrame 
# entfaellt    frame $f
# entfaellt    label $f.label -text "Baustein $BstNr" -relief groove -bd 2 \
# entfaellt          -padx 1m -pady 1m
# entfaellt    button $f.zustand -text Zustand -command {
# entfaellt           if { $ModOpen == 1 } { BausteinZust $BstNr }
# entfaellt       }
# entfaellt    button $f.avis -text Avis -command {
# entfaellt           if { $ModOpen == 1 } { AvisZust $BstNr }
# entfaellt       }
# entfaellt    button $f.para -text Parameter -command {
# entfaellt           if { $ModOpen == 1 } { DiaTyp_Fenster $BstNr }
# entfaellt       }
# entfaellt:    button $f.rzssenden -text RzsSenden -command {
# entfaellt:           if { $ModOpen == 1 } {
# entfaellt:               if {$modtechon } {
# entfaellt:                  RzsSenden $BstNr ];
# entfaellt:               } else {
# entfaellt:                 put_win "Modelltechnik ist nicht eingeschaltet!\n";
# entfaellt:               }
# entfaellt:  
# entfaellt:           }
# entfaellt:        }
# entfaellt    frame  $f.fr -relief ridge
# entfaellt    button $f.fr.exit -text Quit
# entfaellt    pack $f 
# entfaellt    pack $f.label -side top -expand yes -fill both -padx 5m -pady 2m
# entfaellt    pack $f.zustand $f.avis $f.para $f.rzssenden -side top -expand yes -fill both 
# entfaellt    pack $f.fr  -side top -expand yes
# entfaellt    pack $f.fr.exit -side left -expand yes -padx 4m -pady 2m
# entfaellt  
# entfaellt    bind $f.fr.exit <ButtonRelease-1> {
# entfaellt      after idle {destroy .bstInfoFen}
# entfaellt    }
# entfaellt  }
# entfaellt  #====================BDE: Transport, Fahrkurs, Ablaufplan ============
# entfaellt  proc TranspEinZust { TranspNr } {
# entfaellt     global TmpInitString
# entfaellt     set erg [myobj TranspEinZustand $TranspNr 0];
# entfaellt     if { $erg > 0 } {
# entfaellt       CreateBdeFenster Teil $TmpInitString TmpFenBez $erg Transport Teil \
# entfaellt                        $TranspNr
# entfaellt     }
# entfaellt  }
# entfaellt  proc FahrkursZust { FahrNr } {
# entfaellt    global FksInitString
# entfaellt    set erg [myobj FahrkursZustand $FahrNr 0];
# entfaellt    CreateBdeFenster Fahrkurs $FksInitString FksFenBez $erg Fahrkurs Fahrkurs $FahrNr
# entfaellt  }
# entfaellt  proc AblPlanZust { PlanNr } {
# entfaellt    global AblInitString
# entfaellt    set erg [myobj AblPlanZustand $PlanNr 0];
# entfaellt    CreateBdeFenster Ablaufplan $AblInitString AblFenBez $erg AblPlan Ablaufplan $PlanNr
# entfaellt  }
# entfaellt  proc TempInfo_Fenster { SegNr } {
# entfaellt    global TranspNr FahrNr PlanNr
# entfaellt    set TranspNr [myobj TranspEin $SegNr 0]
# entfaellt    set FahrNr   [myobj Fahrkurs  $SegNr 0]
# entfaellt    set PlanNr   [myobj AblPlan   $SegNr 0]
# entfaellt    toplevel .tempInfoFen
# entfaellt    set f .tempInfoFen.bFrame 
# entfaellt    frame $f
# entfaellt    label $f.label -text TempInfo -relief groove -bd 2
# entfaellt    button $f.zustand -text "[format "%- 12s %-4d" "TranspEin"  $TranspNr]" \
# entfaellt                            -anchor w -command {
# entfaellt             if { $ModOpen == 1 } { TranspEinZust $TranspNr }
# entfaellt           }
# entfaellt    button $f.fahrkurs -text "[format "%- 12s %-5d" "Fahrkurs" $FahrNr]" \
# entfaellt                       -anchor w -command {
# entfaellt             if { $ModOpen == 1 } { FahrkursZust $FahrNr }
# entfaellt           }
# entfaellt    button $f.ablplan -text "[format "%- 12s %-4d" "AblaufPlan" $PlanNr]" \
# entfaellt                      -anchor w -command {
# entfaellt             if { $ModOpen == 1 } {AblPlanZust $PlanNr }
# entfaellt           }
# entfaellt    pack $f 
# entfaellt    pack $f.label -side top -expand yes -fill both -padx 2m -pady 2m
# entfaellt    pack $f.zustand $f.fahrkurs $f.ablplan -side top -expand yes -fill both 
# entfaellt  
# entfaellt    button $f.exit -text Quit
# entfaellt    pack   $f.exit -side top -expand yes -padx 4m -pady 2m
# entfaellt  
# entfaellt    bind $f.exit <ButtonRelease-1> { 
# entfaellt        after idle { destroy .tempInfoFen }
# entfaellt    }
# entfaellt    wm title .tempInfoFen "TempInfo"
# entfaellt  }
# entfaellt  
# entfaellt  #======== RZS-Senden-Dialog ============================================
# entfaellt  
# entfaellt    proc RzsSenden {bst} {
# entfaellt        set oldfocus [focus]
# entfaellt        global senden
# entfaellt        set f [toplevel .senden -borderwidth 30]
# entfaellt        message $f.msg -width 200 -text "RZS-Komando eingeben"
# entfaellt        if {$bst < 10 } {
# entfaellt           set senden(result) "0$bst,99,"
# entfaellt        } else {
# entfaellt           set senden(result) "$bst,99,"
# entfaellt        }
# entfaellt        entry $f.entry -textvariable senden(result)
# entfaellt        set b [frame $f.buttons -bd 10]
# entfaellt        pack $f.msg $f.entry $f.buttons -side top -fill x
# entfaellt        button $b.ok -text OK -command {set senden(ok) 1} \
# entfaellt            -underline 0
# entfaellt        button $b.cancel -text Cancel -command {set senden(ok) 0} \
# entfaellt            -underline 0
# entfaellt        pack $b.ok -side left
# entfaellt        pack $b.cancel -side right
# entfaellt        foreach w [list $f.entry $b.ok $b.cancel] {
# entfaellt            bindtags $w [list .senden [winfo class $w] $w all]
# entfaellt        }
# entfaellt        bind .senden <Alt-o> "focus $b.ok ; break"
# entfaellt        bind .senden <Alt-c> "focus $b.cancel ; break"
# entfaellt        bind .senden <Alt-Key> break
# entfaellt        bind .senden <Return> {set senden(ok) 1}
# entfaellt        bind .senden <Control-c> {set senden(ok) 0}
# entfaellt        grab $f
# entfaellt        focus $f.entry
# entfaellt        tkwait variable senden(ok)
# entfaellt        destroy $f
# entfaellt        focus $oldfocus
# entfaellt        if {$senden(ok)} {
# entfaellt            set erg [myobj RzsSenden $senden(result) 0]
# entfaellt            put_win "Gesendet $erg";
# entfaellt        }
# entfaellt    }
#======== ENDE RZS-Senden-Dialog =======================================
# entfaellt:  proc rzsStart {} {
# entfaellt:    set oldFocus [focus]
# entfaellt:    global realzeit
# entfaellt:    toplevel .rzs
# entfaellt:    set f .rzs.radio
# entfaellt:    frame $f -bd 2
# entfaellt:    radiobutton $f.nsim -value 1 -text "normale Simulation" \
# entfaellt:          -command { set modtechon 0; set realzeit 0 }
# entfaellt:    radiobutton $f.msim -value 2 -text "mit Modelltechnik  " \
# entfaellt:          -command { set modtechon 1; set realzeit 0 }
# entfaellt:    radiobutton $f.zsim -value 3 -text "Realzeitsimulation  " \
# entfaellt:          -command { set modtechon 0; set realzeit 1 }
# entfaellt:  
# entfaellt:    frame .rzs.ok
# entfaellt:    button .rzs.ok.okButton -text OK -command {set fertig 1}
# entfaellt:  
# entfaellt:    pack $f -side top -expand yes -fill both
# entfaellt:    pack $f.nsim $f.msim $f.zsim -side top
# entfaellt:    pack .rzs.ok -side bottom  -expand yes -fill both
# entfaellt:    pack .rzs.ok.okButton -side bottom -anchor center
# entfaellt:  
# entfaellt:    update
# entfaellt:  
# entfaellt:    $f.nsim select
# entfaellt:  
# entfaellt:    grab .rzs
# entfaellt:    focus .rzs
# entfaellt:  
# entfaellt:    tkwait variable fertig
# entfaellt:    destroy .rzs
# entfaellt:    focus $oldFocus
# entfaellt:  }

