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,62 @@
1
+ #
2
+ # tkextlib/bwidget/combobox.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/entry'
8
+ require 'tkextlib/bwidget.rb'
9
+ require 'tkextlib/bwidget/listbox'
10
+ require 'tkextlib/bwidget/spinbox'
11
+
12
+ module Tk
13
+ module BWidget
14
+ class ComboBox < Tk::BWidget::SpinBox
15
+ end
16
+ end
17
+ end
18
+
19
+ class Tk::BWidget::ComboBox
20
+ include Scrollable
21
+
22
+ TkCommandNames = ['ComboBox'.freeze].freeze
23
+ WidgetClassName = 'ComboBox'.freeze
24
+ WidgetClassNames[WidgetClassName] ||= self
25
+
26
+ def __boolval_optkeys
27
+ super() << 'autocomplete' << 'autopost'
28
+ end
29
+ private :__boolval_optkeys
30
+
31
+ def get_listbox(&b)
32
+ win = window(tk_send_without_enc('getlistbox'))
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
+
43
+ def clear_value
44
+ tk_send_without_enc('clearvalue')
45
+ self
46
+ end
47
+ alias clearvalue clear_value
48
+
49
+ def icursor(idx)
50
+ tk_send_without_enc('icursor', idx)
51
+ end
52
+
53
+ def post
54
+ tk_send_without_enc('post')
55
+ self
56
+ end
57
+
58
+ def unpost
59
+ tk_send_without_enc('unpost')
60
+ self
61
+ end
62
+ end
@@ -0,0 +1,194 @@
1
+ #
2
+ # tkextlib/bwidget/dialog.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
+ require 'tkextlib/bwidget/buttonbox'
10
+
11
+ module Tk
12
+ module BWidget
13
+ class Dialog < TkWindow
14
+ end
15
+ end
16
+ end
17
+
18
+ class Tk::BWidget::Dialog
19
+ TkCommandNames = ['Dialog'.freeze].freeze
20
+ WidgetClassName = 'Dialog'.freeze
21
+ WidgetClassNames[WidgetClassName] ||= self
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __numstrval_optkeys
26
+ super() << 'buttonwidth'
27
+ end
28
+ private :__numstrval_optkeys
29
+
30
+ def __strval_optkeys
31
+ super() << 'title' << 'geometry'
32
+ end
33
+ private :__strval_optkeys
34
+
35
+ def __boolval_optkeys
36
+ super() << 'transient' << 'homogeneous'
37
+ end
38
+ private :__boolval_optkeys
39
+
40
+ def initialize(parent=nil, keys=nil)
41
+ @relative = ''
42
+ if parent.kind_of?(Hash)
43
+ keys = _symbolkey2str(parent)
44
+ @relative = keys['parent'] if keys.key?('parent')
45
+ @relative = keys.delete('relative') if keys.key?('relative')
46
+ super(keys)
47
+ elsif keys
48
+ keys = _symbolkey2str(keys)
49
+ @relative = keys.delete('parent') if keys.key?('parent')
50
+ @relative = keys.delete('relative') if keys.key?('relative')
51
+ super(parent, keys)
52
+ else
53
+ super(parent)
54
+ end
55
+ end
56
+
57
+ def create_self(keys)
58
+ cmd = self.class::TkCommandNames[0]
59
+ if keys and keys != None
60
+ tk_call_without_enc(cmd, @path, '-parent', @relative,
61
+ *hash_kv(keys, true))
62
+ else
63
+ tk_call_without_enc(cmd, @path, '-parent', @relative)
64
+ end
65
+ end
66
+
67
+ def cget_tkstring(slot)
68
+ if slot.to_s == 'relative'
69
+ super('parent')
70
+ else
71
+ super(slot)
72
+ end
73
+ end
74
+ def cget_strict(slot)
75
+ if slot.to_s == 'relative'
76
+ super('parent')
77
+ else
78
+ super(slot)
79
+ end
80
+ end
81
+ def cget(slot)
82
+ if slot.to_s == 'relative'
83
+ super('parent')
84
+ else
85
+ super(slot)
86
+ end
87
+ end
88
+
89
+ def configure(slot, value=None)
90
+ if slot.kind_of?(Hash)
91
+ slot = _symbolkey2str(slot)
92
+ slot['parent'] = slot.delete('relative') if slot.key?('relative')
93
+ super(slot)
94
+ else
95
+ if slot.to_s == 'relative'
96
+ super('parent', value)
97
+ else
98
+ super(slot, value)
99
+ end
100
+ end
101
+ end
102
+
103
+ def configinfo(slot=nil)
104
+ if slot
105
+ if slot.to_s == 'relative'
106
+ super('parent')
107
+ else
108
+ super(slot)
109
+ end
110
+ else
111
+ ret = super()
112
+ if TkComm::GET_CONFIGINFO_AS_ARRAY
113
+ ret << ['relative', 'parent']
114
+ else
115
+ ret['relative'] = 'parent'
116
+ end
117
+ end
118
+ end
119
+
120
+ def tagid(tagOrId)
121
+ if tagOrId.kind_of?(Tk::BWidget::Button)
122
+ name = tagOrId[:name]
123
+ return index(name) unless name.empty?
124
+ end
125
+ if tagOrId.kind_of?(Tk::Button)
126
+ return index(tagOrId[:text])
127
+ end
128
+ # index(tagOrId.to_s)
129
+ index(_get_eval_string(tagOrId))
130
+ end
131
+
132
+ def add(keys={}, &b)
133
+ win = window(tk_send('add', *hash_kv(keys)))
134
+ if b
135
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
136
+ win.instance_exec(self, &b)
137
+ else
138
+ win.instance_eval(&b)
139
+ end
140
+ end
141
+ win
142
+ end
143
+
144
+ def get_frame(&b)
145
+ win = window(tk_send('getframe'))
146
+ if b
147
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
148
+ win.instance_exec(self, &b)
149
+ else
150
+ win.instance_eval(&b)
151
+ end
152
+ end
153
+ win
154
+ end
155
+
156
+ def get_buttonbox(&b)
157
+ win = window(@path + '.bbox')
158
+ if b
159
+ if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
160
+ win.instance_exec(self, &b)
161
+ else
162
+ win.instance_eval(&b)
163
+ end
164
+ end
165
+ win
166
+ end
167
+
168
+ def draw(focus_win=None)
169
+ tk_send('draw', focus_win)
170
+ end
171
+
172
+ def enddialog(ret)
173
+ tk_send('enddialog', ret)
174
+ end
175
+
176
+ def index(idx)
177
+ get_buttonbox.index(idx)
178
+ end
179
+
180
+ def invoke(idx)
181
+ tk_send('invoke', tagid(idx))
182
+ self
183
+ end
184
+
185
+ def set_focus(idx)
186
+ tk_send('setfocus', tagid(idx))
187
+ self
188
+ end
189
+
190
+ def withdraw
191
+ tk_send('withdraw')
192
+ self
193
+ end
194
+ end
@@ -0,0 +1,31 @@
1
+ #
2
+ # tkextlib/bwidget/dragsite.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
+ module DragSite
12
+ end
13
+ end
14
+ end
15
+
16
+ module Tk::BWidget::DragSite
17
+ include Tk
18
+ extend Tk
19
+
20
+ def self.include(klass, type, event)
21
+ tk_call('DragSite::include', klass, type, event)
22
+ end
23
+
24
+ def self.register(path, keys={})
25
+ tk_call('DragSite::register', path, *hash_kv(keys))
26
+ end
27
+
28
+ def self.set_drag(path, subpath, initcmd, endcmd, force=None)
29
+ tk_call('DragSite::setdrag', path, subpath, initcmd, endcmd, force)
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ #
2
+ # tkextlib/bwidget/dropsite.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
+ module DropSite
12
+ end
13
+ end
14
+ end
15
+
16
+ module Tk::BWidget::DropSite
17
+ include Tk
18
+ extend Tk
19
+
20
+ def self.include(klass, type)
21
+ tk_call('DropSite::include', klass, type)
22
+ end
23
+
24
+ def self.register(path, keys={})
25
+ tk_call('DropSite::register', path, *hash_kv(keys))
26
+ end
27
+
28
+ def self.set_cursor(cursor)
29
+ tk_call('DropSite::setcursor', cursor)
30
+ end
31
+
32
+ def self.set_drop(path, subpath, dropover, drop, force=None)
33
+ tk_call('DropSite::setdrop', path, subpath, dropover, drop, force)
34
+ end
35
+
36
+ def self.set_operation(op)
37
+ tk_call('DropSite::setoperation', op)
38
+ end
39
+ end
@@ -0,0 +1,63 @@
1
+ #
2
+ # tkextlib/bwidget/dynamichelp.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
+ module DynamicHelp
12
+ end
13
+ end
14
+ end
15
+
16
+ module Tk::BWidget::DynamicHelp
17
+ include Tk
18
+ extend Tk
19
+
20
+ def self.__pathname
21
+ 'DynamicHelp::configure'
22
+ end
23
+
24
+ def __strval_optkeys
25
+ super() << 'topbackground'
26
+ end
27
+ private :__strval_optkeys
28
+
29
+ def self.__cget_cmd
30
+ ['DynamicHelp::configure']
31
+ end
32
+
33
+ def self.__config_cmd
34
+ ['DynamicHelp::configure']
35
+ end
36
+
37
+ def self.cget_strict(slot)
38
+ slot = slot.to_s
39
+ info = {}
40
+ self.current_configinfo.each{|k,v| info[k.to_s] = v if k.to_s == slot}
41
+ fail RuntimeError, "unknown option \"-#{slot}\"" if info.empty?
42
+ info.values[0]
43
+ end
44
+ def self.cget(slot)
45
+ self.current_configinfo(slot).values[0]
46
+ end
47
+
48
+ def self.add(widget, keys={})
49
+ tk_call('DynamicHelp::add', widget, *hash_kv(keys))
50
+ end
51
+
52
+ def self.delete(widget)
53
+ tk_call('DynamicHelp::delete', widget)
54
+ end
55
+
56
+ def self.include(klass, type)
57
+ tk_call('DynamicHelp::include', klass, type)
58
+ end
59
+
60
+ def self.sethelp(path, subpath, force=None)
61
+ tk_call('DynamicHelp::sethelp', path, subpath, force)
62
+ end
63
+ end
@@ -0,0 +1,43 @@
1
+ #
2
+ # tkextlib/bwidget/entry.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/entry'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class Entry < Tk::Entry
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::Entry
18
+ include Scrollable
19
+
20
+ TkCommandNames = ['Entry'.freeze].freeze
21
+ WidgetClassName = 'Entry'.freeze
22
+ WidgetClassNames[WidgetClassName] ||= self
23
+
24
+ def __strval_optkeys
25
+ super() << 'helptext' << 'insertbackground'
26
+ end
27
+ private :__strval_optkeys
28
+
29
+ def __boolval_optkeys
30
+ super() << 'dragenabled' << 'dropenabled' << 'editable'
31
+ end
32
+ private :__boolval_optkeys
33
+
34
+ def __tkvariable_optkeys
35
+ super() << 'helpvar'
36
+ end
37
+ private :__tkvariable_optkeys
38
+
39
+ def invoke
40
+ tk_send_without_enc('invoke')
41
+ self
42
+ end
43
+ end
@@ -0,0 +1,41 @@
1
+ #
2
+ # tkextlib/bwidget/label.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tk/label'
8
+ require 'tkextlib/bwidget.rb'
9
+
10
+ module Tk
11
+ module BWidget
12
+ class Label < Tk::Label
13
+ end
14
+ end
15
+ end
16
+
17
+ class Tk::BWidget::Label
18
+ TkCommandNames = ['Label'.freeze].freeze
19
+ WidgetClassName = 'Label'.freeze
20
+ WidgetClassNames[WidgetClassName] ||= self
21
+
22
+ def __strval_optkeys
23
+ super() << 'helptext'
24
+ end
25
+ private :__strval_optkeys
26
+
27
+ def __boolval_optkeys
28
+ super() << 'dragenabled' << 'dropenabled'
29
+ end
30
+ private :__boolval_optkeys
31
+
32
+ def __tkvariable_optkeys
33
+ super() << 'helpvar'
34
+ end
35
+ private :__tkvariable_optkeys
36
+
37
+ def set_focus
38
+ tk_send_without_enc('setfocus')
39
+ self
40
+ end
41
+ end