tk_as_gem 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
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)