tk_as_gem 0.0.0

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 (345) hide show
  1. data/README +22 -0
  2. data/Rakefile +11 -0
  3. data/VERSION +1 -0
  4. data/ext/ChangeLog.tkextlib +935 -0
  5. data/ext/MANUAL_tcltklib.eng +469 -0
  6. data/ext/MANUAL_tcltklib.eucj +579 -0
  7. data/ext/README.1st +19 -0
  8. data/ext/README.ActiveTcl +49 -0
  9. data/ext/README.fork +34 -0
  10. data/ext/README.macosx-aqua +67 -0
  11. data/ext/README.tcltklib +85 -0
  12. data/ext/depend +2 -0
  13. data/ext/extconf.rb +451 -0
  14. data/ext/lib/README +30 -0
  15. data/ext/lib/multi-tk.rb +3491 -0
  16. data/ext/lib/remote-tk.rb +530 -0
  17. data/ext/lib/tcltk.rb +367 -0
  18. data/ext/lib/tk.rb +5584 -0
  19. data/ext/lib/tk/after.rb +6 -0
  20. data/ext/lib/tk/autoload.rb +414 -0
  21. data/ext/lib/tk/bgerror.rb +29 -0
  22. data/ext/lib/tk/bindtag.rb +138 -0
  23. data/ext/lib/tk/button.rb +30 -0
  24. data/ext/lib/tk/canvas.rb +789 -0
  25. data/ext/lib/tk/canvastag.rb +434 -0
  26. data/ext/lib/tk/checkbutton.rb +30 -0
  27. data/ext/lib/tk/clipboard.rb +75 -0
  28. data/ext/lib/tk/clock.rb +71 -0
  29. data/ext/lib/tk/composite.rb +458 -0
  30. data/ext/lib/tk/console.rb +52 -0
  31. data/ext/lib/tk/dialog.rb +326 -0
  32. data/ext/lib/tk/encodedstr.rb +187 -0
  33. data/ext/lib/tk/entry.rb +119 -0
  34. data/ext/lib/tk/event.rb +542 -0
  35. data/ext/lib/tk/font.rb +2344 -0
  36. data/ext/lib/tk/frame.rb +131 -0
  37. data/ext/lib/tk/grid.rb +279 -0
  38. data/ext/lib/tk/image.rb +275 -0
  39. data/ext/lib/tk/itemconfig.rb +1215 -0
  40. data/ext/lib/tk/itemfont.rb +327 -0
  41. data/ext/lib/tk/kinput.rb +71 -0
  42. data/ext/lib/tk/label.rb +21 -0
  43. data/ext/lib/tk/labelframe.rb +29 -0
  44. data/ext/lib/tk/listbox.rb +282 -0
  45. data/ext/lib/tk/macpkg.rb +78 -0
  46. data/ext/lib/tk/menu.rb +681 -0
  47. data/ext/lib/tk/menubar.rb +131 -0
  48. data/ext/lib/tk/menuspec.rb +275 -0
  49. data/ext/lib/tk/message.rb +22 -0
  50. data/ext/lib/tk/mngfocus.rb +33 -0
  51. data/ext/lib/tk/msgcat.rb +296 -0
  52. data/ext/lib/tk/namespace.rb +551 -0
  53. data/ext/lib/tk/optiondb.rb +377 -0
  54. data/ext/lib/tk/optionobj.rb +212 -0
  55. data/ext/lib/tk/pack.rb +107 -0
  56. data/ext/lib/tk/package.rb +143 -0
  57. data/ext/lib/tk/palette.rb +55 -0
  58. data/ext/lib/tk/panedwindow.rb +258 -0
  59. data/ext/lib/tk/place.rb +128 -0
  60. data/ext/lib/tk/radiobutton.rb +71 -0
  61. data/ext/lib/tk/root.rb +95 -0
  62. data/ext/lib/tk/scale.rb +111 -0
  63. data/ext/lib/tk/scrollable.rb +82 -0
  64. data/ext/lib/tk/scrollbar.rb +177 -0
  65. data/ext/lib/tk/scrollbox.rb +39 -0
  66. data/ext/lib/tk/selection.rb +86 -0
  67. data/ext/lib/tk/spinbox.rb +119 -0
  68. data/ext/lib/tk/tagfont.rb +43 -0
  69. data/ext/lib/tk/text.rb +1596 -0
  70. data/ext/lib/tk/textimage.rb +88 -0
  71. data/ext/lib/tk/textmark.rb +204 -0
  72. data/ext/lib/tk/texttag.rb +318 -0
  73. data/ext/lib/tk/textwindow.rb +154 -0
  74. data/ext/lib/tk/timer.rb +669 -0
  75. data/ext/lib/tk/toplevel.rb +262 -0
  76. data/ext/lib/tk/ttk_selector.rb +76 -0
  77. data/ext/lib/tk/txtwin_abst.rb +39 -0
  78. data/ext/lib/tk/validation.rb +397 -0
  79. data/ext/lib/tk/variable.rb +1765 -0
  80. data/ext/lib/tk/virtevent.rb +139 -0
  81. data/ext/lib/tk/winfo.rb +392 -0
  82. data/ext/lib/tk/winpkg.rb +153 -0
  83. data/ext/lib/tk/wm.rb +552 -0
  84. data/ext/lib/tk/xim.rb +122 -0
  85. data/ext/lib/tkafter.rb +4 -0
  86. data/ext/lib/tkbgerror.rb +4 -0
  87. data/ext/lib/tkcanvas.rb +4 -0
  88. data/ext/lib/tkclass.rb +47 -0
  89. data/ext/lib/tkconsole.rb +4 -0
  90. data/ext/lib/tkdialog.rb +4 -0
  91. data/ext/lib/tkentry.rb +4 -0
  92. data/ext/lib/tkextlib/ICONS.rb +13 -0
  93. data/ext/lib/tkextlib/ICONS/icons.rb +129 -0
  94. data/ext/lib/tkextlib/ICONS/setup.rb +8 -0
  95. data/ext/lib/tkextlib/SUPPORT_STATUS +196 -0
  96. data/ext/lib/tkextlib/blt.rb +187 -0
  97. data/ext/lib/tkextlib/blt/barchart.rb +79 -0
  98. data/ext/lib/tkextlib/blt/bitmap.rb +112 -0
  99. data/ext/lib/tkextlib/blt/busy.rb +82 -0
  100. data/ext/lib/tkextlib/blt/component.rb +2145 -0
  101. data/ext/lib/tkextlib/blt/container.rb +28 -0
  102. data/ext/lib/tkextlib/blt/cutbuffer.rb +23 -0
  103. data/ext/lib/tkextlib/blt/dragdrop.rb +268 -0
  104. data/ext/lib/tkextlib/blt/eps.rb +32 -0
  105. data/ext/lib/tkextlib/blt/graph.rb +67 -0
  106. data/ext/lib/tkextlib/blt/htext.rb +111 -0
  107. data/ext/lib/tkextlib/blt/setup.rb +8 -0
  108. data/ext/lib/tkextlib/blt/spline.rb +23 -0
  109. data/ext/lib/tkextlib/blt/stripchart.rb +74 -0
  110. data/ext/lib/tkextlib/blt/table.rb +399 -0
  111. data/ext/lib/tkextlib/blt/tabnotebook.rb +110 -0
  112. data/ext/lib/tkextlib/blt/tabset.rb +500 -0
  113. data/ext/lib/tkextlib/blt/ted.rb +65 -0
  114. data/ext/lib/tkextlib/blt/tile.rb +21 -0
  115. data/ext/lib/tkextlib/blt/tile/button.rb +16 -0
  116. data/ext/lib/tkextlib/blt/tile/checkbutton.rb +17 -0
  117. data/ext/lib/tkextlib/blt/tile/frame.rb +16 -0
  118. data/ext/lib/tkextlib/blt/tile/label.rb +16 -0
  119. data/ext/lib/tkextlib/blt/tile/radiobutton.rb +17 -0
  120. data/ext/lib/tkextlib/blt/tile/scrollbar.rb +16 -0
  121. data/ext/lib/tkextlib/blt/tile/toplevel.rb +16 -0
  122. data/ext/lib/tkextlib/blt/tree.rb +1058 -0
  123. data/ext/lib/tkextlib/blt/treeview.rb +1272 -0
  124. data/ext/lib/tkextlib/blt/unix_dnd.rb +135 -0
  125. data/ext/lib/tkextlib/blt/vector.rb +256 -0
  126. data/ext/lib/tkextlib/blt/watch.rb +175 -0
  127. data/ext/lib/tkextlib/blt/win_printer.rb +61 -0
  128. data/ext/lib/tkextlib/blt/winop.rb +107 -0
  129. data/ext/lib/tkextlib/bwidget.rb +151 -0
  130. data/ext/lib/tkextlib/bwidget/arrowbutton.rb +21 -0
  131. data/ext/lib/tkextlib/bwidget/bitmap.rb +21 -0
  132. data/ext/lib/tkextlib/bwidget/button.rb +31 -0
  133. data/ext/lib/tkextlib/bwidget/buttonbox.rb +90 -0
  134. data/ext/lib/tkextlib/bwidget/combobox.rb +51 -0
  135. data/ext/lib/tkextlib/bwidget/dialog.rb +182 -0
  136. data/ext/lib/tkextlib/bwidget/dragsite.rb +31 -0
  137. data/ext/lib/tkextlib/bwidget/dropsite.rb +39 -0
  138. data/ext/lib/tkextlib/bwidget/dynamichelp.rb +63 -0
  139. data/ext/lib/tkextlib/bwidget/entry.rb +43 -0
  140. data/ext/lib/tkextlib/bwidget/label.rb +41 -0
  141. data/ext/lib/tkextlib/bwidget/labelentry.rb +80 -0
  142. data/ext/lib/tkextlib/bwidget/labelframe.rb +52 -0
  143. data/ext/lib/tkextlib/bwidget/listbox.rb +358 -0
  144. data/ext/lib/tkextlib/bwidget/mainframe.rb +128 -0
  145. data/ext/lib/tkextlib/bwidget/messagedlg.rb +192 -0
  146. data/ext/lib/tkextlib/bwidget/notebook.rb +166 -0
  147. data/ext/lib/tkextlib/bwidget/pagesmanager.rb +73 -0
  148. data/ext/lib/tkextlib/bwidget/panedwindow.rb +37 -0
  149. data/ext/lib/tkextlib/bwidget/panelframe.rb +57 -0
  150. data/ext/lib/tkextlib/bwidget/passwddlg.rb +44 -0
  151. data/ext/lib/tkextlib/bwidget/progressbar.rb +20 -0
  152. data/ext/lib/tkextlib/bwidget/progressdlg.rb +58 -0
  153. data/ext/lib/tkextlib/bwidget/scrollableframe.rb +40 -0
  154. data/ext/lib/tkextlib/bwidget/scrolledwindow.rb +38 -0
  155. data/ext/lib/tkextlib/bwidget/scrollview.rb +25 -0
  156. data/ext/lib/tkextlib/bwidget/selectcolor.rb +73 -0
  157. data/ext/lib/tkextlib/bwidget/selectfont.rb +86 -0
  158. data/ext/lib/tkextlib/bwidget/separator.rb +20 -0
  159. data/ext/lib/tkextlib/bwidget/setup.rb +8 -0
  160. data/ext/lib/tkextlib/bwidget/spinbox.rb +98 -0
  161. data/ext/lib/tkextlib/bwidget/statusbar.rb +52 -0
  162. data/ext/lib/tkextlib/bwidget/titleframe.rb +33 -0
  163. data/ext/lib/tkextlib/bwidget/tree.rb +453 -0
  164. data/ext/lib/tkextlib/bwidget/widget.rb +129 -0
  165. data/ext/lib/tkextlib/itcl.rb +13 -0
  166. data/ext/lib/tkextlib/itcl/incr_tcl.rb +178 -0
  167. data/ext/lib/tkextlib/itcl/setup.rb +13 -0
  168. data/ext/lib/tkextlib/itk.rb +13 -0
  169. data/ext/lib/tkextlib/itk/incr_tk.rb +446 -0
  170. data/ext/lib/tkextlib/itk/setup.rb +13 -0
  171. data/ext/lib/tkextlib/iwidgets.rb +94 -0
  172. data/ext/lib/tkextlib/iwidgets/buttonbox.rb +120 -0
  173. data/ext/lib/tkextlib/iwidgets/calendar.rb +125 -0
  174. data/ext/lib/tkextlib/iwidgets/canvasprintbox.rb +53 -0
  175. data/ext/lib/tkextlib/iwidgets/canvasprintdialog.rb +38 -0
  176. data/ext/lib/tkextlib/iwidgets/checkbox.rb +129 -0
  177. data/ext/lib/tkextlib/iwidgets/combobox.rb +104 -0
  178. data/ext/lib/tkextlib/iwidgets/dateentry.rb +20 -0
  179. data/ext/lib/tkextlib/iwidgets/datefield.rb +58 -0
  180. data/ext/lib/tkextlib/iwidgets/dialog.rb +20 -0
  181. data/ext/lib/tkextlib/iwidgets/dialogshell.rb +120 -0
  182. data/ext/lib/tkextlib/iwidgets/disjointlistbox.rb +50 -0
  183. data/ext/lib/tkextlib/iwidgets/entryfield.rb +185 -0
  184. data/ext/lib/tkextlib/iwidgets/extbutton.rb +40 -0
  185. data/ext/lib/tkextlib/iwidgets/extfileselectionbox.rb +46 -0
  186. data/ext/lib/tkextlib/iwidgets/extfileselectiondialog.rb +33 -0
  187. data/ext/lib/tkextlib/iwidgets/feedback.rb +35 -0
  188. data/ext/lib/tkextlib/iwidgets/fileselectionbox.rb +46 -0
  189. data/ext/lib/tkextlib/iwidgets/fileselectiondialog.rb +33 -0
  190. data/ext/lib/tkextlib/iwidgets/finddialog.rb +42 -0
  191. data/ext/lib/tkextlib/iwidgets/hierarchy.rb +365 -0
  192. data/ext/lib/tkextlib/iwidgets/hyperhelp.rb +50 -0
  193. data/ext/lib/tkextlib/iwidgets/labeledframe.rb +39 -0
  194. data/ext/lib/tkextlib/iwidgets/labeledwidget.rb +45 -0
  195. data/ext/lib/tkextlib/iwidgets/mainwindow.rb +67 -0
  196. data/ext/lib/tkextlib/iwidgets/menubar.rb +211 -0
  197. data/ext/lib/tkextlib/iwidgets/messagebox.rb +92 -0
  198. data/ext/lib/tkextlib/iwidgets/messagedialog.rb +20 -0
  199. data/ext/lib/tkextlib/iwidgets/notebook.rb +174 -0
  200. data/ext/lib/tkextlib/iwidgets/optionmenu.rb +92 -0
  201. data/ext/lib/tkextlib/iwidgets/panedwindow.rb +133 -0
  202. data/ext/lib/tkextlib/iwidgets/promptdialog.rb +131 -0
  203. data/ext/lib/tkextlib/iwidgets/pushbutton.rb +35 -0
  204. data/ext/lib/tkextlib/iwidgets/radiobox.rb +120 -0
  205. data/ext/lib/tkextlib/iwidgets/scopedobject.rb +24 -0
  206. data/ext/lib/tkextlib/iwidgets/scrolledcanvas.rb +353 -0
  207. data/ext/lib/tkextlib/iwidgets/scrolledframe.rb +59 -0
  208. data/ext/lib/tkextlib/iwidgets/scrolledhtml.rb +58 -0
  209. data/ext/lib/tkextlib/iwidgets/scrolledlistbox.rb +207 -0
  210. data/ext/lib/tkextlib/iwidgets/scrolledtext.rb +564 -0
  211. data/ext/lib/tkextlib/iwidgets/scrolledwidget.rb +20 -0
  212. data/ext/lib/tkextlib/iwidgets/selectionbox.rb +102 -0
  213. data/ext/lib/tkextlib/iwidgets/selectiondialog.rb +92 -0
  214. data/ext/lib/tkextlib/iwidgets/setup.rb +8 -0
  215. data/ext/lib/tkextlib/iwidgets/shell.rb +38 -0
  216. data/ext/lib/tkextlib/iwidgets/spindate.rb +48 -0
  217. data/ext/lib/tkextlib/iwidgets/spinint.rb +30 -0
  218. data/ext/lib/tkextlib/iwidgets/spinner.rb +169 -0
  219. data/ext/lib/tkextlib/iwidgets/spintime.rb +48 -0
  220. data/ext/lib/tkextlib/iwidgets/tabnotebook.rb +180 -0
  221. data/ext/lib/tkextlib/iwidgets/tabset.rb +144 -0
  222. data/ext/lib/tkextlib/iwidgets/timeentry.rb +25 -0
  223. data/ext/lib/tkextlib/iwidgets/timefield.rb +58 -0
  224. data/ext/lib/tkextlib/iwidgets/toolbar.rb +112 -0
  225. data/ext/lib/tkextlib/iwidgets/watch.rb +56 -0
  226. data/ext/lib/tkextlib/pkg_checker.rb +184 -0
  227. data/ext/lib/tkextlib/setup.rb +8 -0
  228. data/ext/lib/tkextlib/tcllib.rb +90 -0
  229. data/ext/lib/tkextlib/tcllib/README +135 -0
  230. data/ext/lib/tkextlib/tcllib/autoscroll.rb +158 -0
  231. data/ext/lib/tkextlib/tcllib/ctext.rb +160 -0
  232. data/ext/lib/tkextlib/tcllib/cursor.rb +97 -0
  233. data/ext/lib/tkextlib/tcllib/datefield.rb +57 -0
  234. data/ext/lib/tkextlib/tcllib/dialog.rb +84 -0
  235. data/ext/lib/tkextlib/tcllib/getstring.rb +134 -0
  236. data/ext/lib/tkextlib/tcllib/history.rb +73 -0
  237. data/ext/lib/tkextlib/tcllib/ico.rb +116 -0
  238. data/ext/lib/tkextlib/tcllib/ip_entry.rb +66 -0
  239. data/ext/lib/tkextlib/tcllib/panelframe.rb +72 -0
  240. data/ext/lib/tkextlib/tcllib/plotchart.rb +886 -0
  241. data/ext/lib/tkextlib/tcllib/ruler.rb +65 -0
  242. data/ext/lib/tkextlib/tcllib/screenruler.rb +68 -0
  243. data/ext/lib/tkextlib/tcllib/scrollwin.rb +61 -0
  244. data/ext/lib/tkextlib/tcllib/setup.rb +8 -0
  245. data/ext/lib/tkextlib/tcllib/style.rb +61 -0
  246. data/ext/lib/tkextlib/tcllib/superframe.rb +51 -0
  247. data/ext/lib/tkextlib/tcllib/swaplist.rb +150 -0
  248. data/ext/lib/tkextlib/tcllib/tablelist.rb +27 -0
  249. data/ext/lib/tkextlib/tcllib/tablelist_core.rb +782 -0
  250. data/ext/lib/tkextlib/tcllib/tablelist_tile.rb +25 -0
  251. data/ext/lib/tkextlib/tcllib/tkpiechart.rb +314 -0
  252. data/ext/lib/tkextlib/tcllib/tooltip.rb +95 -0
  253. data/ext/lib/tkextlib/tcllib/widget.rb +48 -0
  254. data/ext/lib/tkextlib/tclx.rb +13 -0
  255. data/ext/lib/tkextlib/tclx/setup.rb +8 -0
  256. data/ext/lib/tkextlib/tclx/tclx.rb +74 -0
  257. data/ext/lib/tkextlib/tile.rb +419 -0
  258. data/ext/lib/tkextlib/tile/dialog.rb +96 -0
  259. data/ext/lib/tkextlib/tile/setup.rb +8 -0
  260. data/ext/lib/tkextlib/tile/sizegrip.rb +29 -0
  261. data/ext/lib/tkextlib/tile/style.rb +316 -0
  262. data/ext/lib/tkextlib/tile/tbutton.rb +33 -0
  263. data/ext/lib/tkextlib/tile/tcheckbutton.rb +36 -0
  264. data/ext/lib/tkextlib/tile/tcombobox.rb +54 -0
  265. data/ext/lib/tkextlib/tile/tentry.rb +48 -0
  266. data/ext/lib/tkextlib/tile/tframe.rb +33 -0
  267. data/ext/lib/tkextlib/tile/tlabel.rb +33 -0
  268. data/ext/lib/tkextlib/tile/tlabelframe.rb +36 -0
  269. data/ext/lib/tkextlib/tile/tmenubutton.rb +36 -0
  270. data/ext/lib/tkextlib/tile/tnotebook.rb +139 -0
  271. data/ext/lib/tkextlib/tile/tpaned.rb +231 -0
  272. data/ext/lib/tkextlib/tile/tprogressbar.rb +56 -0
  273. data/ext/lib/tkextlib/tile/tradiobutton.rb +36 -0
  274. data/ext/lib/tkextlib/tile/treeview.rb +1239 -0
  275. data/ext/lib/tkextlib/tile/tscale.rb +53 -0
  276. data/ext/lib/tkextlib/tile/tscrollbar.rb +54 -0
  277. data/ext/lib/tkextlib/tile/tseparator.rb +33 -0
  278. data/ext/lib/tkextlib/tile/tsquare.rb +30 -0
  279. data/ext/lib/tkextlib/tkDND.rb +18 -0
  280. data/ext/lib/tkextlib/tkDND/setup.rb +8 -0
  281. data/ext/lib/tkextlib/tkDND/shape.rb +125 -0
  282. data/ext/lib/tkextlib/tkDND/tkdnd.rb +182 -0
  283. data/ext/lib/tkextlib/tkHTML.rb +13 -0
  284. data/ext/lib/tkextlib/tkHTML/htmlwidget.rb +453 -0
  285. data/ext/lib/tkextlib/tkHTML/setup.rb +8 -0
  286. data/ext/lib/tkextlib/tkimg.rb +36 -0
  287. data/ext/lib/tkextlib/tkimg/README +26 -0
  288. data/ext/lib/tkextlib/tkimg/bmp.rb +33 -0
  289. data/ext/lib/tkextlib/tkimg/gif.rb +33 -0
  290. data/ext/lib/tkextlib/tkimg/ico.rb +33 -0
  291. data/ext/lib/tkextlib/tkimg/jpeg.rb +33 -0
  292. data/ext/lib/tkextlib/tkimg/pcx.rb +33 -0
  293. data/ext/lib/tkextlib/tkimg/pixmap.rb +44 -0
  294. data/ext/lib/tkextlib/tkimg/png.rb +33 -0
  295. data/ext/lib/tkextlib/tkimg/ppm.rb +33 -0
  296. data/ext/lib/tkextlib/tkimg/ps.rb +33 -0
  297. data/ext/lib/tkextlib/tkimg/setup.rb +8 -0
  298. data/ext/lib/tkextlib/tkimg/sgi.rb +33 -0
  299. data/ext/lib/tkextlib/tkimg/sun.rb +33 -0
  300. data/ext/lib/tkextlib/tkimg/tga.rb +33 -0
  301. data/ext/lib/tkextlib/tkimg/tiff.rb +33 -0
  302. data/ext/lib/tkextlib/tkimg/window.rb +33 -0
  303. data/ext/lib/tkextlib/tkimg/xbm.rb +33 -0
  304. data/ext/lib/tkextlib/tkimg/xpm.rb +33 -0
  305. data/ext/lib/tkextlib/tktable.rb +14 -0
  306. data/ext/lib/tkextlib/tktable/setup.rb +8 -0
  307. data/ext/lib/tkextlib/tktable/tktable.rb +957 -0
  308. data/ext/lib/tkextlib/tktrans.rb +14 -0
  309. data/ext/lib/tkextlib/tktrans/setup.rb +8 -0
  310. data/ext/lib/tkextlib/tktrans/tktrans.rb +64 -0
  311. data/ext/lib/tkextlib/treectrl.rb +13 -0
  312. data/ext/lib/tkextlib/treectrl/setup.rb +8 -0
  313. data/ext/lib/tkextlib/treectrl/tktreectrl.rb +2461 -0
  314. data/ext/lib/tkextlib/trofs.rb +13 -0
  315. data/ext/lib/tkextlib/trofs/setup.rb +8 -0
  316. data/ext/lib/tkextlib/trofs/trofs.rb +51 -0
  317. data/ext/lib/tkextlib/version.rb +6 -0
  318. data/ext/lib/tkextlib/vu.rb +48 -0
  319. data/ext/lib/tkextlib/vu/bargraph.rb +61 -0
  320. data/ext/lib/tkextlib/vu/charts.rb +53 -0
  321. data/ext/lib/tkextlib/vu/dial.rb +102 -0
  322. data/ext/lib/tkextlib/vu/pie.rb +282 -0
  323. data/ext/lib/tkextlib/vu/setup.rb +8 -0
  324. data/ext/lib/tkextlib/vu/spinbox.rb +22 -0
  325. data/ext/lib/tkextlib/winico.rb +14 -0
  326. data/ext/lib/tkextlib/winico/setup.rb +8 -0
  327. data/ext/lib/tkextlib/winico/winico.rb +224 -0
  328. data/ext/lib/tkfont.rb +4 -0
  329. data/ext/lib/tkmacpkg.rb +4 -0
  330. data/ext/lib/tkmenubar.rb +4 -0
  331. data/ext/lib/tkmngfocus.rb +4 -0
  332. data/ext/lib/tkpalette.rb +4 -0
  333. data/ext/lib/tkscrollbox.rb +4 -0
  334. data/ext/lib/tktext.rb +4 -0
  335. data/ext/lib/tkvirtevent.rb +4 -0
  336. data/ext/lib/tkwinpkg.rb +4 -0
  337. data/ext/old-README.tcltklib.eucj +159 -0
  338. data/ext/stubs.c +531 -0
  339. data/ext/stubs.h +33 -0
  340. data/ext/tcltklib.c +10155 -0
  341. data/ext/tkutil/.cvsignore +3 -0
  342. data/ext/tkutil/depend +1 -0
  343. data/ext/tkutil/extconf.rb +14 -0
  344. data/ext/tkutil/tkutil.c +1789 -0
  345. metadata +418 -0
@@ -0,0 +1,86 @@
1
+ #
2
+ # tkextlib/bwidget/selectfont.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/messagedlg'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class SelectFont < Tk::BWidget::MessageDlg
13
+ class Dialog < Tk::BWidget::SelectFont
14
+ end
15
+ class Toolbar < TkWindow
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ class Tk::BWidget::SelectFont
22
+ extend Tk
23
+
24
+ TkCommandNames = ['SelectFont'.freeze].freeze
25
+ WidgetClassName = 'SelectFont'.freeze
26
+ WidgetClassNames[WidgetClassName] = self
27
+
28
+ def __strval_optkeys
29
+ super() << 'sampletext' << 'title'
30
+ end
31
+ private :__strval_optkeys
32
+
33
+ def __font_optkeys
34
+ [] # without fontobj operation
35
+ end
36
+ private :__font_optkeys
37
+
38
+ def create
39
+ tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys))
40
+ end
41
+
42
+ def self.load_font
43
+ tk_call('SelectFont::loadfont')
44
+ end
45
+ end
46
+
47
+ class Tk::BWidget::SelectFont::Dialog
48
+ def __font_optkeys
49
+ [] # without fontobj operation
50
+ end
51
+
52
+ def create_self(keys)
53
+ super(keys)
54
+ @keys['type'] = 'dialog'
55
+ end
56
+
57
+ def configure(slot, value=None)
58
+ if slot.kind_of?(Hash)
59
+ slot.delete['type']
60
+ slot.delete[:type]
61
+ return self if slot.empty?
62
+ else
63
+ return self if slot == 'type' || slot == :type
64
+ end
65
+ super(slot, value)
66
+ end
67
+
68
+ def create
69
+ @keys['type'] = 'dialog' # 'dialog' type returns font name
70
+ tk_call(Tk::BWidget::SelectFont::TkCommandNames[0], @path, *hash_kv(@keys))
71
+ end
72
+ end
73
+
74
+ class Tk::BWidget::SelectFont::Toolbar
75
+ def __font_optkeys
76
+ [] # without fontobj operation
77
+ end
78
+
79
+ def create_self(keys)
80
+ keys = {} unless keys
81
+ keys = _symbolkey2str(keys)
82
+ keys['type'] = 'toolbar' # 'toolbar' type returns widget path
83
+ window(tk_call(Tk::BWidget::SelectFont::TkCommandNames[0],
84
+ @path, *hash_kv(keys)))
85
+ end
86
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # tkextlib/bwidget/separator.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+
9
+ module Tk
10
+ module BWidget
11
+ class Separator < TkWindow
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::BWidget::Separator
17
+ TkCommandNames = ['Separator'.freeze].freeze
18
+ WidgetClassName = 'Separator'.freeze
19
+ WidgetClassNames[WidgetClassName] = self
20
+ end
@@ -0,0 +1,8 @@
1
+ #
2
+ # setup.rb -- setup script before calling TkPackage.require()
3
+ #
4
+ # If you need some setup operations (for example, add a library path
5
+ # to the library search path) before using Tcl/Tk library packages
6
+ # wrapped by Ruby scripts in this directory, please write the setup
7
+ # operations in this file.
8
+ #
@@ -0,0 +1,98 @@
1
+ #
2
+ # tkextlib/bwidget/entry.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/arrowbutton'
9
+ require 'tkextlib/bwidget/entry'
10
+
11
+ module Tk
12
+ module BWidget
13
+ class SpinBox < Tk::Entry
14
+ end
15
+ end
16
+ end
17
+
18
+ class Tk::BWidget::SpinBox
19
+ include Scrollable
20
+
21
+ TkCommandNames = ['SpinBox'.freeze].freeze
22
+ WidgetClassName = 'SpinBox'.freeze
23
+ WidgetClassNames[WidgetClassName] = self
24
+
25
+ def __strval_optkeys
26
+ super() << 'helptext' << 'insertbackground' << 'entryfg' << 'entrybg'
27
+ end
28
+ private :__strval_optkeys
29
+
30
+ def __boolval_optkeys
31
+ super() << 'dragenabled' << 'dropenabled' << 'editable'
32
+ end
33
+ private :__boolval_optkeys
34
+
35
+ def __listval_optkeys
36
+ super() << 'values'
37
+ end
38
+ private :__listval_optkeys
39
+
40
+ def __tkvariable_optkeys
41
+ super() << 'helpvar'
42
+ end
43
+ private :__tkvariable_optkeys
44
+
45
+ #def entrybind(*args)
46
+ # _bind([path, 'bind'], *args)
47
+ # self
48
+ #end
49
+ def entrybind(context, *args)
50
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
51
+ if TkComm._callback_entry?(args[0]) || !block_given?
52
+ cmd = args.shift
53
+ else
54
+ cmd = Proc.new
55
+ end
56
+ _bind([path, 'bind'], context, cmd, *args)
57
+ self
58
+ end
59
+
60
+ #def entrybind_append(*args)
61
+ # _bind_append([path, 'bind'], *args)
62
+ # self
63
+ #end
64
+ def entrybind_append(context, *args)
65
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
66
+ if TkComm._callback_entry?(args[0]) || !block_given?
67
+ cmd = args.shift
68
+ else
69
+ cmd = Proc.new
70
+ end
71
+ _bind_append([path, 'bind'], context, cmd, *args)
72
+ self
73
+ end
74
+
75
+ def entrybind_remove(*args)
76
+ _bind_remove([path, 'bind'], *args)
77
+ self
78
+ end
79
+
80
+ def entrybindinfo(*args)
81
+ _bindinfo([path, 'bind'], *args)
82
+ self
83
+ end
84
+
85
+ def get_index_of_value
86
+ number(tk_send_without_enc('getvalue'))
87
+ end
88
+ alias get_value get_index_of_value
89
+ alias get_value_index get_index_of_value
90
+
91
+ def set_value_by_index(idx)
92
+ idx = "@#{idx}" if idx.kind_of?(Integer)
93
+ tk_send_without_enc('setvalue', idx)
94
+ self
95
+ end
96
+ alias set_value set_value_by_index
97
+ alias set_index_value set_value_by_index
98
+ end
@@ -0,0 +1,52 @@
1
+ #
2
+ # tkextlib/bwidget/statusbar.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class StatusBar < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::StatusBar
18
+ TkCommandNames = ['StatusBar'.freeze].freeze
19
+ WidgetClassName = 'StatusBar'.freeze
20
+ WidgetClassNames[WidgetClassName] = self
21
+
22
+ def __boolval_optkeys
23
+ super() << 'showresize'
24
+ end
25
+ private :__boolval_optkeys
26
+
27
+ def add(win, keys={})
28
+ tk_send('add', win, keys)
29
+ self
30
+ end
31
+
32
+ def delete(*wins)
33
+ tk_send('delete', *wins)
34
+ self
35
+ end
36
+
37
+ def get_frame(&b)
38
+ win = window(tk_send_without_enc('getframe'))
39
+ if b
40
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
41
+ win.instance_exec(self, &b)
42
+ else
43
+ win.instance_eval(&b)
44
+ end
45
+ end
46
+ win
47
+ end
48
+
49
+ def items
50
+ list(tk_send('items'))
51
+ end
52
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # tkextlib/bwidget/titleframe.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class TitleFrame < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::TitleFrame
18
+ TkCommandNames = ['TitleFrame'.freeze].freeze
19
+ WidgetClassName = 'TitleFrame'.freeze
20
+ WidgetClassNames[WidgetClassName] = self
21
+
22
+ def get_frame(&b)
23
+ win = window(tk_send_without_enc('getframe'))
24
+ if b
25
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
26
+ win.instance_exec(self, &b)
27
+ else
28
+ win.instance_eval(&b)
29
+ end
30
+ end
31
+ win
32
+ end
33
+ end
@@ -0,0 +1,453 @@
1
+ #
2
+ # tkextlib/bwidget/tree.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/canvas'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class Tree < TkWindow
13
+ class Node < TkObject
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ class Tk::BWidget::Tree
20
+ include TkItemConfigMethod
21
+ include Scrollable
22
+
23
+ TkCommandNames = ['Tree'.freeze].freeze
24
+ WidgetClassName = 'Tree'.freeze
25
+ WidgetClassNames[WidgetClassName] = self
26
+
27
+ class Event_for_Items < TkEvent::Event
28
+ def self._get_extra_args_tbl
29
+ [
30
+ TkComm.method(:string) # item idenfier
31
+ ]
32
+ end
33
+ end
34
+
35
+ def __strval_optkeys
36
+ super() << 'crossfill' << 'linesfill'
37
+ end
38
+ private :__strval_optkeys
39
+
40
+ def __boolval_optkeys
41
+ super() << 'dragenabled' << 'dropenabled' <<
42
+ 'redraw' << 'selectfill' << 'showlines'
43
+ end
44
+ private :__boolval_optkeys
45
+
46
+ def __tkvariable_optkeys
47
+ super() << 'helpvar'
48
+ end
49
+ private :__tkvariable_optkeys
50
+
51
+ def tagid(tag)
52
+ if tag.kind_of?(Tk::BWidget::Tree::Node)
53
+ tag.id
54
+ else
55
+ # tag
56
+ _get_eval_string(tag)
57
+ end
58
+ end
59
+
60
+ #def imagebind(*args)
61
+ # _bind_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
62
+ # self
63
+ #end
64
+ def imagebind(context, *args)
65
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
66
+ if TkComm._callback_entry?(args[0]) || !block_given?
67
+ cmd = args.shift
68
+ else
69
+ cmd = Proc.new
70
+ end
71
+ _bind_for_event_class(Event_for_Items, [path, 'bindImage'],
72
+ context, cmd, *args)
73
+ self
74
+ end
75
+
76
+ #def imagebind_append(*args)
77
+ # _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
78
+ # self
79
+ #end
80
+ def imagebind_append(context, *args)
81
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
82
+ if TkComm._callback_entry?(args[0]) || !block_given?
83
+ cmd = args.shift
84
+ else
85
+ cmd = Proc.new
86
+ end
87
+ _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'],
88
+ context, cmd, *args)
89
+ self
90
+ end
91
+
92
+ def imagebind_remove(*args)
93
+ _bind_remove_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
94
+ self
95
+ end
96
+
97
+ def imagebindinfo(*args)
98
+ _bindinfo_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
99
+ end
100
+
101
+ #def textbind(*args)
102
+ # _bind_for_event_class(Event_for_Items, [path, 'bindText'], *args)
103
+ # self
104
+ #end
105
+ def textbind(context, *args)
106
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
107
+ if TkComm._callback_entry?(args[0]) || !block_given?
108
+ cmd = args.shift
109
+ else
110
+ cmd = Proc.new
111
+ end
112
+ _bind_for_event_class(Event_for_Items, [path, 'bindText'],
113
+ context, cmd, *args)
114
+ self
115
+ end
116
+
117
+ #def textbind_append(*args)
118
+ # _bind_append_for_event_class(Event_for_Items, [path, 'bindText'], *args)
119
+ # self
120
+ #end
121
+ def textbind_append(context, *args)
122
+ #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
123
+ if TkComm._callback_entry?(args[0]) || !block_given?
124
+ cmd = args.shift
125
+ else
126
+ cmd = Proc.new
127
+ end
128
+ _bind_append_for_event_class(Event_for_Items, [path, 'bindText'],
129
+ context, cmd, *args)
130
+ self
131
+ end
132
+
133
+ def textbind_remove(*args)
134
+ _bind_remove_for_event_class(Event_for_Items, [path, 'bindText'], *args)
135
+ self
136
+ end
137
+
138
+ def textbindinfo(*args)
139
+ _bindinfo_for_event_class(Event_for_Items, [path, 'bindText'], *args)
140
+ end
141
+
142
+ def close_tree(node, recurse=None)
143
+ tk_send('closetree', tagid(node), recurse)
144
+ self
145
+ end
146
+
147
+ def delete(*args)
148
+ tk_send('delete', *(args.collect{|node| tagid(node)}))
149
+ self
150
+ end
151
+
152
+ def edit(node, text, *args)
153
+ tk_send('edit', tagid(node), text, *args)
154
+ self
155
+ end
156
+
157
+ def exist?(node)
158
+ bool(tk_send('exists', tagid(node)))
159
+ end
160
+
161
+ def index(node)
162
+ num_or_str(tk_send('index', tagid(node)))
163
+ end
164
+
165
+ def insert(idx, parent, node, keys={})
166
+ tk_send('insert', idx, tagid(parent), tagid(node), *hash_kv(keys))
167
+ self
168
+ end
169
+
170
+ def move(parent, node, idx)
171
+ tk_send('move', tagid(parent), tagid(node), idx)
172
+ self
173
+ end
174
+
175
+ def get_node(node, idx)
176
+ Tk::BWidget::Tree::Node.id2obj(self, tk_send('nodes', tagid(node), idx))
177
+ end
178
+
179
+ def nodes(node, first=None, last=None)
180
+ simplelist(tk_send('nodes', tagid(node), first, last)).collect{|node|
181
+ Tk::BWidget::Tree::Node.id2obj(self, node)
182
+ }
183
+ end
184
+
185
+ def open?(node)
186
+ bool(@tree.itemcget(tagid(node), 'open'))
187
+ end
188
+
189
+ def open_tree(node, recurse=None)
190
+ tk_send('opentree', tagid(node), recurse)
191
+ self
192
+ end
193
+
194
+ def parent(node)
195
+ Tk::BWidget::Tree::Node.id2obj(self, tk_send('parent', tagid(node)))
196
+ end
197
+
198
+ def reorder(node, neworder)
199
+ tk_send('reorder', tagid(node), neworder)
200
+ self
201
+ end
202
+
203
+ def see(node)
204
+ tk_send('see', tagid(node))
205
+ self
206
+ end
207
+
208
+ def selection_add(*args)
209
+ tk_send_without_enc('selection', 'add',
210
+ *(args.collect{|node| tagid(node)}))
211
+ self
212
+ end
213
+
214
+ def selection_clear
215
+ tk_send_without_enc('selection', 'clear')
216
+ self
217
+ end
218
+
219
+ def selection_get
220
+ list(tk_send_without_enc('selection', 'get'))
221
+ end
222
+
223
+ def selection_include?(*args)
224
+ bool(tk_send_without_enc('selection', 'get',
225
+ *(args.collect{|node| tagid(node)})))
226
+ end
227
+
228
+ def selection_range(*args)
229
+ tk_send_without_enc('selection', 'range',
230
+ *(args.collect{|node| tagid(node)}))
231
+ self
232
+ end
233
+
234
+ def selection_remove(*args)
235
+ tk_send_without_enc('selection', 'remove',
236
+ *(args.collect{|node| tagid(node)}))
237
+ self
238
+ end
239
+
240
+ def selection_set(*args)
241
+ tk_send_without_enc('selection', 'set',
242
+ *(args.collect{|node| tagid(node)}))
243
+ self
244
+ end
245
+
246
+ def selection_toggle(*args)
247
+ tk_send_without_enc('selection', 'toggle',
248
+ *(args.collect{|node| tagid(node)}))
249
+ self
250
+ end
251
+
252
+ def toggle(node)
253
+ tk_send_without_enc('toggle', tagid(node))
254
+ self
255
+ end
256
+
257
+ def visible(node)
258
+ bool(tk_send_without_enc('visible', tagid(node)))
259
+ end
260
+ end
261
+
262
+ class Tk::BWidget::Tree::Node
263
+ include TkTreatTagFont
264
+
265
+ TreeNode_TBL = TkCore::INTERP.create_table
266
+
267
+ (TreeNode_ID = ['bw:node'.freeze, '00000'.taint]).instance_eval{
268
+ @mutex = Mutex.new
269
+ def mutex; @mutex; end
270
+ freeze
271
+ }
272
+
273
+ TkCore::INTERP.init_ip_env{
274
+ TreeNode_TBL.mutex.synchronize{ TreeNode_TBL.clear }
275
+ }
276
+
277
+ def self.id2obj(tree, id)
278
+ tpath = tree.path
279
+ TreeNode_TBL.mutex.synchronize{
280
+ if TreeNode_TBL[tpath]
281
+ TreeNode_TBL[tpath][id]? TreeNode_TBL[tpath][id]: id
282
+ else
283
+ id
284
+ end
285
+ }
286
+ end
287
+
288
+ def initialize(tree, *args)
289
+ if tree.kind_of?(Tk::BWidget::Tree)
290
+ @tree = tree
291
+ parent = args.shift
292
+ if parent.kind_of?(Tk::BWidget::Tree::Node)
293
+ if parent.tree.path != @tree.path
294
+ fail RuntimeError, 'tree of parent node is not match'
295
+ end
296
+ end
297
+ elsif tree.kind_of?(Tk::BWidget::Tree::Node)
298
+ @tree = tree.tree
299
+ parent = tree.parent
300
+ else
301
+ fail RuntimeError,
302
+ "expect Tk::BWidget::Tree or Tk::BWidget::Tree::Node for 1st argument"
303
+ end
304
+
305
+ if args[-1].kind_of?(Hash)
306
+ keys = _symbolkey2str(args.pop)
307
+ else
308
+ keys = {}
309
+ end
310
+
311
+ index = keys.delete('index')
312
+ unless args.empty?
313
+ index = args.shift
314
+ end
315
+ index = 'end' unless index
316
+
317
+ unless args.empty?
318
+ fail RuntimeError, 'too much arguments'
319
+ end
320
+
321
+ @tpath = @tree.path
322
+
323
+ if keys.key?('nodename')
324
+ @path = @id = keys.delete('nodename')
325
+ else
326
+ TreeNode_ID.mutex.synchronize{
327
+ @path = @id = TreeNode_ID.join(TkCore::INTERP._ip_id_)
328
+ TreeNode_ID[1].succ!
329
+ }
330
+ end
331
+
332
+ TreeNode_TBL.mutex.synchronize{
333
+ TreeNode_TBL[@id] = self
334
+ TreeNode_TBL[@tpath] = {} unless TreeNode_TBL[@tpath]
335
+ TreeNode_TBL[@tpath][@id] = self
336
+ }
337
+
338
+ @tree.insert(index, parent, @id, keys)
339
+ end
340
+
341
+ def tree
342
+ @tree
343
+ end
344
+
345
+ def id
346
+ @id
347
+ end
348
+
349
+ def [](key)
350
+ cget(key)
351
+ end
352
+
353
+ def []=(key, val)
354
+ configure(key, val)
355
+ val
356
+ end
357
+
358
+ def cget(key)
359
+ @tree.itemcget(@id, key)
360
+ end
361
+ def cget_strict(key)
362
+ @tree.itemcget_strict(@id, key)
363
+ end
364
+
365
+ def configure(key, val=None)
366
+ @tree.itemconfigure(@id, key, val)
367
+ end
368
+
369
+ def configinfo(key=nil)
370
+ @tree.itemconfiginfo(@id, key)
371
+ end
372
+
373
+ def current_configinfo(key=nil)
374
+ @tree.current_itemconfiginfo(@id, key)
375
+ end
376
+
377
+ def close_tree(recurse=None)
378
+ @tree.close_tree(@id, recurse)
379
+ self
380
+ end
381
+
382
+ def delete
383
+ @tree.delete(@id)
384
+ self
385
+ end
386
+
387
+ def edit(*args)
388
+ @tree.edit(@id, *args)
389
+ self
390
+ end
391
+
392
+ def exist?
393
+ @tree.exist?(@id)
394
+ end
395
+
396
+ def index
397
+ @tree.index(@id)
398
+ end
399
+
400
+ def move(index, parent=nil)
401
+ if parent
402
+ @tree.move(parent, @id, index)
403
+ else
404
+ @tree.move(self.parent, @id, index)
405
+ end
406
+ end
407
+
408
+ def open_tree(recurse=None)
409
+ @tree.open_tree(@id, recurse)
410
+ self
411
+ end
412
+
413
+ def open?
414
+ bool(@tree.itemcget(@id, 'open'))
415
+ end
416
+
417
+ def parent
418
+ @tree.parent(@id)
419
+ end
420
+
421
+ def reorder(neworder)
422
+ @tree.reorder(@id, neworder)
423
+ end
424
+
425
+ def see
426
+ @tree.see(@id)
427
+ end
428
+
429
+ def selection_add
430
+ @tree.selection_add(@id)
431
+ end
432
+
433
+ def selection_remove
434
+ @tree.selection_remove(@id)
435
+ end
436
+
437
+ def selection_set
438
+ @tree.selection_set(@id)
439
+ end
440
+
441
+ def selection_toggle
442
+ @tree.selection_toggle(@id)
443
+ end
444
+
445
+ def toggle
446
+ @tree.toggle(@id)
447
+ end
448
+
449
+ def visible
450
+ @tree.visible(@id)
451
+ end
452
+ end
453
+