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,469 @@
1
+ (tof)
2
+ 2005/07/05 Hidetoshi NAGAI
3
+
4
+ This document discribes about the 'tcltklib' library. Although there
5
+ is the 'tcltk' library (tcltk.rb) under this directory, no description
6
+ in this document (because it is not maintained recently).
7
+
8
+ ==============================================================
9
+ module TclTklib
10
+ : Defines methods to do operations which are independed on
11
+ : Tcl/Tk interpreters
12
+
13
+ module TclTkLib::EventFlag
14
+ : Defines flags to define taget events on 'do_one_event' methos.
15
+ : When to give, please use bit-operator (e.g. WINDOW | DONT_WAIT).
16
+
17
+ [constants]
18
+ NONE
19
+ : Is 0. It means "there is no target". But on the real
20
+ : operation, it is same to ALL.
21
+
22
+ WINDOW
23
+ : 'window' event is processed.
24
+
25
+ FILE
26
+ : 'file' event is processed.
27
+
28
+ TIMER
29
+ : 'timer' event is processed.
30
+
31
+ IDLE
32
+ : 'idle' operation (e.g. 're-draw'; the operations when the
33
+ : other kinds of events doesn't occur) is processed.
34
+
35
+ ALL
36
+ : All kinds of events are processed.
37
+ : Same to 'WINDOW | FILE | TIMER | IDLE'.
38
+
39
+ DONT_WAIT
40
+ : Without this flag, 'do_one_event' waits the occurence of
41
+ : a target event. With this flag, doesn't wait and returns
42
+ : false if there is no target event for processing.
43
+
44
+ module TclTkLib::VarAccessFlag
45
+ : Defines flags to give '_get_variable' and so on. When to give,
46
+ : please use bit-operator (e.g. GLOBAL_ONLY | LEAVE_ERR_MSG ).
47
+
48
+ [constants]
49
+ NONE
50
+ : Is 0. It means "set no flag".
51
+
52
+ GLOBAL_ONLY
53
+ : (site Tcl/Tk's man page)
54
+ : Under normal circumstances the procedures look up
55
+ : variables as follows: If a procedure call is active
56
+ : in interp, a variable is looked up at the current
57
+ : level of procedure call. Otherwise, a variable is
58
+ : looked up first in the current namespace, then in
59
+ : the global namespace. However, if this bit is set
60
+ : in flags then the variable is looked up only in the
61
+ : global namespace even if there is a procedure call
62
+ : active. If both GLOBAL_ONLY and NAMESPACE_ONLY are
63
+ : given, GLOBAL_ONLY is ignored.
64
+ :
65
+ : *** ATTENTION ***
66
+ : Tcl7.6 doesn't have namespaces. So NAMESPACE_ONLY
67
+ : is defined as 0, and then GLOBAL_ONLY is available
68
+ : even if flag is (GLOBAL_ONLY | NAMESPACE_ONLY).
69
+
70
+ NAMESPACE_ONLY
71
+ : (site Tcl/Tk's man page)
72
+ : Under normal circumstances the procedures look up
73
+ : variables as follows: If a procedure call is active
74
+ : in interp, a variable is looked up at the current
75
+ : level of procedure call. Otherwise, a variable is
76
+ : looked up first in the current namespace, then in
77
+ : the global namespace. However, if this bit is set
78
+ : in flags then the variable is looked up only in the
79
+ : current namespace even if there is a procedure call
80
+ : active.
81
+ :
82
+ : *** ATTENTION ***
83
+ : Tcl7.6 doesn't have namespaces. So NAMESPACE_ONLY
84
+ : is defined as 0.
85
+
86
+ LEAVE_ERR_MSG
87
+ : (site Tcl/Tk's man page)
88
+ : If an error is returned and this bit is set in flags,
89
+ : then an error message will be left in the interpreter's
90
+ : result, where it can be retrieved with Tcl_GetObjResult
91
+ : or Tcl_GetStringResult. If this flag bit isn't set then
92
+ : no error message is left and the interpreter's result
93
+ : will not be modified.
94
+
95
+ APPEND_VALUE
96
+ : (site Tcl/Tk's man page)
97
+ : If this bit is set then newValue is appended to the
98
+ : current value, instead of replacing it. If the variable
99
+ : is currently undefined, then this bit is ignored.
100
+
101
+ LIST_ELEMENT
102
+ : (site Tcl/Tk's man page)
103
+ : If this bit is set, then newValue is converted to a
104
+ : valid Tcl list element before setting (or appending
105
+ : to) the variable. A separator space is appended before
106
+ : the new list element unless the list element is going
107
+ : to be the first element in a list or sublist (i.e. the
108
+ : variable's current value is empty, or contains the
109
+ : single character ``{'', or ends in `` }'').
110
+
111
+ PARSE_VARNAME
112
+ : (site Tcl/Tk's man page)
113
+ : If this bit is set when calling _set_variable and so
114
+ : on, var_name argument may contain both an array and an
115
+ : element name: if the name contains an open parenthesis
116
+ : and ends with a close parenthesis, then the value
117
+ : between the parentheses is treated as an element name
118
+ : (which can have any string value) and the characters
119
+ : before the first open parenthesis are treated as the
120
+ : name of an array variable. If the flag PARSE_VARNAME
121
+ : is given, index_name argument should be 'nil' since the
122
+ : array and element names are taken from var_name.
123
+ :
124
+ : *** ATTENTION ***
125
+ : Tcl7.6 doesn't have this flag. So PARSE_VARNAME is
126
+ : defined as 0.
127
+
128
+ module TclTkLib::RELEASE_TYPE
129
+ : Defines release type number of Tcl/Tk
130
+
131
+ ALPHA
132
+ : ALPHA release
133
+
134
+ BETA
135
+ : BETA release
136
+
137
+ FINAL
138
+ : FINAL release
139
+
140
+ [module methods]
141
+ get_version()
142
+ : return an array of major, minor, release-type number,
143
+ : number, release-type name, and patchlevel of current
144
+ : Tcl/Tk library.
145
+
146
+ mainloop(check_root = true)
147
+ : Starts the eventloop. If 'check_root' is true, this method
148
+ : doesn't return when a root widget exists.
149
+ : If 'check_root' is false, doen't return by the other
150
+ : reasons than exceptions.
151
+
152
+ mainloop_thread?
153
+ : Returns whether the current thread executes the eventloop.
154
+ : If true, the eventloop is working on the current thread.
155
+ : If no eventloop is working, this method returns nil.
156
+ : And if the other thread executes the eventloop, returns false.
157
+ :
158
+ : *** ATTENTION ***
159
+ : When this methods returns false, it is dangerous to call a Tk
160
+ : interpreter directly.
161
+
162
+ mainloop_watchdog(check_root = true)
163
+ : On the normal eventloop, some kinds of callback operations
164
+ : cause deadlock. To avoid some of such deadlocks, this
165
+ : method starts an eventloop and a watchdog-thread.
166
+
167
+ do_one_event(flag = TclTkLib::EventFlag::ALL |
168
+ TclTkLib::EventFlag::DONT_WAIT)
169
+ : Do one event for processing. When processed an event,
170
+ : returns true.
171
+ : If NOT set DONT_WAIT flag, this method waits occurrence of
172
+ : a target event.
173
+ : If set DONT_WAIT flag and no event for processing, returns
174
+ : false immediately.
175
+ : If $SAFE >= 4, or $SAFE >= 1 and the flag is tainted,
176
+ : force to set DONT_WAIT flag.
177
+
178
+ set_eventloop_tick(timer_tick)
179
+ : Define the interval of thread-switching with an integer
180
+ : value of mili-seconds.
181
+ : Default timer_tick is 0. It means that thread-switching
182
+ : is based on the count of processed events.
183
+ : ( see 'set_eventloop_weight' method )
184
+ : However, if the eventloop thread is the only thread,
185
+ : timer_tick cannt be set to 0. If 0, then is set to 100 ms
186
+ : automatically (see NO_THREAD_INTERRUPT_TIME on tcltklib.c).
187
+ : On $SAFE >= 4, cannot call this method.
188
+
189
+ get_eventloop_tick
190
+ : Get current value of 'timer_tick'
191
+
192
+ set_no_event_wait(no_event_wait)
193
+ : Define sleeping time of the eventloop when two or more
194
+ : thread are running and there is no event for processing.
195
+ : Default value is 20 (ms).
196
+ : If the eventloop thread is the only thread, this value is
197
+ : invalid.
198
+ : On $SAFE >= 4, cannot call this method.
199
+
200
+ get_no_event_wait
201
+ : Get current value of 'no_event_wait'.
202
+
203
+ set_eventloop_weight(loop_max, no_event_tick)
204
+ : Define the weight parameters for the eventloop thread.
205
+ : That is invalid when the eventloop is the only thread.
206
+ : 'loop_max' is the max events for thread-switching.
207
+ : 'no_event_tick' is the increment value of the event count
208
+ : when no event for processing (And then, the eventloop thead
209
+ : sleeps 'no_event_wait' mili-seconds).
210
+ : 'loop_max == 800' and 'no_event_tick == 10' are defalut.
211
+ : On $SAFE >= 4, cannot call this method.
212
+
213
+ get_eventloop_weight
214
+ : Get current values of 'loop_max' and 'no_event_tick'.
215
+
216
+ mainloop_abort_on_exception=(bool)
217
+ : Define whether the eventloop stops on exception or not.
218
+ : If true (default value), stops on exception.
219
+ : If false, show a warinig message but ignore the exception.
220
+ : If nil, no warning message and ignore the excepsion.
221
+ : This parameter is sometimes useful when multiple Tk
222
+ : interpreters are working. Because the only one eventloop
223
+ : admins all Tk interpreters, sometimes exception on a
224
+ : interpreter kills the eventloop thread. Even if such
225
+ : situation, when abort_on_exception == false or nil,
226
+ : the eventloop ignores the exception and continue to working.
227
+ : On $SAFE >= 4, cannot call this method.
228
+
229
+ mainloop_abort_on_exception
230
+ : Get current status of that.
231
+
232
+ num_of_mainwindows
233
+ : Returns the number of main-windows (root-widget).
234
+ : Because there is only one main-window for one Tk interpreter,
235
+ : the value is same to the number of interpreters which has
236
+ : available Tk functions.
237
+
238
+ _merge_tklist(str, str, ... )
239
+ : Get a Tcl's list string from arguments with a Tcl/Tk's
240
+ : library function. Each arguemnt is converted to a valid
241
+ : Tcl list element.
242
+
243
+ _conv_listelement(str)
244
+ : Convert the argument to a valid Tcl list element with
245
+ : Tcl/Tk's library function.
246
+
247
+ _toUTF8(str, encoding=nil)
248
+ _fromUTF8(str, encoding=nil)
249
+ : Call the function (which is internal function of Tcl/Tk) to
250
+ : convert to/from a UTF8 string.
251
+
252
+ _subst_UTF_backslash(str)
253
+ _subst_Tcl_backslash(str)
254
+ : Substitute backslash sequence with Tcl's rule (include \uhhhh;
255
+ : give a sixteen-bit hexadecimal value for Unicode character).
256
+ : _subst_Tcl_backslash method parses all backslash sequence.
257
+ : _subst_UTF_backslash method parses \uhhhh only.
258
+
259
+ encoding_system
260
+ encoding_system=(encoding)
261
+ : Get and set Tcl's system encoding.
262
+
263
+ encoding
264
+ encoding=(encoding)
265
+ : alias of encoding_system / encoding_system=
266
+ : ( probably, Ruby/Tk's tk.rb will override them )
267
+
268
+
269
+ class TclTkIp
270
+ [class methods]
271
+ new(ip_name=nil, options='')
272
+ : Generate an instance of TclTkIp class.
273
+ : If 'ip_name' argument is given as a string, it is the name
274
+ : of the Tk interpreter which is shown by 'winfo interps'
275
+ : command.
276
+ : 'options' argument accepts a string which is the command
277
+ : line options of wish; such as '-geometry' or '-use'.
278
+ : The information is used to generate the root widget of the
279
+ : interpreter.
280
+ : ( e.g. TclTkIp.new('FOO', '-geometry 500x200 -use 0x2200009') )
281
+ : If is given nil or falsr for the 'option' argument, generates
282
+ : the Tcl interpreter without Tk library. Then the interpreter
283
+ : doesn't need GUI environment. Therefore, even if a window
284
+ : system doesn't exist or cannot be used, Ruby can control the
285
+ : Tcl interpreter and the extention libraries loaded on the
286
+ : interpreter.
287
+
288
+ [instance methods]
289
+ create_slave(name, safe=false)
290
+ : Create a slave interpreter.
291
+ : The parent of the interpreter is the receiver of this method.
292
+ : The name of the slave interpreter is given by 'name' argument.
293
+ : The 'safe' argument decides whether the slave interpreter is
294
+ : created as a safe interpreter or not. If true, create a safe
295
+ : interpreter. Default is false. However, if the parent
296
+ : interpreter is a safe interpreter, the created interpreter is
297
+ : a safe interpreter (ignore 'safe' argument value).
298
+ : If $SAFE >= 4, can create a safe interpreter only.
299
+
300
+ make_safe
301
+ : Make the interpreter to the safe interpreter, and returns
302
+ : self. If fail, raise RuntimeError.
303
+
304
+ safe?
305
+ : Check whether the interpreter is the safe interpreter.
306
+ : If is the safe interpreter, returns true.
307
+
308
+ allow_ruby_exit?
309
+ : Return the mode whether 'exit' function of ruby or 'exit'
310
+ : command of Tcl/Tk can quit the ruby process or not on the
311
+ : interpreter. If false, such a command quit the interpreter
312
+ : only.
313
+ : The default value for a master interpreter is true, and
314
+ : for a slave interpreter is false.
315
+
316
+ allow_ruby_exit=(mode)
317
+ : Change the mode of 'allow_ruby_exit?'.
318
+ : If $SAFE >= 4 or the interpreter is a "safe" interpreter,
319
+ : this is not permitted (raise an exception).
320
+
321
+ delete
322
+ : Delete the interpreter.
323
+ : The deleted interpreter doesn't accept command and then
324
+ : raise an exception.
325
+
326
+ deleted?
327
+ : Check whether the interpreter is already deleted.
328
+ : If deleted, returns true.
329
+
330
+ has_mainwindow?
331
+ : Check whether the interpreter has a MainWindow (root widget).
332
+ : If has, returns true. If doesn't, returns false.
333
+ : If IP is already deleted, returns nil.
334
+
335
+ restart
336
+ : Restart Tk part of the interpreter.
337
+ : Use this when you need Tk functions after destroying the
338
+ : root widget.
339
+ : On $SAFE >= 4, cannot call this method.
340
+
341
+ _eval(str)
342
+ _invoke(*args)
343
+ : Estimates the arguments as a command on the Tk interpreter.
344
+ : The argument of _eval is a script of Tcl/Tk.
345
+ : Each argument of _invoke is a token of one command line of
346
+ : Tcl/Tk.
347
+ : Because the operation of _invoke doesn't through the
348
+ : command line parser of Tk interpreter, the cost of
349
+ : estimation is smaller than _eval. However, auto_load
350
+ : mechanism of the Tk interpreter doesn't work on _invoke.
351
+ : So _invoke can call only the command which already
352
+ : registered on the interpreter by 'load' command and so on.
353
+ : On _eval command, auto_load mechanism words. So if succeed
354
+ : to _eval and regist the command once, after that, the
355
+ : command can be called by _invoke.
356
+
357
+ _toUTF8(str, encoding=nil)
358
+ _fromUTF8(str, encoding=nil)
359
+ : Call the function (which is internal function of Tcl/Tk) to
360
+ : convert to/from a UTF8 string.
361
+
362
+ _thread_vwait(var_name)
363
+ _thread_tkwait(mode, target)
364
+ : 'vwait' or 'tkwait' with thread support.
365
+ : The difference from normal 'vwait' or 'tkwait' command is
366
+ : doing independent wait from the vwait stack when they are
367
+ : called on the other thread than the eventloop thread.
368
+ : In the case of Tcl/Tk's vwait / tkwait, if 2nd vwait /
369
+ : tkwait is called on waiting for 1st vwait / tkwait,
370
+ : returns the order of [2nd]->[1st] regardless of the order
371
+ : of when the wait condition was fulfilled.
372
+ : If _thread_vwait / _thread_tkwait is called on the
373
+ : eventloop thread, there is no difference from vwait /
374
+ : tkwait. But if called on the other thread than the
375
+ : eventloop, stops the thread. And when the wait condition
376
+ : is fulfilled, the thread restarts. The meaning of
377
+ : "independent from the vwait stack" is that the timing of
378
+ : restarting is independent from the waiting status of the
379
+ : other threads. That is, even if the eventloop thread is
380
+ : waiting by vwait and is not fulfilled the condition,
381
+ : _thread_vwait completes the waiting when its waiting
382
+ : condition is fulfilled and the thread which stopped by
383
+ : _thread_vwait can continue the operation.
384
+
385
+ _return_value
386
+ : Get the last result value on the interpreter.
387
+
388
+ _get_variable(var_name, flag)
389
+ _get_variable2(var_name, index_name, flag)
390
+ : Get the current value of a variable. If specified a
391
+ : index_name (see also the PARSE_VARNAME flag), get the
392
+ : value of the index_name element.
393
+
394
+ _set_variable(var_name, value, flag)
395
+ _set_variable2(var_name, index_name, value, flag)
396
+ : Create or modify a variable. If specified a index_name
397
+ : (see also the PARSE_VARNAME flag), create or modify the
398
+ : index_name element.
399
+
400
+ _unset_variable(var_name)
401
+ _unset_variable2(var_name, index_name)
402
+ : Remove a variable. If specified a index_name (see also
403
+ : the PARSE_VARNAME flag), remove the index_name element.
404
+
405
+ _get_global_var(var_name)
406
+ _get_global_var2(var_name, index_name)
407
+ _set_global_var(var_name, value)
408
+ _set_global_var2(var_name, index_name, value)
409
+ _unset_global_var(var_name)
410
+ _unset_global_var2(var_name, index_name)
411
+ : Call the associated method with the flag argument
412
+ : (GLOBAL_ONLY | LEAVE_ERR_MSG).
413
+
414
+ _split_tklist(str)
415
+ : Split the argument with Tcl/Tk's library function and
416
+ : get an array as a list of Tcl list elements.
417
+
418
+ _merge_tklist(str, str, ... )
419
+ : Get a Tcl's list string from arguments with a Tcl/Tk's
420
+ : library function. Each arguemnt is converted to a valid
421
+ : Tcl list element.
422
+
423
+ _conv_listelement(str)
424
+ : Convert the argument to a valid Tcl list element with
425
+ : Tcl/Tk's library function.
426
+
427
+ mainloop
428
+ mainloop_watchdog
429
+ : If on the slave interpreter, never start an eventloop and
430
+ : returns nil.
431
+ : With the exception that, same to the TclTkLib module method
432
+ : with the same name.
433
+
434
+ do_one_event
435
+ : With the exception that the argument is forced to set
436
+ : DONT_WAIT flag on the slave interpreter, same to
437
+ : TclTkLib#do_one_event.
438
+
439
+ set_eventloop_tick
440
+ get_eventloop_tick
441
+ set_no_event_wait
442
+ get_no_event_wait
443
+ set_eventloop_weight
444
+ get_eventloop_weight
445
+ mainloop_abort_on_exception
446
+ mainloop_abort_on_exception=
447
+ : With the exception that it is ignored to set value on the
448
+ : slave interpreter, same to the TclTkLib module method with
449
+ : the same name.
450
+
451
+ encoding_table
452
+ : For Ruby m17n. Return encoding relation table between Ruby's
453
+ : Encoding object and Tcl's encoding name.
454
+
455
+ class TkCallbackBreak < StandardError
456
+ class TkCallbackContinue < StandardError
457
+ : They are exception classes to break or continue the Tk callback
458
+ : operation.
459
+ : If raise TkCallbackBreak on the callback procedure, Ruby returns
460
+ : 'break' code to Tk interpreter (Then the Tk interpreter will
461
+ : break the operation for the current event).
462
+ : If raise TkCallbackContinue, returns 'continue' code (Then the Tk
463
+ : interpreter will break the operateion for the current bindtag and
464
+ : starts the operation for the next buindtag for the current event).
465
+ : However, current tcltklib supports Ruby's 'break' and 'next' to
466
+ : get the same effect. That is, those classes are obsolete. Those
467
+ : exist for backward compatibility.
468
+
469
+ (eof)