1 # -*- coding: euc-jp -*-
3 # widget demo prompts the user to select a color (called by 'widget')
5 # Note: don't support ttk_wrapper. work with standard widgets only.
8 # toplevel widget ¤¬Â¸ºß¤¹¤ì¤Ðºï½ü¤¹¤ë
9 if defined?($clrpick_demo) && $clrpick_demo
14 # demo ÍѤΠtoplevel widget ¤òÀ¸À®
15 $clrpick_demo = TkToplevel.new {|w|
16 title("Color Selection Dialogs")
22 #TkLabel.new($clrpick_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
23 Tk::Label.new($clrpick_demo,'font'=>$font,'wraplength'=>'4i','justify'=>'left',
24 'text'=>"°Ê²¼¤Î¥Ü¥¿¥ó¤ò²¡¤·¤Æ¡¢¤³¤Î¥¦¥£¥ó¥É¥¦¾å¤Ë¤¢¤ë¥¦¥£¥¸¥§¥Ã¥È¤ÎÁ°·Ê¿§¤ÈÇØ·Ê¿§¤òÁªÂò¤·¤Æ²¼¤µ¤¤¡£").pack('side'=>'top')
27 # TkFrame.new($clrpick_demo) {|frame|
28 Tk::Frame.new($clrpick_demo) {|frame|
29 # TkButton.new(frame) {
30 Tk::Button.new(frame) {
34 tmppath = $clrpick_demo
38 }.pack('side'=>'left', 'expand'=>'yes')
40 # TkButton.new(frame) {
41 Tk::Button.new(frame) {
43 command proc{showCode 'clrpick'}
44 }.pack('side'=>'left', 'expand'=>'yes')
45 }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
48 # TkButton.new($clrpick_demo, 'text'=>'ÇØ·Ê¿§¤òÀßÄê ...') {|b|
49 Tk::Button.new($clrpick_demo, 'text'=>'ÇØ·Ê¿§¤òÀßÄê ...') {|b|
50 command(proc{setColor $clrpick_demo, b, 'background',
51 ['background', 'highlightbackground']})
52 pack('side'=>'top', 'anchor'=>'c', 'pady'=>'2m')
55 # TkButton.new($clrpick_demo, 'text'=>'Á°·Ê¿§¤òÀßÄê ...') {|b|
56 Tk::Button.new($clrpick_demo, 'text'=>'Á°·Ê¿§¤òÀßÄê ...') {|b|
57 command(proc{setColor $clrpick_demo, b, 'foreground', ['foreground']})
58 pack('side'=>'top', 'anchor'=>'c', 'pady'=>'2m')
61 def setColor(w,button,name,options)
63 initialColor = button[name]
64 color = Tk.chooseColor('title'=>"Choose a #{name} color", 'parent'=>w,
65 'initialcolor'=>initialColor)
67 setColor_helper(w,options,color)
73 def setColor_helper(w, options, color)
80 TkWinfo.children(w).each{|child|
81 setColor_helper child, options, color