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,61 @@
1
+ #
2
+ # tkextlib/blt/win_printer.rb
3
+ #
4
+ # *** Windows only ***
5
+ #
6
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
7
+ #
8
+
9
+ require 'tk'
10
+ require 'tkextlib/blt.rb'
11
+
12
+ module Tk::BLT
13
+ class Printer < TkObject
14
+ extend TkCore
15
+
16
+ TkCommandNames = ['::blt::printer'.freeze].freeze
17
+
18
+ def self.enum(attribute)
19
+ simplelist(tk_call('::blt::printer', 'enum', attribute))
20
+ end
21
+
22
+ def self.names(pat=None)
23
+ simplelist(tk_call('::blt::printer', 'names', pat))
24
+ end
25
+
26
+ def self.open(printer)
27
+ self.new(printer)
28
+ end
29
+
30
+ #################################
31
+
32
+ def initialize(printer)
33
+ @printer_id = tk_call('::blt::printer', 'open', printer)
34
+ end
35
+
36
+ def close
37
+ tk_call('::blt::print', 'close', @printer_id)
38
+ self
39
+ end
40
+ def get_attrs(var)
41
+ tk_call('::blt::print', 'getattrs', @printer_id, var)
42
+ var
43
+ end
44
+ def set_attrs(var)
45
+ tk_call('::blt::print', 'setattrs', @printer_id, var)
46
+ self
47
+ end
48
+ def snap(win)
49
+ tk_call('::blt::print', 'snap', @printer_id, win)
50
+ self
51
+ end
52
+ def write(str)
53
+ tk_call('::blt::print', 'write', @printer_id, str)
54
+ self
55
+ end
56
+ def write_with_title(title, str)
57
+ tk_call('::blt::print', 'write', @printer_id, title, str)
58
+ self
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,107 @@
1
+ #
2
+ # tkextlib/blt/winop.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/blt.rb'
8
+
9
+ module Tk::BLT
10
+ module Winop
11
+ extend TkCore
12
+
13
+ TkCommandNames = ['::blt::winop'.freeze].freeze
14
+ end
15
+ WinOp = Winop
16
+ end
17
+
18
+ class << Tk::BLT::Winop
19
+ def changes(win)
20
+ tk_call('::blt::winop', 'changes', win)
21
+ end
22
+
23
+ def colormap(win)
24
+ Hash[*list(tk_call('::blt::winop', 'colormap', win))]
25
+ end
26
+
27
+ def convolve(src, dest, filter)
28
+ tk_call('::blt::winop', 'convolve', src, dest, filter)
29
+ end
30
+
31
+ def image_convolve(src, dest, filter)
32
+ tk_call('::blt::winop', 'image', 'convolve', src, dest, filter)
33
+ end
34
+ def image_gradient(photo, left, right, type)
35
+ tk_call('::blt::winop', 'image', 'gradient', photo, left, right, type)
36
+ end
37
+ def image_read_jpeg(file, photo)
38
+ tk_call('::blt::winop', 'image', 'readjpeg', file, photo)
39
+ end
40
+ def image_resample(src, dest, horiz_filter=None, vert_filter=None)
41
+ tk_call('::blt::winop', 'image', 'resample',
42
+ src, dest, horiz_filter, vert_filter)
43
+ end
44
+ def image_rotate(src, dest, angle)
45
+ tk_call('::blt::winop', 'image', 'rotate', src, dest, angle)
46
+ end
47
+ def image_snap(win, photo, width=None, height=None)
48
+ tk_call('::blt::winop', 'image', 'snap', win, photo, width, height)
49
+ end
50
+ def image_subsample(src, dest, x, y, width, height,
51
+ horiz_filter=None, vert_filter=None)
52
+ tk_call('::blt::winop', 'image', 'subsample',
53
+ src, dest, x, y, width, height, horiz_filter, vert_filter)
54
+ end
55
+
56
+ def quantize(src, dest, colors)
57
+ tk_call('::blt::winop', 'quantize', src, dest, colors)
58
+ end
59
+
60
+ def query()
61
+ tk_call('::blt::winop', 'query')
62
+ end
63
+
64
+ def read_jpeg(file, photo)
65
+ tk_call('::blt::winop', 'readjpeg', file, photo)
66
+ end
67
+
68
+ def resample(src, dest, horiz_filter=None, vert_filter=None)
69
+ tk_call('::blt::winop', 'resample',
70
+ src, dest, horiz_filter, vert_filter)
71
+ end
72
+
73
+ def subsample(src, dest, x, y, width, height,
74
+ horiz_filter=None, vert_filter=None)
75
+ tk_call('::blt::winop', 'subsample',
76
+ src, dest, x, y, width, height, horiz_filter, vert_filter)
77
+ end
78
+
79
+ def raise(*wins)
80
+ tk_call('::blt::winop', 'raise', *wins)
81
+ end
82
+
83
+ def lower(*wins)
84
+ tk_call('::blt::winop', 'lower', *wins)
85
+ end
86
+
87
+ def map(*wins)
88
+ tk_call('::blt::winop', 'map', *wins)
89
+ end
90
+
91
+ def unmap(*wins)
92
+ tk_call('::blt::winop', 'unmap', *wins)
93
+ end
94
+
95
+ def move(win, x, y)
96
+ tk_call('::blt::winop', 'move', win, x, y)
97
+ end
98
+
99
+ def snap(win, photo)
100
+ tk_call('::blt::winop', 'snap', win, photo)
101
+ end
102
+
103
+ def warpto(win = None)
104
+ tk_call('::blt::winop', 'warpto', win)
105
+ end
106
+ alias warp_to warpto
107
+ end
@@ -0,0 +1,153 @@
1
+ #
2
+ # BWidget extension 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/bwidget/setup.rb'
13
+
14
+ # load all image format handlers
15
+ #TkPackage.require('BWidget', '1.7')
16
+ TkPackage.require('BWidget')
17
+
18
+ module Tk
19
+ module BWidget
20
+ TkComm::TkExtlibAutoloadModule.unshift(self)
21
+ # Require autoload-symbols which is a same name as widget classname.
22
+ # Those are used at TkComm._genobj_for_tkwidget method.
23
+
24
+ extend TkCore
25
+
26
+ LIBRARY = tk_call('set', '::BWIDGET::LIBRARY')
27
+
28
+ PACKAGE_NAME = 'BWidget'.freeze
29
+ def self.package_name
30
+ PACKAGE_NAME
31
+ end
32
+
33
+ def self.package_version
34
+ begin
35
+ TkPackage.require('BWidget')
36
+ rescue
37
+ ''
38
+ end
39
+ end
40
+
41
+ def self.XLFDfont(cmd, *args)
42
+ if args[-1].kind_of?(Hash)
43
+ keys = args.pop
44
+ args.concat(hash_kv(keys))
45
+ end
46
+ tk_call('BWidget::XLFDfont', cmd, *args)
47
+ end
48
+
49
+ def self.assert(exp, msg=None)
50
+ tk_call('BWidget::assert', exp, msg)
51
+ end
52
+
53
+ def self.badOptionString(type, value, list)
54
+ tk_call('BWidget::badOptionString', type, value, list)
55
+ end
56
+
57
+ def self.bindMouseWheel(widget)
58
+ tk_call('BWidget::bindMouseWheel', widget)
59
+ end
60
+
61
+ def self.classes(klass)
62
+ list(tk_call('BWidget::classes', klass))
63
+ end
64
+
65
+ def self.clonename(menu)
66
+ tk_call('BWidget::clonename', menu)
67
+ end
68
+
69
+ def self.focus(opt, path)
70
+ tk_call('BWidget::focus', opt, path)
71
+ end
72
+
73
+ def self.get3dcolor(path, bgcolor)
74
+ tk_call('BWidget::get3dcolor', path, bgcolor)
75
+ end
76
+
77
+ def self.getname(name)
78
+ tk_call('BWidget::getname', name)
79
+ end
80
+
81
+ def self.grab(opt, path)
82
+ tk_call('BWidget::grab', opt, path)
83
+ end
84
+
85
+ def self.inuse(klass)
86
+ bool(tk_call('BWidget::inuse', klass))
87
+ end
88
+
89
+ def self.library(klass, *klasses)
90
+ tk_call('BWidget::library', klass, *klasses)
91
+ end
92
+
93
+ def self.lreorder(list, neworder)
94
+ tk_call('BWidget::lreorder', list, neworder)
95
+ end
96
+
97
+ def self.parsetext(text)
98
+ tk_call('BWidget::parsetext', text)
99
+ end
100
+
101
+ def self.place(path, w, h, *args)
102
+ if args[-1].kind_of?(Hash)
103
+ keys = args.pop
104
+ args.concat(hash_kv(keys))
105
+ end
106
+ tk_call('BWidget::place', path, w, h, *(args.flatten))
107
+ end
108
+
109
+ def self.write(file, mode=None)
110
+ tk_call('BWidget::write', file, mode)
111
+ end
112
+
113
+ def self.wrongNumArgsString(str)
114
+ tk_call('BWidget::wrongNumArgsString', str)
115
+ end
116
+
117
+ ####################################################
118
+
119
+ autoload :ArrowButton, 'tkextlib/bwidget/arrowbutton'
120
+ autoload :Bitmap, 'tkextlib/bwidget/bitmap'
121
+ autoload :Button, 'tkextlib/bwidget/button'
122
+ autoload :ButtonBox, 'tkextlib/bwidget/buttonbox'
123
+ autoload :ComboBox, 'tkextlib/bwidget/combobox'
124
+ autoload :Dialog, 'tkextlib/bwidget/dialog'
125
+ autoload :DragSite, 'tkextlib/bwidget/dragsite'
126
+ autoload :DropSite, 'tkextlib/bwidget/dropsite'
127
+ autoload :DynamicHelp, 'tkextlib/bwidget/dynamichelp'
128
+ autoload :Entry, 'tkextlib/bwidget/entry'
129
+ autoload :Label, 'tkextlib/bwidget/label'
130
+ autoload :LabelEntry, 'tkextlib/bwidget/labelentry'
131
+ autoload :LabelFrame, 'tkextlib/bwidget/labelframe'
132
+ autoload :ListBox, 'tkextlib/bwidget/listbox'
133
+ autoload :MainFrame, 'tkextlib/bwidget/mainframe'
134
+ autoload :MessageDlg, 'tkextlib/bwidget/messagedlg'
135
+ autoload :NoteBook, 'tkextlib/bwidget/notebook'
136
+ autoload :PagesManager, 'tkextlib/bwidget/pagesmanager'
137
+ autoload :PanedWindow, 'tkextlib/bwidget/panedwindow'
138
+ autoload :PasswdDlg, 'tkextlib/bwidget/passwddlg'
139
+ autoload :ProgressBar, 'tkextlib/bwidget/progressbar'
140
+ autoload :ProgressDlg, 'tkextlib/bwidget/progressdlg'
141
+ autoload :ScrollableFrame, 'tkextlib/bwidget/scrollableframe'
142
+ autoload :ScrolledWindow, 'tkextlib/bwidget/scrolledwindow'
143
+ autoload :ScrollView, 'tkextlib/bwidget/scrollview'
144
+ autoload :SelectColor, 'tkextlib/bwidget/selectcolor'
145
+ autoload :SelectFont, 'tkextlib/bwidget/selectfont'
146
+ autoload :Separator, 'tkextlib/bwidget/separator'
147
+ autoload :SpinBox, 'tkextlib/bwidget/spinbox'
148
+ autoload :TitleFrame, 'tkextlib/bwidget/titleframe'
149
+ autoload :Tree, 'tkextlib/bwidget/tree'
150
+ autoload :Widget, 'tkextlib/bwidget/widget'
151
+
152
+ end
153
+ end
@@ -0,0 +1,21 @@
1
+ #
2
+ # tkextlib/bwidget/arrowbutton.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/button'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class ArrowButton < Tk::BWidget::Button
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::ArrowButton
18
+ TkCommandNames = ['ArrowButton'.freeze].freeze
19
+ WidgetClassName = 'ArrowButton'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+ end
@@ -0,0 +1,21 @@
1
+ #
2
+ # tkextlib/bwidget/bitmap.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+ require 'tk'
6
+ require 'tk/image'
7
+ require 'tkextlib/bwidget.rb'
8
+
9
+ module Tk
10
+ module BWidget
11
+ class Bitmap < TkPhotoImage
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::BWidget::Bitmap
17
+ def initialize(name)
18
+ @path = tk_call_without_enc('Bitmap::get', name)
19
+ Tk_IMGTBL[@path] = self
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # tkextlib/bwidget/button.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/button'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class Button < Tk::Button
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::Button
18
+ TkCommandNames = ['Button'.freeze].freeze
19
+ WidgetClassName = 'Button'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() << 'helptext'
24
+ end
25
+ private :__strval_optkeys
26
+
27
+ def __tkvariable_optkeys
28
+ super() << 'helpvar'
29
+ end
30
+ private :__tkvariable_optkeys
31
+ end
@@ -0,0 +1,90 @@
1
+ #
2
+ # tkextlib/bwidget/buttonbox.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/button'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class ButtonBox < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::ButtonBox
18
+ TkCommandNames = ['ButtonBox'.freeze].freeze
19
+ WidgetClassName = 'ButtonBox'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ include TkItemConfigMethod
23
+
24
+ def __boolval_optkeys
25
+ super() << 'homogeneous'
26
+ end
27
+ private :__boolval_optkeys
28
+
29
+ def tagid(tagOrId)
30
+ if tagOrId.kind_of?(Tk::BWidget::Button)
31
+ name = tagOrId[:name]
32
+ return index(name) unless name.empty?
33
+ end
34
+ if tagOrId.kind_of?(Tk::Button)
35
+ return index(tagOrId[:text])
36
+ end
37
+ # index(tagOrId.to_s)
38
+ index(_get_eval_string(tagOrId))
39
+ end
40
+
41
+ def add(keys={}, &b)
42
+ win = window(tk_send('add', *hash_kv(keys)))
43
+ if b
44
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
45
+ win.instance_exec(self, &b)
46
+ else
47
+ win.instance_eval(&b)
48
+ end
49
+ end
50
+ win
51
+ end
52
+
53
+ def delete(idx)
54
+ tk_send('delete', tagid(idx))
55
+ self
56
+ end
57
+
58
+ def index(idx)
59
+ if idx.kind_of?(Tk::BWidget::Button)
60
+ name = idx[:name]
61
+ idx = name unless name.empty?
62
+ end
63
+ if idx.kind_of?(Tk::Button)
64
+ idx = idx[:text]
65
+ end
66
+ number(tk_send('index', idx.to_s))
67
+ end
68
+
69
+ def insert(idx, keys={}, &b)
70
+ win = window(tk_send('insert', tagid(idx), *hash_kv(keys)))
71
+ if b
72
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
73
+ win.instance_exec(self, &b)
74
+ else
75
+ win.instance_eval(&b)
76
+ end
77
+ end
78
+ win
79
+ end
80
+
81
+ def invoke(idx)
82
+ tk_send('invoke', tagid(idx))
83
+ self
84
+ end
85
+
86
+ def set_focus(idx)
87
+ tk_send('setfocus', tagid(idx))
88
+ self
89
+ end
90
+ end