OSDN Git Service

ruby-1.9.1-rc1
[splhack/AndroidRuby.git] / lib / ruby-1.9.1-rc1 / ext / tk / sample / demos-jp / clrpick.rb
1 # -*- coding: euc-jp -*-
2 #
3 # widget demo prompts the user to select a color (called by 'widget')
4 #
5 #  Note: don't support ttk_wrapper. work with standard widgets only.
6 #
7
8 # toplevel widget ¤¬Â¸ºß¤¹¤ì¤Ðºï½ü¤¹¤ë
9 if defined?($clrpick_demo) && $clrpick_demo
10   $clrpick_demo.destroy 
11   $clrpick_demo = nil
12 end
13
14 # demo ÍѤΠtoplevel widget ¤òÀ¸À®
15 $clrpick_demo = TkToplevel.new {|w|
16   title("Color Selection Dialogs")
17   iconname("colors")
18   positionWindow(w)
19 }
20
21 # label À¸À®
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')
25
26 # frame À¸À®
27 # TkFrame.new($clrpick_demo) {|frame|
28 Tk::Frame.new($clrpick_demo) {|frame|
29   # TkButton.new(frame) {
30   Tk::Button.new(frame) {
31     #text 'λ²ò'
32     text 'ÊĤ¸¤ë'
33     command proc{
34       tmppath = $clrpick_demo
35       $clrpick_demo = nil
36       tmppath.destroy
37     }
38   }.pack('side'=>'left', 'expand'=>'yes')
39
40   # TkButton.new(frame) {
41   Tk::Button.new(frame) {
42     text '¥³¡¼¥É»²¾È'
43     command proc{showCode 'clrpick'}
44   }.pack('side'=>'left', 'expand'=>'yes')
45 }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m')
46
47 # button À¸À®
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')
53 }
54
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')
59 }
60
61 def setColor(w,button,name,options)
62   w.grab
63   initialColor = button[name]
64   color = Tk.chooseColor('title'=>"Choose a #{name} color", 'parent'=>w, 
65                          'initialcolor'=>initialColor)
66   if color != ""
67     setColor_helper(w,options,color)
68   end
69
70   w.grab('release')
71 end
72
73 def setColor_helper(w, options, color)
74   options.each{|opt|
75     begin
76       w[opt] = color
77     rescue
78     end
79   }
80   TkWinfo.children(w).each{|child|
81     setColor_helper child, options, color
82   }
83 end
84