tk-win 0.2.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +46 -0
  6. data/VERSION +1 -0
  7. data/lib/tcltk.rb +367 -0
  8. data/lib/tk.rb +5682 -0
  9. data/lib/tk/after.rb +6 -0
  10. data/lib/tk/autoload.rb +760 -0
  11. data/lib/tk/bgerror.rb +29 -0
  12. data/lib/tk/bindtag.rb +138 -0
  13. data/lib/tk/button.rb +31 -0
  14. data/lib/tk/canvas.rb +816 -0
  15. data/lib/tk/canvastag.rb +459 -0
  16. data/lib/tk/checkbutton.rb +32 -0
  17. data/lib/tk/clipboard.rb +75 -0
  18. data/lib/tk/clock.rb +71 -0
  19. data/lib/tk/composite.rb +484 -0
  20. data/lib/tk/console.rb +52 -0
  21. data/lib/tk/dialog.rb +326 -0
  22. data/lib/tk/encodedstr.rb +187 -0
  23. data/lib/tk/entry.rb +120 -0
  24. data/lib/tk/event.rb +562 -0
  25. data/lib/tk/font.rb +2351 -0
  26. data/lib/tk/frame.rb +132 -0
  27. data/lib/tk/grid.rb +279 -0
  28. data/lib/tk/image.rb +275 -0
  29. data/lib/tk/itemconfig.rb +1222 -0
  30. data/lib/tk/itemfont.rb +327 -0
  31. data/lib/tk/kinput.rb +71 -0
  32. data/lib/tk/label.rb +22 -0
  33. data/lib/tk/labelframe.rb +31 -0
  34. data/lib/tk/listbox.rb +284 -0
  35. data/lib/tk/macpkg.rb +80 -0
  36. data/lib/tk/menu.rb +718 -0
  37. data/lib/tk/menubar.rb +137 -0
  38. data/lib/tk/menuspec.rb +456 -0
  39. data/lib/tk/message.rb +24 -0
  40. data/lib/tk/mngfocus.rb +33 -0
  41. data/lib/tk/msgcat.rb +296 -0
  42. data/lib/tk/namespace.rb +551 -0
  43. data/lib/tk/optiondb.rb +377 -0
  44. data/lib/tk/optionobj.rb +212 -0
  45. data/lib/tk/pack.rb +107 -0
  46. data/lib/tk/package.rb +143 -0
  47. data/lib/tk/palette.rb +55 -0
  48. data/lib/tk/panedwindow.rb +260 -0
  49. data/lib/tk/place.rb +128 -0
  50. data/lib/tk/radiobutton.rb +73 -0
  51. data/lib/tk/root.rb +95 -0
  52. data/lib/tk/scale.rb +112 -0
  53. data/lib/tk/scrollable.rb +82 -0
  54. data/lib/tk/scrollbar.rb +183 -0
  55. data/lib/tk/scrollbox.rb +39 -0
  56. data/lib/tk/selection.rb +86 -0
  57. data/lib/tk/spinbox.rb +144 -0
  58. data/lib/tk/tagfont.rb +43 -0
  59. data/lib/tk/text.rb +1604 -0
  60. data/lib/tk/textimage.rb +88 -0
  61. data/lib/tk/textmark.rb +204 -0
  62. data/lib/tk/texttag.rb +321 -0
  63. data/lib/tk/textwindow.rb +154 -0
  64. data/lib/tk/timer.rb +669 -0
  65. data/lib/tk/toplevel.rb +264 -0
  66. data/lib/tk/ttk_selector.rb +98 -0
  67. data/lib/tk/txtwin_abst.rb +39 -0
  68. data/lib/tk/validation.rb +397 -0
  69. data/lib/tk/variable.rb +1799 -0
  70. data/lib/tk/virtevent.rb +139 -0
  71. data/lib/tk/winfo.rb +392 -0
  72. data/lib/tk/winpkg.rb +156 -0
  73. data/lib/tk/wm.rb +552 -0
  74. data/lib/tk/xim.rb +122 -0
  75. data/lib/tkafter.rb +4 -0
  76. data/lib/tkbgerror.rb +4 -0
  77. data/lib/tkcanvas.rb +4 -0
  78. data/lib/tkclass.rb +47 -0
  79. data/lib/tkconsole.rb +4 -0
  80. data/lib/tkdialog.rb +4 -0
  81. data/lib/tkentry.rb +4 -0
  82. data/lib/tkextlib/ICONS.rb +13 -0
  83. data/lib/tkextlib/ICONS/icons.rb +129 -0
  84. data/lib/tkextlib/ICONS/setup.rb +8 -0
  85. data/lib/tkextlib/SUPPORT_STATUS +198 -0
  86. data/lib/tkextlib/blt.rb +189 -0
  87. data/lib/tkextlib/blt/barchart.rb +79 -0
  88. data/lib/tkextlib/blt/bitmap.rb +112 -0
  89. data/lib/tkextlib/blt/busy.rb +83 -0
  90. data/lib/tkextlib/blt/component.rb +2218 -0
  91. data/lib/tkextlib/blt/container.rb +28 -0
  92. data/lib/tkextlib/blt/cutbuffer.rb +23 -0
  93. data/lib/tkextlib/blt/dragdrop.rb +269 -0
  94. data/lib/tkextlib/blt/eps.rb +32 -0
  95. data/lib/tkextlib/blt/graph.rb +67 -0
  96. data/lib/tkextlib/blt/htext.rb +112 -0
  97. data/lib/tkextlib/blt/setup.rb +8 -0
  98. data/lib/tkextlib/blt/spline.rb +23 -0
  99. data/lib/tkextlib/blt/stripchart.rb +74 -0
  100. data/lib/tkextlib/blt/table.rb +412 -0
  101. data/lib/tkextlib/blt/tabnotebook.rb +110 -0
  102. data/lib/tkextlib/blt/tabset.rb +504 -0
  103. data/lib/tkextlib/blt/ted.rb +68 -0
  104. data/lib/tkextlib/blt/tile.rb +25 -0
  105. data/lib/tkextlib/blt/tile/button.rb +16 -0
  106. data/lib/tkextlib/blt/tile/checkbutton.rb +17 -0
  107. data/lib/tkextlib/blt/tile/frame.rb +16 -0
  108. data/lib/tkextlib/blt/tile/label.rb +16 -0
  109. data/lib/tkextlib/blt/tile/radiobutton.rb +17 -0
  110. data/lib/tkextlib/blt/tile/scrollbar.rb +16 -0
  111. data/lib/tkextlib/blt/tile/toplevel.rb +16 -0
  112. data/lib/tkextlib/blt/tree.rb +1058 -0
  113. data/lib/tkextlib/blt/treeview.rb +1287 -0
  114. data/lib/tkextlib/blt/unix_dnd.rb +141 -0
  115. data/lib/tkextlib/blt/vector.rb +256 -0
  116. data/lib/tkextlib/blt/watch.rb +175 -0
  117. data/lib/tkextlib/blt/win_printer.rb +61 -0
  118. data/lib/tkextlib/blt/winop.rb +107 -0
  119. data/lib/tkextlib/bwidget.rb +153 -0
  120. data/lib/tkextlib/bwidget/arrowbutton.rb +21 -0
  121. data/lib/tkextlib/bwidget/bitmap.rb +21 -0
  122. data/lib/tkextlib/bwidget/button.rb +31 -0
  123. data/lib/tkextlib/bwidget/buttonbox.rb +90 -0
  124. data/lib/tkextlib/bwidget/combobox.rb +62 -0
  125. data/lib/tkextlib/bwidget/dialog.rb +194 -0
  126. data/lib/tkextlib/bwidget/dragsite.rb +31 -0
  127. data/lib/tkextlib/bwidget/dropsite.rb +39 -0
  128. data/lib/tkextlib/bwidget/dynamichelp.rb +63 -0
  129. data/lib/tkextlib/bwidget/entry.rb +43 -0
  130. data/lib/tkextlib/bwidget/label.rb +41 -0
  131. data/lib/tkextlib/bwidget/labelentry.rb +80 -0
  132. data/lib/tkextlib/bwidget/labelframe.rb +52 -0
  133. data/lib/tkextlib/bwidget/listbox.rb +361 -0
  134. data/lib/tkextlib/bwidget/mainframe.rb +132 -0
  135. data/lib/tkextlib/bwidget/messagedlg.rb +192 -0
  136. data/lib/tkextlib/bwidget/notebook.rb +166 -0
  137. data/lib/tkextlib/bwidget/pagesmanager.rb +73 -0
  138. data/lib/tkextlib/bwidget/panedwindow.rb +42 -0
  139. data/lib/tkextlib/bwidget/panelframe.rb +67 -0
  140. data/lib/tkextlib/bwidget/passwddlg.rb +44 -0
  141. data/lib/tkextlib/bwidget/progressbar.rb +20 -0
  142. data/lib/tkextlib/bwidget/progressdlg.rb +58 -0
  143. data/lib/tkextlib/bwidget/scrollableframe.rb +40 -0
  144. data/lib/tkextlib/bwidget/scrolledwindow.rb +48 -0
  145. data/lib/tkextlib/bwidget/scrollview.rb +25 -0
  146. data/lib/tkextlib/bwidget/selectcolor.rb +73 -0
  147. data/lib/tkextlib/bwidget/selectfont.rb +91 -0
  148. data/lib/tkextlib/bwidget/separator.rb +20 -0
  149. data/lib/tkextlib/bwidget/setup.rb +8 -0
  150. data/lib/tkextlib/bwidget/spinbox.rb +98 -0
  151. data/lib/tkextlib/bwidget/statusbar.rb +62 -0
  152. data/lib/tkextlib/bwidget/titleframe.rb +33 -0
  153. data/lib/tkextlib/bwidget/tree.rb +500 -0
  154. data/lib/tkextlib/bwidget/widget.rb +129 -0
  155. data/lib/tkextlib/itcl.rb +13 -0
  156. data/lib/tkextlib/itcl/incr_tcl.rb +178 -0
  157. data/lib/tkextlib/itcl/setup.rb +13 -0
  158. data/lib/tkextlib/itk.rb +13 -0
  159. data/lib/tkextlib/itk/incr_tk.rb +446 -0
  160. data/lib/tkextlib/itk/setup.rb +13 -0
  161. data/lib/tkextlib/iwidgets.rb +94 -0
  162. data/lib/tkextlib/iwidgets/buttonbox.rb +121 -0
  163. data/lib/tkextlib/iwidgets/calendar.rb +125 -0
  164. data/lib/tkextlib/iwidgets/canvasprintbox.rb +53 -0
  165. data/lib/tkextlib/iwidgets/canvasprintdialog.rb +38 -0
  166. data/lib/tkextlib/iwidgets/checkbox.rb +130 -0
  167. data/lib/tkextlib/iwidgets/combobox.rb +104 -0
  168. data/lib/tkextlib/iwidgets/dateentry.rb +20 -0
  169. data/lib/tkextlib/iwidgets/datefield.rb +58 -0
  170. data/lib/tkextlib/iwidgets/dialog.rb +20 -0
  171. data/lib/tkextlib/iwidgets/dialogshell.rb +121 -0
  172. data/lib/tkextlib/iwidgets/disjointlistbox.rb +50 -0
  173. data/lib/tkextlib/iwidgets/entryfield.rb +185 -0
  174. data/lib/tkextlib/iwidgets/extbutton.rb +40 -0
  175. data/lib/tkextlib/iwidgets/extfileselectionbox.rb +46 -0
  176. data/lib/tkextlib/iwidgets/extfileselectiondialog.rb +33 -0
  177. data/lib/tkextlib/iwidgets/feedback.rb +35 -0
  178. data/lib/tkextlib/iwidgets/fileselectionbox.rb +46 -0
  179. data/lib/tkextlib/iwidgets/fileselectiondialog.rb +33 -0
  180. data/lib/tkextlib/iwidgets/finddialog.rb +42 -0
  181. data/lib/tkextlib/iwidgets/hierarchy.rb +365 -0
  182. data/lib/tkextlib/iwidgets/hyperhelp.rb +50 -0
  183. data/lib/tkextlib/iwidgets/labeledframe.rb +39 -0
  184. data/lib/tkextlib/iwidgets/labeledwidget.rb +45 -0
  185. data/lib/tkextlib/iwidgets/mainwindow.rb +67 -0
  186. data/lib/tkextlib/iwidgets/menubar.rb +212 -0
  187. data/lib/tkextlib/iwidgets/messagebox.rb +93 -0
  188. data/lib/tkextlib/iwidgets/messagedialog.rb +20 -0
  189. data/lib/tkextlib/iwidgets/notebook.rb +175 -0
  190. data/lib/tkextlib/iwidgets/optionmenu.rb +92 -0
  191. data/lib/tkextlib/iwidgets/panedwindow.rb +134 -0
  192. data/lib/tkextlib/iwidgets/promptdialog.rb +131 -0
  193. data/lib/tkextlib/iwidgets/pushbutton.rb +35 -0
  194. data/lib/tkextlib/iwidgets/radiobox.rb +121 -0
  195. data/lib/tkextlib/iwidgets/scopedobject.rb +24 -0
  196. data/lib/tkextlib/iwidgets/scrolledcanvas.rb +353 -0
  197. data/lib/tkextlib/iwidgets/scrolledframe.rb +59 -0
  198. data/lib/tkextlib/iwidgets/scrolledhtml.rb +58 -0
  199. data/lib/tkextlib/iwidgets/scrolledlistbox.rb +207 -0
  200. data/lib/tkextlib/iwidgets/scrolledtext.rb +568 -0
  201. data/lib/tkextlib/iwidgets/scrolledwidget.rb +20 -0
  202. data/lib/tkextlib/iwidgets/selectionbox.rb +102 -0
  203. data/lib/tkextlib/iwidgets/selectiondialog.rb +92 -0
  204. data/lib/tkextlib/iwidgets/setup.rb +8 -0
  205. data/lib/tkextlib/iwidgets/shell.rb +38 -0
  206. data/lib/tkextlib/iwidgets/spindate.rb +48 -0
  207. data/lib/tkextlib/iwidgets/spinint.rb +30 -0
  208. data/lib/tkextlib/iwidgets/spinner.rb +169 -0
  209. data/lib/tkextlib/iwidgets/spintime.rb +48 -0
  210. data/lib/tkextlib/iwidgets/tabnotebook.rb +181 -0
  211. data/lib/tkextlib/iwidgets/tabset.rb +145 -0
  212. data/lib/tkextlib/iwidgets/timeentry.rb +25 -0
  213. data/lib/tkextlib/iwidgets/timefield.rb +58 -0
  214. data/lib/tkextlib/iwidgets/toolbar.rb +112 -0
  215. data/lib/tkextlib/iwidgets/watch.rb +56 -0
  216. data/lib/tkextlib/pkg_checker.rb +184 -0
  217. data/lib/tkextlib/setup.rb +8 -0
  218. data/lib/tkextlib/tcllib.rb +105 -0
  219. data/lib/tkextlib/tcllib/autoscroll.rb +158 -0
  220. data/lib/tkextlib/tcllib/ctext.rb +160 -0
  221. data/lib/tkextlib/tcllib/cursor.rb +97 -0
  222. data/lib/tkextlib/tcllib/datefield.rb +57 -0
  223. data/lib/tkextlib/tcllib/dialog.rb +84 -0
  224. data/lib/tkextlib/tcllib/getstring.rb +134 -0
  225. data/lib/tkextlib/tcllib/history.rb +73 -0
  226. data/lib/tkextlib/tcllib/ico.rb +146 -0
  227. data/lib/tkextlib/tcllib/ip_entry.rb +75 -0
  228. data/lib/tkextlib/tcllib/panelframe.rb +78 -0
  229. data/lib/tkextlib/tcllib/plotchart.rb +1404 -0
  230. data/lib/tkextlib/tcllib/ruler.rb +65 -0
  231. data/lib/tkextlib/tcllib/screenruler.rb +68 -0
  232. data/lib/tkextlib/tcllib/scrollwin.rb +61 -0
  233. data/lib/tkextlib/tcllib/setup.rb +8 -0
  234. data/lib/tkextlib/tcllib/style.rb +61 -0
  235. data/lib/tkextlib/tcllib/superframe.rb +51 -0
  236. data/lib/tkextlib/tcllib/swaplist.rb +150 -0
  237. data/lib/tkextlib/tcllib/tablelist.rb +28 -0
  238. data/lib/tkextlib/tcllib/tablelist_core.rb +1072 -0
  239. data/lib/tkextlib/tcllib/tablelist_tile.rb +43 -0
  240. data/lib/tkextlib/tcllib/tkpiechart.rb +314 -0
  241. data/lib/tkextlib/tcllib/tooltip.rb +104 -0
  242. data/lib/tkextlib/tcllib/widget.rb +82 -0
  243. data/lib/tkextlib/tclx.rb +13 -0
  244. data/lib/tkextlib/tclx/setup.rb +8 -0
  245. data/lib/tkextlib/tclx/tclx.rb +74 -0
  246. data/lib/tkextlib/tile.rb +449 -0
  247. data/lib/tkextlib/tile/dialog.rb +102 -0
  248. data/lib/tkextlib/tile/setup.rb +8 -0
  249. data/lib/tkextlib/tile/sizegrip.rb +32 -0
  250. data/lib/tkextlib/tile/style.rb +336 -0
  251. data/lib/tkextlib/tile/tbutton.rb +34 -0
  252. data/lib/tkextlib/tile/tcheckbutton.rb +38 -0
  253. data/lib/tkextlib/tile/tcombobox.rb +55 -0
  254. data/lib/tkextlib/tile/tentry.rb +49 -0
  255. data/lib/tkextlib/tile/tframe.rb +34 -0
  256. data/lib/tkextlib/tile/tlabel.rb +34 -0
  257. data/lib/tkextlib/tile/tlabelframe.rb +38 -0
  258. data/lib/tkextlib/tile/tmenubutton.rb +38 -0
  259. data/lib/tkextlib/tile/tnotebook.rb +147 -0
  260. data/lib/tkextlib/tile/tpaned.rb +245 -0
  261. data/lib/tkextlib/tile/tprogressbar.rb +57 -0
  262. data/lib/tkextlib/tile/tradiobutton.rb +38 -0
  263. data/lib/tkextlib/tile/treeview.rb +1306 -0
  264. data/lib/tkextlib/tile/tscale.rb +56 -0
  265. data/lib/tkextlib/tile/tscrollbar.rb +63 -0
  266. data/lib/tkextlib/tile/tseparator.rb +34 -0
  267. data/lib/tkextlib/tile/tsquare.rb +30 -0
  268. data/lib/tkextlib/tkDND.rb +18 -0
  269. data/lib/tkextlib/tkDND/setup.rb +8 -0
  270. data/lib/tkextlib/tkDND/shape.rb +125 -0
  271. data/lib/tkextlib/tkDND/tkdnd.rb +182 -0
  272. data/lib/tkextlib/tkHTML.rb +13 -0
  273. data/lib/tkextlib/tkHTML/htmlwidget.rb +453 -0
  274. data/lib/tkextlib/tkHTML/setup.rb +8 -0
  275. data/lib/tkextlib/tkimg.rb +36 -0
  276. data/lib/tkextlib/tkimg/bmp.rb +33 -0
  277. data/lib/tkextlib/tkimg/gif.rb +33 -0
  278. data/lib/tkextlib/tkimg/ico.rb +33 -0
  279. data/lib/tkextlib/tkimg/jpeg.rb +33 -0
  280. data/lib/tkextlib/tkimg/pcx.rb +33 -0
  281. data/lib/tkextlib/tkimg/pixmap.rb +44 -0
  282. data/lib/tkextlib/tkimg/png.rb +33 -0
  283. data/lib/tkextlib/tkimg/ppm.rb +33 -0
  284. data/lib/tkextlib/tkimg/ps.rb +33 -0
  285. data/lib/tkextlib/tkimg/setup.rb +8 -0
  286. data/lib/tkextlib/tkimg/sgi.rb +33 -0
  287. data/lib/tkextlib/tkimg/sun.rb +33 -0
  288. data/lib/tkextlib/tkimg/tga.rb +33 -0
  289. data/lib/tkextlib/tkimg/tiff.rb +33 -0
  290. data/lib/tkextlib/tkimg/window.rb +33 -0
  291. data/lib/tkextlib/tkimg/xbm.rb +33 -0
  292. data/lib/tkextlib/tkimg/xpm.rb +33 -0
  293. data/lib/tkextlib/tktable.rb +14 -0
  294. data/lib/tkextlib/tktable/setup.rb +8 -0
  295. data/lib/tkextlib/tktable/tktable.rb +966 -0
  296. data/lib/tkextlib/tktrans.rb +14 -0
  297. data/lib/tkextlib/tktrans/setup.rb +8 -0
  298. data/lib/tkextlib/tktrans/tktrans.rb +64 -0
  299. data/lib/tkextlib/treectrl.rb +13 -0
  300. data/lib/tkextlib/treectrl/setup.rb +8 -0
  301. data/lib/tkextlib/treectrl/tktreectrl.rb +2522 -0
  302. data/lib/tkextlib/trofs.rb +13 -0
  303. data/lib/tkextlib/trofs/setup.rb +8 -0
  304. data/lib/tkextlib/trofs/trofs.rb +51 -0
  305. data/lib/tkextlib/version.rb +6 -0
  306. data/lib/tkextlib/vu.rb +48 -0
  307. data/lib/tkextlib/vu/bargraph.rb +61 -0
  308. data/lib/tkextlib/vu/charts.rb +53 -0
  309. data/lib/tkextlib/vu/dial.rb +102 -0
  310. data/lib/tkextlib/vu/pie.rb +286 -0
  311. data/lib/tkextlib/vu/setup.rb +8 -0
  312. data/lib/tkextlib/vu/spinbox.rb +22 -0
  313. data/lib/tkextlib/winico.rb +14 -0
  314. data/lib/tkextlib/winico/setup.rb +8 -0
  315. data/lib/tkextlib/winico/winico.rb +224 -0
  316. data/lib/tkfont.rb +4 -0
  317. data/lib/tkmacpkg.rb +4 -0
  318. data/lib/tkmenubar.rb +4 -0
  319. data/lib/tkmngfocus.rb +4 -0
  320. data/lib/tkpalette.rb +4 -0
  321. data/lib/tkscrollbox.rb +4 -0
  322. data/lib/tktext.rb +4 -0
  323. data/lib/tkvirtevent.rb +4 -0
  324. data/lib/tkwinpkg.rb +4 -0
  325. data/spec/spec.opts +1 -0
  326. data/spec/spec_helper.rb +9 -0
  327. data/spec/tk-win_spec.rb +7 -0
  328. data/tk-win.gemspec +373 -0
  329. metadata +412 -0
@@ -0,0 +1,130 @@
1
+ #
2
+ # tkextlib/iwidgets/checkbox.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Checkbox < Tk::Iwidgets::Labeledframe
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Checkbox
17
+ TkCommandNames = ['::iwidgets::checkbox'.freeze].freeze
18
+ WidgetClassName = 'Checkbox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'buttoncget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'buttonconfigure', id]
32
+ end
33
+ private :__item_config_cmd
34
+
35
+ def __item_boolval_optkeys(id)
36
+ super(id) << 'defaultring'
37
+ end
38
+ private :__item_boolval_optkeys
39
+
40
+ def tagid(tagOrId)
41
+ if tagOrId.kind_of?(Tk::Itk::Component)
42
+ tagOrId.name
43
+ else
44
+ #_get_eval_string(tagOrId)
45
+ tagOrId
46
+ end
47
+ end
48
+
49
+ alias buttoncget_tkstring itemcget_tkstring
50
+ alias buttoncget itemcget
51
+ alias buttoncget_strict itemcget_strict
52
+ alias buttonconfigure itemconfigure
53
+ alias buttonconfiginfo itemconfiginfo
54
+ alias current_buttonconfiginfo current_itemconfiginfo
55
+
56
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
57
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
58
+
59
+ ####################################
60
+
61
+ def add(tag=nil, keys={})
62
+ if tag.kind_of?(Hash)
63
+ keys = tag
64
+ tag = nil
65
+ end
66
+ if tag
67
+ tag = Tk::Itk::Component.new(self, tagid(tag))
68
+ else
69
+ tag = Tk::Itk::Component.new(self)
70
+ end
71
+ tk_call(@path, 'add', tagid(tag), *hash_kv(keys))
72
+ tag
73
+ end
74
+
75
+ def delete(idx)
76
+ tk_call(@path, 'delete', index(idx))
77
+ self
78
+ end
79
+
80
+ def deselect(idx)
81
+ tk_call(@path, 'deselect', index(idx))
82
+ self
83
+ end
84
+
85
+ def flash(idx)
86
+ tk_call(@path, 'flash', index(idx))
87
+ self
88
+ end
89
+
90
+ def get_tags
91
+ simplelist(tk_call_without_enc(@path, 'get'))
92
+ end
93
+
94
+ def get_objs
95
+ simplelist(tk_call_without_enc(@path, 'get')).collect{|id|
96
+ Tk::Itk::Component.id2obj(self, id)
97
+ }
98
+ end
99
+
100
+ def get(idx=nil)
101
+ if idx
102
+ bool(tk_call_without_enc(@path, 'get', index(idx)))
103
+ else
104
+ get_tags
105
+ end
106
+ end
107
+
108
+ def index(idx)
109
+ number(tk_call(@path, 'index', tagid(idx)))
110
+ end
111
+
112
+ def insert(idx, tag=nil, keys={})
113
+ if tag.kind_of?(Hash)
114
+ keys = tag
115
+ tag = nil
116
+ end
117
+ if tag
118
+ tag = Tk::Itk::Component.new(self, tagid(tag))
119
+ else
120
+ tag = Tk::Itk::Component.new(self)
121
+ end
122
+ tk_call(@path, 'insert', index(idx), tagid(tag), *hash_kv(keys))
123
+ tag
124
+ end
125
+
126
+ def select(idx)
127
+ tk_call(@path, 'select', index(idx))
128
+ self
129
+ end
130
+ end
@@ -0,0 +1,104 @@
1
+ #
2
+ # tkextlib/iwidgets/combobox.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Combobox < Tk::Iwidgets::Entryfield
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Combobox
17
+ TkCommandNames = ['::iwidgets::combobox'.freeze].freeze
18
+ WidgetClassName = 'Combobox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'completion' << 'dropdown' << 'editable' << 'unique'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def clear(component=None)
27
+ tk_call(@path, 'clear', component)
28
+ self
29
+ end
30
+
31
+ def delete_list(first, last=None)
32
+ tk_call(@path, 'delete', 'list', first, last)
33
+ self
34
+ end
35
+
36
+ def delete_entry(first, last=None)
37
+ tk_call(@path, 'delete', 'entry', first, last)
38
+ self
39
+ end
40
+
41
+ def get_list_contents(index)
42
+ tk_call(@path, 'get', index)
43
+ end
44
+
45
+ def insert_list(idx, *elems)
46
+ tk_call(@path, 'insert', 'list', idx, *elems)
47
+ self
48
+ end
49
+
50
+ def insert_entry(idx, *elems)
51
+ tk_call(@path, 'insert', 'entry', idx, *elems)
52
+ self
53
+ end
54
+
55
+ # listbox methods
56
+ def size
57
+ tk_send_without_enc('size').to_i
58
+ end
59
+ def see(index)
60
+ tk_send_without_enc('see', index)
61
+ self
62
+ end
63
+ def selection_anchor(index)
64
+ tk_send_without_enc('selection', 'anchor', index)
65
+ self
66
+ end
67
+ def selection_clear(first, last=None)
68
+ tk_send_without_enc('selection', 'clear', first, last)
69
+ self
70
+ end
71
+ def selection_includes(index)
72
+ bool(tk_send_without_enc('selection', 'includes', index))
73
+ end
74
+ def selection_set(first, last=None)
75
+ tk_send_without_enc('selection', 'set', first, last)
76
+ self
77
+ end
78
+
79
+ # scrolledlistbox methods
80
+ def get_curselection
81
+ tk_call(@path, 'getcurselection')
82
+ end
83
+ def justify(dir)
84
+ tk_call(@path, 'justify', dir)
85
+ self
86
+ end
87
+ def sort(*params, &b)
88
+ # see 'lsort' man page about params
89
+ if b
90
+ tk_call(@path, 'sort', '-command', proc(&b), *params)
91
+ else
92
+ tk_call(@path, 'sort', *params)
93
+ end
94
+ self
95
+ end
96
+ def sort_ascending
97
+ tk_call(@path, 'sort', 'ascending')
98
+ self
99
+ end
100
+ def sort_descending
101
+ tk_call(@path, 'sort', 'descending')
102
+ self
103
+ end
104
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # tkextlib/iwidgets/dateentry.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Dateentry < Tk::Iwidgets::Datefield
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Dateentry
17
+ TkCommandNames = ['::iwidgets::dateentry'.freeze].freeze
18
+ WidgetClassName = 'Dateentry'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # tkextlib/iwidgets/datefield.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Datefield < Tk::Iwidgets::Labeledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Datefield
17
+ TkCommandNames = ['::iwidgets::datefield'.freeze].freeze
18
+ WidgetClassName = 'Datefield'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'gmt'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def __strval_optkeys
27
+ super() << 'textbackground'
28
+ end
29
+ private :__strval_optkeys
30
+
31
+ def __font_optkeys
32
+ super() << 'textfont'
33
+ end
34
+ private :__font_optkeys
35
+
36
+ def get_string
37
+ tk_call(@path, 'get', '-string')
38
+ end
39
+ alias get get_string
40
+
41
+ def get_clicks
42
+ number(tk_call(@path, 'get', '-clicks'))
43
+ end
44
+
45
+ def valid?
46
+ bool(tk_call(@path, 'isvalid'))
47
+ end
48
+ alias isvalid? valid?
49
+
50
+ def show(date=None)
51
+ tk_call(@path, 'show', date)
52
+ self
53
+ end
54
+ def show_now
55
+ tk_call(@path, 'show', 'now')
56
+ self
57
+ end
58
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # tkextlib/iwidgets/dialog.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Dialog < Tk::Iwidgets::Dialogshell
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Dialog
17
+ TkCommandNames = ['::iwidgets::dialog'.freeze].freeze
18
+ WidgetClassName = 'Dialog'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+ end
@@ -0,0 +1,121 @@
1
+ #
2
+ # tkextlib/iwidgets/dialogshell.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Dialogshell < Tk::Iwidgets::Shell
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Dialogshell
17
+ TkCommandNames = ['::iwidgets::dialogshell'.freeze].freeze
18
+ WidgetClassName = 'Dialogshell'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'buttoncget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'buttonconfigure', id]
32
+ end
33
+ private :__item_config_cmd
34
+
35
+ def __item_boolval_optkeys(id)
36
+ super(id) << 'defaultring'
37
+ end
38
+ private :__item_boolval_optkeys
39
+
40
+ def tagid(tagOrId)
41
+ if tagOrId.kind_of?(Tk::Itk::Component)
42
+ tagOrId.name
43
+ else
44
+ #_get_eval_string(tagOrId)
45
+ tagOrId
46
+ end
47
+ end
48
+
49
+ alias buttoncget_tkstring itemcget_tkstring
50
+ alias buttoncget itemcget
51
+ alias buttoncget_strict itemcget_strict
52
+ alias buttonconfigure itemconfigure
53
+ alias buttonconfiginfo itemconfiginfo
54
+ alias current_buttonconfiginfo current_itemconfiginfo
55
+
56
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
57
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
58
+
59
+ ####################################
60
+
61
+ def add(tag=nil, keys={})
62
+ if tag.kind_of?(Hash)
63
+ keys = tag
64
+ tag = nil
65
+ end
66
+ if tag
67
+ tag = Tk::Itk::Component.new(self, tagid(tag))
68
+ else
69
+ tag = Tk::Itk::Component.new(self)
70
+ end
71
+ tk_call(@path, 'add', tagid(tag), *hash_kv(keys))
72
+ tag
73
+ end
74
+
75
+ def default(idx)
76
+ tk_call(@path, 'default', index(idx))
77
+ self
78
+ end
79
+
80
+ def delete(idx)
81
+ tk_call(@path, 'delete', index(idx))
82
+ self
83
+ end
84
+
85
+ def hide(idx)
86
+ tk_call(@path, 'hide', index(idx))
87
+ self
88
+ end
89
+
90
+ def index(idx)
91
+ number(tk_call(@path, 'index', tagid(idx)))
92
+ end
93
+
94
+ def insert(idx, tag=nil, keys={})
95
+ if tag.kind_of?(Hash)
96
+ keys = tag
97
+ tag = nil
98
+ end
99
+ if tag
100
+ tag = Tk::Itk::Component.new(self, tagid(tag))
101
+ else
102
+ tag = Tk::Itk::Component.new(self)
103
+ end
104
+ tk_call(@path, 'insert', index(idx), tagid(tag), *hash_kv(keys))
105
+ tag
106
+ end
107
+
108
+ def invoke(idx=nil)
109
+ if idx
110
+ tk_call(@path, 'invoke', index(idx))
111
+ else
112
+ tk_call(@path, 'invoke')
113
+ end
114
+ self
115
+ end
116
+
117
+ def show(idx)
118
+ tk_call(@path, 'show', index(idx))
119
+ self
120
+ end
121
+ end