Pratt 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. data/.exrc +61 -0
  2. data/.gitignore +4 -0
  3. data/History.txt +6 -0
  4. data/Manifest.txt +46 -0
  5. data/Pratt.gemspec +351 -0
  6. data/README.txt +66 -0
  7. data/Rakefile +85 -0
  8. data/TODO +54 -0
  9. data/VERSION +1 -0
  10. data/bin/pratt.rb +13 -0
  11. data/config.rb +34 -0
  12. data/lib/pratt.rb +527 -0
  13. data/lib/pratt/array.rb +11 -0
  14. data/lib/pratt/string.rb +18 -0
  15. data/models/app.rb +40 -0
  16. data/models/customer.rb +24 -0
  17. data/models/payment.rb +22 -0
  18. data/models/pratt.rb +19 -0
  19. data/models/project.rb +82 -0
  20. data/models/whence.rb +70 -0
  21. data/pkgs/tile-0.8.2.tar.gz +0 -0
  22. data/pkgs/tile-0.8.2/ANNOUNCE.txt +95 -0
  23. data/pkgs/tile-0.8.2/ChangeLog +4651 -0
  24. data/pkgs/tile-0.8.2/Makefile +250 -0
  25. data/pkgs/tile-0.8.2/Makefile.in +250 -0
  26. data/pkgs/tile-0.8.2/README.txt +86 -0
  27. data/pkgs/tile-0.8.2/aclocal.m4 +2 -0
  28. data/pkgs/tile-0.8.2/altTheme.o +0 -0
  29. data/pkgs/tile-0.8.2/blink.o +0 -0
  30. data/pkgs/tile-0.8.2/button.o +0 -0
  31. data/pkgs/tile-0.8.2/cache.o +0 -0
  32. data/pkgs/tile-0.8.2/clamTheme.o +0 -0
  33. data/pkgs/tile-0.8.2/classicTheme.o +0 -0
  34. data/pkgs/tile-0.8.2/config.log +1330 -0
  35. data/pkgs/tile-0.8.2/config.status +795 -0
  36. data/pkgs/tile-0.8.2/configure +15248 -0
  37. data/pkgs/tile-0.8.2/configure.in +89 -0
  38. data/pkgs/tile-0.8.2/demos/autocomplete.tcl +59 -0
  39. data/pkgs/tile-0.8.2/demos/demo.tcl +870 -0
  40. data/pkgs/tile-0.8.2/demos/dirbrowser.tcl +167 -0
  41. data/pkgs/tile-0.8.2/demos/dlgtest.tcl +97 -0
  42. data/pkgs/tile-0.8.2/demos/iconlib.tcl +110 -0
  43. data/pkgs/tile-0.8.2/demos/repeater.tcl +117 -0
  44. data/pkgs/tile-0.8.2/demos/toolbutton.tcl +101 -0
  45. data/pkgs/tile-0.8.2/doc/Geometry.3 +230 -0
  46. data/pkgs/tile-0.8.2/doc/INDEX.MAP +153 -0
  47. data/pkgs/tile-0.8.2/doc/Makefile +36 -0
  48. data/pkgs/tile-0.8.2/doc/TILE.XML +45 -0
  49. data/pkgs/tile-0.8.2/doc/Theme.3 +34 -0
  50. data/pkgs/tile-0.8.2/doc/button.n +75 -0
  51. data/pkgs/tile-0.8.2/doc/checkbutton.n +61 -0
  52. data/pkgs/tile-0.8.2/doc/combobox.n +98 -0
  53. data/pkgs/tile-0.8.2/doc/converting.txt +97 -0
  54. data/pkgs/tile-0.8.2/doc/dialog.n +122 -0
  55. data/pkgs/tile-0.8.2/doc/entry.n +438 -0
  56. data/pkgs/tile-0.8.2/doc/frame.n +43 -0
  57. data/pkgs/tile-0.8.2/doc/html/Geometry.html +304 -0
  58. data/pkgs/tile-0.8.2/doc/html/Theme.html +48 -0
  59. data/pkgs/tile-0.8.2/doc/html/button.html +120 -0
  60. data/pkgs/tile-0.8.2/doc/html/category-index.html +18 -0
  61. data/pkgs/tile-0.8.2/doc/html/checkbutton.html +94 -0
  62. data/pkgs/tile-0.8.2/doc/html/combobox.html +164 -0
  63. data/pkgs/tile-0.8.2/doc/html/converting.txt +97 -0
  64. data/pkgs/tile-0.8.2/doc/html/dialog.html +159 -0
  65. data/pkgs/tile-0.8.2/doc/html/entry.html +613 -0
  66. data/pkgs/tile-0.8.2/doc/html/frame.html +76 -0
  67. data/pkgs/tile-0.8.2/doc/html/image.html +100 -0
  68. data/pkgs/tile-0.8.2/doc/html/index.html +25 -0
  69. data/pkgs/tile-0.8.2/doc/html/keyword-index.html +228 -0
  70. data/pkgs/tile-0.8.2/doc/html/label.html +133 -0
  71. data/pkgs/tile-0.8.2/doc/html/labelframe.html +91 -0
  72. data/pkgs/tile-0.8.2/doc/html/manpage.css +212 -0
  73. data/pkgs/tile-0.8.2/doc/html/menubutton.html +63 -0
  74. data/pkgs/tile-0.8.2/doc/html/notebook.html +280 -0
  75. data/pkgs/tile-0.8.2/doc/html/paned.html +149 -0
  76. data/pkgs/tile-0.8.2/doc/html/progressbar.html +138 -0
  77. data/pkgs/tile-0.8.2/doc/html/radiobutton.html +89 -0
  78. data/pkgs/tile-0.8.2/doc/html/scrollbar.html +221 -0
  79. data/pkgs/tile-0.8.2/doc/html/separator.html +48 -0
  80. data/pkgs/tile-0.8.2/doc/html/sizegrip.html +62 -0
  81. data/pkgs/tile-0.8.2/doc/html/style.html +172 -0
  82. data/pkgs/tile-0.8.2/doc/html/tile-intro.html +164 -0
  83. data/pkgs/tile-0.8.2/doc/html/treeview.html +634 -0
  84. data/pkgs/tile-0.8.2/doc/html/widget.html +342 -0
  85. data/pkgs/tile-0.8.2/doc/image.n +81 -0
  86. data/pkgs/tile-0.8.2/doc/internals.txt +409 -0
  87. data/pkgs/tile-0.8.2/doc/label.n +75 -0
  88. data/pkgs/tile-0.8.2/doc/labelframe.n +64 -0
  89. data/pkgs/tile-0.8.2/doc/man.macros +239 -0
  90. data/pkgs/tile-0.8.2/doc/menubutton.n +41 -0
  91. data/pkgs/tile-0.8.2/doc/notebook.n +188 -0
  92. data/pkgs/tile-0.8.2/doc/paned.n +95 -0
  93. data/pkgs/tile-0.8.2/doc/progressbar.n +79 -0
  94. data/pkgs/tile-0.8.2/doc/radiobutton.n +57 -0
  95. data/pkgs/tile-0.8.2/doc/scrollbar.n +160 -0
  96. data/pkgs/tile-0.8.2/doc/separator.n +30 -0
  97. data/pkgs/tile-0.8.2/doc/sizegrip.n +53 -0
  98. data/pkgs/tile-0.8.2/doc/style.n +119 -0
  99. data/pkgs/tile-0.8.2/doc/tile-intro.n +165 -0
  100. data/pkgs/tile-0.8.2/doc/tmml.options +4 -0
  101. data/pkgs/tile-0.8.2/doc/treeview.n +415 -0
  102. data/pkgs/tile-0.8.2/doc/widget.n +227 -0
  103. data/pkgs/tile-0.8.2/doc/xml/Geometry.tmml +379 -0
  104. data/pkgs/tile-0.8.2/doc/xml/INDEX.MAP +153 -0
  105. data/pkgs/tile-0.8.2/doc/xml/Theme.tmml +63 -0
  106. data/pkgs/tile-0.8.2/doc/xml/button.tmml +134 -0
  107. data/pkgs/tile-0.8.2/doc/xml/checkbutton.tmml +119 -0
  108. data/pkgs/tile-0.8.2/doc/xml/combobox.tmml +184 -0
  109. data/pkgs/tile-0.8.2/doc/xml/dialog.tmml +195 -0
  110. data/pkgs/tile-0.8.2/doc/xml/entry.tmml +630 -0
  111. data/pkgs/tile-0.8.2/doc/xml/frame.tmml +98 -0
  112. data/pkgs/tile-0.8.2/doc/xml/image.tmml +101 -0
  113. data/pkgs/tile-0.8.2/doc/xml/label.tmml +154 -0
  114. data/pkgs/tile-0.8.2/doc/xml/labelframe.tmml +116 -0
  115. data/pkgs/tile-0.8.2/doc/xml/menubutton.tmml +80 -0
  116. data/pkgs/tile-0.8.2/doc/xml/notebook.tmml +306 -0
  117. data/pkgs/tile-0.8.2/doc/xml/paned.tmml +154 -0
  118. data/pkgs/tile-0.8.2/doc/xml/progressbar.tmml +151 -0
  119. data/pkgs/tile-0.8.2/doc/xml/radiobutton.tmml +109 -0
  120. data/pkgs/tile-0.8.2/doc/xml/scrollbar.tmml +233 -0
  121. data/pkgs/tile-0.8.2/doc/xml/separator.tmml +59 -0
  122. data/pkgs/tile-0.8.2/doc/xml/sizegrip.tmml +82 -0
  123. data/pkgs/tile-0.8.2/doc/xml/style.tmml +171 -0
  124. data/pkgs/tile-0.8.2/doc/xml/tile-intro.tmml +192 -0
  125. data/pkgs/tile-0.8.2/doc/xml/treeview.tmml +604 -0
  126. data/pkgs/tile-0.8.2/doc/xml/widget.tmml +372 -0
  127. data/pkgs/tile-0.8.2/entry.o +0 -0
  128. data/pkgs/tile-0.8.2/frame.o +0 -0
  129. data/pkgs/tile-0.8.2/generic/Makefile.in +221 -0
  130. data/pkgs/tile-0.8.2/generic/TODO +493 -0
  131. data/pkgs/tile-0.8.2/generic/altTheme.c +1172 -0
  132. data/pkgs/tile-0.8.2/generic/blink.c +168 -0
  133. data/pkgs/tile-0.8.2/generic/button.c +858 -0
  134. data/pkgs/tile-0.8.2/generic/cache.c +354 -0
  135. data/pkgs/tile-0.8.2/generic/clamTheme.c +974 -0
  136. data/pkgs/tile-0.8.2/generic/classicTheme.c +518 -0
  137. data/pkgs/tile-0.8.2/generic/configure +10334 -0
  138. data/pkgs/tile-0.8.2/generic/configure.in +100 -0
  139. data/pkgs/tile-0.8.2/generic/entry.c +1922 -0
  140. data/pkgs/tile-0.8.2/generic/frame.c +648 -0
  141. data/pkgs/tile-0.8.2/generic/gunk.h +44 -0
  142. data/pkgs/tile-0.8.2/generic/image.c +416 -0
  143. data/pkgs/tile-0.8.2/generic/label.c +663 -0
  144. data/pkgs/tile-0.8.2/generic/layout.c +1215 -0
  145. data/pkgs/tile-0.8.2/generic/manager.c +554 -0
  146. data/pkgs/tile-0.8.2/generic/manager.h +91 -0
  147. data/pkgs/tile-0.8.2/generic/notebook.c +1380 -0
  148. data/pkgs/tile-0.8.2/generic/paned.c +958 -0
  149. data/pkgs/tile-0.8.2/generic/pkgIndex.tcl.in +7 -0
  150. data/pkgs/tile-0.8.2/generic/progress.c +549 -0
  151. data/pkgs/tile-0.8.2/generic/scale.c +526 -0
  152. data/pkgs/tile-0.8.2/generic/scroll.c +253 -0
  153. data/pkgs/tile-0.8.2/generic/scrollbar.c +346 -0
  154. data/pkgs/tile-0.8.2/generic/separator.c +132 -0
  155. data/pkgs/tile-0.8.2/generic/square.c +306 -0
  156. data/pkgs/tile-0.8.2/generic/tagset.c +147 -0
  157. data/pkgs/tile-0.8.2/generic/tile.c +296 -0
  158. data/pkgs/tile-0.8.2/generic/tkElements.c +1280 -0
  159. data/pkgs/tile-0.8.2/generic/tkTheme.c +1708 -0
  160. data/pkgs/tile-0.8.2/generic/tkTheme.h +419 -0
  161. data/pkgs/tile-0.8.2/generic/tkThemeInt.h +45 -0
  162. data/pkgs/tile-0.8.2/generic/tkstate.c +268 -0
  163. data/pkgs/tile-0.8.2/generic/trace.c +145 -0
  164. data/pkgs/tile-0.8.2/generic/track.c +174 -0
  165. data/pkgs/tile-0.8.2/generic/treeview.c +3211 -0
  166. data/pkgs/tile-0.8.2/generic/ttk.decls +154 -0
  167. data/pkgs/tile-0.8.2/generic/ttkDecls.h +340 -0
  168. data/pkgs/tile-0.8.2/generic/ttkStubInit.c +61 -0
  169. data/pkgs/tile-0.8.2/generic/ttkStubLib.c +70 -0
  170. data/pkgs/tile-0.8.2/generic/widget.c +785 -0
  171. data/pkgs/tile-0.8.2/generic/widget.h +263 -0
  172. data/pkgs/tile-0.8.2/image.o +0 -0
  173. data/pkgs/tile-0.8.2/label.o +0 -0
  174. data/pkgs/tile-0.8.2/layout.o +0 -0
  175. data/pkgs/tile-0.8.2/library/altTheme.tcl +101 -0
  176. data/pkgs/tile-0.8.2/library/aquaTheme.tcl +62 -0
  177. data/pkgs/tile-0.8.2/library/button.tcl +85 -0
  178. data/pkgs/tile-0.8.2/library/clamTheme.tcl +139 -0
  179. data/pkgs/tile-0.8.2/library/classicTheme.tcl +108 -0
  180. data/pkgs/tile-0.8.2/library/combobox.tcl +439 -0
  181. data/pkgs/tile-0.8.2/library/cursors.tcl +36 -0
  182. data/pkgs/tile-0.8.2/library/defaults.tcl +118 -0
  183. data/pkgs/tile-0.8.2/library/dialog.tcl +274 -0
  184. data/pkgs/tile-0.8.2/library/entry.tcl +580 -0
  185. data/pkgs/tile-0.8.2/library/fonts.tcl +153 -0
  186. data/pkgs/tile-0.8.2/library/icons.tcl +105 -0
  187. data/pkgs/tile-0.8.2/library/keynav.tcl +192 -0
  188. data/pkgs/tile-0.8.2/library/menubutton.tcl +171 -0
  189. data/pkgs/tile-0.8.2/library/notebook.tcl +193 -0
  190. data/pkgs/tile-0.8.2/library/paned.tcl +87 -0
  191. data/pkgs/tile-0.8.2/library/progress.tcl +51 -0
  192. data/pkgs/tile-0.8.2/library/scale.tcl +54 -0
  193. data/pkgs/tile-0.8.2/library/scrollbar.tcl +125 -0
  194. data/pkgs/tile-0.8.2/library/sizegrip.tcl +77 -0
  195. data/pkgs/tile-0.8.2/library/tile.tcl +211 -0
  196. data/pkgs/tile-0.8.2/library/treeview.tcl +382 -0
  197. data/pkgs/tile-0.8.2/library/utils.tcl +254 -0
  198. data/pkgs/tile-0.8.2/library/winTheme.tcl +77 -0
  199. data/pkgs/tile-0.8.2/library/xpTheme.tcl +63 -0
  200. data/pkgs/tile-0.8.2/libtile0.8.2.so +0 -0
  201. data/pkgs/tile-0.8.2/libttkstub.a +0 -0
  202. data/pkgs/tile-0.8.2/license.terms +24 -0
  203. data/pkgs/tile-0.8.2/macosx/aquaTheme.c +1076 -0
  204. data/pkgs/tile-0.8.2/manager.o +0 -0
  205. data/pkgs/tile-0.8.2/notebook.o +0 -0
  206. data/pkgs/tile-0.8.2/paned.o +0 -0
  207. data/pkgs/tile-0.8.2/pkgIndex.tcl +3 -0
  208. data/pkgs/tile-0.8.2/progress.o +0 -0
  209. data/pkgs/tile-0.8.2/scale.o +0 -0
  210. data/pkgs/tile-0.8.2/scroll.o +0 -0
  211. data/pkgs/tile-0.8.2/scrollbar.o +0 -0
  212. data/pkgs/tile-0.8.2/separator.o +0 -0
  213. data/pkgs/tile-0.8.2/tagset.o +0 -0
  214. data/pkgs/tile-0.8.2/tclconfig/install-sh +119 -0
  215. data/pkgs/tile-0.8.2/tclconfig/tcl.m4 +4069 -0
  216. data/pkgs/tile-0.8.2/tclconfig/teax.m4 +109 -0
  217. data/pkgs/tile-0.8.2/tests/all.tcl +18 -0
  218. data/pkgs/tile-0.8.2/tests/bwidget.test +103 -0
  219. data/pkgs/tile-0.8.2/tests/cbtest.tcl +125 -0
  220. data/pkgs/tile-0.8.2/tests/combobox.test +51 -0
  221. data/pkgs/tile-0.8.2/tests/compound.tcl +92 -0
  222. data/pkgs/tile-0.8.2/tests/entry.test +285 -0
  223. data/pkgs/tile-0.8.2/tests/entrytest.tcl +78 -0
  224. data/pkgs/tile-0.8.2/tests/image.test +94 -0
  225. data/pkgs/tile-0.8.2/tests/labelframe.tcl +41 -0
  226. data/pkgs/tile-0.8.2/tests/labelframe.test +137 -0
  227. data/pkgs/tile-0.8.2/tests/layout.test +33 -0
  228. data/pkgs/tile-0.8.2/tests/misc.test +35 -0
  229. data/pkgs/tile-0.8.2/tests/nbtest.tcl +66 -0
  230. data/pkgs/tile-0.8.2/tests/notebook.test +500 -0
  231. data/pkgs/tile-0.8.2/tests/paned.test +298 -0
  232. data/pkgs/tile-0.8.2/tests/progress.test +92 -0
  233. data/pkgs/tile-0.8.2/tests/pwtest.tcl +90 -0
  234. data/pkgs/tile-0.8.2/tests/sbtest.tcl +79 -0
  235. data/pkgs/tile-0.8.2/tests/scrollbar.test +77 -0
  236. data/pkgs/tile-0.8.2/tests/sgtest.tcl +52 -0
  237. data/pkgs/tile-0.8.2/tests/testutils.tcl +20 -0
  238. data/pkgs/tile-0.8.2/tests/tile.test +674 -0
  239. data/pkgs/tile-0.8.2/tests/treetags.test +78 -0
  240. data/pkgs/tile-0.8.2/tests/treeview.test +563 -0
  241. data/pkgs/tile-0.8.2/tests/tvtest.tcl +332 -0
  242. data/pkgs/tile-0.8.2/tests/validate.test +278 -0
  243. data/pkgs/tile-0.8.2/tile.o +0 -0
  244. data/pkgs/tile-0.8.2/tkElements.o +0 -0
  245. data/pkgs/tile-0.8.2/tkTheme.o +0 -0
  246. data/pkgs/tile-0.8.2/tkstate.o +0 -0
  247. data/pkgs/tile-0.8.2/tools/genStubs.tcl +861 -0
  248. data/pkgs/tile-0.8.2/trace.o +0 -0
  249. data/pkgs/tile-0.8.2/track.o +0 -0
  250. data/pkgs/tile-0.8.2/treeview.o +0 -0
  251. data/pkgs/tile-0.8.2/ttkStubInit.o +0 -0
  252. data/pkgs/tile-0.8.2/ttkStubLib.o +0 -0
  253. data/pkgs/tile-0.8.2/widget.o +0 -0
  254. data/pkgs/tile-0.8.2/win/Tile.dsp +261 -0
  255. data/pkgs/tile-0.8.2/win/makefile.vc +527 -0
  256. data/pkgs/tile-0.8.2/win/monitor.c +164 -0
  257. data/pkgs/tile-0.8.2/win/nmakehlp.c +483 -0
  258. data/pkgs/tile-0.8.2/win/rules.vc +512 -0
  259. data/pkgs/tile-0.8.2/win/tile.rc +40 -0
  260. data/pkgs/tile-0.8.2/win/winTheme.c +734 -0
  261. data/pkgs/tile-0.8.2/win/xpTheme.c +1029 -0
  262. data/spec/app_spec.rb +48 -0
  263. data/spec/customer_spec.rb +31 -0
  264. data/spec/fixtures/graph.expectation +18 -0
  265. data/spec/payment_spec.rb +19 -0
  266. data/spec/pratt_spec.rb +148 -0
  267. data/spec/project_spec.rb +163 -0
  268. data/spec/rcov.opts +0 -0
  269. data/spec/spec.opts +1 -0
  270. data/spec/spec_helper.rb +21 -0
  271. data/spec/whence_spec.rb +54 -0
  272. data/tasks/pratt.rb +84 -0
  273. data/templates/model.eruby +12 -0
  274. data/templates/spec.eruby +8 -0
  275. data/views/env.rb +22 -0
  276. data/views/graph.eruby +20 -0
  277. data/views/invoice.eruby +148 -0
  278. data/views/main.rb +92 -0
  279. data/views/pid.eruby +3 -0
  280. data/views/pop.rb +94 -0
  281. data/views/pop2.rb +75 -0
  282. data/views/raw.eruby +11 -0
  283. metadata +390 -0
@@ -0,0 +1,153 @@
1
+ #
2
+ # fonts.tcl,v 1.16 2007/12/07 06:25:50 jenglish Exp
3
+ #
4
+ # Font specifications.
5
+ #
6
+ # This file, [source]d at initialization time, sets up the following
7
+ # symbolic fonts based on the current platform:
8
+ #
9
+ # TkDefaultFont -- default for GUI items not otherwise specified
10
+ # TkTextFont -- font for user text (entry, listbox, others)
11
+ # TkFixedFont -- standard fixed width font
12
+ # TkHeadingFont -- headings (column headings, etc)
13
+ # TkCaptionFont -- dialog captions (primary text in alert dialogs, etc.)
14
+ # TkTooltipFont -- font to use for tooltip windows
15
+ # TkIconFont -- font to use for icon captions
16
+ # TkMenuFont -- used to use for menu items
17
+ #
18
+ # In Tk 8.5, some of these fonts may be provided by the TIP#145 implementation
19
+ # (On Windows and Mac OS X as of Oct 2007).
20
+ #
21
+ # The TIP, fonts(n) manpage, and implementation do not as of yet agree.
22
+ #
23
+ # +++ Platform notes:
24
+ #
25
+ # Windows:
26
+ # The default system font changed from "MS Sans Serif" to "Tahoma"
27
+ # in Windows XP/Windows 2000.
28
+ #
29
+ # MS documentation says to use "Tahoma 8" in Windows 2000/XP,
30
+ # although many MS programs still use "MS Sans Serif 8"
31
+ #
32
+ # Should use SystemParametersInfo() instead.
33
+ #
34
+ # Mac OSX / Aqua:
35
+ # Quoth the Apple HIG:
36
+ # The _system font_ (Lucida Grande Regular 13 pt) is used for text
37
+ # in menus, dialogs, and full-size controls.
38
+ # [...] Use the _view font_ (Lucida Grande Regular 12pt) as the default
39
+ # font of text in lists and tables.
40
+ # [...] Use the _emphasized system font_ (Lucida Grande Bold 13 pt)
41
+ # sparingly. It is used for the message text in alerts.
42
+ # [...] The _small system font_ (Lucida Grande Regular 11 pt) [...]
43
+ # is also the default font for column headings in lists, for help tags,
44
+ # and for small controls.
45
+ #
46
+ # That document lies, however (see #780617). The font sizes
47
+ # used below reflect what GetThemeFont() returns.
48
+ #
49
+ # Note that the font for column headings (TkHeadingFont) is
50
+ # _smaller_ than the default font.
51
+ #
52
+ # There does not appear to be any recommendations for fixed-width fonts.
53
+ #
54
+ # Mac classic:
55
+ # Don't know, can't find *anything* on the Web about Mac pre-OSX.
56
+ # Might have used Geneva. Doesn't matter, this platform
57
+ # isn't supported anymore anyway.
58
+ #
59
+ # X11:
60
+ # Need a way to tell if Xft is enabled or not.
61
+ # For now, assume patch #971980 applied.
62
+ #
63
+ # "Classic" look used Helvetica bold for everything except
64
+ # for entry widgets, which use Helvetica medium.
65
+ # Most other toolkits use medium weight for all UI elements,
66
+ # which is what we do now.
67
+ #
68
+ # Font size specified in pixels on X11, not points.
69
+ # This is Theoretically Wrong, but in practice works better; using
70
+ # points leads to huge inconsistencies across different servers.
71
+ #
72
+
73
+ namespace eval ttk {
74
+
75
+ catch {font create TkDefaultFont}
76
+ catch {font create TkTextFont}
77
+ catch {font create TkHeadingFont}
78
+ catch {font create TkCaptionFont}
79
+ catch {font create TkTooltipFont}
80
+ catch {font create TkFixedFont}
81
+ catch {font create TkIconFont}
82
+ catch {font create TkMenuFont}
83
+
84
+ variable F ;# miscellaneous platform-specific font parameters
85
+ switch -- [tk windowingsystem] {
86
+ win32 {
87
+ if {$tcl_platform(osVersion) >= 5.0} {
88
+ set F(family) "Tahoma"
89
+ } else {
90
+ set F(family) "MS Sans Serif"
91
+ }
92
+ set F(size) 8
93
+
94
+ font configure TkDefaultFont -family $F(family) -size $F(size)
95
+ font configure TkTextFont -family $F(family) -size $F(size)
96
+ font configure TkHeadingFont -family $F(family) -size $F(size)
97
+ font configure TkCaptionFont -family $F(family) -size $F(size) \
98
+ -weight bold
99
+ font configure TkTooltipFont -family $F(family) -size $F(size)
100
+ font configure TkFixedFont -family Courier -size 10
101
+ font configure TkIconFont -family $F(family) -size $F(size)
102
+ font configure TkMenuFont -family $F(family) -size $F(size)
103
+ }
104
+ aqua {
105
+ set F(family) "Lucida Grande"
106
+ set F(fixed) "Monaco"
107
+ set F(menusize) 14
108
+ set F(size) 13
109
+ set F(viewsize) 12
110
+ set F(smallsize) 11
111
+ set F(fixedsize) 11
112
+
113
+ font configure TkDefaultFont -family $F(family) -size $F(size)
114
+ font configure TkTextFont -family $F(family) -size $F(size)
115
+ font configure TkHeadingFont -family $F(family) -size $F(smallsize)
116
+ font configure TkCaptionFont -family $F(family) -size $F(size) \
117
+ -weight bold
118
+ font configure TkTooltipFont -family $F(family) -size $F(smallsize)
119
+ font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
120
+ font configure TkIconFont -family $F(family) -size $F(size)
121
+ font configure TkMenuFont -family $F(family) -size $F(menusize)
122
+ }
123
+ default -
124
+ x11 {
125
+ if {![catch {tk::pkgconfig get fontsystem} F(fs)] && $F(fs) eq "xft"} {
126
+ set F(family) "sans-serif"
127
+ set F(fixed) "monospace"
128
+ } else {
129
+ set F(family) "Helvetica"
130
+ set F(fixed) "courier"
131
+ }
132
+ set F(size) -12
133
+ set F(ttsize) -10
134
+ set F(capsize) -14
135
+ set F(fixedsize) -12
136
+
137
+ font configure TkDefaultFont -family $F(family) -size $F(size)
138
+ font configure TkTextFont -family $F(family) -size $F(size)
139
+ font configure TkHeadingFont -family $F(family) -size $F(size) \
140
+ -weight bold
141
+ font configure TkCaptionFont -family $F(family) -size $F(capsize) \
142
+ -weight bold
143
+ font configure TkTooltipFont -family $F(family) -size $F(ttsize)
144
+ font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
145
+ font configure TkIconFont -family $F(family) -size $F(size)
146
+ font configure TkMenuFont -family $F(family) -size $F(size)
147
+ }
148
+ }
149
+ unset -nocomplain F
150
+
151
+ }
152
+
153
+ #*EOF*
@@ -0,0 +1,105 @@
1
+ #
2
+ # icons.tcl,v 1.4 2006/11/06 14:46:42 jenglish Exp
3
+ #
4
+ # Tile package -- stock icons.
5
+ #
6
+ # Usage:
7
+ # $w configure -image [ttk::stockIcon $context/$icon]
8
+ #
9
+ # At present, only includes icons for dialog boxes,
10
+ # dialog/info, dialog/warning, dialog/error, etc.
11
+ #
12
+ # This list should be expanded.
13
+ #
14
+ # See the Icon Naming Specification from the Tango project:
15
+ # http://standards.freedesktop.org/icon-naming-spec/
16
+ # They've finally gotten around to publishing something.
17
+ #
18
+
19
+ namespace eval ttk {
20
+ variable Icons ;# Map: icon name -> image
21
+ namespace eval icons {} ;# container namespace for images
22
+ }
23
+
24
+ # stockIcon $name --
25
+ # Returns a Tk image for built-in icon $name.
26
+ #
27
+ proc ttk::stockIcon {name} {
28
+ variable Icons
29
+ return $Icons($name)
30
+ }
31
+
32
+ # defineImage --
33
+ # Define a new stock icon.
34
+ #
35
+ proc ttk::defineImage {name args} {
36
+ variable Icons
37
+ set iconName ::ttk::icons::$name
38
+ eval [linsert $args 0 image create photo $iconName]
39
+ set Icons($name) $iconName
40
+ }
41
+
42
+ #
43
+ # Stock icons for dialogs
44
+ #
45
+ # SOURCE: dialog icons taken from BWidget toolkit.
46
+ #
47
+ ttk::defineImage dialog/error -data {
48
+ R0lGODlhIAAgALMAAIQAAISEhPf/Mf8AAP//////////////////////////
49
+ /////////////////////yH5BAEAAAIALAAAAAAgACAAAASwUMhJBbj41s0n
50
+ HmAIYl0JiCgKlNWVvqHGnnA9mnY+rBytw4DAxhci2IwqoSdFaMKaSBFPQhxA
51
+ nahrdKS0MK8ibSoorBbBVvS4XNOKgey2e7sOmLPvGvkezsPtR3M2e3JzdFIB
52
+ gC9vfohxfVCQWI6PII1pkZReeIeWkzGJS1lHdV2bPy9koaKopUOtSatDfECq
53
+ phWKOra3G3YuqReJwiwUiRkZwsPEuMnNycslzrIdEQAAOw==
54
+ }
55
+
56
+ ttk::defineImage dialog/info -data {
57
+ R0lGODlhIAAgALMAAAAAAAAA/4SEhMbGxvf/Mf//////////////////////
58
+ /////////////////////yH5BAEAAAQALAAAAAAgACAAAAStkMhJibj41s0n
59
+ HkUoDljXXaCoqqRgUkK6zqP7CvQQ7IGsAiYcjcejFYAb4ZAYMB4rMaeO51sN
60
+ kBKlc/uzRbng0NWlnTF3XAAZzExj2ET3BV7cqufctv2Tj0vvFn11RndkVSt6
61
+ OYVZRmeDXRoTAGFOhTaSlDOWHACHW2MlHQCdYFebN6OkVqkZlzcXqTKWoS8w
62
+ GJMhs7WoIoC7v7i+v7uTwsO1o5HHu7TLtcodEQAAOw==
63
+ }
64
+
65
+ ttk::defineImage dialog/question -data {
66
+ R0lGODlhIAAgALMAAAAAAAAA/4SEhMbGxvf/Mf//////////////////////
67
+ /////////////////////yH5BAEAAAQALAAAAAAgACAAAAS2kMhJibj41s0n
68
+ HkUoDljXXaCoqqRgUkK6zqP7CnS+AiY+D4GgUKbibXwrYEoYIIqMHmcoqGLS
69
+ BlBLzlrgzgC22FZYAJKvYG3ODPLS0khd+awDX+Qieh2Dnzb7dnE6VIAffYdl
70
+ dmo6bHiBFlJVej+PizRuXyUTAIxBkSGBNpuImZoVAJ9roSYAqH1Yqzetrkmz
71
+ GaI3F7MyoaYvHhicoLe/sk8axcnCisnKBczNxa3I0cW+1bm/EQAAOw==
72
+ }
73
+
74
+ ttk::defineImage dialog/warning -data {
75
+ R0lGODlhIAAgALMAAAAAAISEAISEhMbGxv//AP//////////////////////
76
+ /////////////////////yH5BAEAAAUALAAAAAAgACAAAASrsMhJZ7g16y0D
77
+ IQPAjZr3gYBAroV5piq7uWcoxHJFv3eun0BUz9cJAmHElhFow8lcIQBgwHOu
78
+ aNJsDfk8ZgHH4TX4BW/Fo12ZjJ4Z10wuZ0cIZOny0jI6NTbnSwRaS3kUdCd2
79
+ h0JWRYEhVIGFSoEfZo6FipRvaJkfUZB7cp2Cg5FDo6RSmn+on5qCPaivYTey
80
+ s4sqtqswp2W+v743whTCxcbHyG0FyczJEhEAADs=
81
+ }
82
+
83
+ ttk::defineImage dialog/auth -data {
84
+ R0lGODlhIAAgAIQAAAAA/wAAAICAgICAAP///7CwsMDAwMjIAPjIAOjo6Pj4
85
+ AODg4HBwcMj4ANjY2JiYANDQ0MjIyPj4yKCgoMiYAMjImDAwAMjIMJiYmJCQ
86
+ kAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAgACAAAAX+ICCOYmCa
87
+ ZKquZCCMQsDOqWC7NiAMvEyvAoLQVdgZCAfEAPWDERIJk8AwIJwUil5T91y4
88
+ GC6ry4RoKH2zYGLhnS5tMUNAcaAvaUF2m1A9GeQIAQeDaEAECw6IJlVYAmAK
89
+ AWZJD3gEDpeXOwRYnHOCCgcPhTWWDhAQQYydkGYIoaOkp6h8m1ieSYOvP0ER
90
+ EQwEEap0dWagok1BswmMdbiursfIBHnBQs10oKF30tQ8QkISuAcB25UGQQ4R
91
+ EzzsA4MU4+WGBkXo6hMTMQADFQfwFtHmFSlCAEKEU2jc+YsHy8nAML4iJKzQ
92
+ Dx65hiWKTIA4pRC7CxblORRA8E/HFfxfQo4KUiBfPgL0SDbkV0ElKZcmEjwE
93
+ wqPCgwMiAQTASQDDzhkD4IkMkg+DiwU4aSTVQiIIBgFXE+ATsPHHCRVWM8QI
94
+ oJUrxi04TCzA0PQsWh9kMVx1u6UFA3116zLJGwIAOw==
95
+ }
96
+
97
+ ttk::defineImage dialog/busy -data {
98
+ R0lGODlhIAAgALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/
99
+ AP//AAAA//8A/wD//////yH5BAEAAAsALAAAAAAgACAAAASAcMlJq7046827
100
+ /2AYBmRpkoC4BMlzvEkspypg3zitIsfjvgcEQifi+X7BoUpi9AGFxFATCV0u
101
+ eMEDQFu1GrdbpZXZC0e9LvF4gkifl8aX2tt7bIPvz/Q5l9btcn0gTWBJeR1G
102
+ bWBdO0EPPIuHHDmUSyxIMjM1lJVrnp+goaIfEQAAOw==
103
+ }
104
+
105
+ #*EOF*
@@ -0,0 +1,192 @@
1
+ ########################################################################
2
+ # keynav package - Enhanced keyboard navigation
3
+ # Copyright (C) 2003 Joe English
4
+ # Freely redistributable; see the file license.terms for details.
5
+ #
6
+ # keynav.tcl,v 1.8 2006/04/07 19:30:48 jenglish Exp
7
+ #
8
+ ########################################################################
9
+ #
10
+ # Usage:
11
+ #
12
+ # package require keynav
13
+ #
14
+ # keynav::enableMnemonics $toplevel --
15
+ # Enable mnemonic accelerators for toplevel widget.
16
+ # Pressing Alt-K, where K is any alphanumeric key,
17
+ # will send an <<Invoke>> event to the widget with
18
+ # mnemonic K (as determined by the -underline and -text
19
+ # options).
20
+ #
21
+ # Side effects: adds a binding for <Alt-KeyPress> to $toplevel
22
+ #
23
+ # keynav::defaultButton $button --
24
+ # Enables default activation for the toplevel window
25
+ # in which $button appears. Pressing <Key-Return> invokes
26
+ # the default widget. The default widget is set to
27
+ # the widget with keyboard focus if it is defaultable,
28
+ # otherwise $button. A widget is _defaultable_
29
+ # if it has a -default option which is not set to
30
+ # "disabled".
31
+ #
32
+ # Side effects: adds <FocusIn> and <KeyPress-Return> bindings
33
+ # to the toplevel containing $button, and a <Destroy> binding
34
+ # to $button.
35
+ #
36
+ # $button must be a defaultable widget.
37
+ #
38
+
39
+ namespace eval keynav {}
40
+
41
+ package require Tcl 8.4
42
+ package require Tk 8.4
43
+ package provide keynav 1.0
44
+
45
+ event add <<Help>> <KeyPress-F1>
46
+
47
+ #
48
+ # Bindings for stock Tk widgets:
49
+ # (NB: for 8.3 use tkButtonInvoke, tkMbPost instead)
50
+ #
51
+ bind Button <<Invoke>> { tk::ButtonInvoke %W }
52
+ bind Checkbutton <<Invoke>> { tk::ButtonInvoke %W }
53
+ bind Radiobutton <<Invoke>> { tk::ButtonInvoke %W }
54
+ bind Menubutton <<Invoke>> { tk::MbPost %W }
55
+
56
+
57
+ proc keynav::enableMnemonics {w} {
58
+ bind [winfo toplevel $w] <Alt-KeyPress> {+ keynav::Alt-KeyPress %W %K }
59
+ }
60
+
61
+ # mnemonic $w --
62
+ # Return the mnemonic character for widget $w,
63
+ # as determined by the -text and -underline resources.
64
+ #
65
+ proc keynav::mnemonic {w} {
66
+ if {[catch {
67
+ set label [$w cget -text]
68
+ set underline [$w cget -underline]
69
+ }]} { return "" }
70
+ return [string index $label $underline]
71
+ }
72
+
73
+ # FindMnemonic $w $key --
74
+ # Locate the descendant of $w with mnemonic $key.
75
+ #
76
+ proc keynav::FindMnemonic {w key} {
77
+ if {[string length $key] != 1} { return }
78
+ set Q [list [set top [winfo toplevel $w]]]
79
+ while {[llength $Q]} {
80
+ set QN [list]
81
+ foreach w $Q {
82
+ if {[string equal -nocase $key [mnemonic $w]]} {
83
+ return $w
84
+ }
85
+ foreach c [winfo children $w] {
86
+ if {[winfo ismapped $c] && [winfo toplevel $c] eq $top} {
87
+ lappend QN $c
88
+ }
89
+ }
90
+ }
91
+ set Q $QN
92
+ }
93
+ return {}
94
+ }
95
+
96
+ # Alt-KeyPress --
97
+ # Alt-KeyPress binding for toplevels with mnemonic accelerators enabled.
98
+ #
99
+ proc keynav::Alt-KeyPress {w k} {
100
+ set w [FindMnemonic $w $k]
101
+ if {$w ne ""} {
102
+ event generate $w <<Invoke>>
103
+ return -code break
104
+ }
105
+ }
106
+
107
+ # defaultButton $w --
108
+ # Enable default activation for the toplevel containing $w,
109
+ # and make $w the default default widget.
110
+ #
111
+ proc keynav::defaultButton {w} {
112
+ variable DefaultButton
113
+
114
+ $w configure -default active
115
+ set top [winfo toplevel $w]
116
+ set DefaultButton(current.$top) $w
117
+ set DefaultButton(default.$top) $w
118
+
119
+ bind $w <Destroy> [list keynav::CleanupDefault $top]
120
+ bind $top <FocusIn> [list keynav::ClaimDefault $top %W]
121
+ bind $top <KeyPress-Return> [list keynav::ActivateDefault $top]
122
+ }
123
+
124
+ proc keynav::CleanupDefault {top} {
125
+ variable DefaultButton
126
+ unset DefaultButton(current.$top)
127
+ unset DefaultButton(default.$top)
128
+ }
129
+
130
+ # ClaimDefault $top $w --
131
+ # <FocusIn> binding for default activation.
132
+ # Sets the default widget to $w if it is defaultable,
133
+ # otherwise set it to the default default.
134
+ #
135
+ proc keynav::ClaimDefault {top w} {
136
+ variable DefaultButton
137
+ if {![info exists DefaultButton(current.$top)]} {
138
+ # Someone destroyed the default default, but not
139
+ # the rest of the toplevel.
140
+ return;
141
+ }
142
+
143
+ set default $DefaultButton(default.$top)
144
+ if {![catch {$w cget -default} dstate] && $dstate ne "disabled"} {
145
+ set default $w
146
+ }
147
+
148
+ if {$default ne $DefaultButton(current.$top)} {
149
+ # Ignore errors -- someone may have destroyed the current default
150
+ catch { $DefaultButton(current.$top) configure -default normal }
151
+ $default configure -default active
152
+ set DefaultButton(current.$top) $default
153
+ }
154
+ }
155
+
156
+ # ActivateDefault --
157
+ # Invoke the default widget for toplevel window, if any.
158
+ #
159
+ proc keynav::ActivateDefault {top} {
160
+ variable DefaultButton
161
+ if { [info exists DefaultButton(current.$top)]
162
+ && [winfo exists $DefaultButton(current.$top)]
163
+ } {
164
+ event generate $DefaultButton(current.$top) <<Invoke>>
165
+ }
166
+ }
167
+
168
+ # traverseTo $w --
169
+ # Set the keyboard focus to the specified window,
170
+ # sending <<TraverseOut>> and <<TraverseIn>> virtual events
171
+ # as per TIP #204.
172
+ #
173
+ proc keynav::traverseTo {w} {
174
+ set focus [focus]
175
+ if {$focus ne ""} {
176
+ event generate $focus <<TraverseOut>>
177
+ }
178
+ focus $w
179
+ event generate $w <<TraverseIn>>
180
+ }
181
+
182
+ #
183
+ # Provide TIP #204 functionality if we're running 8.4:
184
+ #
185
+ if {![package vsatisfies [package provide Tk] 8.5]} {
186
+ bind all <Tab> { keynav::traverseTo [tk_focusNext %W] ; break}
187
+ bind all <<PrevWindow>> { keynav::traverseTo [tk_focusPrev %W] }
188
+ bind Entry <<TraverseIn>> { %W selection range 0 end; %W icursor end }
189
+ bind Spinbox <<TraverseIn>> { %W selection range 0 end; %W icursor end }
190
+ }
191
+
192
+ #*EOF*