File:  [LON-CAPA] / capa / capa51 / GUITools / utils.tcl
Revision 1.3: download - view: text, annotated - select for diffs
Tue Aug 8 13:47:35 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, release_5-1-3, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, CAPA_5-1-6, CAPA_5-1-5, CAPA_5-1-4_RC1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- corrected address of FSF

    1: #Utilities for Grader. Used for centering dialogues 
    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. 59 Temple Place, Suite 330, 
   28: #    Boston, MA 02111, 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>