Annotation of capa/capa51/GUITools/utils.tcl, revision 1.1
1.1 ! albertel 1: #Utilities for Grader. Used for a fileselect dialogue
! 2: #stolen from TkNet.
! 3:
! 4: ###############################################################
! 5: # TkNet - Utilities Module
! 6: # Charlie KEMPSON - charlie@siren.demon.co.uk
! 7: # http://public.logica.com/~kempsonc/tknet.htm
! 8: # Version 1.1
! 9: ###############################################################
! 10:
! 11: ###############################################################
! 12: #
! 13: # Copyright (c) 1995-1996 Charlie Kempson
! 14: #
! 15: # This program is free software; you can redistribute it
! 16: # and/or modify it under the terms of the GNU General
! 17: # Public License as published by the Free Software
! 18: # Foundation (version 2 of the License).
! 19: #
! 20: # This program is distributed in the hope that it will
! 21: # be useful, but WITHOUT ANY WARRANTY; without even the
! 22: # implied warranty of MERCHANTABILITY or FITNESS FOR A
! 23: # PARTICULAR PURPOSE. See the GNU General Public License
! 24: # for more details.
! 25: #
! 26: # For a copy of the GNU General Public License, write to the
! 27: # Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
! 28: # MA 02139, USA.
! 29: ###############################################################
! 30: ###############################################################
! 31: # Centre a window on the screen (or parent)
! 32: proc Centre_Dialog {window {position ""} {parent ""}} {
! 33:
! 34: # Withdraw dialog and update all windows
! 35: wm withdraw $window
! 36: update idletasks
! 37: set win_width [winfo reqwidth $window]
! 38: set win_height [winfo reqheight $window]
! 39:
! 40: # Read the positioning argument (pointer, widget, default)
! 41: switch -glob -- $position {
! 42: p* {
! 43: # place at POINTER (centered is $a == center)
! 44: wm geometry $window +[expr \
! 45: [winfo pointerx $window]-$win_width \
! 46: /2]+[expr [winfo pointery $window]-\
! 47: $win_height/2]
! 48: }
! 49: w* {
! 50: # center about WIDGET $parent
! 51: wm geometry $window +[expr [winfo rootx $parent]+ \
! 52: ([winfo width $parent]-$win_width)/2]+[expr \
! 53: [winfo rooty $parent]+([winfo height \
! 54: $parent]-$win_height)/2]
! 55: }
! 56: default {
! 57: wm geometry $window +[expr ([winfo screenwidth \
! 58: $window]-$win_width) / 2]+[expr ([winfo screenheight \
! 59: $window]- $win_height) / 2]
! 60: }
! 61: }
! 62:
! 63: # Now show the window
! 64: wm deiconify $window
! 65: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>