The toolbar API is, simpler and offers more that the earlier offerings. Much of the grouping operations, for instance, were handled on the the TCL side. The documentation is scant (understandable as there's a lot to put together) and there are no sample apps illustrating how things go together. So, I expected something more complex. In fact, the whole process is much simpler than I first supposed and all the main elements are now in place. I'll take a look at setting the variables for the toggle and radiobutton objects later this week as well as implementing the toolbar menu button. Here's the screenshot...
And, here's my test script...
#---------------
# test-toolPalette.tcl
#---------------
# Author: William J Giddings
# Date: 08/04/11
#---------------
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
#---------------
package require Gnocl
set toolBar [gnocl::toolBar \
-orientation horizontal \
-style both]
if {1} {
$toolBar add item \
-icon "%#Quit" \
-text Quit \
-tooltip Quit \
-onClicked {puts QUIT} \
-important 1 \
-visibility vertical
}
$toolBar add space
$toolBar add item \
-icon "%/yelphone.png" \
-text "TELEPHONE" \
-tooltip "Call right now" \
-onClicked {puts "Phone"} \
-sensitive 1
$toolBar add space
if {1} {
foreach item {Cut Copy Paste} {
$toolBar add item \
-icon "%#$item" \
-text $item \
-tooltip $item \
-onClicked "puts $item"
}
}
$toolBar add space
if {1} {
foreach item {Bold Italic Underline} {
$toolBar add checkItem \
-icon "%#$item" \
-text $item \
-variable $item \
-onToggled "puts $item" \
-tooltip "$item text"
}
}
$toolBar add space
#################################
#
# WORKING HERE
#
#################################
if {1} {
foreach {item val} {JustifyLeft left JustifyCenter center JustifyRight right} {
;#JustifyCenter center JustifyRight right
puts -----------------------------
# variable provdies the group name
$toolBar add radioItem \
-icon %#$item \
-variable justify \
-text $item \
-onValue $val \
-onToggled "puts $item" \
-tooltip "$item text"
}
}
if {0} {
set ent [gnocl::entry]
$toolBar add widget $ent
$toolBar add item -text "%#Find"
}
gnocl::window \
-title "ToolBar Gtk+ [gnocl::info gtkVersion]" \
-child $toolBar \
-width 250
And, here's my test script...
#---------------
# test-toolPalette.tcl
#---------------
# Author: William J Giddings
# Date: 08/04/11
#---------------
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
#---------------
package require Gnocl
set toolBar [gnocl::toolBar \
-orientation horizontal \
-style both]
if {1} {
$toolBar add item \
-icon "%#Quit" \
-text Quit \
-tooltip Quit \
-onClicked {puts QUIT} \
-important 1 \
-visibility vertical
}
$toolBar add space
$toolBar add item \
-icon "%/yelphone.png" \
-text "TELEPHONE" \
-tooltip "Call right now" \
-onClicked {puts "Phone"} \
-sensitive 1
$toolBar add space
if {1} {
foreach item {Cut Copy Paste} {
$toolBar add item \
-icon "%#$item" \
-text $item \
-tooltip $item \
-onClicked "puts $item"
}
}
$toolBar add space
if {1} {
foreach item {Bold Italic Underline} {
$toolBar add checkItem \
-icon "%#$item" \
-text $item \
-variable $item \
-onToggled "puts $item" \
-tooltip "$item text"
}
}
$toolBar add space
#################################
#
# WORKING HERE
#
#################################
if {1} {
foreach {item val} {JustifyLeft left JustifyCenter center JustifyRight right} {
;#JustifyCenter center JustifyRight right
puts -----------------------------
# variable provdies the group name
$toolBar add radioItem \
-icon %#$item \
-variable justify \
-text $item \
-onValue $val \
-onToggled "puts $item" \
-tooltip "$item text"
}
}
if {0} {
set ent [gnocl::entry]
$toolBar add widget $ent
$toolBar add item -text "%#Find"
}
gnocl::window \
-title "ToolBar Gtk+ [gnocl::info gtkVersion]" \
-child $toolBar \
-width 250
Comments