]> git.zerfleddert.de Git - micropolis/blobdiff - res/whead.tcl
src/sim/makefile: Micropolis build fixes for recent macOS
[micropolis] / res / whead.tcl
index d437925670d01cd1fff9aefa5bc5015116225329..2f568f117ee8b295189b861d2c7fd2aedd6e740d 100644 (file)
@@ -78,10 +78,19 @@ global NoticePanelHeight
 
 set visual [winfo screenvisual $win]
 set depth [winfo screendepth $win]
-#set screenwidth [winfo screenwidth $win]
-#set screenheight [winfo screenheight $win]
-set screenwidth 1200
-set screenheight 900
+set screenwidth [winfo screenwidth $win]
+set screenheight [winfo screenheight $win]
+set initialwidth 1200
+set initialheight 900
+
+if {$screenwidth < $initialwidth} {
+       set initialwidth $screenwidth
+}
+
+if {$screenheight < $initialheight} {
+       set initialheight $screenheight
+}
+
 
 if {!(("$visual" == "pseudocolor") ||
       ("$visual" == "truecolor") ||
@@ -112,15 +121,15 @@ LinkWindow $win.ask {}
 
 tk_bindForTraversal $win
 bind $win <F10> {tk_firstMenu %W} 
-bind $win <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win <Alt-Key> {tk_traverseToMenu %W %A} 
 
 wm title $win "Micropolis Controls"
 wm iconname $win {Micropolis Controls}
-wm geometry $win 1200x900+0+0
+wm geometry $win ${initialwidth}x${initialheight}+0+0
 #wm positionfrom $win user
 wm withdraw $win
-#wm maxsize $win $screenwidth $screenheight
-#wm minsize $win 100 100
+wm maxsize $win $screenwidth $screenheight
+wm minsize $win 100 100
 wm protocol $win delete "DeleteHeadWindow $win ;"
 wm fullscreen $win on
 
@@ -142,7 +151,7 @@ frame $win.col1.w1.f1\
   -relief raised
 tk_bindForTraversal $win.col1.w1.f1
 bind $win.col1.w1.f1 <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1 <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1 <Alt-Key> {tk_traverseToMenu %W %A} 
 
 SetHelp $win.col1.w1.f1.micropolis Head.MicropolisMenu
 
@@ -153,7 +162,7 @@ menubutton $win.col1.w1.f1.micropolis\
   -variable $win.postedMenu
 tk_bindForTraversal $win.col1.w1.f1.micropolis
 bind $win.col1.w1.f1.micropolis <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.micropolis <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.micropolis <Alt-Key> {tk_traverseToMenu %W %A} 
 
 tk_menus $win $win.col1.w1.f1.micropolis
 
@@ -161,7 +170,7 @@ menu $win.col1.w1.f1.micropolis.m\
   -font [Font $win Medium]
 tk_bindForTraversal $win.col1.w1.f1.micropolis.m
 bind $win.col1.w1.f1.micropolis.m <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.micropolis.m <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.micropolis.m <Alt-Key> {tk_traverseToMenu %W %A} 
   $win.col1.w1.f1.micropolis.m add command\
     -label {About...}\
     -command "UIShowPicture 300"
@@ -192,7 +201,7 @@ menubutton $win.col1.w1.f1.options\
   -variable $win.postedMenu
 tk_bindForTraversal $win.col1.w1.f1.options
 bind $win.col1.w1.f1.options <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.options <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.options <Alt-Key> {tk_traverseToMenu %W %A} 
 
 tk_menus $win $win.col1.w1.f1.options
 
@@ -200,7 +209,7 @@ menu $win.col1.w1.f1.options.m\
   -font [Font $win Medium]
 tk_bindForTraversal $win.col1.w1.f1.options.m
 bind $win.col1.w1.f1.options.m <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.options.m <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.options.m <Alt-Key> {tk_traverseToMenu %W %A} 
   $win.col1.w1.f1.options.m add checkbutton\
     -label {Auto Budget}\
     -variable AutoBudget\
@@ -239,7 +248,7 @@ menubutton $win.col1.w1.f1.disasters\
   -variable $win.postedMenu
 tk_bindForTraversal $win.col1.w1.f1.disasters
 bind $win.col1.w1.f1.disasters <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.disasters <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.disasters <Alt-Key> {tk_traverseToMenu %W %A} 
 
 tk_menus $win $win.col1.w1.f1.disasters
 
@@ -247,7 +256,7 @@ menu $win.col1.w1.f1.disasters.m\
   -font [Font $win Medium]
 tk_bindForTraversal $win.col1.w1.f1.disasters.m
 bind $win.col1.w1.f1.disasters.m <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.disasters.m <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.disasters.m <Alt-Key> {tk_traverseToMenu %W %A} 
   $win.col1.w1.f1.disasters.m add command\
     -label {Monster}\
     -command "UIDisaster $win \"UIMakeMonster\" \"release a monster?\""
@@ -260,6 +269,11 @@ bind $win.col1.w1.f1.disasters.m <Mod2-Key> {tk_traverseToMenu %W %A}
   $win.col1.w1.f1.disasters.m add command\
     -label {Meltdown}\
     -command "UIDisaster $win \"sim MakeMeltdown\" \"have a nuclear meltdown?\""
+  if {[sim HasAirCrash]} {
+    $win.col1.w1.f1.disasters.m add command\
+      -label {Air Crash}\
+      -command "UIDisaster $win \"sim MakeAirCrash\" \"crash an airplane?\""
+  }
   $win.col1.w1.f1.disasters.m add command\
     -label {Tornado}\
     -command "UIDisaster $win \"sim MakeTornado\" \"spin up a tornado?\""
@@ -276,7 +290,7 @@ menubutton $win.col1.w1.f1.priority\
   -variable $win.postedMenu
 tk_bindForTraversal $win.col1.w1.f1.priority
 bind $win.col1.w1.f1.priority <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.priority <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.priority <Alt-Key> {tk_traverseToMenu %W %A} 
 
 tk_menus $win $win.col1.w1.f1.priority
 
@@ -284,7 +298,7 @@ menu $win.col1.w1.f1.priority.m\
   -font [Font $win Medium]
 tk_bindForTraversal $win.col1.w1.f1.priority.m
 bind $win.col1.w1.f1.priority.m <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.priority.m <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.priority.m <Alt-Key> {tk_traverseToMenu %W %A} 
   $win.col1.w1.f1.priority.m add radiobutton\
     -label {Super Fast}\
     -command {SetPriority 4}\
@@ -310,6 +324,10 @@ bind $win.col1.w1.f1.priority.m <Mod2-Key> {tk_traverseToMenu %W %A}
     -command {SetPriority 0}\
     -value {0}\
     -variable Priority
+  $win.col1.w1.f1.priority.m add checkbutton\
+    -label {Pause}\
+    -command {TogglePause}\
+    -variable Pause
 
 SetHelp $win.col1.w1.f1.windows Head.WindowsMenu
 
@@ -320,7 +338,7 @@ menubutton $win.col1.w1.f1.windows\
   -variable $win.postedMenu
 tk_bindForTraversal $win.col1.w1.f1.windows
 bind $win.col1.w1.f1.windows <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.windows <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.windows <Alt-Key> {tk_traverseToMenu %W %A} 
 
 tk_menus $win $win.col1.w1.f1.windows
 
@@ -328,7 +346,7 @@ menu $win.col1.w1.f1.windows.m\
   -font [Font $win Medium]
 tk_bindForTraversal $win.col1.w1.f1.windows.m
 bind $win.col1.w1.f1.windows.m <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f1.windows.m <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f1.windows.m <Alt-Key> {tk_traverseToMenu %W %A} 
   $win.col1.w1.f1.windows.m add command\
     -label {Budget}\
     -command "UIShowBudgetAndWait"
@@ -516,7 +534,7 @@ frame $win.col1.w1.f2.f2\
   -relief flat
 tk_bindForTraversal $win.col1.w1.f2.f2
 bind $win.col1.w1.f2.f2 <F10> {tk_firstMenu %W} 
-bind $win.col1.w1.f2.f2 <Mod2-Key> {tk_traverseToMenu %W %A} 
+bind $win.col1.w1.f2.f2 <Alt-Key> {tk_traverseToMenu %W %A} 
 
 SetHelp $win.col1.w1.f2.f2 Head.Log
 
@@ -526,13 +544,15 @@ scrollbar $win.col1.w1.f2.f2.scroll\
 
 SetHelp $win.col1.w1.f2.f2.scroll Head.Scrollbar
 
+global EventLines
+
 text $win.col1.w1.f2.f2.text \
   -yscroll "$win.col1.w1.f2.f2.scroll set" \
   -borderwidth 1 \
   -relief sunken \
   -wrap word \
   -state disabled \
-  -height 5 \
+  -height $EventLines \
   -font [Font $win Text]
 LinkWindow $win.text $win.col1.w1.f2.f2.text
 
@@ -558,7 +578,7 @@ if {[sim MultiPlayerMode]} {
     -relief flat
   tk_bindForTraversal $win.col1.w1.f2.f3
   bind $win.col1.w1.f2.f3 <F10> {tk_firstMenu %W} 
-  bind $win.col1.w1.f2.f3 <Mod2-Key> {tk_traverseToMenu %W %A} 
+  bind $win.col1.w1.f2.f3 <Alt-Key> {tk_traverseToMenu %W %A} 
 
   button $win.col1.w1.f2.f3.chat \
     -font [Font $win Large] \
@@ -581,7 +601,7 @@ if {[sim MultiPlayerMode]} {
   set $win.col1.w1.f2.f3.entry.value ""
   tk_bindForTraversal $win.col1.w1.f2.f3.entry
   bind $win.col1.w1.f2.f3.entry <F10> {tk_firstMenu %W} 
-  bind $win.col1.w1.f2.f3.entry <Mod2-Key> {tk_traverseToMenu %W %A}
+  bind $win.col1.w1.f2.f3.entry <Alt-Key> {tk_traverseToMenu %W %A}
   bind $win.col1.w1.f2.f3.entry <Return> "DoEnterMessage %W %W.value"
   bind $win.col1.w1.f2.f3.entry <Escape> "DoEvalMessage %W %W.value"
   bind $win.col1.w1.f2.f3.entry <Any-Enter> {focus %W}
@@ -656,7 +676,7 @@ place configure $win.col1\
   -x 0\
   -y 0\
   -width $HeadPanelWidth\
-  -height $screenheight
+  -relheight 1.0
 
 pack append $win.col1\
     $win.col1.w1               {top frame nw fillx} \
@@ -684,8 +704,17 @@ pack append $win.col1\
 place configure $win.col2\
   -x [expr "$HeadPanelWidth + 5"]\
   -y 0\
-  -width [expr "($screenwidth - $HeadPanelWidth) - 5"]\
-  -height $screenheight
+  -relheight 1.0\
+  -width [expr "($screenwidth - $HeadPanelWidth) - 5"]
+
+proc resizeeditor {win width} {
+  global HeadPanelWidth
+
+  place configure $win.col2\
+    -width [expr "($width - $HeadPanelWidth) - 5"]
+}
+
+bind $win <Configure> "resizeeditor $win %w"
 
 #pack append $win.col2\
 #    $win.col2.x1              {top frame nw fillx} \
Impressum, Datenschutz