Pratt 1.5.6

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 (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*