# # checkbutton widget demo (called by 'widget') # # toplevel widget ¤¬Â¸ºß¤¹¤ì¤Ðºï½ü¤¹¤ë if defined?($check_demo) && $check_demo $check_demo.destroy $check_demo = nil end # demo ÍѤΠtoplevel widget ¤òÀ¸À® $check_demo = TkToplevel.new {|w| title("Checkbutton Demonstration") iconname("check") positionWindow(w) } # label À¸À® msg = TkLabel.new($check_demo) { font $font wraplength '4i' justify 'left' text "²¼¤Ë¤Ï 3 ¤Ä¤Î¥Á¥§¥Ã¥¯¥Ü¥¿¥ó¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥Ü¥¿¥ó¤ÎÁªÂò¾õÂÖ¤¬ÊѤï¤ê¡¢Tcl ÊÑ¿ô ( TkVariable ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¥¢¥¯¥»¥¹¤Ç¤¤Þ¤¹ ) ¤Ë¤½¤Î¥Ü¥¿¥ó¤Î¾õÂÖ¤ò¼¨¤¹ÃͤòÀßÄꤷ¤Þ¤¹¡£¸½ºß¤ÎÊÑ¿ô¤ÎÃͤò¸«¤ë¤Ë¤Ï¡ÖÊÑ¿ô»²¾È¡×¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£" } msg.pack('side'=>'top') # ÊÑ¿ôÀ¸À® wipers = TkVariable.new(0) brakes = TkVariable.new(0) sober = TkVariable.new(0) # frame À¸À® TkFrame.new($check_demo) {|frame| TkButton.new(frame) { #text 'λ²ò' text 'ÊĤ¸¤ë' command proc{ tmppath = $check_demo $check_demo = nil $showVarsWin[tmppath.path] = nil tmppath.destroy } }.pack('side'=>'left', 'expand'=>'yes') TkButton.new(frame) { text '¥³¡¼¥É»²¾È' command proc{showCode 'check'} }.pack('side'=>'left', 'expand'=>'yes') TkButton.new(frame) { text 'ÊÑ¿ô»²¾È' command proc{ showVars($check_demo, ['wipers', wipers], ['brakes', brakes], ['sober', sober]) } }.pack('side'=>'left', 'expand'=>'yes') }.pack('side'=>'bottom', 'fill'=>'x', 'pady'=>'2m') # checkbutton À¸À® [ TkCheckButton.new($check_demo, 'text'=>'¥ï¥¤¥Ñ¡¼ OK', 'variable'=>wipers), TkCheckButton.new($check_demo, 'text'=>'¥Ö¥ì¡¼¥ OK', 'variable'=>brakes), TkCheckButton.new($check_demo, 'text'=>'±¿Å¾¼ê ÁÇÌÌ', 'variable'=>sober) ].each{|w| w.relief('flat'); w.pack('side'=>'top', 'pady'=>2, 'anchor'=>'w')}