tk-win 0.2.0-x86-mingw32

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 (329) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +46 -0
  6. data/VERSION +1 -0
  7. data/lib/tcltk.rb +367 -0
  8. data/lib/tk.rb +5682 -0
  9. data/lib/tk/after.rb +6 -0
  10. data/lib/tk/autoload.rb +760 -0
  11. data/lib/tk/bgerror.rb +29 -0
  12. data/lib/tk/bindtag.rb +138 -0
  13. data/lib/tk/button.rb +31 -0
  14. data/lib/tk/canvas.rb +816 -0
  15. data/lib/tk/canvastag.rb +459 -0
  16. data/lib/tk/checkbutton.rb +32 -0
  17. data/lib/tk/clipboard.rb +75 -0
  18. data/lib/tk/clock.rb +71 -0
  19. data/lib/tk/composite.rb +484 -0
  20. data/lib/tk/console.rb +52 -0
  21. data/lib/tk/dialog.rb +326 -0
  22. data/lib/tk/encodedstr.rb +187 -0
  23. data/lib/tk/entry.rb +120 -0
  24. data/lib/tk/event.rb +562 -0
  25. data/lib/tk/font.rb +2351 -0
  26. data/lib/tk/frame.rb +132 -0
  27. data/lib/tk/grid.rb +279 -0
  28. data/lib/tk/image.rb +275 -0
  29. data/lib/tk/itemconfig.rb +1222 -0
  30. data/lib/tk/itemfont.rb +327 -0
  31. data/lib/tk/kinput.rb +71 -0
  32. data/lib/tk/label.rb +22 -0
  33. data/lib/tk/labelframe.rb +31 -0
  34. data/lib/tk/listbox.rb +284 -0
  35. data/lib/tk/macpkg.rb +80 -0
  36. data/lib/tk/menu.rb +718 -0
  37. data/lib/tk/menubar.rb +137 -0
  38. data/lib/tk/menuspec.rb +456 -0
  39. data/lib/tk/message.rb +24 -0
  40. data/lib/tk/mngfocus.rb +33 -0
  41. data/lib/tk/msgcat.rb +296 -0
  42. data/lib/tk/namespace.rb +551 -0
  43. data/lib/tk/optiondb.rb +377 -0
  44. data/lib/tk/optionobj.rb +212 -0
  45. data/lib/tk/pack.rb +107 -0
  46. data/lib/tk/package.rb +143 -0
  47. data/lib/tk/palette.rb +55 -0
  48. data/lib/tk/panedwindow.rb +260 -0
  49. data/lib/tk/place.rb +128 -0
  50. data/lib/tk/radiobutton.rb +73 -0
  51. data/lib/tk/root.rb +95 -0
  52. data/lib/tk/scale.rb +112 -0
  53. data/lib/tk/scrollable.rb +82 -0
  54. data/lib/tk/scrollbar.rb +183 -0
  55. data/lib/tk/scrollbox.rb +39 -0
  56. data/lib/tk/selection.rb +86 -0
  57. data/lib/tk/spinbox.rb +144 -0
  58. data/lib/tk/tagfont.rb +43 -0
  59. data/lib/tk/text.rb +1604 -0
  60. data/lib/tk/textimage.rb +88 -0
  61. data/lib/tk/textmark.rb +204 -0
  62. data/lib/tk/texttag.rb +321 -0
  63. data/lib/tk/textwindow.rb +154 -0
  64. data/lib/tk/timer.rb +669 -0
  65. data/lib/tk/toplevel.rb +264 -0
  66. data/lib/tk/ttk_selector.rb +98 -0
  67. data/lib/tk/txtwin_abst.rb +39 -0
  68. data/lib/tk/validation.rb +397 -0
  69. data/lib/tk/variable.rb +1799 -0
  70. data/lib/tk/virtevent.rb +139 -0
  71. data/lib/tk/winfo.rb +392 -0
  72. data/lib/tk/winpkg.rb +156 -0
  73. data/lib/tk/wm.rb +552 -0
  74. data/lib/tk/xim.rb +122 -0
  75. data/lib/tkafter.rb +4 -0
  76. data/lib/tkbgerror.rb +4 -0
  77. data/lib/tkcanvas.rb +4 -0
  78. data/lib/tkclass.rb +47 -0
  79. data/lib/tkconsole.rb +4 -0
  80. data/lib/tkdialog.rb +4 -0
  81. data/lib/tkentry.rb +4 -0
  82. data/lib/tkextlib/ICONS.rb +13 -0
  83. data/lib/tkextlib/ICONS/icons.rb +129 -0
  84. data/lib/tkextlib/ICONS/setup.rb +8 -0
  85. data/lib/tkextlib/SUPPORT_STATUS +198 -0
  86. data/lib/tkextlib/blt.rb +189 -0
  87. data/lib/tkextlib/blt/barchart.rb +79 -0
  88. data/lib/tkextlib/blt/bitmap.rb +112 -0
  89. data/lib/tkextlib/blt/busy.rb +83 -0
  90. data/lib/tkextlib/blt/component.rb +2218 -0
  91. data/lib/tkextlib/blt/container.rb +28 -0
  92. data/lib/tkextlib/blt/cutbuffer.rb +23 -0
  93. data/lib/tkextlib/blt/dragdrop.rb +269 -0
  94. data/lib/tkextlib/blt/eps.rb +32 -0
  95. data/lib/tkextlib/blt/graph.rb +67 -0
  96. data/lib/tkextlib/blt/htext.rb +112 -0
  97. data/lib/tkextlib/blt/setup.rb +8 -0
  98. data/lib/tkextlib/blt/spline.rb +23 -0
  99. data/lib/tkextlib/blt/stripchart.rb +74 -0
  100. data/lib/tkextlib/blt/table.rb +412 -0
  101. data/lib/tkextlib/blt/tabnotebook.rb +110 -0
  102. data/lib/tkextlib/blt/tabset.rb +504 -0
  103. data/lib/tkextlib/blt/ted.rb +68 -0
  104. data/lib/tkextlib/blt/tile.rb +25 -0
  105. data/lib/tkextlib/blt/tile/button.rb +16 -0
  106. data/lib/tkextlib/blt/tile/checkbutton.rb +17 -0
  107. data/lib/tkextlib/blt/tile/frame.rb +16 -0
  108. data/lib/tkextlib/blt/tile/label.rb +16 -0
  109. data/lib/tkextlib/blt/tile/radiobutton.rb +17 -0
  110. data/lib/tkextlib/blt/tile/scrollbar.rb +16 -0
  111. data/lib/tkextlib/blt/tile/toplevel.rb +16 -0
  112. data/lib/tkextlib/blt/tree.rb +1058 -0
  113. data/lib/tkextlib/blt/treeview.rb +1287 -0
  114. data/lib/tkextlib/blt/unix_dnd.rb +141 -0
  115. data/lib/tkextlib/blt/vector.rb +256 -0
  116. data/lib/tkextlib/blt/watch.rb +175 -0
  117. data/lib/tkextlib/blt/win_printer.rb +61 -0
  118. data/lib/tkextlib/blt/winop.rb +107 -0
  119. data/lib/tkextlib/bwidget.rb +153 -0
  120. data/lib/tkextlib/bwidget/arrowbutton.rb +21 -0
  121. data/lib/tkextlib/bwidget/bitmap.rb +21 -0
  122. data/lib/tkextlib/bwidget/button.rb +31 -0
  123. data/lib/tkextlib/bwidget/buttonbox.rb +90 -0
  124. data/lib/tkextlib/bwidget/combobox.rb +62 -0
  125. data/lib/tkextlib/bwidget/dialog.rb +194 -0
  126. data/lib/tkextlib/bwidget/dragsite.rb +31 -0
  127. data/lib/tkextlib/bwidget/dropsite.rb +39 -0
  128. data/lib/tkextlib/bwidget/dynamichelp.rb +63 -0
  129. data/lib/tkextlib/bwidget/entry.rb +43 -0
  130. data/lib/tkextlib/bwidget/label.rb +41 -0
  131. data/lib/tkextlib/bwidget/labelentry.rb +80 -0
  132. data/lib/tkextlib/bwidget/labelframe.rb +52 -0
  133. data/lib/tkextlib/bwidget/listbox.rb +361 -0
  134. data/lib/tkextlib/bwidget/mainframe.rb +132 -0
  135. data/lib/tkextlib/bwidget/messagedlg.rb +192 -0
  136. data/lib/tkextlib/bwidget/notebook.rb +166 -0
  137. data/lib/tkextlib/bwidget/pagesmanager.rb +73 -0
  138. data/lib/tkextlib/bwidget/panedwindow.rb +42 -0
  139. data/lib/tkextlib/bwidget/panelframe.rb +67 -0
  140. data/lib/tkextlib/bwidget/passwddlg.rb +44 -0
  141. data/lib/tkextlib/bwidget/progressbar.rb +20 -0
  142. data/lib/tkextlib/bwidget/progressdlg.rb +58 -0
  143. data/lib/tkextlib/bwidget/scrollableframe.rb +40 -0
  144. data/lib/tkextlib/bwidget/scrolledwindow.rb +48 -0
  145. data/lib/tkextlib/bwidget/scrollview.rb +25 -0
  146. data/lib/tkextlib/bwidget/selectcolor.rb +73 -0
  147. data/lib/tkextlib/bwidget/selectfont.rb +91 -0
  148. data/lib/tkextlib/bwidget/separator.rb +20 -0
  149. data/lib/tkextlib/bwidget/setup.rb +8 -0
  150. data/lib/tkextlib/bwidget/spinbox.rb +98 -0
  151. data/lib/tkextlib/bwidget/statusbar.rb +62 -0
  152. data/lib/tkextlib/bwidget/titleframe.rb +33 -0
  153. data/lib/tkextlib/bwidget/tree.rb +500 -0
  154. data/lib/tkextlib/bwidget/widget.rb +129 -0
  155. data/lib/tkextlib/itcl.rb +13 -0
  156. data/lib/tkextlib/itcl/incr_tcl.rb +178 -0
  157. data/lib/tkextlib/itcl/setup.rb +13 -0
  158. data/lib/tkextlib/itk.rb +13 -0
  159. data/lib/tkextlib/itk/incr_tk.rb +446 -0
  160. data/lib/tkextlib/itk/setup.rb +13 -0
  161. data/lib/tkextlib/iwidgets.rb +94 -0
  162. data/lib/tkextlib/iwidgets/buttonbox.rb +121 -0
  163. data/lib/tkextlib/iwidgets/calendar.rb +125 -0
  164. data/lib/tkextlib/iwidgets/canvasprintbox.rb +53 -0
  165. data/lib/tkextlib/iwidgets/canvasprintdialog.rb +38 -0
  166. data/lib/tkextlib/iwidgets/checkbox.rb +130 -0
  167. data/lib/tkextlib/iwidgets/combobox.rb +104 -0
  168. data/lib/tkextlib/iwidgets/dateentry.rb +20 -0
  169. data/lib/tkextlib/iwidgets/datefield.rb +58 -0
  170. data/lib/tkextlib/iwidgets/dialog.rb +20 -0
  171. data/lib/tkextlib/iwidgets/dialogshell.rb +121 -0
  172. data/lib/tkextlib/iwidgets/disjointlistbox.rb +50 -0
  173. data/lib/tkextlib/iwidgets/entryfield.rb +185 -0
  174. data/lib/tkextlib/iwidgets/extbutton.rb +40 -0
  175. data/lib/tkextlib/iwidgets/extfileselectionbox.rb +46 -0
  176. data/lib/tkextlib/iwidgets/extfileselectiondialog.rb +33 -0
  177. data/lib/tkextlib/iwidgets/feedback.rb +35 -0
  178. data/lib/tkextlib/iwidgets/fileselectionbox.rb +46 -0
  179. data/lib/tkextlib/iwidgets/fileselectiondialog.rb +33 -0
  180. data/lib/tkextlib/iwidgets/finddialog.rb +42 -0
  181. data/lib/tkextlib/iwidgets/hierarchy.rb +365 -0
  182. data/lib/tkextlib/iwidgets/hyperhelp.rb +50 -0
  183. data/lib/tkextlib/iwidgets/labeledframe.rb +39 -0
  184. data/lib/tkextlib/iwidgets/labeledwidget.rb +45 -0
  185. data/lib/tkextlib/iwidgets/mainwindow.rb +67 -0
  186. data/lib/tkextlib/iwidgets/menubar.rb +212 -0
  187. data/lib/tkextlib/iwidgets/messagebox.rb +93 -0
  188. data/lib/tkextlib/iwidgets/messagedialog.rb +20 -0
  189. data/lib/tkextlib/iwidgets/notebook.rb +175 -0
  190. data/lib/tkextlib/iwidgets/optionmenu.rb +92 -0
  191. data/lib/tkextlib/iwidgets/panedwindow.rb +134 -0
  192. data/lib/tkextlib/iwidgets/promptdialog.rb +131 -0
  193. data/lib/tkextlib/iwidgets/pushbutton.rb +35 -0
  194. data/lib/tkextlib/iwidgets/radiobox.rb +121 -0
  195. data/lib/tkextlib/iwidgets/scopedobject.rb +24 -0
  196. data/lib/tkextlib/iwidgets/scrolledcanvas.rb +353 -0
  197. data/lib/tkextlib/iwidgets/scrolledframe.rb +59 -0
  198. data/lib/tkextlib/iwidgets/scrolledhtml.rb +58 -0
  199. data/lib/tkextlib/iwidgets/scrolledlistbox.rb +207 -0
  200. data/lib/tkextlib/iwidgets/scrolledtext.rb +568 -0
  201. data/lib/tkextlib/iwidgets/scrolledwidget.rb +20 -0
  202. data/lib/tkextlib/iwidgets/selectionbox.rb +102 -0
  203. data/lib/tkextlib/iwidgets/selectiondialog.rb +92 -0
  204. data/lib/tkextlib/iwidgets/setup.rb +8 -0
  205. data/lib/tkextlib/iwidgets/shell.rb +38 -0
  206. data/lib/tkextlib/iwidgets/spindate.rb +48 -0
  207. data/lib/tkextlib/iwidgets/spinint.rb +30 -0
  208. data/lib/tkextlib/iwidgets/spinner.rb +169 -0
  209. data/lib/tkextlib/iwidgets/spintime.rb +48 -0
  210. data/lib/tkextlib/iwidgets/tabnotebook.rb +181 -0
  211. data/lib/tkextlib/iwidgets/tabset.rb +145 -0
  212. data/lib/tkextlib/iwidgets/timeentry.rb +25 -0
  213. data/lib/tkextlib/iwidgets/timefield.rb +58 -0
  214. data/lib/tkextlib/iwidgets/toolbar.rb +112 -0
  215. data/lib/tkextlib/iwidgets/watch.rb +56 -0
  216. data/lib/tkextlib/pkg_checker.rb +184 -0
  217. data/lib/tkextlib/setup.rb +8 -0
  218. data/lib/tkextlib/tcllib.rb +105 -0
  219. data/lib/tkextlib/tcllib/autoscroll.rb +158 -0
  220. data/lib/tkextlib/tcllib/ctext.rb +160 -0
  221. data/lib/tkextlib/tcllib/cursor.rb +97 -0
  222. data/lib/tkextlib/tcllib/datefield.rb +57 -0
  223. data/lib/tkextlib/tcllib/dialog.rb +84 -0
  224. data/lib/tkextlib/tcllib/getstring.rb +134 -0
  225. data/lib/tkextlib/tcllib/history.rb +73 -0
  226. data/lib/tkextlib/tcllib/ico.rb +146 -0
  227. data/lib/tkextlib/tcllib/ip_entry.rb +75 -0
  228. data/lib/tkextlib/tcllib/panelframe.rb +78 -0
  229. data/lib/tkextlib/tcllib/plotchart.rb +1404 -0
  230. data/lib/tkextlib/tcllib/ruler.rb +65 -0
  231. data/lib/tkextlib/tcllib/screenruler.rb +68 -0
  232. data/lib/tkextlib/tcllib/scrollwin.rb +61 -0
  233. data/lib/tkextlib/tcllib/setup.rb +8 -0
  234. data/lib/tkextlib/tcllib/style.rb +61 -0
  235. data/lib/tkextlib/tcllib/superframe.rb +51 -0
  236. data/lib/tkextlib/tcllib/swaplist.rb +150 -0
  237. data/lib/tkextlib/tcllib/tablelist.rb +28 -0
  238. data/lib/tkextlib/tcllib/tablelist_core.rb +1072 -0
  239. data/lib/tkextlib/tcllib/tablelist_tile.rb +43 -0
  240. data/lib/tkextlib/tcllib/tkpiechart.rb +314 -0
  241. data/lib/tkextlib/tcllib/tooltip.rb +104 -0
  242. data/lib/tkextlib/tcllib/widget.rb +82 -0
  243. data/lib/tkextlib/tclx.rb +13 -0
  244. data/lib/tkextlib/tclx/setup.rb +8 -0
  245. data/lib/tkextlib/tclx/tclx.rb +74 -0
  246. data/lib/tkextlib/tile.rb +449 -0
  247. data/lib/tkextlib/tile/dialog.rb +102 -0
  248. data/lib/tkextlib/tile/setup.rb +8 -0
  249. data/lib/tkextlib/tile/sizegrip.rb +32 -0
  250. data/lib/tkextlib/tile/style.rb +336 -0
  251. data/lib/tkextlib/tile/tbutton.rb +34 -0
  252. data/lib/tkextlib/tile/tcheckbutton.rb +38 -0
  253. data/lib/tkextlib/tile/tcombobox.rb +55 -0
  254. data/lib/tkextlib/tile/tentry.rb +49 -0
  255. data/lib/tkextlib/tile/tframe.rb +34 -0
  256. data/lib/tkextlib/tile/tlabel.rb +34 -0
  257. data/lib/tkextlib/tile/tlabelframe.rb +38 -0
  258. data/lib/tkextlib/tile/tmenubutton.rb +38 -0
  259. data/lib/tkextlib/tile/tnotebook.rb +147 -0
  260. data/lib/tkextlib/tile/tpaned.rb +245 -0
  261. data/lib/tkextlib/tile/tprogressbar.rb +57 -0
  262. data/lib/tkextlib/tile/tradiobutton.rb +38 -0
  263. data/lib/tkextlib/tile/treeview.rb +1306 -0
  264. data/lib/tkextlib/tile/tscale.rb +56 -0
  265. data/lib/tkextlib/tile/tscrollbar.rb +63 -0
  266. data/lib/tkextlib/tile/tseparator.rb +34 -0
  267. data/lib/tkextlib/tile/tsquare.rb +30 -0
  268. data/lib/tkextlib/tkDND.rb +18 -0
  269. data/lib/tkextlib/tkDND/setup.rb +8 -0
  270. data/lib/tkextlib/tkDND/shape.rb +125 -0
  271. data/lib/tkextlib/tkDND/tkdnd.rb +182 -0
  272. data/lib/tkextlib/tkHTML.rb +13 -0
  273. data/lib/tkextlib/tkHTML/htmlwidget.rb +453 -0
  274. data/lib/tkextlib/tkHTML/setup.rb +8 -0
  275. data/lib/tkextlib/tkimg.rb +36 -0
  276. data/lib/tkextlib/tkimg/bmp.rb +33 -0
  277. data/lib/tkextlib/tkimg/gif.rb +33 -0
  278. data/lib/tkextlib/tkimg/ico.rb +33 -0
  279. data/lib/tkextlib/tkimg/jpeg.rb +33 -0
  280. data/lib/tkextlib/tkimg/pcx.rb +33 -0
  281. data/lib/tkextlib/tkimg/pixmap.rb +44 -0
  282. data/lib/tkextlib/tkimg/png.rb +33 -0
  283. data/lib/tkextlib/tkimg/ppm.rb +33 -0
  284. data/lib/tkextlib/tkimg/ps.rb +33 -0
  285. data/lib/tkextlib/tkimg/setup.rb +8 -0
  286. data/lib/tkextlib/tkimg/sgi.rb +33 -0
  287. data/lib/tkextlib/tkimg/sun.rb +33 -0
  288. data/lib/tkextlib/tkimg/tga.rb +33 -0
  289. data/lib/tkextlib/tkimg/tiff.rb +33 -0
  290. data/lib/tkextlib/tkimg/window.rb +33 -0
  291. data/lib/tkextlib/tkimg/xbm.rb +33 -0
  292. data/lib/tkextlib/tkimg/xpm.rb +33 -0
  293. data/lib/tkextlib/tktable.rb +14 -0
  294. data/lib/tkextlib/tktable/setup.rb +8 -0
  295. data/lib/tkextlib/tktable/tktable.rb +966 -0
  296. data/lib/tkextlib/tktrans.rb +14 -0
  297. data/lib/tkextlib/tktrans/setup.rb +8 -0
  298. data/lib/tkextlib/tktrans/tktrans.rb +64 -0
  299. data/lib/tkextlib/treectrl.rb +13 -0
  300. data/lib/tkextlib/treectrl/setup.rb +8 -0
  301. data/lib/tkextlib/treectrl/tktreectrl.rb +2522 -0
  302. data/lib/tkextlib/trofs.rb +13 -0
  303. data/lib/tkextlib/trofs/setup.rb +8 -0
  304. data/lib/tkextlib/trofs/trofs.rb +51 -0
  305. data/lib/tkextlib/version.rb +6 -0
  306. data/lib/tkextlib/vu.rb +48 -0
  307. data/lib/tkextlib/vu/bargraph.rb +61 -0
  308. data/lib/tkextlib/vu/charts.rb +53 -0
  309. data/lib/tkextlib/vu/dial.rb +102 -0
  310. data/lib/tkextlib/vu/pie.rb +286 -0
  311. data/lib/tkextlib/vu/setup.rb +8 -0
  312. data/lib/tkextlib/vu/spinbox.rb +22 -0
  313. data/lib/tkextlib/winico.rb +14 -0
  314. data/lib/tkextlib/winico/setup.rb +8 -0
  315. data/lib/tkextlib/winico/winico.rb +224 -0
  316. data/lib/tkfont.rb +4 -0
  317. data/lib/tkmacpkg.rb +4 -0
  318. data/lib/tkmenubar.rb +4 -0
  319. data/lib/tkmngfocus.rb +4 -0
  320. data/lib/tkpalette.rb +4 -0
  321. data/lib/tkscrollbox.rb +4 -0
  322. data/lib/tktext.rb +4 -0
  323. data/lib/tkvirtevent.rb +4 -0
  324. data/lib/tkwinpkg.rb +4 -0
  325. data/spec/spec.opts +1 -0
  326. data/spec/spec_helper.rb +9 -0
  327. data/spec/tk-win_spec.rb +7 -0
  328. data/tk-win.gemspec +373 -0
  329. metadata +412 -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 = '2009-07-12'.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_send_without_enc('coords', val)
36
+ self
37
+ else
38
+ tk_split_list(tk_send_without_enc('coords'))
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,286 @@
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, TkUtil.untrust('00000')]).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_tkstring(slot)
177
+ @pie.itemcget_tkstring(@id, slot)
178
+ end
179
+
180
+ def cget(slot)
181
+ @pie.itemcget(@id, slot)
182
+ end
183
+
184
+ def cget_strict(slot)
185
+ @pie.itemcget_strict(@id, slot)
186
+ end
187
+
188
+ def configure(*args)
189
+ @pie.itemconfigure(@id, *args)
190
+ self
191
+ end
192
+
193
+ def configinfo(*args)
194
+ @pie.itemconfiginfo(@id, *args)
195
+ end
196
+
197
+ def current_configinfo(*args)
198
+ @pie.current_itemconfiginfo(@id, *args)
199
+ end
200
+
201
+ def delete
202
+ @pie.delete(@id)
203
+ end
204
+
205
+ def explode(value)
206
+ @pie.explode(@id, value)
207
+ self
208
+ end
209
+
210
+ def explode_value
211
+ @pie.explode_value(@id)
212
+ end
213
+
214
+ def lower(other=None)
215
+ @pie.lower(@id, other)
216
+ self
217
+ end
218
+
219
+ def raise(other=None)
220
+ @pie.raise(@id, other)
221
+ self
222
+ end
223
+
224
+ def set(value)
225
+ @pie.set(@id, value)
226
+ self
227
+ end
228
+ alias set_value set
229
+
230
+ def value
231
+ @pie.set(@id)
232
+ end
233
+ end
234
+
235
+ class Tk::Vu::NamedPieSlice
236
+ def self.new(parent, name, *args)
237
+ obj = nil
238
+ SliceID_TBL.mutex.synchronize{
239
+ if SliceID_TBL[parent.path] && SliceID_TBL[parent.path][name]
240
+ obj = SliceID_TBL[parent.path][name]
241
+ else
242
+ #super(parent, name, *args)
243
+ unless parent.kind_of?(Tk::Vu::Pie)
244
+ fail ArgumentError, "expect a Tk::Vu::Pie instance for 1st argument"
245
+ end
246
+ obj = self.allocate
247
+ obj.instance_eval{
248
+ @parent = @pie = parent
249
+ @ppath = parent.path
250
+ @path = @id = name.to_s
251
+ SliceID_TBL[@ppath] = {} unless SliceID_TBL[@ppath]
252
+ SliceID_TBL[@ppath][@id] = self
253
+ }
254
+ end
255
+ }
256
+ obj.instance_eval{
257
+ if args[-1].kind_of?(Hash)
258
+ keys = args.unshift
259
+ end
260
+ @pie.set(@id, *args)
261
+ configure(keys)
262
+ }
263
+
264
+ obj
265
+ end
266
+
267
+ def initialize(parent, name, *args)
268
+ # dummy:: not called by 'new' method
269
+ unless parent.kind_of?(Tk::Vu::Pie)
270
+ fail ArgumentError, "expect a Tk::Vu::Pie instance for 1st argument"
271
+ end
272
+ @parent = @pie = parent
273
+ @ppath = parent.path
274
+ @path = @id = name.to_s
275
+ SliceID_TBL.mutex.synchronize{
276
+ SliceID_TBL[@ppath] = {} unless SliceID_TBL[@ppath]
277
+ SliceID_TBL[@ppath][@id] = self
278
+ }
279
+
280
+ if args[-1].kind_of?(Hash)
281
+ keys = args.unshift
282
+ end
283
+ @pie.set(@id, *args)
284
+ configure(keys)
285
+ end
286
+ end