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,73 @@
1
+ #
2
+ # tkextlib/bwidget/pagesmanager.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class PagesManager < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::PagesManager
18
+ TkCommandNames = ['PagesManager'.freeze].freeze
19
+ WidgetClassName = 'PagesManager'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def tagid(id)
23
+ # id.to_s
24
+ _get_eval_string(id)
25
+ end
26
+
27
+ def add(page, &b)
28
+ win = window(tk_send('add', tagid(page)))
29
+ if b
30
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
31
+ win.instance_exec(self, &b)
32
+ else
33
+ win.instance_eval(&b)
34
+ end
35
+ end
36
+ win
37
+ end
38
+
39
+ def compute_size
40
+ tk_send('compute_size')
41
+ self
42
+ end
43
+
44
+ def delete(page)
45
+ tk_send('delete', tagid(page))
46
+ self
47
+ end
48
+
49
+ def get_frame(page, &b)
50
+ win = window(tk_send('getframe', tagid(page)))
51
+ if b
52
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
53
+ win.instance_exec(self, &b)
54
+ else
55
+ win.instance_eval(&b)
56
+ end
57
+ end
58
+ win
59
+ end
60
+
61
+ def get_page(page)
62
+ tk_send('pages', page)
63
+ end
64
+
65
+ def pages(first=None, last=None)
66
+ list(tk_send('pages', first, last))
67
+ end
68
+
69
+ def raise(page=None)
70
+ tk_send('raise', page)
71
+ self
72
+ end
73
+ end
@@ -0,0 +1,42 @@
1
+ #
2
+ # tkextlib/bwidget/panedwindow.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class PanedWindow < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::PanedWindow
18
+ TkCommandNames = ['PanedWindow'.freeze].freeze
19
+ WidgetClassName = 'PanedWindow'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() << 'activator'
24
+ end
25
+ private :__strval_optkeys
26
+
27
+ def add(keys={})
28
+ window(tk_send('add', *hash_kv(keys)))
29
+ end
30
+
31
+ def get_frame(idx, &b)
32
+ win = window(tk_send_without_enc('getframe', idx))
33
+ if b
34
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
35
+ win.instance_exec(self, &b)
36
+ else
37
+ win.instance_eval(&b)
38
+ end
39
+ end
40
+ win
41
+ end
42
+ end
@@ -0,0 +1,67 @@
1
+ #
2
+ # tkextlib/bwidget/panelframe.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class PanelFrame < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::PanelFrame
18
+ TkCommandNames = ['PanelFrame'.freeze].freeze
19
+ WidgetClassName = 'PanelFrame'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() + ['panelforeground', 'panelbackground']
24
+ end
25
+ private :__strval_optkeys
26
+
27
+ def add(win, keys={})
28
+ tk_send('add', win, keys)
29
+ self
30
+ end
31
+
32
+ def delete(*wins)
33
+ tk_send('delete', *wins)
34
+ self
35
+ end
36
+
37
+ def get_frame(&b)
38
+ win = window(tk_send_without_enc('getframe'))
39
+ if b
40
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
41
+ win.instance_exec(self, &b)
42
+ else
43
+ win.instance_eval(&b)
44
+ end
45
+ end
46
+ win
47
+ end
48
+
49
+ def items
50
+ simplelist(tk_send('items')).map{|w| window(w)}
51
+ end
52
+
53
+ def remove(*wins)
54
+ tk_send('remove', *wins)
55
+ self
56
+ end
57
+
58
+ def remove_with_destroy(*wins)
59
+ tk_send('remove', '-destroy', *wins)
60
+ self
61
+ end
62
+
63
+ def delete(*wins) # same to 'remove_with_destroy'
64
+ tk_send('delete', *wins)
65
+ self
66
+ end
67
+ end
@@ -0,0 +1,44 @@
1
+ #
2
+ # tkextlib/bwidget/passwddlg.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/messagedlg'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class PasswdDlg < Tk::BWidget::MessageDlg
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::PasswdDlg
18
+ TkCommandNames = ['PasswdDlg'.freeze].freeze
19
+ WidgetClassName = 'PasswdDlg'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() << 'loginhelptext' << 'loginlabel' << 'logintext' <<
24
+ 'passwdlabel' << 'passwdtext'
25
+ end
26
+ private :__strval_optkeys
27
+
28
+ def __boolval_optkeys
29
+ super() << 'passwdeditable' << 'homogeneous'
30
+ end
31
+ private :__boolval_optkeys
32
+
33
+ def __tkvariable_optkeys
34
+ super() << 'loginhelpvar' << 'logintextvariable' <<
35
+ 'passwdhelpvar' << 'passwdtextvariable'
36
+ end
37
+ private :__tkvariable_optkeys
38
+
39
+ def create
40
+ login, passwd = simplelist(tk_call(self.class::TkCommandNames[0],
41
+ @path, *hash_kv(@keys)))
42
+ [login, passwd]
43
+ end
44
+ end
@@ -0,0 +1,20 @@
1
+ #
2
+ # tkextlib/bwidget/progressbar.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+
9
+ module Tk
10
+ module BWidget
11
+ class ProgressBar < TkWindow
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::BWidget::ProgressBar
17
+ TkCommandNames = ['ProgressBar'.freeze].freeze
18
+ WidgetClassName = 'ProgressBar'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # tkextlib/bwidget/progressdlg.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/variable'
8
+ require 'tkextlib/bwidget.rb'
9
+ require 'tkextlib/bwidget/progressbar'
10
+ require 'tkextlib/bwidget/messagedlg'
11
+
12
+ module Tk
13
+ module BWidget
14
+ class ProgressDlg < Tk::BWidget::MessageDlg
15
+ end
16
+ end
17
+ end
18
+
19
+ class Tk::BWidget::ProgressDlg
20
+ TkCommandNames = ['ProgressDlg'.freeze].freeze
21
+ WidgetClassName = 'ProgressDlg'.freeze
22
+ WidgetClassNames[WidgetClassName] ||= self
23
+
24
+ def create_self(keys)
25
+ # NOT create widget for reusing the object
26
+ super(keys)
27
+ @keys['textvariable'] = TkVariable.new unless @keys.key?('textvariable')
28
+ @keys['variable'] = TkVariable.new unless @keys.key?('variable')
29
+ end
30
+
31
+ def textvariable
32
+ @keys['textvariable']
33
+ end
34
+
35
+ def text
36
+ @keys['textvariable'].value
37
+ end
38
+
39
+ def text= (txt)
40
+ @keys['textvariable'].value = txt
41
+ end
42
+
43
+ def variable
44
+ @keys['variable']
45
+ end
46
+
47
+ def value
48
+ @keys['variable'].value
49
+ end
50
+
51
+ def value= (val)
52
+ @keys['variable'].value = val
53
+ end
54
+
55
+ def create
56
+ window(tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys)))
57
+ end
58
+ end
@@ -0,0 +1,40 @@
1
+ #
2
+ # tkextlib/bwidget/scrollableframe.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class ScrollableFrame < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::ScrollableFrame
18
+ include Scrollable
19
+
20
+ TkCommandNames = ['ScrollableFrame'.freeze].freeze
21
+ WidgetClassName = 'ScrollableFrame'.freeze
22
+ WidgetClassNames[WidgetClassName] ||= self
23
+
24
+ def get_frame(&b)
25
+ win = window(tk_send_without_enc('getframe'))
26
+ if b
27
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
28
+ win.instance_exec(self, &b)
29
+ else
30
+ win.instance_eval(&b)
31
+ end
32
+ end
33
+ win
34
+ end
35
+
36
+ def see(win, vert=None, horiz=None)
37
+ tk_send_without_enc('see', win, vert, horiz)
38
+ self
39
+ end
40
+ end
@@ -0,0 +1,48 @@
1
+ #
2
+ # tkextlib/bwidget/scrolledwindow.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/frame'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class ScrolledWindow < TkWindow
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::ScrolledWindow
18
+ TkCommandNames = ['ScrolledWindow'.freeze].freeze
19
+ WidgetClassName = 'ScrolledWindow'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() << 'sides'
24
+ end
25
+ private :__strval_optkeys
26
+
27
+ def __boolval_optkeys
28
+ super() << 'managed'
29
+ end
30
+ private :__boolval_optkeys
31
+
32
+ def get_frame(&b)
33
+ win = window(tk_send_without_enc('getframe'))
34
+ if b
35
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
36
+ win.instance_exec(self, &b)
37
+ else
38
+ win.instance_eval(&b)
39
+ end
40
+ end
41
+ win
42
+ end
43
+
44
+ def set_widget(win)
45
+ tk_send_without_enc('setwidget', win)
46
+ self
47
+ end
48
+ end
@@ -0,0 +1,25 @@
1
+ #
2
+ # tkextlib/bwidget/scrollview.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+
9
+ module Tk
10
+ module BWidget
11
+ class ScrollView < TkWindow
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::BWidget::ScrollView
17
+ TkCommandNames = ['ScrollView'.freeze].freeze
18
+ WidgetClassName = 'ScrollView'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'fill'
23
+ end
24
+ private :__strval_optkeys
25
+ end
@@ -0,0 +1,73 @@
1
+ #
2
+ # tkextlib/bwidget/selectcolor.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/bwidget.rb'
8
+ require 'tkextlib/bwidget/messagedlg'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class SelectColor < Tk::BWidget::MessageDlg
13
+ class Dialog < Tk::BWidget::SelectColor
14
+ end
15
+ class Menubutton < Tk::Menubutton
16
+ end
17
+ MenuButton = Menubutton
18
+ end
19
+ end
20
+ end
21
+
22
+ class Tk::BWidget::SelectColor
23
+ extend Tk
24
+
25
+ TkCommandNames = ['SelectColor'.freeze].freeze
26
+ WidgetClassName = 'SelectColor'.freeze
27
+ WidgetClassNames[WidgetClassName] ||= self
28
+
29
+ def dialog(keys={})
30
+ newkeys = @keys.dup
31
+ newkeys.update(_symbolkey2str(keys))
32
+ tk_call('SelectColor::dialog', @path, *hash_kv(newkeys))
33
+ end
34
+
35
+ def menu(*args)
36
+ if args[-1].kind_of?(Hash)
37
+ keys = args.pop
38
+ else
39
+ keys = {}
40
+ end
41
+ place = args.flatten
42
+ newkeys = @keys.dup
43
+ newkeys.update(_symbolkey2str(keys))
44
+ tk_call('SelectColor::menu', @path, place, *hash_kv(newkeys))
45
+ end
46
+
47
+ def self.set_color(idx, color)
48
+ tk_call('SelectColor::setcolor', idx, color)
49
+ end
50
+ end
51
+
52
+ class Tk::BWidget::SelectColor::Dialog
53
+ def create_self(keys)
54
+ super(keys)
55
+ @keys['type'] = 'dialog'
56
+ end
57
+
58
+ def create
59
+ @keys['type'] = 'dialog' # 'dialog' type returns color
60
+ tk_call(Tk::BWidget::SelectColor::TkCommandNames[0],
61
+ @path, *hash_kv(@keys))
62
+ end
63
+ end
64
+
65
+ class Tk::BWidget::SelectColor::Menubutton
66
+ def create_self(keys)
67
+ keys = {} unless keys
68
+ keys = _symbolkey2str(keys)
69
+ keys['type'] = 'menubutton' # 'toolbar' type returns widget path
70
+ window(tk_call(Tk::BWidget::SelectColor::TkCommandNames[0],
71
+ @path, *hash_kv(keys)))
72
+ end
73
+ end