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,50 @@
1
+ #
2
+ # tkextlib/iwidgets/disjointlistbox.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 Disjointlistbox < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Disjointlistbox
17
+ TkCommandNames = ['::iwidgets::disjointlistbox'.freeze].freeze
18
+ WidgetClassName = 'Disjointlistbox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'lhslabeltext' << 'rhslabeltext' << 'lhsbuttonlabel' << 'rhsbuttonlabel'
23
+ end
24
+ private :__strval_optkeys
25
+
26
+ def set_lhs(*items)
27
+ tk_call(@path, 'setlhs', items)
28
+ self
29
+ end
30
+ def set_rhs(*items)
31
+ tk_call(@path, 'setrhs', items)
32
+ self
33
+ end
34
+
35
+ def get_lhs
36
+ simplelist(tk_call(@path, 'getlhs'))
37
+ end
38
+ def get_rhs
39
+ simplelist(tk_call(@path, 'getrhs'))
40
+ end
41
+
42
+ def insert_lhs(*items)
43
+ tk_call(@path, 'insertlhs', items)
44
+ self
45
+ end
46
+ def insert_rhs(*items)
47
+ tk_call(@path, 'insertrhs', items)
48
+ self
49
+ end
50
+ end
@@ -0,0 +1,185 @@
1
+ #
2
+ # tkextlib/iwidgets/entryfield.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 Entryfield < Tk::Iwidgets::Labeledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Entryfield
17
+ TkCommandNames = ['::iwidgets::entryfield'.freeze].freeze
18
+ WidgetClassName = 'Entryfield'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __font_optkeys
22
+ super() << 'textfont'
23
+ end
24
+ private :__font_optkeys
25
+
26
+ ####################################
27
+
28
+ include Tk::ValidateConfigure
29
+
30
+ class EntryfieldValidate < TkValidateCommand
31
+ #class CalCmdArgs < TkUtil::CallbackSubst
32
+ class ValidateArgs < TkUtil::CallbackSubst
33
+ KEY_TBL = [
34
+ [ ?c, ?s, :char ],
35
+ [ ?P, ?s, :post ],
36
+ [ ?S, ?s, :current ],
37
+ [ ?W, ?w, :widget ],
38
+ nil
39
+ ]
40
+ PROC_TBL = [
41
+ [ ?s, TkComm.method(:string) ],
42
+ [ ?w, TkComm.method(:window) ],
43
+ nil
44
+ ]
45
+
46
+ =begin
47
+ # for Ruby m17n :: ?x --> String --> char-code ( getbyte(0) )
48
+ KEY_TBL.map!{|inf|
49
+ if inf.kind_of?(Array)
50
+ inf[0] = inf[0].getbyte(0) if inf[0].kind_of?(String)
51
+ inf[1] = inf[1].getbyte(0) if inf[1].kind_of?(String)
52
+ end
53
+ inf
54
+ }
55
+
56
+ PROC_TBL.map!{|inf|
57
+ if inf.kind_of?(Array)
58
+ inf[0] = inf[0].getbyte(0) if inf[0].kind_of?(String)
59
+ end
60
+ inf
61
+ }
62
+ =end
63
+
64
+ _setup_subst_table(KEY_TBL, PROC_TBL);
65
+ end
66
+
67
+ def self._config_keys
68
+ ['validate', 'invalid']
69
+ end
70
+ end
71
+
72
+ def __validation_class_list
73
+ super() << EntryfieldValidate
74
+ end
75
+
76
+ Tk::ValidateConfigure.__def_validcmd(binding, EntryfieldValidate)
77
+ =begin
78
+ def validate(cmd = Proc.new, args = nil)
79
+ if cmd.kind_of?(ValidateCmd)
80
+ configure('validate', cmd)
81
+ elsif args
82
+ configure('validate', [cmd, args])
83
+ else
84
+ configure('validate', cmd)
85
+ end
86
+ end
87
+
88
+ def invalid(cmd = Proc.new, args = nil)
89
+ if cmd.kind_of?(ValidateCmd)
90
+ configure('invalid', cmd)
91
+ elsif args
92
+ configure('invalid', [cmd, args])
93
+ else
94
+ configure('invalid', cmd)
95
+ end
96
+ end
97
+ =end
98
+
99
+ ####################################
100
+
101
+ def clear
102
+ tk_call(@path, 'clear')
103
+ self
104
+ end
105
+
106
+ def delete(first, last=None)
107
+ tk_send_without_enc('delete', first, last)
108
+ self
109
+ end
110
+
111
+ def value
112
+ _fromUTF8(tk_send_without_enc('get'))
113
+ end
114
+ def value= (val)
115
+ tk_send_without_enc('delete', 0, 'end')
116
+ tk_send_without_enc('insert', 0, _get_eval_enc_str(val))
117
+ val
118
+ end
119
+ alias get value
120
+ alias set value=
121
+
122
+ def cursor=(index)
123
+ tk_send_without_enc('icursor', index)
124
+ #self
125
+ index
126
+ end
127
+ alias icursor cursor=
128
+
129
+ def index(index)
130
+ number(tk_send_without_enc('index', index))
131
+ end
132
+
133
+ def insert(pos,text)
134
+ tk_send_without_enc('insert', pos, _get_eval_enc_str(text))
135
+ self
136
+ end
137
+
138
+ def mark(pos)
139
+ tk_send_without_enc('scan', 'mark', pos)
140
+ self
141
+ end
142
+ def dragto(pos)
143
+ tk_send_without_enc('scan', 'dragto', pos)
144
+ self
145
+ end
146
+ def selection_adjust(index)
147
+ tk_send_without_enc('selection', 'adjust', index)
148
+ self
149
+ end
150
+ def selection_clear
151
+ tk_send_without_enc('selection', 'clear')
152
+ self
153
+ end
154
+ def selection_from(index)
155
+ tk_send_without_enc('selection', 'from', index)
156
+ self
157
+ end
158
+ def selection_present()
159
+ bool(tk_send_without_enc('selection', 'present'))
160
+ end
161
+ def selection_range(s, e)
162
+ tk_send_without_enc('selection', 'range', s, e)
163
+ self
164
+ end
165
+ def selection_to(index)
166
+ tk_send_without_enc('selection', 'to', index)
167
+ self
168
+ end
169
+
170
+ # based on tk/scrollable.rb
171
+ def xview(*index)
172
+ if index.size == 0
173
+ list(tk_send_without_enc('xview'))
174
+ else
175
+ tk_send_without_enc('xview', *index)
176
+ self
177
+ end
178
+ end
179
+ def xview_moveto(*index)
180
+ xview('moveto', *index)
181
+ end
182
+ def xview_scroll(*index)
183
+ xview('scroll', *index)
184
+ end
185
+ end
@@ -0,0 +1,40 @@
1
+ #
2
+ # tkextlib/iwidgets/extbutton.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 Extbutton < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Extbutton
17
+ TkCommandNames = ['::iwidgets::extbutton'.freeze].freeze
18
+ WidgetClassName = 'Extbutton'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'bitmapforeground' << 'ringbackground'
23
+ end
24
+ private :__strval_optkeys
25
+
26
+ def __boolval_optkeys
27
+ super() << 'defaultring'
28
+ end
29
+ private :__boolval_optkeys
30
+
31
+ def invoke
32
+ tk_call(@path, 'invoke')
33
+ self
34
+ end
35
+
36
+ def flash
37
+ tk_call(@path, 'flash')
38
+ self
39
+ end
40
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # tkextlib/iwidgets/extfileselectionbox.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 Extfileselectionbox < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Extfileselectionbox
17
+ TkCommandNames = ['::iwidgets::extfileselectionbox'.freeze].freeze
18
+ WidgetClassName = 'Extfileselectionbox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() + [
23
+ 'dirslabel', 'fileslabel', 'filterlabel', 'mask', 'nomatchstring',
24
+ 'selectionlabel'
25
+ ]
26
+ end
27
+ private :__strval_optkeys
28
+
29
+ def __boolval_optkeys
30
+ super() + ['dirson', 'fileson', 'filteron', 'selectionon']
31
+ end
32
+ private :__boolval_optkeys
33
+
34
+ def child_site
35
+ window(tk_call(@path, 'childsite'))
36
+ end
37
+
38
+ def filter
39
+ tk_call(@path, 'filter')
40
+ self
41
+ end
42
+
43
+ def get
44
+ tk_call(@path, 'get')
45
+ end
46
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # tkextlib/iwidgets/extfileselectiondialog.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 Extfileselectiondialog < Tk::Iwidgets::Dialog
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Extfileselectiondialog
17
+ TkCommandNames = ['::iwidgets::extfileselectiondialog'.freeze].freeze
18
+ WidgetClassName = 'Extfileselectiondialog'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def child_site
22
+ window(tk_call(@path, 'childsite'))
23
+ end
24
+
25
+ def filter
26
+ tk_call(@path, 'filter')
27
+ self
28
+ end
29
+
30
+ def get
31
+ tk_call(@path, 'get')
32
+ end
33
+ end
@@ -0,0 +1,35 @@
1
+ #
2
+ # tkextlib/iwidgets/feedback.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 Feedback < Tk::Iwidgets::Labeledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Feedback
17
+ TkCommandNames = ['::iwidgets::feedback'.freeze].freeze
18
+ WidgetClassName = 'Feedback'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'barcolor'
23
+ end
24
+ private :__strval_optkeys
25
+
26
+ def reset
27
+ tk_call(@path, 'reset')
28
+ self
29
+ end
30
+
31
+ def step(inc=1)
32
+ tk_call(@path, 'step', inc)
33
+ self
34
+ end
35
+ end
@@ -0,0 +1,46 @@
1
+ #
2
+ # tkextlib/iwidgets/fileselectionbox.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 Fileselectionbox < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Fileselectionbox
17
+ TkCommandNames = ['::iwidgets::fileselectionbox'.freeze].freeze
18
+ WidgetClassName = 'Fileselectionbox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() + [
23
+ 'directory', 'dirslabel', 'fileslabel', 'filterlabel', 'mask',
24
+ 'nomatchstring', 'selectionlabel'
25
+ ]
26
+ end
27
+ private :__strval_optkeys
28
+
29
+ def __boolval_optkeys
30
+ super() + ['dirson', 'fileson', 'filteron', 'selectionon']
31
+ end
32
+ private :__boolval_optkeys
33
+
34
+ def child_site
35
+ window(tk_call(@path, 'childsite'))
36
+ end
37
+
38
+ def filter
39
+ tk_call(@path, 'filter')
40
+ self
41
+ end
42
+
43
+ def get
44
+ tk_call(@path, 'get')
45
+ end
46
+ end
@@ -0,0 +1,33 @@
1
+ #
2
+ # tkextlib/iwidgets/fileselectiondialog.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 Fileselectiondialog < Tk::Iwidgets::Dialog
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Fileselectiondialog
17
+ TkCommandNames = ['::iwidgets::fileselectiondialog'.freeze].freeze
18
+ WidgetClassName = 'Fileselectiondialog'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def child_site
22
+ window(tk_call(@path, 'childsite'))
23
+ end
24
+
25
+ def filter
26
+ tk_call(@path, 'filter')
27
+ self
28
+ end
29
+
30
+ def get
31
+ tk_call(@path, 'get')
32
+ end
33
+ end