cradek asked for this feature, I have it half-baked since 2.3.x. Left
pane somehow refuse to grow to the right then allowed...

regards,
Alex.
Add paned windows to AXIS.

From: Alexey Starikovskiy <[email protected]>


---

 share/axis/tcl/axis.tcl               |  235 +++++++++++++++++----------------
 src/emc/usr_intf/axis/scripts/axis.py |   28 ++--
 2 files changed, 137 insertions(+), 126 deletions(-)


diff --git a/share/axis/tcl/axis.tcl b/share/axis/tcl/axis.tcl
index 24f0174..a9c2cff 100644
--- a/share/axis/tcl/axis.tcl
+++ b/share/axis/tcl/axis.tcl
@@ -706,10 +706,12 @@ pack .toolbar.rule12 \
 pack .toolbar.clear_plot \
 	-side left
 
-set pane_top [frame .top]
-set pane_bottom [frame .bottom]
+set vpane [panedwindow .vpane -orient v -opaqueresize 0]
+set pane_top [panedwindow ${vpane}.top -opaqueresize 0]
+set pane_left [frame ${vpane}.top.left]
+set pane_bottom [frame ${vpane}.bottom]
 
-NoteBook ${pane_top}.tabs \
+NoteBook ${pane_left}.tabs \
 	-borderwidth 2 \
 	-arcradius 3
 proc show_all_tabs w {
@@ -718,19 +720,19 @@ proc show_all_tabs w {
     set b [expr $data(wpage) + 3]
     if {$a < $b} { $w configure -width $b }
 }
-after 1 after idle show_all_tabs ${pane_top}.tabs
+after 1 after idle show_all_tabs ${pane_left}.tabs
 
-set _tabs_manual [${pane_top}.tabs insert end manual -text [_ "Manual Control \[F3\]"] -raisecmd {focus .; ensure_manual}]
-set _tabs_mdi [${pane_top}.tabs insert end mdi -text [_ "MDI \[F5\]"]]
+set _tabs_manual [${pane_left}.tabs insert end manual -text [_ "Manual Control \[F3\]"] -raisecmd {focus .; ensure_manual}]
+set _tabs_mdi [${pane_left}.tabs insert end mdi -text [_ "MDI \[F5\]"]]
 $_tabs_manual configure -borderwidth 2
 $_tabs_mdi configure -borderwidth 2
 
-${pane_top}.tabs itemconfigure mdi -raisecmd "[list focus ${_tabs_mdi}.command]; ensure_mdi"
-#${pane_top}.tabs raise manual
+${pane_left}.tabs itemconfigure mdi -raisecmd "[list focus ${_tabs_mdi}.command]; ensure_mdi"
+#${pane_left}.tabs raise manual
 after idle {
-    ${pane_top}.tabs raise manual
+    ${pane_left}.tabs raise manual
     ${pane_top}.right raise preview 
-    after idle ${pane_top}.tabs compute_size
+    after idle ${pane_left}.tabs compute_size
     after idle ${pane_top}.right compute_size
 }
 
@@ -1527,52 +1529,52 @@ pack ${pane_bottom}.t.sb \
 	-fill y \
 	-side left
 
-frame ${pane_top}.ajogspeed
-label ${pane_top}.ajogspeed.l0 -text [_ "Jog Speed:"]
-label ${pane_top}.ajogspeed.l1
-scale ${pane_top}.ajogspeed.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable ajog_slider_val -command update_ajog_slider_vel -orient h -takefocus 0
-label ${pane_top}.ajogspeed.l -textv jog_aspeed -width 6 -anchor e
-pack ${pane_top}.ajogspeed.l0 -side left
-pack ${pane_top}.ajogspeed.l -side left
-pack ${pane_top}.ajogspeed.l1 -side left
-pack ${pane_top}.ajogspeed.s -side right
-bind . <less> [regsub %W [bind Scale <Left>] ${pane_top}.ajogspeed.s]
-bind . <greater> [regsub %W [bind Scale <Right>] ${pane_top}.ajogspeed.s]
-
-
-frame ${pane_top}.jogspeed
-label ${pane_top}.jogspeed.l0 -text [_ "Jog Speed:"]
-label ${pane_top}.jogspeed.l1
-scale ${pane_top}.jogspeed.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable jog_slider_val -command update_jog_slider_vel -orient h -takefocus 0
-label ${pane_top}.jogspeed.l -textv jog_speed -width 6 -anchor e
-pack ${pane_top}.jogspeed.l0 -side left
-pack ${pane_top}.jogspeed.l -side left
-pack ${pane_top}.jogspeed.l1 -side left
-pack ${pane_top}.jogspeed.s -side right
-bind . , [regsub %W [bind Scale <Left>] ${pane_top}.jogspeed.s]
-bind . . [regsub %W [bind Scale <Right>] ${pane_top}.jogspeed.s]
-
-frame ${pane_top}.maxvel
-label ${pane_top}.maxvel.l0 -text [_ "Max Velocity:"]
-label ${pane_top}.maxvel.l1
-scale ${pane_top}.maxvel.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable maxvel_slider_val -command update_maxvel_slider_vel -orient h -takefocus 0
-label ${pane_top}.maxvel.l -textv maxvel_speed -width 6 -anchor e
-pack ${pane_top}.maxvel.l0 -side left
-pack ${pane_top}.maxvel.l -side left
-pack ${pane_top}.maxvel.l1 -side left
-pack ${pane_top}.maxvel.s -side right
-bind . <semicolon> [regsub %W [bind Scale <Left>] ${pane_top}.maxvel.s]
-bind . ' [regsub %W [bind Scale <Right>] ${pane_top}.maxvel.s]
-
-frame ${pane_top}.spinoverride
-
-label ${pane_top}.spinoverride.foentry \
+frame ${pane_left}.ajogspeed
+label ${pane_left}.ajogspeed.l0 -text [_ "Jog Speed:"]
+label ${pane_left}.ajogspeed.l1
+scale ${pane_left}.ajogspeed.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable ajog_slider_val -command update_ajog_slider_vel -orient h -takefocus 0
+label ${pane_left}.ajogspeed.l -textv jog_aspeed -width 6 -anchor e
+pack ${pane_left}.ajogspeed.l0 -side left
+pack ${pane_left}.ajogspeed.l -side left
+pack ${pane_left}.ajogspeed.l1 -side left
+pack ${pane_left}.ajogspeed.s -side right
+bind . <less> [regsub %W [bind Scale <Left>] ${pane_left}.ajogspeed.s]
+bind . <greater> [regsub %W [bind Scale <Right>] ${pane_left}.ajogspeed.s]
+
+
+frame ${pane_left}.jogspeed
+label ${pane_left}.jogspeed.l0 -text [_ "Jog Speed:"]
+label ${pane_left}.jogspeed.l1
+scale ${pane_left}.jogspeed.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable jog_slider_val -command update_jog_slider_vel -orient h -takefocus 0
+label ${pane_left}.jogspeed.l -textv jog_speed -width 6 -anchor e
+pack ${pane_left}.jogspeed.l0 -side left
+pack ${pane_left}.jogspeed.l -side left
+pack ${pane_left}.jogspeed.l1 -side left
+pack ${pane_left}.jogspeed.s -side right
+bind . , [regsub %W [bind Scale <Left>] ${pane_left}.jogspeed.s]
+bind . . [regsub %W [bind Scale <Right>] ${pane_left}.jogspeed.s]
+
+frame ${pane_left}.maxvel
+label ${pane_left}.maxvel.l0 -text [_ "Max Velocity:"]
+label ${pane_left}.maxvel.l1
+scale ${pane_left}.maxvel.s -bigincrement 0 -from .06 -to 1 -resolution .020 -showvalue 0 -variable maxvel_slider_val -command update_maxvel_slider_vel -orient h -takefocus 0
+label ${pane_left}.maxvel.l -textv maxvel_speed -width 6 -anchor e
+pack ${pane_left}.maxvel.l0 -side left
+pack ${pane_left}.maxvel.l -side left
+pack ${pane_left}.maxvel.l1 -side left
+pack ${pane_left}.maxvel.s -side right
+bind . <semicolon> [regsub %W [bind Scale <Left>] ${pane_left}.maxvel.s]
+bind . ' [regsub %W [bind Scale <Right>] ${pane_left}.maxvel.s]
+
+frame ${pane_left}.spinoverride
+
+label ${pane_left}.spinoverride.foentry \
 	-textvariable spindlerate \
 	-width 3 \
         -anchor e
-setup_widget_accel ${pane_top}.spinoverride.foentry 0
+setup_widget_accel ${pane_left}.spinoverride.foentry 0
 
-scale ${pane_top}.spinoverride.foscale \
+scale ${pane_left}.spinoverride.foscale \
 	-command set_spindlerate \
 	-orient horizontal \
 	-resolution 1.0 \
@@ -1581,38 +1583,38 @@ scale ${pane_top}.spinoverride.foscale \
 	-to 120.0 \
 	-variable spindlerate
 
-label ${pane_top}.spinoverride.l
-setup_widget_accel ${pane_top}.spinoverride.l [_ "Spindle Override:"]
-label ${pane_top}.spinoverride.m -width 1
-setup_widget_accel ${pane_top}.spinoverride.m [_ "%"]
+label ${pane_left}.spinoverride.l
+setup_widget_accel ${pane_left}.spinoverride.l [_ "Spindle Override:"]
+label ${pane_left}.spinoverride.m -width 1
+setup_widget_accel ${pane_left}.spinoverride.m [_ "%"]
 
-# Pack widget ${pane_top}.spinoverride.l
-pack ${pane_top}.spinoverride.l \
+# Pack widget ${pane_left}.spinoverride.l
+pack ${pane_left}.spinoverride.l \
 	-side left
 
-# Pack widget ${pane_top}.spinoverride.foscale
-pack ${pane_top}.spinoverride.foscale \
+# Pack widget ${pane_left}.spinoverride.foscale
+pack ${pane_left}.spinoverride.foscale \
 	-side right
 
-# Pack widget ${pane_top}.spinoverride.foentry
-pack ${pane_top}.spinoverride.m \
+# Pack widget ${pane_left}.spinoverride.foentry
+pack ${pane_left}.spinoverride.m \
 	-side right
 
-# Pack widget ${pane_top}.spinoverride.foentry
-pack ${pane_top}.spinoverride.foentry \
+# Pack widget ${pane_left}.spinoverride.foentry
+pack ${pane_left}.spinoverride.foentry \
 	-side right
 
 
 
-frame ${pane_top}.feedoverride
+frame ${pane_left}.feedoverride
 
-label ${pane_top}.feedoverride.foentry \
+label ${pane_left}.feedoverride.foentry \
 	-textvariable feedrate \
 	-width 3 \
         -anchor e
-setup_widget_accel ${pane_top}.feedoverride.foentry 0
+setup_widget_accel ${pane_left}.feedoverride.foentry 0
 
-scale ${pane_top}.feedoverride.foscale \
+scale ${pane_left}.feedoverride.foscale \
 	-command set_feedrate \
 	-orient horizontal \
 	-resolution 1.0 \
@@ -1621,25 +1623,25 @@ scale ${pane_top}.feedoverride.foscale \
 	-to 120.0 \
 	-variable feedrate
 
-label ${pane_top}.feedoverride.l
-setup_widget_accel ${pane_top}.feedoverride.l [_ "Feed Override:"]
-label ${pane_top}.feedoverride.m -width 1
-setup_widget_accel ${pane_top}.feedoverride.m [_ "%"]
+label ${pane_left}.feedoverride.l
+setup_widget_accel ${pane_left}.feedoverride.l [_ "Feed Override:"]
+label ${pane_left}.feedoverride.m -width 1
+setup_widget_accel ${pane_left}.feedoverride.m [_ "%"]
 
-# Pack widget ${pane_top}.feedoverride.l
-pack ${pane_top}.feedoverride.l \
+# Pack widget ${pane_left}.feedoverride.l
+pack ${pane_left}.feedoverride.l \
 	-side left
 
-# Pack widget ${pane_top}.feedoverride.foscale
-pack ${pane_top}.feedoverride.foscale \
+# Pack widget ${pane_left}.feedoverride.foscale
+pack ${pane_left}.feedoverride.foscale \
 	-side right
 
-# Pack widget ${pane_top}.feedoverride.foentry
-pack ${pane_top}.feedoverride.m \
+# Pack widget ${pane_left}.feedoverride.foentry
+pack ${pane_left}.feedoverride.m \
 	-side right
 
-# Pack widget ${pane_top}.feedoverride.foentry
-pack ${pane_top}.feedoverride.foentry \
+# Pack widget ${pane_left}.feedoverride.foentry
+pack ${pane_left}.feedoverride.foentry \
 	-side right
 
 toplevel .about
@@ -1727,29 +1729,29 @@ wm resiz .keys 0 0
 wm minsize .keys 1 1
 wm protocol .keys WM_DELETE_WINDOW {wm wi .keys}
 
-# Grid widget ${pane_top}.feedoverride
-grid ${pane_top}.feedoverride \
+# Grid widget ${pane_left}.feedoverride
+grid ${pane_left}.feedoverride \
 	-column 0 \
 	-row 2 \
 	-sticky new
 
-# Grid widget ${pane_top}.spinoverride
-grid ${pane_top}.spinoverride \
+# Grid widget ${pane_left}.spinoverride
+grid ${pane_left}.spinoverride \
 	-column 0 \
 	-row 3 \
 	-sticky new
 
-grid ${pane_top}.jogspeed \
+grid ${pane_left}.jogspeed \
 	-column 0 \
 	-row 4 \
 	-sticky new
 
-grid ${pane_top}.ajogspeed \
+grid ${pane_left}.ajogspeed \
 	-column 0 \
 	-row 5 \
 	-sticky new
 
-grid ${pane_top}.maxvel \
+grid ${pane_left}.maxvel \
 	-column 0 \
 	-row 6 \
 	-sticky new
@@ -1762,23 +1764,27 @@ grid .info \
 	-sticky ew
 
 # Grid widget ${pane_top}.right
-grid ${pane_top}.right \
-	-column 1 \
-	-row 1 \
-	-columnspan 2 \
-	-padx 2 \
-	-pady 2 \
-	-rowspan 99 \
-	-sticky nesw
-
-grid ${pane_top}.tabs \
+${pane_top} add ${pane_left}
+${pane_top} add ${pane_top}.right
+
+#grid ${pane_top}.right \
+#	-column 1 \
+#	-row 1 \
+#	-columnspan 2 \
+#	-padx 2 \
+#	-pady 2 \
+#	-rowspan 99 \
+#	-sticky nesw
+
+grid ${pane_left}.tabs \
 	-column 0 \
 	-row 1 \
 	-sticky nesw \
 	-padx 2 \
 	-pady 2
-grid rowconfigure ${pane_top} 1 -weight 1
-grid columnconfigure ${pane_top} 1 -weight 1
+grid rowconfigure ${pane_left} 1 -weight 1
+grid columnconfigure ${pane_left} 1 -weight 1
+
 grid ${pane_bottom}.t \
 	-column 1 \
 	-row 1 \
@@ -1786,8 +1792,11 @@ grid ${pane_bottom}.t \
 grid rowconfigure ${pane_bottom} 1 -weight 1
 grid columnconfigure ${pane_bottom} 1 -weight 1
 
-grid .top -column 0 -row 1 -sticky nsew
-grid .bottom -column 0 -row 2 -sticky nsew
+#grid .top -column 0 -row 1 -sticky nsew
+#grid .bottom -column 0 -row 2 -sticky nsew
+.vpane add ${pane_top}
+.vpane add ${pane_bottom}
+grid .vpane -column 0 -row 1 -sticky nsew
 
 # Grid widget .toolbar
 grid .toolbar \
@@ -1974,7 +1983,7 @@ proc update_state {args} {
 }
 
 proc set_mode_from_tab {} {
-    set page [${::pane_top}.tabs raise]
+    set page [${::pane_left}.tabs raise]
     switch $page {
         mdi { ensure_mdi }
         default { ensure_manual }
@@ -2045,10 +2054,10 @@ trace variable motion_mode w joint_mode_switch
 set editor_deleted 0
 
 bind . <Control-Tab> {
-    set page [${pane_top}.tabs raise]
+    set page [${pane_left}.tabs raise]
     switch $page {
-        mdi { ${pane_top}.tabs raise manual }
-        default { ${pane_top}.tabs raise mdi }
+        mdi { ${pane_left}.tabs raise manual }
+        default { ${pane_left}.tabs raise mdi }
     }
     break
 }
@@ -2202,15 +2211,15 @@ proc val2vel_show {val maxvel} {
 }
 
 proc set_slider_min {minval} {
-    global pane_top
+    global pane_left
     global max_speed
-    ${pane_top}.jogspeed.s configure -from [setval $minval $max_speed]
+    ${pane_left}.jogspeed.s configure -from [setval $minval $max_speed]
 }
 
 proc set_aslider_min {minval} {
-    global pane_top
+    global pane_left
     global max_aspeed
-    ${pane_top}.ajogspeed.s configure -from [setval $minval $max_aspeed]
+    ${pane_left}.ajogspeed.s configure -from [setval $minval $max_aspeed]
 }
 
 proc update_jog_slider_vel {newval} {
@@ -2242,11 +2251,11 @@ proc update_maxvel_slider {} {
 
 proc update_units {args} {
     if {$::metric} {
-        ${::pane_top}.jogspeed.l1 configure -text mm/min
-        ${::pane_top}.maxvel.l1 configure -text mm/min
+        ${::pane_left}.jogspeed.l1 configure -text mm/min
+        ${::pane_left}.maxvel.l1 configure -text mm/min
     } else {
-        ${::pane_top}.jogspeed.l1 configure -text in/min
-        ${::pane_top}.maxvel.l1 configure -text in/min
+        ${::pane_left}.jogspeed.l1 configure -text in/min
+        ${::pane_left}.maxvel.l1 configure -text in/min
     }
     update_jog_slider_vel $::jog_slider_val
     update_maxvel_slider_vel $::maxvel_slider_val
diff --git a/src/emc/usr_intf/axis/scripts/axis.py b/src/emc/usr_intf/axis/scripts/axis.py
index 702307f..d29d9f0 100755
--- a/src/emc/usr_intf/axis/scripts/axis.py
+++ b/src/emc/usr_intf/axis/scripts/axis.py
@@ -1133,7 +1133,9 @@ tabs_mdi = str(root_window.tk.call("set", "_tabs_mdi"))
 tabs_manual = str(root_window.tk.call("set", "_tabs_manual"))
 tabs_preview = str(root_window.tk.call("set", "_tabs_preview"))
 tabs_numbers = str(root_window.tk.call("set", "_tabs_numbers"))
+vpane = str(root_window.tk.call("set", "vpane"));
 pane_top = str(root_window.tk.call("set", "pane_top"))
+pane_left = str(root_window.tk.call("set", "pane_left"))
 pane_bottom = str(root_window.tk.call("set", "pane_bottom"))
 widgets = nf.Widgets(root_window, 
     ("help_window", Toplevel, ".keys"),
@@ -1141,7 +1143,7 @@ widgets = nf.Widgets(root_window,
     ("text", Text, pane_bottom + ".t.text"),
     ("preview_frame", Frame, tabs_preview),
     ("numbers_text", Text, tabs_numbers + ".text"),
-    ("tabs", bwidget.NoteBook, pane_top + ".tabs"),
+    ("tabs", bwidget.NoteBook, pane_left + ".tabs"),
     ("right", bwidget.NoteBook, pane_top + ".right"),
     ("mdi_history", Listbox, tabs_mdi + ".history"),
     ("mdi_command", Entry, tabs_mdi + ".command"),
@@ -1173,7 +1175,7 @@ widgets = nf.Widgets(root_window,
     ("jogincr", Entry, tabs_manual + ".jogf.jog.jogincr"),
     ("override", Checkbutton, tabs_manual + ".jogf.override"),
 
-    ("ajogspeed", Entry, pane_top + ".ajogspeed"),
+    ("ajogspeed", Entry, pane_left + ".ajogspeed"),
 
     ("lubel", Label, tabs_manual + ".coolant"),
     ("flood", Checkbutton, tabs_manual + ".flood"),
@@ -1197,9 +1199,9 @@ widgets = nf.Widgets(root_window,
     ("view_p", Button, ".toolbar.view_p"),
     ("rotate", Button, ".toolbar.rotate"),
 
-    ("feedoverride", Scale, pane_top + ".feedoverride.foscale"),
-    ("spinoverride", Scale, pane_top + ".spinoverride.foscale"),
-    ("spinoverridef", Scale, pane_top + ".spinoverride"),
+    ("feedoverride", Scale, pane_left + ".feedoverride.foscale"),
+    ("spinoverride", Scale, pane_left + ".spinoverride.foscale"),
+    ("spinoverridef", Scale, pane_left + ".spinoverride"),
 
     ("menu_view", Menu, ".menu.view"),
     ("menu_file", Menu, ".menu.file"),
@@ -2730,9 +2732,9 @@ vars.max_aspeed.set(float(mav))
 mv = inifile.find("TRAJ","MAX_LINEAR_VELOCITY") or inifile.find("AXIS_0","MAX_VELOCITY") or 1.0
 vars.maxvel_speed.set(float(mv)*60)
 vars.max_maxvel.set(float(mv))
-root_window.tk.eval("${pane_top}.jogspeed.s set [setval $jog_speed $max_speed]")
-root_window.tk.eval("${pane_top}.ajogspeed.s set [setval $jog_aspeed $max_aspeed]")
-root_window.tk.eval("${pane_top}.maxvel.s set [setval $maxvel_speed $max_maxvel]")
+root_window.tk.eval("${pane_left}.jogspeed.s set [setval $jog_speed $max_speed]")
+root_window.tk.eval("${pane_left}.ajogspeed.s set [setval $jog_aspeed $max_aspeed]")
+root_window.tk.eval("${pane_left}.maxvel.s set [setval $maxvel_speed $max_maxvel]")
 widgets.feedoverride.configure(to=max_feed_override)
 widgets.spinoverride.configure(to=max_spindle_override)
 nmlfile = inifile.find("EMC", "NML_FILE")
@@ -2757,12 +2759,12 @@ else:
     if lu in [.001, .01, .1, 1, 10]: vars.metric.set(1)
     else: vars.metric.set(0)
 if lu == 1:
-    root_window.tk.eval("${pane_top}.jogspeed.l1 configure -text mm/min")
-    root_window.tk.eval("${pane_top}.maxvel.l1 configure -text mm/min")
+    root_window.tk.eval("${pane_left}.jogspeed.l1 configure -text mm/min")
+    root_window.tk.eval("${pane_left}.maxvel.l1 configure -text mm/min")
 else:
-    root_window.tk.eval("${pane_top}.jogspeed.l1 configure -text in/min")
-    root_window.tk.eval("${pane_top}.maxvel.l1 configure -text in/min")
-root_window.tk.eval(u"${pane_top}.ajogspeed.l1 configure -text deg/min")
+    root_window.tk.eval("${pane_left}.jogspeed.l1 configure -text in/min")
+    root_window.tk.eval("${pane_left}.maxvel.l1 configure -text in/min")
+root_window.tk.eval(u"${pane_left}.ajogspeed.l1 configure -text deg/min")
 homing_order_defined = inifile.find("AXIS_0", "HOME_SEQUENCE") is not None
 
 if homing_order_defined:
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to