| |
| |
| |
|
|
| if {![info exists widgetDemo]} { |
| error "This script should be run from the \"widget\" demo." |
| } |
|
|
| package require Tk |
|
|
| set w .fontchoose |
| catch {destroy $w} |
| toplevel $w |
| wm title $w "Font Selection Dialog" |
| wm iconname $w "fontchooser" |
| positionWindow $w |
|
|
| catch {font create FontchooseDemoFont {*}[font actual TkDefaultFont]} |
|
|
| |
| proc SelectFont {parent} { |
| tk fontchooser configure -font FontchooseDemoFont \ |
| -command ApplyFont -parent $parent |
| tk fontchooser show |
| } |
|
|
| proc ApplyFont {font} { |
| font configure FontchooseDemoFont {*}[font actual $font] |
| } |
|
|
| |
| |
| |
| bind $w <<TkFontchooserVisibility>> { |
| if {[tk fontchooser configure -visible]} { |
| %W.f.font state disabled |
| } else { |
| %W.f.font state !disabled |
| } |
| } |
|
|
|
|
| set f [ttk::frame $w.f -relief sunken -padding 2] |
|
|
| text $f.msg -font FontchooseDemoFont -width 40 -height 6 -borderwidth 0 \ |
| -yscrollcommand [list $f.vs set] |
| ttk::scrollbar $f.vs -command [list $f.msg yview] |
|
|
| $f.msg insert end "Press the buttons below to choose a new font for the\ |
| text shown in this window.\n" {} |
|
|
| ttk::button $f.font -text "Set font ..." -command [list SelectFont $w] |
|
|
| grid $f.msg $f.vs -sticky news |
| grid $f.font - -sticky e |
| grid columnconfigure $f 0 -weight 1 |
| grid rowconfigure $f 0 -weight 1 |
|
|
| |
| set btns [addSeeDismiss $w.buttons $w] |
|
|
| grid $f -sticky news |
| grid $btns -sticky ew |
| grid columnconfigure $w 0 -weight 1 |
| grid rowconfigure $w 0 -weight 1 |
| update idletasks |
| grid propagate $f 0 |
|
|