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,75 @@
1
+ #
2
+ # tk/clipboard.rb : methods to treat clipboard
3
+ #
4
+ require 'tk'
5
+
6
+ module TkClipboard
7
+ include Tk
8
+ extend Tk
9
+
10
+ TkCommandNames = ['clipboard'.freeze].freeze
11
+
12
+ def self.clear(win=nil)
13
+ if win
14
+ tk_call_without_enc('clipboard', 'clear', '-displayof', win)
15
+ else
16
+ tk_call_without_enc('clipboard', 'clear')
17
+ end
18
+ end
19
+ def self.clear_on_display(win)
20
+ tk_call_without_enc('clipboard', 'clear', '-displayof', win)
21
+ end
22
+
23
+ def self.get(type=nil)
24
+ if type
25
+ tk_call_without_enc('clipboard', 'get', '-type', type)
26
+ else
27
+ tk_call_without_enc('clipboard', 'get')
28
+ end
29
+ end
30
+ def self.get_on_display(win, type=nil)
31
+ if type
32
+ tk_call_without_enc('clipboard', 'get', '-displayof', win, '-type', type)
33
+ else
34
+ tk_call_without_enc('clipboard', 'get', '-displayof', win)
35
+ end
36
+ end
37
+
38
+ def self.set(data, keys=nil)
39
+ clear
40
+ append(data, keys)
41
+ end
42
+ def self.set_on_display(win, data, keys=nil)
43
+ clear(win)
44
+ append_on_display(win, data, keys)
45
+ end
46
+
47
+ def self.append(data, keys=nil)
48
+ args = ['clipboard', 'append']
49
+ args.concat(hash_kv(keys))
50
+ args.concat(['--', data])
51
+ tk_call(*args)
52
+ end
53
+ def self.append_on_display(win, data, keys=nil)
54
+ args = ['clipboard', 'append', '-displayof', win]
55
+ args.concat(hash_kv(keys))
56
+ args.concat(['--', data])
57
+ tk_call(*args)
58
+ end
59
+
60
+ def clear
61
+ TkClipboard.clear_on_display(self)
62
+ self
63
+ end
64
+ def get(type=nil)
65
+ TkClipboard.get_on_display(self, type)
66
+ end
67
+ def set(data, keys=nil)
68
+ TkClipboard.set_on_display(self, data, keys)
69
+ self
70
+ end
71
+ def append(data, keys=nil)
72
+ TkClipboard.append_on_display(self, data, keys)
73
+ self
74
+ end
75
+ end
@@ -0,0 +1,71 @@
1
+ #
2
+ # tk/clock.rb : methods for clock command
3
+ #
4
+ require 'tk'
5
+
6
+ module Tk
7
+ module Clock
8
+ include Tk
9
+ extend TkCore
10
+
11
+ def self.add(clk, *args)
12
+ tk_call_without_enc('clock','add', clk, *args).to_i
13
+ end
14
+
15
+ def self.clicks(ms=nil)
16
+ ms = ms.to_s if ms.kind_of?(Symbol)
17
+ case ms
18
+ when nil, ''
19
+ tk_call_without_enc('clock','clicks').to_i
20
+ when /^mic/
21
+ tk_call_without_enc('clock','clicks','-microseconds').to_i
22
+ when /^mil/
23
+ tk_call_without_enc('clock','clicks','-milliseconds').to_i
24
+ else
25
+ tk_call_without_enc('clock','clicks','-milliseconds').to_i
26
+ end
27
+ end
28
+
29
+ def self.format(clk, form=nil)
30
+ if form
31
+ tk_call('clock','format',clk,'-format',form)
32
+ else
33
+ tk_call('clock','format',clk)
34
+ end
35
+ end
36
+
37
+ def self.formatGMT(clk, form=nil)
38
+ if form
39
+ tk_call('clock','format',clk,'-format',form,'-gmt','1')
40
+ else
41
+ tk_call('clock','format',clk,'-gmt','1')
42
+ end
43
+ end
44
+
45
+ def self.scan(str, base=nil)
46
+ if base
47
+ tk_call('clock','scan',str,'-base',base).to_i
48
+ else
49
+ tk_call('clock','scan',str).to_i
50
+ end
51
+ end
52
+
53
+ def self.scanGMT(str, base=nil)
54
+ if base
55
+ tk_call('clock','scan',str,'-base',base,'-gmt','1').to_i
56
+ else
57
+ tk_call('clock','scan',str,'-gmt','1').to_i
58
+ end
59
+ end
60
+
61
+ def self.seconds
62
+ tk_call_without_enc('clock','seconds').to_i
63
+ end
64
+ def self.milliseconds
65
+ tk_call_without_enc('clock','milliseconds').to_i
66
+ end
67
+ def self.microseconds
68
+ tk_call_without_enc('clock','microseconds').to_i
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,458 @@
1
+ #
2
+ # tk/composite.rb :
3
+ #
4
+ require 'tk'
5
+
6
+ module TkComposite
7
+ include Tk
8
+ extend Tk
9
+
10
+ =begin
11
+ def initialize(parent=nil, *args)
12
+ @delegates = {}
13
+ @option_methods = {}
14
+ @option_setting = {}
15
+
16
+ if parent.kind_of? Hash
17
+ keys = _symbolkey2str(parent)
18
+ parent = keys.delete('parent')
19
+ @frame = TkFrame.new(parent)
20
+ @path = @epath = @frame.path
21
+ initialize_composite(keys)
22
+ else
23
+ @frame = TkFrame.new(parent)
24
+ @path = @epath = @frame.path
25
+ initialize_composite(*args)
26
+ end
27
+ end
28
+ =end
29
+
30
+ def _choice_classname_of_baseframe
31
+ base_class_name = nil
32
+
33
+ klass = WidgetClassNames[self.class::WidgetClassName]
34
+
35
+ if klass
36
+ # WidgetClassName is a known class
37
+ #if klass <= TkFrame || klass < TkComposite
38
+ if klass <= TkFrame || klass < Tk::Frame || klass < TkComposite
39
+ # klass is valid for the base frame
40
+ if self.class <= klass
41
+ # use my classname
42
+ base_class_name = self.class.name
43
+ if base_class_name == ''
44
+ # anonymous class -> use ancestor's name
45
+ base_class_name = klass.name
46
+ end
47
+ else
48
+ # not subclass -> use WidgetClassName
49
+ base_class_name = klass.name
50
+ end
51
+
52
+ else
53
+ # klass is invalid for the base frame
54
+ #if self.class < TkFrame || self.class.superclass < TkComposite
55
+ if self.class < TkFrame || self.class.superclass < Tk::Frame || self.class.superclass < TkComposite
56
+ # my class name is valid for the base frame -> use my classname
57
+ base_class_name = self.class.name
58
+ if base_class_name == ''
59
+ # anonymous class -> use TkFrame
60
+ base_class_name = nil
61
+ end
62
+ else
63
+ # no idea for the base frame -> use TkFrame
64
+ base_class_name = nil
65
+ end
66
+ end
67
+
68
+ elsif self.class::WidgetClassName && ! self.class::WidgetClassName.empty?
69
+ # unknown WidgetClassName is defined -> use it for the base frame
70
+ base_class_name = self.class::WidgetClassName
71
+
72
+ else
73
+ # no valid WidgetClassName
74
+ #if self.class < TkFrame || self.class.superclass < TkComposite
75
+ if self.class < TkFrame || self.class.superclass < Tk::Frame || self.class.superclass < TkComposite
76
+ # my class name is valid for the base frame -> use my classname
77
+ base_class_name = self.class.name
78
+ if base_class_name == ''
79
+ # anonymous class -> use TkFrame
80
+ base_class_name = nil
81
+ end
82
+ else
83
+ # no idea for the base frame -> use TkFrame
84
+ base_class_name = nil
85
+ end
86
+ end
87
+
88
+ base_class_name
89
+ end
90
+ private :_choice_classname_of_baseframe
91
+
92
+ # def initialize(parent=nil, *args)
93
+ def initialize(*args)
94
+ @delegates = {}
95
+ @option_methods = {}
96
+ @option_setting = {}
97
+
98
+ if args[-1].kind_of?(Hash)
99
+ keys = _symbolkey2str(args.pop)
100
+ else
101
+ keys = {}
102
+ end
103
+ parent = args.shift
104
+ parent = keys.delete('parent') if keys.has_key?('parent')
105
+
106
+ if keys.key?('classname')
107
+ keys['class'] = keys.delete('classname')
108
+ end
109
+ if (base_class_name = (keys.delete('class')).to_s).empty?
110
+ base_class_name = _choice_classname_of_baseframe
111
+ end
112
+
113
+ if base_class_name
114
+ # @frame = Tk::Frame.new(parent, :class=>base_class_name)
115
+ # --> use current TkFrame class
116
+ @frame = TkFrame.new(parent, :class=>base_class_name)
117
+ else
118
+ # @frame = Tk::Frame.new(parent)
119
+ # --> use current TkFrame class
120
+ @frame = TkFrame.new(parent)
121
+ end
122
+ @path = @epath = @frame.path
123
+
124
+ args.push(keys) unless keys.empty?
125
+ initialize_composite(*args)
126
+ end
127
+
128
+ def database_classname
129
+ @frame.database_classname
130
+ end
131
+
132
+ def database_class
133
+ @frame.database_class
134
+ end
135
+
136
+ def epath
137
+ @epath
138
+ end
139
+
140
+ def initialize_composite(*args) end
141
+ private :initialize_composite
142
+
143
+ def inspect
144
+ str = super
145
+ str.chop << ' @epath=' << @epath.inspect << '>'
146
+ end
147
+
148
+ def option_methods(*opts)
149
+ opts.each{|m_set, m_cget, m_info|
150
+ m_set = m_set.to_s
151
+ m_cget = m_set if !m_cget && self.method(m_set).arity == -1
152
+ m_cget = m_cget.to_s if m_cget
153
+ m_info = m_info.to_s if m_info
154
+ @option_methods[m_set] = {
155
+ :set => m_set, :cget => m_cget, :info => m_info
156
+ }
157
+ }
158
+ end
159
+
160
+ def delegate_alias(alias_opt, option, *wins)
161
+ if wins.length == 0
162
+ fail ArgumentError, "target widgets are not given"
163
+ end
164
+ if alias_opt != option && (alias_opt == 'DEFAULT' || option == 'DEFAULT')
165
+ fail ArgumentError, "cannot alias 'DEFAULT' option"
166
+ end
167
+ alias_opt = alias_opt.to_s
168
+ option = option.to_s
169
+ if @delegates[alias_opt].kind_of?(Array)
170
+ if (elem = @delegates[alias_opt].assoc(option))
171
+ wins.each{|w| elem[1].push(w)}
172
+ else
173
+ @delegates[alias_opt] << [option, wins]
174
+ end
175
+ else
176
+ @delegates[alias_opt] = [ [option, wins] ]
177
+ end
178
+ end
179
+
180
+ def delegate(option, *wins)
181
+ delegate_alias(option, option, *wins)
182
+ end
183
+
184
+ def __cget_delegates(slot)
185
+ slot = slot.to_s
186
+
187
+ if @option_methods.include?(slot)
188
+ if @option_methods[slot][:cget]
189
+ return self.__send__(@option_methods[slot][:cget])
190
+ else
191
+ if @option_setting[slot]
192
+ return @option_setting[slot]
193
+ else
194
+ return ''
195
+ end
196
+ end
197
+ end
198
+
199
+ tbl = @delegates[slot]
200
+ tbl = @delegates['DEFAULT'] unless tbl
201
+
202
+ begin
203
+ if tbl
204
+ opt, wins = tbl[-1]
205
+ opt = slot if opt == 'DEFAULT'
206
+ if wins && wins[-1]
207
+ # return wins[-1].cget(opt)
208
+ return wins[-1].cget_strict(opt)
209
+ end
210
+ end
211
+ rescue
212
+ end
213
+
214
+ return None
215
+ end
216
+ private :__cget_delegates
217
+
218
+ def cget(slot)
219
+ if (ret = __cget_delegates(slot)) == None
220
+ super(slot)
221
+ else
222
+ ret
223
+ end
224
+ end
225
+
226
+ def cget_strict(slot)
227
+ if (ret = __cget_delegates(slot)) == None
228
+ super(slot)
229
+ else
230
+ ret
231
+ end
232
+ end
233
+
234
+ =begin
235
+ def cget(slot)
236
+ slot = slot.to_s
237
+
238
+ if @option_methods.include?(slot)
239
+ if @option_methods[slot][:cget]
240
+ return self.__send__(@option_methods[slot][:cget])
241
+ else
242
+ if @option_setting[slot]
243
+ return @option_setting[slot]
244
+ else
245
+ return ''
246
+ end
247
+ end
248
+ end
249
+
250
+ tbl = @delegates[slot]
251
+ tbl = @delegates['DEFAULT'] unless tbl
252
+
253
+ begin
254
+ if tbl
255
+ opt, wins = tbl[-1]
256
+ opt = slot if opt == 'DEFAULT'
257
+ if wins && wins[-1]
258
+ return wins[-1].cget(opt)
259
+ end
260
+ end
261
+ rescue
262
+ end
263
+
264
+ super(slot)
265
+ end
266
+ =end
267
+
268
+ def configure(slot, value=None)
269
+ if slot.kind_of? Hash
270
+ slot.each{|slot,value| configure slot, value}
271
+ return self
272
+ end
273
+
274
+ slot = slot.to_s
275
+
276
+ if @option_methods.include?(slot)
277
+ unless @option_methods[slot][:cget]
278
+ if value.kind_of?(Symbol)
279
+ @option_setting[slot] = value.to_s
280
+ else
281
+ @option_setting[slot] = value
282
+ end
283
+ end
284
+ return self.__send__(@option_methods[slot][:set], value)
285
+ end
286
+
287
+ tbl = @delegates[slot]
288
+ tbl = @delegates['DEFAULT'] unless tbl
289
+
290
+ begin
291
+ if tbl
292
+ last = nil
293
+ tbl.each{|opt, wins|
294
+ opt = slot if opt == 'DEFAULT'
295
+ wins.each{|w| last = w.configure(opt, value)}
296
+ }
297
+ return last
298
+ end
299
+ rescue
300
+ end
301
+
302
+ super(slot, value)
303
+ end
304
+
305
+ def configinfo(slot = nil)
306
+ if TkComm::GET_CONFIGINFO_AS_ARRAY
307
+ if slot
308
+ slot = slot.to_s
309
+ if @option_methods.include?(slot)
310
+ if @option_methods[slot][:info]
311
+ return self.__send__(@option_methods[slot][:info])
312
+ else
313
+ return [slot, '', '', '', self.cget(slot)]
314
+ end
315
+ end
316
+
317
+ tbl = @delegates[slot]
318
+ tbl = @delegates['DEFAULT'] unless tbl
319
+
320
+ begin
321
+ if tbl
322
+ if tbl.length == 1
323
+ opt, wins = tbl[0]
324
+ if slot == opt || opt == 'DEFAULT'
325
+ return wins[-1].configinfo(slot)
326
+ else
327
+ info = wins[-1].configinfo(opt)
328
+ info[0] = slot
329
+ return info
330
+ end
331
+ else
332
+ opt, wins = tbl[-1]
333
+ return [slot, '', '', '', wins[-1].cget(opt)]
334
+ end
335
+ end
336
+ rescue
337
+ end
338
+
339
+ super(slot)
340
+
341
+ else # slot == nil
342
+ info_list = super(slot)
343
+
344
+ tbl = @delegates['DEFAULT']
345
+ if tbl
346
+ wins = tbl[0][1]
347
+ if wins && wins[-1]
348
+ wins[-1].configinfo.each{|info|
349
+ slot = info[0]
350
+ info_list.delete_if{|i| i[0] == slot} << info
351
+ }
352
+ end
353
+ end
354
+
355
+ @delegates.each{|slot, tbl|
356
+ next if slot == 'DEFAULT'
357
+ if tbl.length == 1
358
+ opt, wins = tbl[0]
359
+ next unless wins && wins[-1]
360
+ if slot == opt
361
+ info_list.delete_if{|i| i[0] == slot} <<
362
+ wins[-1].configinfo(slot)
363
+ else
364
+ info = wins[-1].configinfo(opt)
365
+ info[0] = slot
366
+ info_list.delete_if{|i| i[0] == slot} << info
367
+ end
368
+ else
369
+ opt, wins = tbl[-1]
370
+ info_list.delete_if{|i| i[0] == slot} <<
371
+ [slot, '', '', '', wins[-1].cget(opt)]
372
+ end
373
+ }
374
+
375
+ @option_methods.each{|slot, m|
376
+ if m[:info]
377
+ info = self.__send__(m[:info])
378
+ else
379
+ info = [slot, '', '', '', self.cget(slot)]
380
+ end
381
+ info_list.delete_if{|i| i[0] == slot} << info
382
+ }
383
+
384
+ info_list
385
+ end
386
+
387
+ else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
388
+ if slot
389
+ slot = slot.to_s
390
+ if @option_methods.include?(slot)
391
+ if @option_methods[slot][:info]
392
+ return self.__send__(@option_methods[slot][:info])
393
+ else
394
+ return {slot => ['', '', '', self.cget(slot)]}
395
+ end
396
+ end
397
+
398
+ tbl = @delegates[slot]
399
+ tbl = @delegates['DEFAULT'] unless tbl
400
+
401
+ begin
402
+ if tbl
403
+ if tbl.length == 1
404
+ opt, wins = tbl[0]
405
+ if slot == opt || opt == 'DEFAULT'
406
+ return wins[-1].configinfo(slot)
407
+ else
408
+ return {slot => wins[-1].configinfo(opt)[opt]}
409
+ end
410
+ else
411
+ opt, wins = tbl[-1]
412
+ return {slot => ['', '', '', wins[-1].cget(opt)]}
413
+ end
414
+ end
415
+ rescue
416
+ end
417
+
418
+ super(slot)
419
+
420
+ else # slot == nil
421
+ info_list = super(slot)
422
+
423
+ tbl = @delegates['DEFAULT']
424
+ if tbl
425
+ wins = tbl[0][1]
426
+ info_list.update(wins[-1].configinfo) if wins && wins[-1]
427
+ end
428
+
429
+ @delegates.each{|slot, tbl|
430
+ next if slot == 'DEFAULT'
431
+ if tbl.length == 1
432
+ opt, wins = tbl[0]
433
+ next unless wins && wins[-1]
434
+ if slot == opt
435
+ info_list.update(wins[-1].configinfo(slot))
436
+ else
437
+ info_list.update({slot => wins[-1].configinfo(opt)[opt]})
438
+ end
439
+ else
440
+ opt, wins = tbl[-1]
441
+ info_list.update({slot => ['', '', '', wins[-1].cget(opt)]})
442
+ end
443
+ }
444
+
445
+ @option_methods.each{|slot, m|
446
+ if m[:info]
447
+ info = self.__send__(m[:info])
448
+ else
449
+ info = {slot => ['', '', '', self.cget(slot)]}
450
+ end
451
+ info_list.update(info)
452
+ }
453
+
454
+ info_list
455
+ end
456
+ end
457
+ end
458
+ end