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,39 @@
1
+ #
2
+ # tkextlib/iwidgets/labeledframe.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 Labeledframe < Tk::Itk::Archetype
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Labeledframe
17
+ TkCommandNames = ['::iwidgets::labeledframe'.freeze].freeze
18
+ WidgetClassName = 'Labeledframe'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'labeltext'
23
+ end
24
+ private :__strval_optkeys
25
+
26
+ def __tkvariable_optkeys
27
+ super() << 'labelvariable'
28
+ end
29
+ private :__tkvariable_optkeys
30
+
31
+ def __font_optkeys
32
+ super() << 'labelfont'
33
+ end
34
+ private :__font_optkeys
35
+
36
+ def child_site
37
+ window(tk_call(@path, 'childsite'))
38
+ end
39
+ end
@@ -0,0 +1,45 @@
1
+ #
2
+ # tkextlib/iwidgets/labeledwidget.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 Labeledwidget < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Labeledwidget
17
+ extend TkCore
18
+
19
+ TkCommandNames = ['::iwidgets::labeledwidget'.freeze].freeze
20
+ WidgetClassName = 'Labeledwidget'.freeze
21
+ WidgetClassNames[WidgetClassName] ||= self
22
+
23
+ def __strval_optkeys
24
+ super() << 'labeltext'
25
+ end
26
+ private :__strval_optkeys
27
+
28
+ def __tkvariable_optkeys
29
+ super() << 'labelvariable'
30
+ end
31
+ private :__tkvariable_optkeys
32
+
33
+ def __font_optkeys
34
+ super() << 'labelfont'
35
+ end
36
+ private :__font_optkeys
37
+
38
+ def self.alignlabels(*wins)
39
+ tk_call('::iwidgets::Labeledwidget::alignlabels', *wins)
40
+ end
41
+
42
+ def child_site
43
+ window(tk_call(@path, 'childsite'))
44
+ end
45
+ end
@@ -0,0 +1,67 @@
1
+ #
2
+ # tkextlib/iwidgets/mainwindow.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 Mainwindow < Tk::Iwidgets::Shell
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Mainwindow
17
+ TkCommandNames = ['::iwidgets::mainwindow'.freeze].freeze
18
+ WidgetClassName = 'Mainwindow'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __boolval_optkeys
22
+ super() << 'helpline' << 'statusline'
23
+ end
24
+ private :__boolval_optkeys
25
+
26
+ def __strval_optkeys
27
+ super() << 'menubarbackground' << 'menubarforeground' << 'toolbarforeground'
28
+ end
29
+ private :__strval_optkeys
30
+
31
+ def __font_optkeys
32
+ super() << 'menubarfont' << 'toolbarfont'
33
+ end
34
+ private :__font_optkeys
35
+
36
+ def child_site
37
+ window(tk_call(@path, 'childsite'))
38
+ end
39
+
40
+ def menubar(*args)
41
+ unless args.empty?
42
+ tk_call(@path, 'menubar', *args)
43
+ end
44
+ window(tk_call(@path, 'menubar'))
45
+ end
46
+
47
+ def mousebar(*args)
48
+ unless args.empty?
49
+ tk_call(@path, 'mousebar', *args)
50
+ end
51
+ window(tk_call(@path, 'mousebar'))
52
+ end
53
+
54
+ def msgd(*args)
55
+ unless args.empty?
56
+ tk_call(@path, 'msgd', *args)
57
+ end
58
+ window(tk_call(@path, 'msgd'))
59
+ end
60
+
61
+ def toolbar(*args)
62
+ unless args.empty?
63
+ tk_call(@path, 'toolbar', *args)
64
+ end
65
+ window(tk_call(@path, 'toolbar'))
66
+ end
67
+ end
@@ -0,0 +1,212 @@
1
+ #
2
+ # tkextlib/iwidgets/menubar.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 Menubar < Tk::Itk::Widget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Menubar
17
+ TkCommandNames = ['::iwidgets::menubar'.freeze].freeze
18
+ WidgetClassName = 'Menubar'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ def __strval_optkeys
22
+ super() << 'menubuttons'
23
+ end
24
+ private :__strval_optkeys
25
+
26
+ def __tkvariable_optkeys
27
+ super() << 'helpvariable'
28
+ end
29
+ private :__tkvariable_optkeys
30
+
31
+ ####################################
32
+
33
+ include TkItemConfigMethod
34
+
35
+ def __item_cget_cmd(id)
36
+ [self.path, 'menucget', id]
37
+ end
38
+ private :__item_cget_cmd
39
+
40
+ def __item_config_cmd(id)
41
+ [self.path, 'menuconfigure', id]
42
+ end
43
+ private :__item_config_cmd
44
+
45
+ def __item_strval_optkeys(id)
46
+ super(id) << 'selectcolor'
47
+ end
48
+ private :__item_strval_optkeys
49
+
50
+ def __item_tkvariable_optkeys(id)
51
+ super(id) << 'helpstr'
52
+ end
53
+ private :__item_tkvariable_optkeys
54
+
55
+ def tagid(tagOrId)
56
+ if tagOrId.kind_of?(Tk::Itk::Component)
57
+ tagOrId.name
58
+ else
59
+ #_get_eval_string(tagOrId)
60
+ tagOrId
61
+ end
62
+ end
63
+
64
+ alias menucget_tkstring itemcget_tkstring
65
+ alias menucget itemcget
66
+ alias menucget_strict itemcget_strict
67
+ alias menuconfigure itemconfigure
68
+ alias menuconfiginfo itemconfiginfo
69
+ alias current_menuconfiginfo current_itemconfiginfo
70
+
71
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
72
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
73
+
74
+ ####################################
75
+
76
+ def __methodcall_optkeys
77
+ {'menubuttons'=>'menubuttons'}
78
+ end
79
+
80
+ def menubuttons(val = nil)
81
+ unless val
82
+ return tk_call(@path, 'cget', '-menubuttons')
83
+ end
84
+
85
+ tk_call(@path, 'configure', '-menubuttons', _parse_menu_spec(val))
86
+ self
87
+ end
88
+
89
+ def _parse_menu_spec(menu_spec)
90
+ ret = ''
91
+ menu_spec.each{|spec|
92
+ next unless spec
93
+
94
+ if spec.kind_of?(Hash)
95
+ args = [spec]
96
+ type = 'options'
97
+ else
98
+ type, *args = spec
99
+ end
100
+
101
+ type = type.to_s
102
+ case type
103
+ when 'options'
104
+ keys = args[0]
105
+ ary = [type]
106
+ ary.concat(hash_kv(keys))
107
+ ret << array2tk_list(ary) << "\n"
108
+
109
+ when 'menubutton', 'cascade'
110
+ name, keys = args
111
+ if keys
112
+ ary = [type, name]
113
+ keys = _symbolkey2str(keys)
114
+ keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
115
+ ary.concat(hash_kv(keys))
116
+ ret << array2tk_list(ary) << "\n"
117
+ else
118
+ ret << array2tk_list([type, name]) << "\n"
119
+ end
120
+
121
+ else
122
+ name, keys = args
123
+ if keys
124
+ ary = [type, name]
125
+ ary.concat(hash_kv(keys))
126
+ ret << array2tk_list(ary) << "\n"
127
+ else
128
+ ret << array2tk_list([type, name]) << "\n"
129
+ end
130
+ end
131
+ }
132
+ ret
133
+ end
134
+
135
+ ####################################
136
+
137
+ def add(type, tag=nil, keys={})
138
+ if tag.kind_of?(Hash)
139
+ keys = tag
140
+ tag = nil
141
+ end
142
+ if tag
143
+ tag = Tk::Itk::Component.new(self, tagid(tag))
144
+ else
145
+ tag = Tk::Itk::Component.new(self)
146
+ end
147
+ keys = _symbolkey2str(keys)
148
+ keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
149
+ tk_call(@path, 'add', type, tagid(tag), *hash_kv(keys))
150
+ tag
151
+ end
152
+
153
+ def delete(path1, path2=nil)
154
+ if path2
155
+ else
156
+ tk_call(@path, 'delete', index(idx))
157
+ end
158
+ self
159
+ end
160
+
161
+ def index(idx)
162
+ number(tk_call(@path, 'index', tagid(idx)))
163
+ end
164
+
165
+ def insert(idx, type, tag=nil, keys={})
166
+ if tag.kind_of?(Hash)
167
+ keys = tag
168
+ tag = nil
169
+ end
170
+ if tag
171
+ tag = Tk::Itk::Component.new(self, tagid(tag))
172
+ else
173
+ tag = Tk::Itk::Component.new(self)
174
+ end
175
+ keys = _symbolkey2str(keys)
176
+ keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
177
+ tk_call(@path, 'insert', index(idx), type, tagid(tag), *hash_kv(keys))
178
+ tag
179
+ end
180
+
181
+ def invoke(idx)
182
+ tk_call(@path, 'invoke', index(idx))
183
+ self
184
+ end
185
+
186
+ def menupath(pat)
187
+ if (win = tk_call(@path, 'path', pat)) == '-1'
188
+ return nil
189
+ end
190
+ window(win)
191
+ end
192
+ def menupath_glob(pat)
193
+ if (win = tk_call(@path, 'path', '-glob', pat)) == '-1'
194
+ return nil
195
+ end
196
+ window(win)
197
+ end
198
+ def menupath_tclregexp(pat)
199
+ if (win = tk_call(@path, 'path', '-regexp', pat)) == '-1'
200
+ return nil
201
+ end
202
+ window(win)
203
+ end
204
+
205
+ def type(path)
206
+ tk_call(@path, 'type', path)
207
+ end
208
+
209
+ def yposition(path)
210
+ number(tk_call(@path, 'yposition', path))
211
+ end
212
+ end
@@ -0,0 +1,93 @@
1
+ #
2
+ # tkextlib/iwidgets/messagebox.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 Messagebox < Tk::Iwidgets::Scrolledwidget
12
+ end
13
+ end
14
+ end
15
+
16
+ class Tk::Iwidgets::Messagebox
17
+ TkCommandNames = ['::iwidgets::messagebox'.freeze].freeze
18
+ WidgetClassName = 'Messagebox'.freeze
19
+ WidgetClassNames[WidgetClassName] ||= self
20
+
21
+ ####################################
22
+
23
+ include TkItemConfigMethod
24
+
25
+ def __item_cget_cmd(id)
26
+ [self.path, 'type', 'cget', id]
27
+ end
28
+ private :__item_cget_cmd
29
+
30
+ def __item_config_cmd(id)
31
+ [self.path, 'type', 'configure', 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
+ def __item_boolval_optkeys(id)
45
+ super(id) << 'bell' << 'show'
46
+ end
47
+ private :__item_boolval_optkeys
48
+
49
+ alias typecget_tkstring itemcget_tkstring
50
+ alias typecget itemcget
51
+ alias typecget_strict itemcget_strict
52
+ alias typeconfigure itemconfigure
53
+ alias typeconfiginfo itemconfiginfo
54
+ alias current_typeconfiginfo current_itemconfiginfo
55
+
56
+ private :itemcget_tkstring, :itemcget, :itemcget_strict
57
+ private :itemconfigure, :itemconfiginfo, :current_itemconfiginfo
58
+
59
+ ####################################
60
+
61
+ def __strval_optkeys
62
+ super() << 'filename' << 'savedir'
63
+ end
64
+ private :__strval_optkeys
65
+
66
+ def type_add(tag=nil, keys={})
67
+ if tag.kind_of?(Hash)
68
+ keys = tag
69
+ tag = nil
70
+ end
71
+ unless tag
72
+ tag = Tk::Itk::Component.new(self)
73
+ end
74
+ tk_call(@path, 'type', 'add', tagid(tag), *hash_kv(keys))
75
+ tag
76
+ end
77
+
78
+ def clear
79
+ tk_call(@path, 'clear')
80
+ self
81
+ end
82
+
83
+ def export(file)
84
+ tk_call(@path, 'export', file)
85
+ self
86
+ end
87
+
88
+ def issue(string, type=None, *args)
89
+ tk_call(@path, 'issue', string, tagid(type), *args)
90
+ self
91
+ end
92
+
93
+ end