summaryrefslogtreecommitdiffstats
path: root/library/demos/toolbar.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'library/demos/toolbar.tcl')
-rw-r--r--library/demos/toolbar.tcl69
1 files changed, 40 insertions, 29 deletions
diff --git a/library/demos/toolbar.tcl b/library/demos/toolbar.tcl
index 0f25ce9..073d538 100644
--- a/library/demos/toolbar.tcl
+++ b/library/demos/toolbar.tcl
@@ -2,7 +2,7 @@
#
# This demonstration script creates a toolbar that can be torn off.
#
-# RCS: @(#) $Id: toolbar.tcl,v 1.1 2007/10/22 14:21:10 dkf Exp $
+# RCS: @(#) $Id: toolbar.tcl,v 1.2 2007/10/23 06:31:16 das Exp $
if {![info exists widgetDemo]} {
error "This script should be run from the \"widget\" demo."
@@ -18,46 +18,57 @@ wm title $w "Toolbar Demonstration"
wm iconname $w "toolbar"
positionWindow $w
+if {[tk windowingsystem] ne "aqua"} {
+ ttk::label $w.msg -wraplength 4i -text "This is a demonstration of how to do\
+ a toolbar that is styled correctly and which can be torn off. The\
+ buttons are configured to be \u201Ctoolbar style\u201D buttons by\
+ telling them that they are to use the Toolbutton style. At the left\
+ end of the toolbar is a simple marker that the cursor changes to a\
+ movement icon over; drag that away from the toolbar to tear off the\
+ whole toolbar into a separate toplevel widget. When the dragged-off\
+ toolbar is no longer needed, just close it like any normal toplevel\
+ and it will reattach to the window it was torn off from."
+} else {
ttk::label $w.msg -wraplength 4i -text "This is a demonstration of how to do\
- a toolbar that is styled correctly and which can be torn off. The\
- buttons are configured to be \u201Ctoolbar style\u201D buttons by\
- telling them that they are to use the Toolbutton style. At the left\
- end of the toolbar is a simple marker that the cursor changes to a\
- movement icon over; drag that away from the toolbar to tear off the\
- whole toolbar into a separate toplevel widget. When the dragged-off\
- toolbar is no longer needed, just close it like any normal toplevel\
- and it will reattach to the window it was torn off from."
+ a toolbar that is styled correctly. The buttons are configured to\
+ be \u201Ctoolbar style\u201D buttons by telling them that they are\
+ to use the Toolbutton style."
+}
## Set up the toolbar hull
set t [frame $w.toolbar] ;# Must be a frame!
ttk::separator $w.sep
ttk::frame $t.tearoff -cursor fleur
-ttk::separator $t.tearoff.to -orient vertical
-ttk::separator $t.tearoff.to2 -orient vertical
+if {[tk windowingsystem] ne "aqua"} {
+ ttk::separator $t.tearoff.to -orient vertical
+ ttk::separator $t.tearoff.to2 -orient vertical
+ pack $t.tearoff.to -fill y -expand 1 -padx 2 -side left
+ pack $t.tearoff.to2 -fill y -expand 1 -side left
+}
ttk::frame $t.contents
-pack $t.tearoff.to -fill y -expand 1 -padx 2 -side left
-pack $t.tearoff.to2 -fill y -expand 1 -side left
grid $t.tearoff $t.contents -sticky nsew
grid columnconfigure $t $t.contents -weight 1
grid columnconfigure $t.contents 1000 -weight 1
-## Bindings so that the toolbar can be torn off and reattached
-bind $t.tearoff <B1-Motion> [list tearoff $t %X %Y]
-bind $t.tearoff.to <B1-Motion> [list tearoff $t %X %Y]
-bind $t.tearoff.to2 <B1-Motion> [list tearoff $t %X %Y]
-proc tearoff {w x y} {
- if {[string match $w* [winfo containing $x $y]]} {
- return
+if {[tk windowingsystem] ne "aqua"} {
+ ## Bindings so that the toolbar can be torn off and reattached
+ bind $t.tearoff <B1-Motion> [list tearoff $t %X %Y]
+ bind $t.tearoff.to <B1-Motion> [list tearoff $t %X %Y]
+ bind $t.tearoff.to2 <B1-Motion> [list tearoff $t %X %Y]
+ proc tearoff {w x y} {
+ if {[string match $w* [winfo containing $x $y]]} {
+ return
+ }
+ grid remove $w
+ grid remove $w.tearoff
+ wm manage $w
+ wm protocol $w WM_DELETE_WINDOW [list untearoff $w]
+ }
+ proc untearoff {w} {
+ wm forget $w
+ grid $w.tearoff
+ grid $w
}
- grid remove $w
- grid remove $w.tearoff
- wm manage $w
- wm protocol $w WM_DELETE_WINDOW [list untearoff $w]
-}
-proc untearoff {w} {
- wm forget $w
- grid $w.tearoff
- grid $w
}
## Toolbar contents