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,20 @@
1
+ #
2
+ # tkextlib/iwidgets/messagedialog.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Messagedialog < Tk::Iwidgets::Dialog
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Messagedialog
17
+ TkCommandNames = ['::iwidgets::messagedialog'.freeze].freeze
18
+ WidgetClassName = 'Messagedialog'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+ end
@@ -0,0 +1,175 @@
1
+ #
2
+ # tkextlib/iwidgets/notebook.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Notebook < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Notebook
17
+ TkCommandNames = ['::iwidgets::notebook'.freeze].freeze
18
+ WidgetClassName = 'Notebook'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'pagecget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'pageconfigure', id]
32
+ end
33
+ private :__item_config_cmd
34
+
35
+ def tagid(tagOrId)
36
+ if tagOrId.kind_of?(Tk::Itk::Component)
37
+ tagOrId.name
38
+ else
39
+ #_get_eval_string(tagOrId)
40
+ tagOrId
41
+ end
42
+ end
43
+
44
+ alias pagecget_tkstring itemcget_tkstring
45
+ alias pagecget itemcget
46
+ alias pagecget_strict itemcget_strict
47
+ alias pageconfigure itemconfigure
48
+ alias pageconfiginfo itemconfiginfo
49
+ alias current_pageconfiginfo current_itemconfiginfo
50
+
51
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
52
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
53
+
54
+ ####################################
55
+
56
+ def __boolval_optkeys
57
+ super() << 'auto'
58
+ end
59
+ private :__boolval_optkeys
60
+
61
+ def add(keys={})
62
+ window(tk_call(@path, 'add', *hash_kv(keys)))
63
+ end
64
+
65
+ def child_site_list
66
+ list(tk_call(@path, 'childsite'))
67
+ end
68
+
69
+ def child_site(idx)
70
+ if (new_idx = self.index(idx)) < 0
71
+ new_idx = tagid(idx)
72
+ end
73
+ window(tk_call(@path, 'childsite', new_idx))
74
+ end
75
+
76
+ def delete(idx1, idx2=nil)
77
+ if (new_idx1 = self.index(idx1)) < 0
78
+ new_idx1 = tagid(idx1)
79
+ end
80
+ if idx2
81
+ if (new_idx2 = self.index(idx2)) < 0
82
+ new_idx2 = tagid(idx2)
83
+ end
84
+ tk_call(@path, 'delete', new_idx1, new_idx2)
85
+ else
86
+ tk_call(@path, 'delete', new_idx1)
87
+ end
88
+ self
89
+ end
90
+
91
+ def index(idx)
92
+ number(tk_call(@path, 'index', tagid(idx)))
93
+ end
94
+
95
+ def insert(idx, keys={})
96
+ if (new_idx = self.index(idx)) < 0
97
+ new_idx = tagid(idx)
98
+ end
99
+ window(tk_call(@path, 'insert', new_idx, *hash_kv(keys)))
100
+ end
101
+
102
+ def next
103
+ tk_call(@path, 'next')
104
+ self
105
+ end
106
+
107
+ def prev
108
+ tk_call(@path, 'prev')
109
+ self
110
+ end
111
+
112
+ def select(idx)
113
+ if (new_idx = self.index(idx)) < 0
114
+ new_idx = tagid(idx)
115
+ end
116
+ tk_call(@path, 'select', new_idx)
117
+ self
118
+ end
119
+
120
+ def scrollcommand(cmd=Proc.new)
121
+ configure_cmd 'scrollcommand', cmd
122
+ self
123
+ end
124
+ alias xscrollcommand scrollcommand
125
+ alias yscrollcommand scrollcommand
126
+
127
+ def xscrollbar(bar=nil)
128
+ if bar
129
+ @scrollbar = bar
130
+ @scrollbar.orient 'horizontal'
131
+ self.scrollcommand {|*arg| @scrollbar.set(*arg)}
132
+ @scrollbar.command {|*arg| self.xview(*arg)}
133
+ Tk.update # avoid scrollbar trouble
134
+ end
135
+ @scrollbar
136
+ end
137
+ def yscrollbar(bar=nil)
138
+ if bar
139
+ @scrollbar = bar
140
+ @scrollbar.orient 'vertical'
141
+ self.scrollcommand {|*arg| @scrollbar.set(*arg)}
142
+ @scrollbar.command {|*arg| self.yview(*arg)}
143
+ Tk.update # avoid scrollbar trouble
144
+ end
145
+ @scrollbar
146
+ end
147
+ alias scrollbar yscrollbar
148
+
149
+ def view(*idxs)
150
+ if idxs.size == 0
151
+ idx = num_or_str(tk_send_without_enc('view'))
152
+ if idx.kind_of?(Fixnum) && idx < 0
153
+ nil
154
+ else
155
+ idx
156
+ end
157
+ else
158
+ tk_send_without_enc('view', *idxs)
159
+ self
160
+ end
161
+ end
162
+ alias xview view
163
+ alias yview view
164
+
165
+ def view_moveto(*idxs)
166
+ view('moveto', *idxs)
167
+ end
168
+ alias xview_moveto view_moveto
169
+ alias yview_moveto view_moveto
170
+ def view_scroll(index, what='pages')
171
+ view('scroll', index, what)
172
+ end
173
+ alias xview_scroll view_scroll
174
+ alias yview_scroll view_scroll
175
+ end
@@ -0,0 +1,92 @@
1
+ #
2
+ # tkextlib/iwidgets/optionmenu.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Optionmenu < Tk::Iwidgets::Labeledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Optionmenu
17
+ TkCommandNames = ['::iwidgets::optionmenu'.freeze].freeze
18
+ WidgetClassName = 'Optionmenu'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'cyclicon'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def delete(first, last=nil)
27
+ if last
28
+ tk_call(@path, 'delete', first, last)
29
+ else
30
+ tk_call(@path, 'delete', first)
31
+ end
32
+ self
33
+ end
34
+
35
+ def disable(idx)
36
+ tk_call(@path, 'disable', idx)
37
+ self
38
+ end
39
+
40
+ def enable(idx)
41
+ tk_call(@path, 'enable', idx)
42
+ self
43
+ end
44
+
45
+ def get(first=nil, last=nil)
46
+ if last
47
+ simplelist(tk_call(@path, 'get', first, last))
48
+ elsif first
49
+ tk_call(@path, 'get', first)
50
+ else
51
+ tk_call(@path, 'get')
52
+ end
53
+ end
54
+ def get_range(first, last)
55
+ get(first, last)
56
+ end
57
+ def get_selected
58
+ get()
59
+ end
60
+
61
+ def index(idx)
62
+ number(tk_call(@path, 'index', idx))
63
+ end
64
+
65
+ def insert(idx, *args)
66
+ tk_call(@path, 'insert', idx, *args)
67
+ self
68
+ end
69
+
70
+ def select(idx)
71
+ tk_call(@path, 'select', idx)
72
+ self
73
+ end
74
+
75
+ def sort(*params, &b)
76
+ # see 'lsort' man page about params
77
+ if b
78
+ tk_call(@path, 'sort', '-command', proc(&b), *params)
79
+ else
80
+ tk_call(@path, 'sort', *params)
81
+ end
82
+ self
83
+ end
84
+ def sort_ascending
85
+ tk_call(@path, 'sort', 'ascending')
86
+ self
87
+ end
88
+ def sort_descending
89
+ tk_call(@path, 'sort', 'descending')
90
+ self
91
+ end
92
+ end
@@ -0,0 +1,134 @@
1
+ #
2
+ # tkextlib/iwidgets/panedwindow.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Panedwindow < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Panedwindow
17
+ TkCommandNames = ['::iwidgets::panedwindow'.freeze].freeze
18
+ WidgetClassName = 'Panedwindow'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'panecget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'paneconfigure', id]
32
+ end
33
+ private :__item_config_cmd
34
+
35
+ def tagid(tagOrId)
36
+ if tagOrId.kind_of?(Tk::Itk::Component)
37
+ tagOrId.name
38
+ else
39
+ #_get_eval_string(tagOrId)
40
+ tagOrId
41
+ end
42
+ end
43
+
44
+ alias panecget_tkstring itemcget_tkstring
45
+ alias panecget itemcget
46
+ alias panecget_strict itemcget_strict
47
+ alias paneconfigure itemconfigure
48
+ alias paneconfiginfo itemconfiginfo
49
+ alias current_paneconfiginfo current_itemconfiginfo
50
+
51
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
52
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
53
+
54
+ ####################################
55
+
56
+ def __boolval_optkeys
57
+ super() << 'showhandle'
58
+ end
59
+ private :__boolval_optkeys
60
+
61
+ def add(tag=nil, keys={})
62
+ if tag.kind_of?(Hash)
63
+ keys = tag
64
+ tag = nil
65
+ end
66
+ if tag
67
+ tag = Tk::Itk::Component.new(self, tagid(tag))
68
+ else
69
+ tag = Tk::Itk::Component.new(self)
70
+ end
71
+ window(tk_call(@path, 'add', tagid(tag), *hash_kv(keys)))
72
+ tag
73
+ end
74
+
75
+ def child_site_list
76
+ list(tk_call(@path, 'childsite'))
77
+ end
78
+
79
+ def child_site(idx)
80
+ window(tk_call(@path, 'childsite', index(idx)))
81
+ end
82
+
83
+ def delete(idx)
84
+ tk_call(@path, 'delete', index(idx))
85
+ self
86
+ end
87
+
88
+ def fraction(*percentages)
89
+ tk_call(@path, 'fraction', *percentages)
90
+ self
91
+ end
92
+
93
+ def hide(idx)
94
+ tk_call(@path, 'hide', index(idx))
95
+ self
96
+ end
97
+
98
+ def index(idx)
99
+ number(tk_call(@path, 'index', tagid(idx)))
100
+ end
101
+
102
+ def insert(idx, tag=nil, keys={})
103
+ if tag.kind_of?(Hash)
104
+ keys = tag
105
+ tag = nil
106
+ end
107
+ if tag
108
+ tag = Tk::Itk::Component.new(self, tagid(tag))
109
+ else
110
+ tag = Tk::Itk::Component.new(self)
111
+ end
112
+ window(tk_call(@path, 'insert', index(idx), tagid(tag), *hash_kv(keys)))
113
+ tag
114
+ end
115
+
116
+ def invoke(idx=nil)
117
+ if idx
118
+ tk_call(@path, 'invoke', index(idx))
119
+ else
120
+ tk_call(@path, 'invoke')
121
+ end
122
+ self
123
+ end
124
+
125
+ def reset
126
+ tk_call(@path, 'reset')
127
+ self
128
+ end
129
+
130
+ def show(idx)
131
+ tk_call(@path, 'show', index(idx))
132
+ self
133
+ end
134
+ end
@@ -0,0 +1,131 @@
1
+ #
2
+ # tkextlib/iwidgets/promptdialog.rb
3
+ # by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4
+ #
5
+
6
+ require 'tk'
7
+ require 'tkextlib/iwidgets.rb'
8
+
9
+ module Tk
10
+ module Iwidgets
11
+ class Promptdialog < Tk::Iwidgets::Dialog
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Promptdialog
17
+ TkCommandNames = ['::iwidgets::promptdialog'.freeze].freeze
18
+ WidgetClassName = 'Promptdialog'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ # index method is not available, because it shows index of the entry field
22
+ def default(name)
23
+ tk_call(@path, 'default', tagid(name))
24
+ self
25
+ end
26
+
27
+ def hide(name)
28
+ tk_call(@path, 'hide', tagid(name))
29
+ self
30
+ end
31
+
32
+ def invoke(name=nil)
33
+ if name
34
+ tk_call(@path, 'invoke', tagid(name))
35
+ else
36
+ tk_call(@path, 'invoke')
37
+ end
38
+ self
39
+ end
40
+
41
+ def show(name)
42
+ tk_call(@path, 'show', tagid(name))
43
+ self
44
+ end
45
+
46
+
47
+ # based on Tk::Iwidgets::Entryfield
48
+ def clear
49
+ tk_call(@path, 'clear')
50
+ self
51
+ end
52
+
53
+ def delete(first, last=None)
54
+ tk_send_without_enc('delete', first, last)
55
+ self
56
+ end
57
+
58
+ def value
59
+ _fromUTF8(tk_send_without_enc('get'))
60
+ end
61
+ def value= (val)
62
+ tk_send_without_enc('delete', 0, 'end')
63
+ tk_send_without_enc('insert', 0, _get_eval_enc_str(val))
64
+ val
65
+ end
66
+ alias get value
67
+ alias set value=
68
+
69
+ def cursor=(index)
70
+ tk_send_without_enc('icursor', index)
71
+ #self
72
+ index
73
+ end
74
+ alias icursor cursor=
75
+
76
+ def index(idx)
77
+ number(tk_send_without_enc('index', idx))
78
+ end
79
+
80
+ def insert(pos,text)
81
+ tk_send_without_enc('insert', pos, _get_eval_enc_str(text))
82
+ self
83
+ end
84
+
85
+ def mark(pos)
86
+ tk_send_without_enc('scan', 'mark', pos)
87
+ self
88
+ end
89
+ def dragto(pos)
90
+ tk_send_without_enc('scan', 'dragto', pos)
91
+ self
92
+ end
93
+ def selection_adjust(index)
94
+ tk_send_without_enc('selection', 'adjust', index)
95
+ self
96
+ end
97
+ def selection_clear
98
+ tk_send_without_enc('selection', 'clear')
99
+ self
100
+ end
101
+ def selection_from(index)
102
+ tk_send_without_enc('selection', 'from', index)
103
+ self
104
+ end
105
+ def selection_present()
106
+ bool(tk_send_without_enc('selection', 'present'))
107
+ end
108
+ def selection_range(s, e)
109
+ tk_send_without_enc('selection', 'range', s, e)
110
+ self
111
+ end
112
+ def selection_to(index)
113
+ tk_send_without_enc('selection', 'to', index)
114
+ self
115
+ end
116
+
117
+ def xview(*index)
118
+ if index.size == 0
119
+ list(tk_send_without_enc('xview'))
120
+ else
121
+ tk_send_without_enc('xview', *index)
122
+ self
123
+ end
124
+ end
125
+ def xview_moveto(*index)
126
+ xview('moveto', *index)
127
+ end
128
+ def xview_scroll(*index)
129
+ xview('scroll', *index)
130
+ end
131
+ end