Sometimes you want make a popup window with some editing or parameter setting functionality which is a bit like a dialog, although floating palette is what immediately comes to mind.
The problem is though, that whilst it's easy to adjust the window decorations, to remove the delete icons, the window's pull-down menu will still have a close option which will, by default, destroy the window when clicked.
To disable this, and simply hide the window so that it can be shown again, set the -hideOnDelete option to 1.
Following this callback scripts can be used to respond to the visibility state of the window, acting as some form of Ok button if necessary.
# !/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
package require Gnocl
set txt [gnocl::text]
set win1 [gnocl::window -child $txt] \
-title Win1 -x 500 -y 400 -setSize 0.125
# EXTRA OPTIONS
$win configure \
-hideOnDelete 1 \
-onHide { puts BYE! } \
-onShow { puts Hello-Cheeky! }]
# toggle win1 hide/show states
set win2 [gnocl::window -child [gnocl::button -text "Show win1" -onClicked {
$win1 show
}] -title Win2 -x 800 -y 400 -setSize 0.125 ]
# revoke the hide on delete status for win1
set win3 [gnocl::window -child [gnocl::button -text "Turn off Hide" -onClicked {
$win1 configure -hideOnDelete 0
}] -title Win2 -x 1100 -y 400 -setSize 0.125]
Comments