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,48 @@
1
+ #
2
+ # tkextlib/iwidgets/spintime.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 Spintime < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Spintime
17
+ TkCommandNames = ['::iwidgets::spintime'.freeze].freeze
18
+ WidgetClassName = 'Spintime'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'houron' << 'militaryon' << 'minutelabel' << 'secondlabel'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def __strval_optkeys
27
+ super() << 'hourlabel' << 'minuteon' << 'secondon'
28
+ end
29
+ private :__strval_optkeys
30
+
31
+ def get_string
32
+ tk_call(@path, 'get', '-string')
33
+ end
34
+ alias get get_string
35
+
36
+ def get_clicks
37
+ number(tk_call(@path, 'get', '-clicks'))
38
+ end
39
+
40
+ def show(date=None)
41
+ tk_call(@path, 'show', date)
42
+ self
43
+ end
44
+ def show_now
45
+ tk_call(@path, 'show', 'now')
46
+ self
47
+ end
48
+ end
@@ -0,0 +1,181 @@
1
+ #
2
+ # tkextlib/iwidgets/tabnotebook.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 Tabnotebook < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Tabnotebook
17
+ TkCommandNames = ['::iwidgets::tabnotebook'.freeze].freeze
18
+ WidgetClassName = 'Tabnotebook'.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 __item_strval_optkeys(id)
36
+ super(id) << 'tabbackground' << 'tabforeground'
37
+ end
38
+ private :__item_strval_optkeys
39
+
40
+ def tagid(tagOrId)
41
+ if tagOrId.kind_of?(Tk::Itk::Component)
42
+ tagOrId.name
43
+ else
44
+ #_get_eval_string(tagOrId)
45
+ tagOrId
46
+ end
47
+ end
48
+
49
+ alias pagecget_tkstring itemcget_tkstring
50
+ alias pagecget itemcget
51
+ alias pagecget_strict itemcget_strict
52
+ alias pageconfigure itemconfigure
53
+ alias pageconfiginfo itemconfiginfo
54
+ alias current_pageconfiginfo current_itemconfiginfo
55
+
56
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
57
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
58
+
59
+ ####################################
60
+
61
+ def __boolval_optkeys
62
+ super() << 'auto' << 'equaltabs' << 'raiseselect' << 'tabborders'
63
+ end
64
+ private :__boolval_optkeys
65
+
66
+ def __strval_optkeys
67
+ super() << 'backdrop' << 'tabbackground' << 'tabforeground'
68
+ end
69
+ private :__strval_optkeys
70
+
71
+ def initialize(*args)
72
+ super(*args)
73
+ @tabset = self.component_widget('tabset')
74
+ end
75
+
76
+ def add(keys={})
77
+ window(tk_call(@path, 'add', *hash_kv(keys)))
78
+ end
79
+
80
+ def child_site_list
81
+ list(tk_call(@path, 'childsite'))
82
+ end
83
+
84
+ def child_site(idx)
85
+ window(tk_call(@path, 'childsite', index(idx)))
86
+ end
87
+
88
+ def delete(idx1, idx2=nil)
89
+ if idx2
90
+ tk_call(@path, 'delete', index(idx1), index(idx2))
91
+ else
92
+ tk_call(@path, 'delete', index(idx1))
93
+ end
94
+ self
95
+ end
96
+
97
+ def index(idx)
98
+ #number(tk_call(@path, 'index', tagid(idx)))
99
+ @tabset.index(tagid(idx))
100
+ end
101
+
102
+ def insert(idx, keys={})
103
+ window(tk_call(@path, 'insert', index(idx), *hash_kv(keys)))
104
+ end
105
+
106
+ def next
107
+ tk_call(@path, 'next')
108
+ self
109
+ end
110
+
111
+ def prev
112
+ tk_call(@path, 'prev')
113
+ self
114
+ end
115
+
116
+ def select(idx)
117
+ tk_call(@path, 'select', index(idx))
118
+ self
119
+ end
120
+
121
+ def show_tab(idx)
122
+ @tabset.show_tab(idx)
123
+ self
124
+ end
125
+
126
+ def scrollcommand(cmd=Proc.new)
127
+ configure_cmd 'scrollcommand', cmd
128
+ self
129
+ end
130
+ alias xscrollcommand scrollcommand
131
+ alias yscrollcommand scrollcommand
132
+
133
+ def xscrollbar(bar=nil)
134
+ if bar
135
+ @scrollbar = bar
136
+ @scrollbar.orient 'horizontal'
137
+ self.scrollcommand {|*arg| @scrollbar.set(*arg)}
138
+ @scrollbar.command {|*arg| self.xview(*arg)}
139
+ Tk.update # avoid scrollbar trouble
140
+ end
141
+ @scrollbar
142
+ end
143
+ def yscrollbar(bar=nil)
144
+ if bar
145
+ @scrollbar = bar
146
+ @scrollbar.orient 'vertical'
147
+ self.scrollcommand {|*arg| @scrollbar.set(*arg)}
148
+ @scrollbar.command {|*arg| self.yview(*arg)}
149
+ Tk.update # avoid scrollbar trouble
150
+ end
151
+ @scrollbar
152
+ end
153
+ alias scrollbar yscrollbar
154
+
155
+ def view(*index)
156
+ if index.size == 0
157
+ idx = num_or_str(tk_send_without_enc('view'))
158
+ if idx.kind_of?(Fixnum) && idx < 0
159
+ nil
160
+ else
161
+ idx
162
+ end
163
+ else
164
+ tk_send_without_enc('view', *index)
165
+ self
166
+ end
167
+ end
168
+ alias xview view
169
+ alias yview view
170
+
171
+ def view_moveto(*index)
172
+ view('moveto', *index)
173
+ end
174
+ alias xview_moveto view_moveto
175
+ alias yview_moveto view_moveto
176
+ def view_scroll(index, what='pages')
177
+ view('scroll', index, what)
178
+ end
179
+ alias xview_scroll view_scroll
180
+ alias yview_scroll view_scroll
181
+ end
@@ -0,0 +1,145 @@
1
+ #
2
+ # tkextlib/iwidgets/tabset.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 Tabset < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Tabset
17
+ TkCommandNames = ['::iwidgets::tabset'.freeze].freeze
18
+ WidgetClassName = 'Tabset'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'tabcget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'tabconfigure', 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 tabcget_tkstring itemcget_tkstring
45
+ alias tabcget itemcget
46
+ alias tabcget_strict itemcget_strict
47
+ alias tabconfigure itemconfigure
48
+ alias tabconfiginfo itemconfiginfo
49
+ alias current_tabconfiginfo 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() << 'equaltabs' << 'raiseselect' << 'tabborders'
58
+ end
59
+ private :__boolval_optkeys
60
+
61
+ def __strval_optkeys
62
+ super() << 'backdrop'
63
+ end
64
+ private :__strval_optkeys
65
+
66
+ def add(keys={})
67
+ window(tk_call(@path, 'add', *hash_kv(keys)))
68
+ end
69
+
70
+ def delete(idx1, idx2=nil)
71
+ if idx2
72
+ tk_call(@path, 'delete', index(idx1), index(idx2))
73
+ else
74
+ tk_call(@path, 'delete', index(idx1))
75
+ end
76
+ self
77
+ end
78
+
79
+ def index(idx)
80
+ number(tk_call(@path, 'index', tagid(idx)))
81
+ end
82
+
83
+ def insert(idx, keys={})
84
+ window(tk_call(@path, 'insert', index(idx), *hash_kv(keys)))
85
+ end
86
+
87
+ def next
88
+ tk_call(@path, 'next')
89
+ self
90
+ end
91
+
92
+ def prev
93
+ tk_call(@path, 'prev')
94
+ self
95
+ end
96
+
97
+ def select(idx)
98
+ tk_call(@path, 'select', index(idx))
99
+ self
100
+ end
101
+
102
+ def show_tab(idx)
103
+ if index(idx) == 0
104
+ self.start = 0
105
+ return
106
+ end
107
+
108
+ reutrn unless @canvas ||= self.winfo_children[0]
109
+
110
+ delta = 1 if (delta = cget(:gap)) == 'overlap' ||
111
+ (delta = self.winfo_pixels(delta) + 1) <= 0
112
+
113
+ case cget(:tabpos)
114
+ when 's', 'n'
115
+ if (head = tabcget(idx, :left)) < 0
116
+ self.start -= head
117
+ return
118
+ end
119
+ tabs_size = @canvas.winfo_width
120
+ tab_start, tab_end = @canvas .
121
+ find_overlapping(head, 0, head + delta, @canvas.winfo_height) .
122
+ find_all{|id| @canvas.itemtype(id) == TkcPolygon} .
123
+ map!{|id| bbox = @canvas.bbox(id); [bbox[0], bbox[2]]} . max
124
+
125
+ when 'e', 'w'
126
+ if (head = tabcget(idx, :top)) < 0
127
+ self.start -= head
128
+ return
129
+ end
130
+ tabs_size = @canvas.winfo_height
131
+ tab_start, tab_end = @canvas .
132
+ find_overlapping(0, head, @canvas.winfo_width, head + delta) .
133
+ find_all{|id| @canvas.itemtype(id) == TkcPolygon} .
134
+ map!{|id| bbox = @canvas.bbox(id); [bbox[1], bbox[3]]} . max
135
+ end
136
+
137
+ if (size = tab_end - tab_start + 1) > tabs_size
138
+ self.start -= tab_start
139
+ elsif head + size > tabs_size
140
+ self.start -= head + size - tabs_size
141
+ end
142
+
143
+ self
144
+ end
145
+ end
@@ -0,0 +1,25 @@
1
+ #
2
+ # tkextlib/iwidgets/timeentry.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 Timeentry < Tk::Iwidgets::Timefield
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Timeentry
17
+ TkCommandNames = ['::iwidgets::timeentry'.freeze].freeze
18
+ WidgetClassName = 'Timeentry'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'closetext'
23
+ end
24
+ private :__strval_optkeys
25
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # tkextlib/iwidgets/timefield.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 Timefield < Tk::Iwidgets::Labeledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Timefield
17
+ TkCommandNames = ['::iwidgets::timefield'.freeze].freeze
18
+ WidgetClassName = 'Timefield'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'gmt'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def __strval_optkeys
27
+ super() << 'textbackground'
28
+ end
29
+ private :__strval_optkeys
30
+
31
+ def __font_optkeys
32
+ super() << 'textfont'
33
+ end
34
+ private :__font_optkeys
35
+
36
+ def get_string
37
+ tk_call(@path, 'get', '-string')
38
+ end
39
+ alias get get_string
40
+
41
+ def get_clicks
42
+ number(tk_call(@path, 'get', '-clicks'))
43
+ end
44
+
45
+ def valid?
46
+ bool(tk_call(@path, 'isvalid'))
47
+ end
48
+ alias isvalid? valid?
49
+
50
+ def show(time=None)
51
+ tk_call(@path, 'show', time)
52
+ self
53
+ end
54
+ def show_now
55
+ tk_call(@path, 'show', 'now')
56
+ self
57
+ end
58
+ end