From 621a481580aa29b835a6bde3b6f83469140f1f57 Mon Sep 17 00:00:00 2001 From: das Date: Mon, 23 Apr 2007 21:16:43 +0000 Subject: * library/bgerror.tcl: on aqua, use moveable alert resp. modal dialog * library/dialog.tcl: window class and corresponding system background pattern; fix button padding. * library/tearoff.tcl: correct aqua menu bar height; vertically offset * library/tk.tcl: aqua tearoff floating window to match menu. --- library/bgerror.tcl | 16 +++++++++++++--- library/dialog.tcl | 8 ++++++-- library/tearoff.tcl | 6 ++++-- library/tk.tcl | 4 ++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/library/bgerror.tcl b/library/bgerror.tcl index 30f0573..dcece7e 100644 --- a/library/bgerror.tcl +++ b/library/bgerror.tcl @@ -9,8 +9,8 @@ # Copyright (c) 1998-2000 by Ajuba Solutions. # All rights reserved. # -# RCS: @(#) $Id: bgerror.tcl,v 1.32 2006/06/22 00:38:16 hobbs Exp $ -# $Id: bgerror.tcl,v 1.32 2006/06/22 00:38:16 hobbs Exp $ +# RCS: @(#) $Id: bgerror.tcl,v 1.33 2007/04/23 21:16:43 das Exp $ +# $Id: bgerror.tcl,v 1.33 2007/04/23 21:16:43 das Exp $ namespace eval ::tk::dialog::error { namespace import -force ::tk::msgcat::* @@ -18,6 +18,12 @@ namespace eval ::tk::dialog::error { option add *ErrorDialog.function.text [mc "Save To Log"] \ widgetDefault option add *ErrorDialog.function.command [namespace code SaveToLog] + if {[tk windowingsystem] eq "aqua"} { + option add *ErrorDialog*background systemAlertBackgroundActive \ + widgetDefault + option add *ErrorDialog*Button.highlightBackground \ + systemAlertBackgroundActive widgetDefault + } } proc ::tk::dialog::error::Return {} { @@ -139,7 +145,7 @@ proc ::tk::dialog::error::bgerror err { wm protocol .bgerrorDialog WM_DELETE_WINDOW { } if {$windowingsystem eq "aqua"} { - ::tk::unsupported::MacWindowStyle style .bgerrorDialog zoomDocProc + ::tk::unsupported::MacWindowStyle style .bgerrorDialog moveableAlert {} } frame .bgerrorDialog.bot @@ -161,6 +167,9 @@ proc ::tk::dialog::error::bgerror err { -relief $textRelief \ -highlightthickness $textHilight \ -wrap char + if {$windowingsystem eq "aqua"} { + $W.text configure -width 80 -background white + } scrollbar $W.scroll -command [list $W.text yview] pack $W.scroll -side right -fill y @@ -218,6 +227,7 @@ proc ::tk::dialog::error::bgerror err { if {($name eq "ok") || ($name eq "dismiss")} { grid columnconfigure .bgerrorDialog.bot $i -minsize 79 } + grid configure .bgerrorDialog.$name -pady 7 } incr i } diff --git a/library/dialog.tcl b/library/dialog.tcl index e4a1ec5..44b89ec 100644 --- a/library/dialog.tcl +++ b/library/dialog.tcl @@ -3,7 +3,7 @@ # This file defines the procedure tk_dialog, which creates a dialog # box containing a bitmap, a message, and one or more buttons. # -# RCS: @(#) $Id: dialog.tcl,v 1.20 2006/01/25 18:22:04 dgp Exp $ +# RCS: @(#) $Id: dialog.tcl,v 1.21 2007/04/23 21:16:43 das Exp $ # # Copyright (c) 1992-1993 The Regents of the University of California. # Copyright (c) 1994-1997 Sun Microsystems, Inc. @@ -67,7 +67,10 @@ proc ::tk_dialog {w title text bitmap default args} { set windowingsystem [tk windowingsystem] if {$windowingsystem eq "aqua"} { - ::tk::unsupported::MacWindowStyle style $w dBoxProc + ::tk::unsupported::MacWindowStyle style $w moveableModal {} + option add *Dialog*background systemDialogBackgroundActive widgetDefault + option add *Dialog*Button.highlightBackground \ + systemDialogBackgroundActive widgetDefault } frame $w.bot @@ -120,6 +123,7 @@ proc ::tk_dialog {w title text bitmap default args} { if {$tmp eq "ok" || $tmp eq "cancel"} { grid columnconfigure $w.bot $i -minsize [expr {59 + 20}] } + grid configure $w.button$i -pady 7 } incr i } diff --git a/library/tearoff.tcl b/library/tearoff.tcl index ae74389..9a8bd28 100644 --- a/library/tearoff.tcl +++ b/library/tearoff.tcl @@ -2,7 +2,7 @@ # # This file contains procedures that implement tear-off menus. # -# RCS: @(#) $Id: tearoff.tcl,v 1.10 2005/07/25 09:06:00 dkf Exp $ +# RCS: @(#) $Id: tearoff.tcl,v 1.11 2007/04/23 21:16:43 das Exp $ # # Copyright (c) 1994 The Regents of the University of California. # Copyright (c) 1994-1997 Sun Microsystems, Inc. @@ -38,8 +38,10 @@ proc ::tk::TearOffMenu {w {x 0} {y 0}} { if {$y == 0} { set y [winfo rooty $w] if {[tk windowingsystem] eq "aqua"} { + # Shift by height of tearoff entry minus height of window titlebar + catch {incr y [expr {[$w yposition 1] - 16}]} # Avoid the native menu bar which sits on top of everything. - if {$y < 20} { set y 20 } + if {$y < 22} { set y 22 } } } diff --git a/library/tk.tcl b/library/tk.tcl index 09ac18a..9eec59b 100644 --- a/library/tk.tcl +++ b/library/tk.tcl @@ -3,7 +3,7 @@ # Initialization script normally executed in the interpreter for each # Tk-based application. Arranges class bindings for widgets. # -# RCS: @(#) $Id: tk.tcl,v 1.60 2006/10/31 01:42:26 hobbs Exp $ +# RCS: @(#) $Id: tk.tcl,v 1.61 2007/04/23 21:16:43 das Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. @@ -128,7 +128,7 @@ proc ::tk::PlaceWindow {w {place ""} {anchor ""}} { } if {[tk windowingsystem] eq "aqua"} { # Avoid the native menu bar which sits on top of everything. - if {$y < 20} { set y 20 } + if {$y < 22} { set y 22 } } } wm geometry $w +$x+$y -- cgit v0.12