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,13 @@
1
+ #
2
+ # trofs support
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ # call setup script for general 'tkextlib' libraries
7
+ require 'tkextlib/setup.rb'
8
+
9
+ # call setup script
10
+ require 'tkextlib/trofs/setup.rb'
11
+
12
+ # load library
13
+ require 'tkextlib/trofs/trofs.rb'
@@ -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,51 @@
1
+ #
2
+ # tkextlib/trofs/trofs.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+
8
+ # call setup script for general 'tkextlib' libraries
9
+ require 'tkextlib/setup.rb'
10
+
11
+ # call setup script
12
+ require 'tkextlib/trofs/setup.rb'
13
+
14
+ # TkPackage.require('trofs', '0.4')
15
+ TkPackage.require('trofs')
16
+
17
+ module Tk
18
+ module Trofs
19
+ extend TkCore
20
+
21
+ PACKAGE_NAME = 'trofs'.freeze
22
+ def self.package_name
23
+ PACKAGE_NAME
24
+ end
25
+
26
+ def self.package_version
27
+ begin
28
+ TkPackage.require('trofs')
29
+ rescue
30
+ ''
31
+ end
32
+ end
33
+
34
+ ##############################################
35
+
36
+ def self.create_archive(dir, archive)
37
+ tk_call('::trofs::archive', dir, archive)
38
+ archive
39
+ end
40
+
41
+ def self.mount(archive, mountpoint=None)
42
+ # returns the normalized path to mountpoint
43
+ tk_call('::trofs::mount', archive, mountpoint)
44
+ end
45
+
46
+ def self.umount(mountpoint)
47
+ tk_call('::trofs::umount', mountpoint)
48
+ mountpoint
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,6 @@
1
+ #
2
+ # release date of tkextlib
3
+ #
4
+ module Tk
5
+ Tkextlib_RELEASE_DATE = '2008-11-25'.freeze
6
+ end
@@ -0,0 +1,48 @@
1
+ #
2
+ # The vu widget set support
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+
8
+ # call setup script for general 'tkextlib' libraries
9
+ require 'tkextlib/setup.rb'
10
+
11
+ # call setup script
12
+ require 'tkextlib/vu/setup.rb'
13
+
14
+ # load package
15
+ # TkPackage.require('vu', '2.1')
16
+ TkPackage.require('vu')
17
+
18
+ # autoload
19
+ module Tk
20
+ module Vu
21
+ TkComm::TkExtlibAutoloadModule.unshift(self)
22
+
23
+ PACKAGE_NAME = 'vu'.freeze
24
+ def self.package_name
25
+ PACKAGE_NAME
26
+ end
27
+
28
+ def self.package_version
29
+ begin
30
+ TkPackage.require('vu')
31
+ rescue
32
+ ''
33
+ end
34
+ end
35
+
36
+ ##########################################
37
+
38
+ autoload :Dial, 'tkextlib/vu/dial'
39
+
40
+ autoload :Pie, 'tkextlib/vu/pie'
41
+ autoload :PieSlice, 'tkextlib/vu/pie'
42
+ autoload :NamedPieSlice, 'tkextlib/vu/pie'
43
+
44
+ autoload :Spinbox, 'tkextlib/vu/spinbox'
45
+
46
+ autoload :Bargraph, 'tkextlib/vu/bargraph'
47
+ end
48
+ end
@@ -0,0 +1,61 @@
1
+ #
2
+ # ::vu::bargraph widget
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+
7
+ # create module/class
8
+ module Tk
9
+ module Vu
10
+ class Bargraph < TkWindow
11
+ end
12
+ end
13
+ end
14
+
15
+
16
+ # call setup script -- <libdir>/tkextlib/vu.rb
17
+ require 'tkextlib/vu.rb'
18
+
19
+ class Tk::Vu::Bargraph < TkWindow
20
+ TkCommandNames = ['::vu::bargraph'.freeze].freeze
21
+ WidgetClassName = 'Bargraph'.freeze
22
+ WidgetClassNames[WidgetClassName] = self
23
+
24
+ ###############################
25
+
26
+ def __boolval_optkeys
27
+ ['showminmax', 'showvalue']
28
+ end
29
+ private :__boolval_optkeys
30
+
31
+ def __strval_optkeys
32
+ super() + [
33
+ 'title',
34
+ 'barbackground', 'barcolor', 'barcolour',
35
+ 'tickcolor', 'tickcolour',
36
+ 'textcolor', 'textcolour',
37
+ ]
38
+ end
39
+ private :__strval_optkeys
40
+
41
+ def __listval_optkeys
42
+ ['alabels', 'blabels']
43
+ end
44
+ private :__listval_optkeys
45
+
46
+ def __font_optkeys
47
+ ['alabfont', 'blabfont']
48
+ end
49
+ private :__font_optkeys
50
+
51
+ ###############################
52
+
53
+ def set(val = None)
54
+ tk_call_without_enc(@path, 'set', val)
55
+ self
56
+ end
57
+
58
+ def get()
59
+ num_or_str(tk_call_without_enc(@path, 'get'))
60
+ end
61
+ end
@@ -0,0 +1,53 @@
1
+ #
2
+ # charts -- Create and manipulate canvas Add-On Items
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+ require 'tk/canvas'
7
+
8
+ # call setup script -- <libdir>/tkextlib/vu.rb
9
+ require 'tkextlib/vu.rb'
10
+
11
+ module Tk
12
+ module Vu
13
+ module ChartsConfig
14
+ include TkItemConfigOptkeys
15
+ def __item_boolval_optkeys(id)
16
+ super(id) << 'lefttrunc' << 'autocolor'
17
+ end
18
+ private :__item_boolval_optkeys
19
+
20
+ def __item_strval_optkeys(id)
21
+ super(id) << 'bar' << 'color' << 'outline' <<
22
+ 'fill' << 'scaleline' << 'stripline'
23
+ end
24
+ private :__item_strval_optkeys
25
+
26
+ def __item_listval_optkeys(id)
27
+ super(id) << 'values' << 'tags'
28
+ end
29
+ private :__item_listval_optkeys
30
+ end
31
+
32
+ class TkcSticker < TkcItem
33
+ include ChartsConfig
34
+
35
+ CItemTypeName = 'sticker'.freeze
36
+ CItemTypeToClass[CItemTypeName] = self
37
+ end
38
+
39
+ class TkcStripchart < TkcItem
40
+ include ChartsConfig
41
+
42
+ CItemTypeName = 'stripchart'.freeze
43
+ CItemTypeToClass[CItemTypeName] = self
44
+ end
45
+
46
+ class TkcBarchart < TkcItem
47
+ include ChartsConfig
48
+
49
+ CItemTypeName = 'barchart'.freeze
50
+ CItemTypeToClass[CItemTypeName] = self
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,102 @@
1
+ #
2
+ # ::vu::dial widget
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+
7
+ # create module/class
8
+ module Tk
9
+ module Vu
10
+ class Dial < TkWindow
11
+ end
12
+ end
13
+ end
14
+
15
+ # call setup script -- <libdir>/tkextlib/vu.rb
16
+ require 'tkextlib/vu.rb'
17
+
18
+ # define module/class
19
+ class Tk::Vu::Dial < TkWindow
20
+ TkCommandNames = ['::vu::dial'.freeze].freeze
21
+ WidgetClassName = 'Dial'.freeze
22
+ WidgetClassNames[WidgetClassName] = self
23
+
24
+ ###############################
25
+
26
+ def __methodcall_optkeys # { key=>method, ... }
27
+ {'coords'=>'coords'}
28
+ end
29
+ private :__methodcall_optkeys
30
+
31
+ ###############################
32
+
33
+ def coords(val = nil)
34
+ if val
35
+ tk_split_list(tk_send_without_enc('coords'))
36
+ else
37
+ tk_send_without_enc('coords', val)
38
+ self
39
+ end
40
+ end
41
+
42
+ def constrain(val = None)
43
+ num_or_str(tk_call(@path, 'constrain', val))
44
+ end
45
+
46
+ def get(*args)
47
+ num_or_str(tk_call(@path, 'get', *args))
48
+ end
49
+
50
+ def identify(x, y)
51
+ tk_call(@path, 'identify', x, y)
52
+ end
53
+
54
+ def get_label(val=nil)
55
+ if val
56
+ tk_call(@path, 'label', val)
57
+ else
58
+ ret = []
59
+ lst = simplelist(tk_call(@path, 'label'))
60
+ while lst.size > 0
61
+ ret << ([num_or_str(lst.shift)] << lst.shift)
62
+ end
63
+ end
64
+ end
65
+
66
+ def set_label(val, str, *args)
67
+ tk_call(@path, 'label', val, str, *args)
68
+ self
69
+ end
70
+
71
+ def set_label_constrain(val, str, *args)
72
+ tk_call(@path, 'label', '-constrain', val, str, *args)
73
+ self
74
+ end
75
+
76
+ def get_tag(val=nil)
77
+ if val
78
+ tk_call(@path, 'tag', val)
79
+ else
80
+ ret = []
81
+ lst = simplelist(tk_call(@path, 'tag'))
82
+ while lst.size > 0
83
+ ret << ([num_or_str(lst.shift)] << lst.shift)
84
+ end
85
+ end
86
+ end
87
+
88
+ def set_tag(val, str, *args)
89
+ tk_call(@path, 'tag', val, str, *args)
90
+ self
91
+ end
92
+
93
+ def set_tag_constrain(val, str, *args)
94
+ tk_call(@path, 'tag', '-constrain', val, str, *args)
95
+ self
96
+ end
97
+
98
+ def set(val = None)
99
+ tk_call_without_enc(@path, 'set', val)
100
+ self
101
+ end
102
+ end
@@ -0,0 +1,282 @@
1
+ #
2
+ # ::vu::pie widget
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+
7
+ # create module/class
8
+ module Tk
9
+ module Vu
10
+ module PieSliceConfigMethod
11
+ end
12
+ class Pie < TkWindow
13
+ end
14
+ class PieSlice < TkObject
15
+ end
16
+ class NamedPieSlice < PieSlice
17
+ end
18
+ end
19
+ end
20
+
21
+ # call setup script -- <libdir>/tkextlib/vu.rb
22
+ require 'tkextlib/vu.rb'
23
+
24
+ module Tk::Vu::PieSliceConfigMethod
25
+ include TkItemConfigMethod
26
+
27
+ def __item_pathname(tagOrId)
28
+ if tagOrId.kind_of?(Tk::Vu::PieSlice)
29
+ self.path + ';' + tagOrId.id.to_s
30
+ else
31
+ self.path + ';' + tagOrId.to_s
32
+ end
33
+ end
34
+ private :__item_pathname
35
+ end
36
+
37
+ class Tk::Vu::Pie < TkWindow
38
+ TkCommandNames = ['::vu::pie'.freeze].freeze
39
+ WidgetClassName = 'Pie'.freeze
40
+ WidgetClassNames[WidgetClassName] = self
41
+
42
+ def __destroy_hook__
43
+ Tk::Vu::PieSlice::SliceID_TBL.delete(@path)
44
+ end
45
+
46
+ ###############################
47
+
48
+ include Tk::Vu::PieSliceConfigMethod
49
+
50
+ def tagid(tag)
51
+ if tag.kind_of?(Tk::Vu::PieSlice)
52
+ tag.id
53
+ else
54
+ # tag
55
+ _get_eval_string(tag)
56
+ end
57
+ end
58
+
59
+ ###############################
60
+
61
+ def delete(*glob_pats)
62
+ tk_call(@path, 'delete', *glob_pats)
63
+ self
64
+ end
65
+
66
+ def explode(slice, *args)
67
+ tk_call(@path, 'explode', slice, *args)
68
+ self
69
+ end
70
+
71
+ def explode_value(slice)
72
+ num_or_str(tk_call(@path, 'explode', slice))
73
+ end
74
+
75
+ def lower(slice, below=None)
76
+ tk_call(@path, 'lower', slice, below)
77
+ self
78
+ end
79
+
80
+ def names(*glob_pats)
81
+ simplelist(tk_call(@path, 'names', *glob_pats))
82
+ end
83
+ alias slices names
84
+
85
+ def order(*args)
86
+ tk_call(@path, 'order', *args)
87
+ self
88
+ end
89
+
90
+ def raise(slice, above=None)
91
+ tk_call(@path, 'raise', slice, above)
92
+ self
93
+ end
94
+
95
+ def swap(slice1, slice2)
96
+ tk_call(@path, 'swap', slice1, slice2)
97
+ self
98
+ end
99
+
100
+ def set(slice, *args)
101
+ num_or_str(tk_call(@path, 'set', slice, *args))
102
+ end
103
+ alias set_value set
104
+ alias set_values set
105
+ alias create set
106
+
107
+ def slice_value(slice)
108
+ num_or_str(tk_call(@path, 'set', slice))
109
+ end
110
+
111
+ def value(val = None)
112
+ num_or_str(tk_call_without_enc(@path, 'value'))
113
+ end
114
+ alias sum_value value
115
+ end
116
+
117
+ class Tk::Vu::PieSlice
118
+ SliceID_TBL = TkCore::INTERP.create_table
119
+
120
+ (Pie_Slice_ID = ['vu:pie'.freeze, '00000'.taint]).instance_eval{
121
+ @mutex = Mutex.new
122
+ def mutex; @mutex; end
123
+ freeze
124
+ }
125
+
126
+ TkCore::INTERP.init_ip_env{
127
+ SliceID_TBL.mutex.synchronize{ SliceID_TBL.clear }
128
+ }
129
+
130
+ def self.id2obj(pie, id)
131
+ pie_path = pie.path
132
+ SliceID_TBL.mutex.synchronize{
133
+ if SliceID_TBL[pie_path]
134
+ SliceID_TBL[pie_path][id]? SliceID_TBL[pie_path][id]: id
135
+ else
136
+ id
137
+ end
138
+ }
139
+ end
140
+
141
+ def initialize(parent, *args)
142
+ unless parent.kind_of?(Tk::Vu::Pie)
143
+ fail ArgumentError, "expect a Tk::Vu::Pie instance for 1st argument"
144
+ end
145
+ @parent = @pie = parent
146
+ @ppath = parent.path
147
+ Pie_Slice_ID.mutex.synchronize{
148
+ @path = @id = Pie_Slice_ID.join(TkCore::INTERP._ip_id_)
149
+ Pie_Slice_ID[1].succ!
150
+ }
151
+ SliceID_TBL.mutex.synchronize{
152
+ SliceID_TBL[@ppath] = {} unless SliceID_TBL[@ppath]
153
+ SliceID_TBL[@ppath][@id] = self
154
+ }
155
+
156
+ if args[-1].kind_of?(Hash)
157
+ keys = args.unshift
158
+ end
159
+ @pie.set(@id, *args)
160
+ configure(keys)
161
+ end
162
+
163
+ def id
164
+ @id
165
+ end
166
+
167
+ def [](key)
168
+ cget key
169
+ end
170
+
171
+ def []=(key,val)
172
+ configure key, val
173
+ val
174
+ end
175
+
176
+ def cget(slot)
177
+ @pie.itemcget(@id, slot)
178
+ end
179
+
180
+ def cget_strict(slot)
181
+ @pie.itemcget_strict(@id, slot)
182
+ end
183
+
184
+ def configure(*args)
185
+ @pie.itemconfigure(@id, *args)
186
+ self
187
+ end
188
+
189
+ def configinfo(*args)
190
+ @pie.itemconfiginfo(@id, *args)
191
+ end
192
+
193
+ def current_configinfo(*args)
194
+ @pie.current_itemconfiginfo(@id, *args)
195
+ end
196
+
197
+ def delete
198
+ @pie.delete(@id)
199
+ end
200
+
201
+ def explode(value)
202
+ @pie.explode(@id, value)
203
+ self
204
+ end
205
+
206
+ def explode_value
207
+ @pie.explode_value(@id)
208
+ end
209
+
210
+ def lower(other=None)
211
+ @pie.lower(@id, other)
212
+ self
213
+ end
214
+
215
+ def raise(other=None)
216
+ @pie.raise(@id, other)
217
+ self
218
+ end
219
+
220
+ def set(value)
221
+ @pie.set(@id, value)
222
+ self
223
+ end
224
+ alias set_value set
225
+
226
+ def value
227
+ @pie.set(@id)
228
+ end
229
+ end
230
+
231
+ class Tk::Vu::NamedPieSlice
232
+ def self.new(parent, name, *args)
233
+ obj = nil
234
+ SliceID_TBL.mutex.synchronize{
235
+ if SliceID_TBL[parent.path] && SliceID_TBL[parent.path][name]
236
+ obj = SliceID_TBL[parent.path][name]
237
+ else
238
+ #super(parent, name, *args)
239
+ unless parent.kind_of?(Tk::Vu::Pie)
240
+ fail ArgumentError, "expect a Tk::Vu::Pie instance for 1st argument"
241
+ end
242
+ obj = self.allocate
243
+ obj.instance_eval{
244
+ @parent = @pie = parent
245
+ @ppath = parent.path
246
+ @path = @id = name.to_s
247
+ SliceID_TBL[@ppath] = {} unless SliceID_TBL[@ppath]
248
+ SliceID_TBL[@ppath][@id] = self
249
+ }
250
+ end
251
+ }
252
+ obj.instance_eval{
253
+ if args[-1].kind_of?(Hash)
254
+ keys = args.unshift
255
+ end
256
+ @pie.set(@id, *args)
257
+ configure(keys)
258
+ }
259
+
260
+ obj
261
+ end
262
+
263
+ def initialize(parent, name, *args)
264
+ # dummy:: not called by 'new' method
265
+ unless parent.kind_of?(Tk::Vu::Pie)
266
+ fail ArgumentError, "expect a Tk::Vu::Pie instance for 1st argument"
267
+ end
268
+ @parent = @pie = parent
269
+ @ppath = parent.path
270
+ @path = @id = name.to_s
271
+ SliceID_TBL.mutex.synchronize{
272
+ SliceID_TBL[@ppath] = {} unless SliceID_TBL[@ppath]
273
+ SliceID_TBL[@ppath][@id] = self
274
+ }
275
+
276
+ if args[-1].kind_of?(Hash)
277
+ keys = args.unshift
278
+ end
279
+ @pie.set(@id, *args)
280
+ configure(keys)
281
+ end
282
+ end