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,96 @@
1
+ #
2
+ # ttk::dialog (tile-0.7+)
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+ require 'tkextlib/tile.rb'
7
+
8
+ module Tk
9
+ module Tile
10
+ class Dialog < TkWindow
11
+ end
12
+ end
13
+ end
14
+
15
+ class Tk::Tile::Dialog
16
+ TkCommandNames = ['::ttk::dialog'.freeze].freeze
17
+
18
+ def self.show(*args)
19
+ dialog = self.new(*args)
20
+ dialog.show
21
+ [dialog.status, dialog.value]
22
+ end
23
+ def self.display(*args)
24
+ self.show(*args)
25
+ end
26
+
27
+ def self.define_dialog_type(name, keys)
28
+ Tk.tk_call('::ttk::dialog::define', name, keys)
29
+ name
30
+ end
31
+
32
+ def self.style(*args)
33
+ ['Dialog', *(args.map!{|a| _get_eval_string(a)})].join('.')
34
+ end
35
+
36
+ #########################
37
+
38
+ def initialize(keys={})
39
+ @keys = _symbolkey2str(keys)
40
+ super(*args)
41
+ end
42
+
43
+ def create_self(keys)
44
+ # dummy
45
+ end
46
+ private :create_self
47
+
48
+ def show
49
+ tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys))
50
+ end
51
+ alias display show
52
+
53
+ def client_frame
54
+ window(tk_call_without_enc('::ttk::dialog::clientframe', @path))
55
+ end
56
+
57
+ def cget_strict(slot)
58
+ @keys[slot.to_s]
59
+ end
60
+ def cget(slot)
61
+ @keys[slot.to_s]
62
+ end
63
+ =begin
64
+ def cget(slot)
65
+ unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
66
+ cget_strict(slot)
67
+ else
68
+ cget_strict(slot) rescue nil
69
+ end
70
+ end
71
+ =end
72
+
73
+ def configure(slot, value=None)
74
+ if slot.kind_of?(Hash)
75
+ slot.each{|k, v| configure(k, v)}
76
+ else
77
+ slot = slot.to_s
78
+ value = _symbolkey2str(value) if value.kind_of?(Hash)
79
+ if value && value != None
80
+ @keys[slot] = value
81
+ else
82
+ @keys.delete(slot)
83
+ end
84
+ end
85
+ self
86
+ end
87
+
88
+ def configinfo(slot = nil)
89
+ if slot
90
+ slot = slot.to_s
91
+ [ slot, nil, nil, nil, @keys[slot] ]
92
+ else
93
+ @keys.collect{|k, v| [ k, nil, nil, nil, v ] }
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,8 @@
1
+ #
2
+ # setup.rb -- setup script before calling TkPackage.require()
3
+ #
4
+ # If you need some setup operations (for example, add a library path
5
+ # to the library search path) before using Tcl/Tk library packages
6
+ # wrapped by Ruby scripts in this directory, please write the setup
7
+ # operations in this file.
8
+ #
@@ -0,0 +1,29 @@
1
+ #
2
+ # ttk::sizegrip widget
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+ require 'tkextlib/tile.rb'
7
+
8
+ module Tk
9
+ module Tile
10
+ class SizeGrip < TkWindow
11
+ end
12
+ Sizegrip = SizeGrip
13
+ end
14
+ end
15
+
16
+ Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::Sizegrip, :TkSizegrip, :TkSizeGrip)
17
+
18
+
19
+ class Tk::Tile::SizeGrip < TkWindow
20
+ include Tk::Tile::TileWidget
21
+
22
+ TkCommandNames = ['::ttk::sizegrip'.freeze].freeze
23
+ WidgetClassName = 'TSizegrip'.freeze
24
+ WidgetClassNames[WidgetClassName] = self
25
+
26
+ def self.style(*args)
27
+ [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.')
28
+ end
29
+ end
@@ -0,0 +1,316 @@
1
+ #
2
+ # style commands
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+ require 'tkextlib/tile.rb'
7
+
8
+ module Tk
9
+ module Tile
10
+ module Style
11
+ end
12
+ end
13
+ end
14
+
15
+ module Tk::Tile::Style
16
+ extend TkCore
17
+ end
18
+
19
+ class << Tk::Tile::Style
20
+ if Tk::Tile::TILE_SPEC_VERSION_ID < 8
21
+ TkCommandNames = ['style'.freeze].freeze
22
+
23
+ # --- Tk::Tile::Style.__define_wrapper_proc_for_compatibility__! ---
24
+ # On Ttk (Tile) extension, 'style' command has imcompatible changes
25
+ # depend on the version of the extention. It requires modifying the
26
+ # Tcl/Tk scripts to define local styles. The rule for modification
27
+ # is a simple one. But, if users want to keep compatibility between
28
+ # versions of the extension, they will have to contrive to do that.
29
+ # It may be troublesome, especially for Ruby/Tk users.
30
+ # This method may help such work. This method make some definitions
31
+ # on the Tcl/Tk interpreter to work with different version of style
32
+ # command format. Please give attention to use this method. It may
33
+ # conflict with some definitions on Tcl/Tk scripts.
34
+ if Tk::Tile::TILE_SPEC_VERSION_ID < 7
35
+ def __define_wrapper_proc_for_compatibility__!
36
+ __define_themes_and_setTheme_proc__!
37
+
38
+ unless Tk.info(:commands, '::ttk::style').empty?
39
+ # fail RuntimeError,
40
+ # "can't define '::ttk::style' command (already exist)"
41
+
42
+ # do nothing !!!
43
+ warn "Warning: can't define '::ttk::style' command (already exist)" if $DEBUG
44
+ return
45
+ end
46
+ TkCore::INTERP.add_tk_procs('::ttk::style', 'args', <<-'EOS')
47
+ if [string equal [lrange $args 0 1] {element create}] {
48
+ if [string equal [lindex $args 3] image] {
49
+ set spec [lindex $args 4]
50
+ set map [lrange $spec 1 end]
51
+ if [llength $map] {
52
+ # return [eval [concat [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]]]
53
+ return [uplevel 1 [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]]
54
+ }
55
+ }
56
+ }
57
+ # return [eval "::style $args"]
58
+ return [uplevel 1 ::style $args]
59
+ EOS
60
+ #########################
61
+ end
62
+ else ### TILE_SPEC_VERSION_ID == 7
63
+ def __define_wrapper_proc_for_compatibility__!
64
+ __define_themes_and_setTheme_proc__!
65
+
66
+ unless Tk.info(:commands, '::ttk::style').empty?
67
+ # fail RuntimeError,
68
+ # "can't define '::ttk::style' command (already exist)"
69
+
70
+ # do nothing !!!
71
+ warn "Warning: can't define '::ttk::style' command (already exist)" if $DEBUG
72
+ return
73
+ end
74
+ TkCore::INTERP.add_tk_procs('::ttk::style', 'args', <<-'EOS')
75
+ if [string equal [lrange $args 0 1] {element create}] {
76
+ if [string equal [lindex $args 3] image] {
77
+ set spec [lindex $args 4]
78
+ set map [lrange $spec 1 end]
79
+ if [llength $map] {
80
+ # return [eval [concat [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]]]
81
+ return [uplevel 1 [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]]]
82
+ }
83
+ }
84
+ } elseif [string equal [lindex $args 0] default] {
85
+ # return [eval "::style [lreplace $args 0 0 configure]"]
86
+ return [uplevel 1 ::style [lreplace $args 0 0 configure]]
87
+ }
88
+ # return [eval "::style $args"]
89
+ return [uplevel 1 ::style $args]
90
+ EOS
91
+ #########################
92
+ end
93
+ end
94
+ else ### TILE_SPEC_VERSION_ID >= 8
95
+ TkCommandNames = ['::ttk::style'.freeze].freeze
96
+
97
+ def __define_wrapper_proc_for_compatibility__!
98
+ __define_themes_and_setTheme_proc__!
99
+
100
+ unless Tk.info(:commands, '::style').empty?
101
+ # fail RuntimeError, "can't define '::style' command (already exist)"
102
+
103
+ # do nothing !!!
104
+ warn "Warning: can't define '::style' command (already exist)" if $DEBUG
105
+ return
106
+ end
107
+ TkCore::INTERP.add_tk_procs('::style', 'args', <<-'EOS')
108
+ if [string equal [lrange $args 0 1] {element create}] {
109
+ if [string equal [lindex $args 3] image] {
110
+ set name [lindex $args 4]
111
+ set opts [lrange $args 5 end]
112
+ set idx [lsearch $opts -map]
113
+ if {$idx >= 0 && [expr $idx % 2 == 0]} {
114
+ # return [eval [concat [list ::ttk::style element create [lindex $args 2] image [concat $name [lindex $opts [expr $idx + 1]]]] [lreplace $opts $idx [expr $idx + 1]]]]
115
+ return [uplevel 1 [list ::ttk::style element create [lindex $args 2] image [concat $name [lindex $opts [expr $idx + 1]]]] [lreplace $opts $idx [expr $idx + 1]]]
116
+ }
117
+ }
118
+ } elseif [string equal [lindex $args 0] default] {
119
+ # return [eval "::ttk::style [lreplace $args 0 0 configure]"]
120
+ return [uplevel 1 ::ttk::style [lreplace $args 0 0 configure]]
121
+ }
122
+ # return [eval "::ttk::style $args"]
123
+ return [uplevel 1 ::ttk::style $args]
124
+ EOS
125
+ #########################
126
+ end
127
+ end
128
+
129
+ def __define_themes_and_setTheme_proc__!
130
+ TkCore::INTERP.add_tk_procs('::ttk::themes', '{ptn *}', <<-'EOS')
131
+ #set themes [list]
132
+ set themes [::ttk::style theme names]
133
+ foreach pkg [lsearch -inline -all -glob [package names] ttk::theme::$ptn] {
134
+ set theme [namespace tail $pkg]
135
+ if {[lsearch -exact $themes $theme] < 0} {
136
+ lappend themes $theme
137
+ }
138
+ }
139
+ foreach pkg [lsearch -inline -all -glob [package names] tile::theme::$ptn] {
140
+ set theme [namespace tail $pkg]
141
+ if {[lsearch -exact $themes $theme] < 0} {
142
+ lappend themes $theme
143
+ }
144
+ }
145
+ return $themes
146
+ EOS
147
+ #########################
148
+ TkCore::INTERP.add_tk_procs('::ttk::setTheme', 'theme', <<-'EOS')
149
+ variable currentTheme
150
+ if {[lsearch -exact [::ttk::style theme names] $theme] < 0} {
151
+ package require [lsearch -inline -regexp [package names] (ttk|tile)::theme::$theme]
152
+ }
153
+ ::ttk::style theme use $theme
154
+ set currentTheme $theme
155
+ EOS
156
+ end
157
+ private :__define_themes_and_setTheme_proc__!
158
+
159
+ def configure(style=nil, keys=nil)
160
+ if style.kind_of?(Hash)
161
+ keys = style
162
+ style = nil
163
+ end
164
+ style = '.' unless style
165
+
166
+ if Tk::Tile::TILE_SPEC_VERSION_ID < 7
167
+ sub_cmd = 'default'
168
+ else
169
+ sub_cmd = 'configure'
170
+ end
171
+
172
+ if keys && keys != None
173
+ tk_call(TkCommandNames[0], sub_cmd, style, *hash_kv(keys))
174
+ else
175
+ tk_call(TkCommandNames[0], sub_cmd, style)
176
+ end
177
+ end
178
+ alias default configure
179
+
180
+ def map(style=nil, keys=nil)
181
+ if style.kind_of?(Hash)
182
+ keys = style
183
+ style = nil
184
+ end
185
+ style = '.' unless style
186
+
187
+ if keys && keys != None
188
+ if keys.kind_of?(Hash)
189
+ tk_call(TkCommandNames[0], 'map', style, *hash_kv(keys))
190
+ else
191
+ simplelist(tk_call(TkCommandNames[0], 'map', style, '-' << keys.to_s))
192
+ end
193
+ else
194
+ ret = {}
195
+ Hash[*(simplelist(tk_call(TkCommandNames[0], 'map', style)))].each{|k, v|
196
+ ret[k[1..-1]] = list(v)
197
+ }
198
+ ret
199
+ end
200
+ end
201
+ alias map_configure map
202
+
203
+ def map_configinfo(style=nil, key=None)
204
+ style = '.' unless style
205
+ map(style, key)
206
+ end
207
+
208
+ def map_default_configinfo(key=None)
209
+ map('.', key)
210
+ end
211
+
212
+ def lookup(style, opt, state=None, fallback_value=None)
213
+ tk_call(TkCommandNames[0], 'lookup', style,
214
+ '-' << opt.to_s, state, fallback_value)
215
+ end
216
+
217
+ include Tk::Tile::ParseStyleLayout
218
+
219
+ def layout(style=nil, spec=nil)
220
+ if style.kind_of?(Hash)
221
+ spec = style
222
+ style = nil
223
+ end
224
+ style = '.' unless style
225
+
226
+ if spec
227
+ tk_call(TkCommandNames[0], 'layout', style, spec)
228
+ else
229
+ _style_layout(list(tk_call(TkCommandNames[0], 'layout', style)))
230
+ end
231
+ end
232
+
233
+ def element_create(name, type, *args)
234
+ if type == 'image' || type == :image
235
+ element_create_image(name, *args)
236
+ else
237
+ tk_call(TkCommandNames[0], 'element', 'create', name, type, *args)
238
+ end
239
+ end
240
+
241
+ def element_create_image(name, *args)
242
+ fail ArgumentError, 'Must supply a base image' unless (spec = args.shift)
243
+ if (opts = args.shift)
244
+ if opts.kind_of?(Hash)
245
+ opts = _symbolkey2str(opts)
246
+ else
247
+ fail ArgumentError, 'bad option'
248
+ end
249
+ end
250
+ fail ArgumentError, 'too many arguments' unless args.empty?
251
+
252
+ if spec.kind_of?(Array)
253
+ # probably, command format is tile 0.8+ (Tcl/Tk8.5+) style
254
+ if Tk::Tile::TILE_SPEC_VERSION_ID >= 8
255
+ if opts
256
+ tk_call(TkCommandNames[0],
257
+ 'element', 'create', name, 'image', spec, opts)
258
+ else
259
+ tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec)
260
+ end
261
+ else
262
+ fail ArgumentError, 'illegal arguments' if opts.key?('map')
263
+ base = spec.shift
264
+ opts['map'] = spec
265
+ tk_call(TkCommandNames[0],
266
+ 'element', 'create', name, 'image', base, opts)
267
+ end
268
+ else
269
+ # probably, command format is tile 0.7.8 or older style
270
+ if Tk::Tile::TILE_SPEC_VERSION_ID >= 8
271
+ spec = [spec, *(opts.delete('map'))] if opts.key?('map')
272
+ end
273
+ if opts
274
+ tk_call(TkCommandNames[0],
275
+ 'element', 'create', name, 'image', spec, opts)
276
+ else
277
+ tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec)
278
+ end
279
+ end
280
+ end
281
+
282
+ def element_names()
283
+ list(tk_call(TkCommandNames[0], 'element', 'names'))
284
+ end
285
+
286
+ def element_options(elem)
287
+ simplelist(tk_call(TkCommandNames[0], 'element', 'options', elem))
288
+ end
289
+
290
+ def theme_create(name, keys=nil)
291
+ name = name.to_s
292
+ if keys && keys != None
293
+ tk_call(TkCommandNames[0], 'theme', 'create', name, *hash_kv(keys))
294
+ else
295
+ tk_call(TkCommandNames[0], 'theme', 'create', name)
296
+ end
297
+ name
298
+ end
299
+
300
+ def theme_settings(name, cmd=nil, &b)
301
+ name = name.to_s
302
+ cmd = Proc.new(&b) if !cmd && b
303
+ tk_call(TkCommandNames[0], 'theme', 'settings', name, cmd)
304
+ name
305
+ end
306
+
307
+ def theme_names()
308
+ list(tk_call(TkCommandNames[0], 'theme', 'names'))
309
+ end
310
+
311
+ def theme_use(name)
312
+ name = name.to_s
313
+ tk_call(TkCommandNames[0], 'theme', 'use', name)
314
+ name
315
+ end
316
+ end