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,109 @@
1
+ dnl
2
+ dnl teax.m4,v 1.3 2005/09/29 00:52:33 jenglish Exp
3
+ dnl
4
+ dnl Additional autoconf macros for TEA
5
+ dnl
6
+ dnl
7
+
8
+ dnl _TEAX_CHECK_MSVC --
9
+ dnl
10
+ dnl Defines the shell variable "USING_MSVC" as "yes" or "no".
11
+ dnl Several tests on Windows work differently depending on
12
+ dnl whether we're using MSVC or GCC. Current heuristic:
13
+ dnl if it's Windows, and CC is not gcc, we're using MSVC.
14
+ dnl
15
+ dnl This macro doesn't need to be called from configure.ac;
16
+ dnl other macros that need it will AC_REQUIRE it.
17
+ dnl
18
+ AC_DEFUN([_TEAX_CHECK_MSVC],[
19
+ #@ _TEAX_CHECK_MSVC
20
+ AC_REQUIRE([AC_PROG_CC])
21
+ if test "${TEA_PLATFORM}" = "windows" -a "$GCC" != "yes"; then
22
+ USING_MSVC="yes"
23
+ else
24
+ USING_MSVC="no"
25
+ fi;
26
+ ])
27
+
28
+ dnl TEAX_CONFIG_LDFLAGS --
29
+ dnl
30
+ dnl Sets the following additional variables used when building libraries:
31
+ dnl
32
+ dnl SHLIB_LD_OUT
33
+ dnl Either "-o " or "/out:" depending on whether SHLIB_LD
34
+ dnl is a Unix-style linker (ld) or MS-style (link)
35
+ dnl
36
+ dnl STLIB_LD_OUT --
37
+ dnl Either " " or "/out:" depending on whether STLIB_LD
38
+ dnl is Unix-style (ar) or MS-style (lib)
39
+ dnl
40
+ dnl SHLIB_SUFFIX --
41
+ dnl Suffix for shared libraries. This is actually computed by
42
+ dnl TEA_CONFIG_CFLAGS, but it doesn't AC_SUBST() it.
43
+ dnl
44
+ dnl STLIB_SUFFIX --
45
+ dnl Suffix for static libraries (.a, .lib, ...)
46
+ dnl
47
+ dnl LIB_PREFIX --
48
+ dnl Prefix for library names; either "lib" or empty.
49
+ dnl
50
+ AC_DEFUN([TEAX_CONFIG_LDFLAGS],[
51
+ #@ TEAX_CONFIG_LDFLAGS
52
+ AC_REQUIRE([_TEAX_CHECK_MSVC])
53
+ if test "${USING_MSVC}" = "yes"; then
54
+ SHLIB_LD_OUT="/out:"
55
+ STLIB_LD_OUT="/out:"
56
+ STLIB_SUFFIX=".lib"
57
+ LIB_PREFIX=""
58
+ else
59
+ SHLIB_LD_OUT="-o "
60
+ STLIB_LD_OUT=" "
61
+ STLIB_SUFFIX=".a"
62
+ LIB_PREFIX="lib"
63
+ fi
64
+ AC_SUBST(SHLIB_LD_OUT)
65
+ AC_SUBST(STLIB_LD_OUT)
66
+ AC_SUBST(SHLIB_SUFFIX)
67
+ AC_SUBST(STLIB_SUFFIX)
68
+ AC_SUBST(LIB_PREFIX)
69
+ ])
70
+
71
+ dnl TEAX_EXPAND_CFLAGS --
72
+ dnl Computes final value of CFLAGS macro.
73
+ dnl
74
+ dnl Uses the same logic as TEA_MAKE_LIB, except that
75
+ dnl ${CFLAGS_DEFAULT}, ${CFLAGS_WARNING}, and ${SHLIB_CFLAGS}
76
+ dnl are expanded at configure-time instead of at make-time.
77
+ dnl
78
+ AC_DEFUN([TEAX_EXPAND_CFLAGS],[
79
+ #@ TEAX_EXPAND_CFLAGS
80
+ AC_REQUIRE([TEA_ENABLE_SYMBOLS])
81
+ CFLAGS="${CFLAGS} ${CFLAGS_DEFAULT} ${CFLAGS_WARNING}"
82
+ if test "${SHARED_BUILD}" = "1" ; then
83
+ CFLAGS="${CFLAGS} ${SHLIB_CFLAGS}"
84
+ fi
85
+ ])
86
+
87
+ dnl TEAX_FIX_LIB_SPECS --
88
+ dnl TCL_STUB_LIB_SPEC is supposed to contain the linker flags
89
+ dnl for picking up the Tcl stub library; however, the settings
90
+ dnl in tclConfig.sh only work on Unix and with GCC on Windows.
91
+ dnl TEAX_FIX_LIB_SPECS adjusts TCL_STUB_LIB_SPEC et. al. so
92
+ dnl they work with MSVC as well.
93
+ dnl
94
+ dnl (TEA_MAKE_LIB works around this in a different way.)
95
+ dnl
96
+ AC_DEFUN([TEAX_FIX_LIB_SPECS],[
97
+ #@TEAX_FIX_LIB_SPECS
98
+ AC_REQUIRE([_TEAX_CHECK_MSVC])
99
+ if test "${USING_MSVC}" = "yes"; then
100
+ TCL_STUB_LIB_SPEC="$TCL_STUB_LIB_PATH"
101
+ TK_STUB_LIB_SPEC="$TK_STUB_LIB_PATH"
102
+ # tclConfig.sh doesn't define TCL_LIB_SPEC, but if it did,
103
+ # it would be as follows:
104
+ eval TCL_LIB_SPEC="${TCL_EXEC_PREFIX}/lib/$TCL_LIB_FILE"
105
+ # Same for TK_LIB_SPEC:
106
+ eval TK_LIB_SPEC="${TK_EXEC_PREFIX}/lib/$TK_LIB_FILE"
107
+ fi
108
+ ])
109
+
@@ -0,0 +1,18 @@
1
+ #
2
+ # source all tests.
3
+ #
4
+ package require tcltest 2
5
+
6
+ namespace eval tile {
7
+ set dir [file dirname [info script]]
8
+ set ::tcltest::testsDirectory $dir
9
+ set library [set ::env(TILE_LIBRARY) [file join $dir .. library]]
10
+ }
11
+ lappend auto_path [pwd] $::tile::library
12
+
13
+ eval tcltest::configure $::argv
14
+ tcltest::runAllTests
15
+
16
+ if {![catch { package present Tk }]} {
17
+ destroy .
18
+ }
@@ -0,0 +1,103 @@
1
+ #
2
+ # Test BWidget / Tile compatibility.
3
+ #
4
+ # NOTE: This part of the test suite is no longer operative:
5
+ # [namespace import -force ttk::*] is not expected or intended to work.
6
+ #
7
+ # Keeping the file around for now since it contains some historical
8
+ # information about how tile *tried* to make it work, and what
9
+ # sort of things went wrong.
10
+ #
11
+
12
+ package require tcltest
13
+ tcltest::cleanupTests ; return
14
+
15
+ loadTestedCommands
16
+
17
+ lappend auto_path .
18
+ package require tile
19
+
20
+ set have_compat 0
21
+ if {![catch {ttk::pkgconfig get compat} compat]} {set have_compat $compat}
22
+ testConstraint bwidget [expr {$have_compat && ![catch {package require BWidget}]}]
23
+
24
+ test bwidget-1.0 "Setup for BWidget test" -constraints bwidget -body {
25
+ namespace import -force ttk::*
26
+ puts "Loaded BWidget version [package provide BWidget]"
27
+ }
28
+
29
+ test bwidget-1.1 "Make Label widget" -constraints bwidget -body {
30
+ pack [Label .w]
31
+ } -cleanup {destroy .w}
32
+
33
+ test bwidget-1.2 "Make ScrolledWindow widget" -constraints bwidget -body {
34
+ pack [ScrolledWindow .w -auto both -scrollbar vertical]
35
+ } -cleanup {destroy .w}
36
+
37
+ test bwidget-1.3 "Make PagesManager widget" -constraints bwidget -body {
38
+ pack [PagesManager .w]
39
+ } -cleanup {destroy .w}
40
+
41
+ #
42
+ # ProgressBar: this one fails with 'unknown color name "xxx"',
43
+ # where "xxx" is the default value of some other option
44
+ # (variously, "4m", "100", something else).
45
+ #
46
+ # Update: fixed now. Source of problem: widgets were using "unused"
47
+ # as the resource database name for compatibility options;
48
+ # BWidgets keys off the db name instead of the option name.
49
+ #
50
+ test bwidget-1.4 "Make ProgressBar widget" -constraints bwidget -body {
51
+ pack [ProgressBar .w]
52
+ } -cleanup {destroy .w}
53
+
54
+ # @@@ TODO: full BWidget coverage,
55
+ # @@@ not just the ones people have reported problems with.
56
+
57
+
58
+ #
59
+ # <<NOTE-NULLOPTIONS>>:
60
+ #
61
+ # TK_OPTION_NULL_OK doesn't work for TK_OPTION_INT (among others);
62
+ # see Bug #967209.
63
+ #
64
+ # This means that [.l configure -width [.l cget -width]] -- which is
65
+ # essentially what BWidgets does -- will raise an error if -width has
66
+ # a NULL default.
67
+ #
68
+ # Temporary workaround: declare -width, etc. as TK_OPTION_STRING instead.
69
+ # This disables typechecking in the 'configure' method, but it seems
70
+ # to be the best way to avoid the BWidget incompatibility for now.
71
+ #
72
+ test nulloptions-1.1 "Test null options" -body {
73
+ ttk::label .tl
74
+ .tl configure -width [.tl cget -width]
75
+ } -cleanup { destroy .tl }
76
+
77
+ #
78
+ # <<NOTE-NULLOPTIONS-2>> This also means we have to (partially) disable
79
+ # the widget option / element option consistency checks.
80
+ #
81
+ test nulloptions-1.2 "Ensure workaround doesn't break -width" -body {
82
+ ttk::label .tl -text "x" -width 0
83
+ set w1 [winfo reqwidth .tl]
84
+ .tl configure -width 10
85
+ set w2 [winfo reqwidth .tl]
86
+ expr {$w2 > $w1}
87
+ } -result 1 -cleanup { destroy .tl }
88
+
89
+ test nulloptions-1.3 "Exhaustive test" -body {
90
+ set readonlyOpts [list -class]
91
+ foreach widget $::ttk::widgets {
92
+ #puts "$widget"
93
+ ttk::$widget .w
94
+ foreach configspec [.w configure] {
95
+ set option [lindex $configspec 0]
96
+ if {[lsearch -exact $readonlyOpts $option] >= 0} { continue }
97
+ .w configure $option [.w cget $option]
98
+ }
99
+ destroy .w
100
+ }
101
+ }
102
+
103
+ tcltest::cleanupTests
@@ -0,0 +1,125 @@
1
+ ##
2
+ # combobox test program:
3
+ #
4
+ # side-by-side-by-side comparison of Tile, BWidget, and Brian Oakley's combobox
5
+ #
6
+
7
+ #
8
+ # Autocomplete: maybe need custom match procedure? (string match -nocase)
9
+ #
10
+ # Things to check:
11
+ # Focus indicator
12
+ # Blinking insert cursor (none on readonly combobox)
13
+ # Listbox scrollbar arrow lines up with popdown arrow
14
+ # Mouse cursor (I-beam vs. normal) over various elements.
15
+ # Normal mouse cursor in readonly combobox
16
+ # Location of popdown menu when close to screen edge
17
+ # Focus returns to combobox on Unpost (Cancel and Select)
18
+ # ButtonRelease outside of popdown - Cancel? Select? Leave posted?
19
+ # Keyboard traversal (incl. Shift+Tab).
20
+ # -state disabled:
21
+ # + grayed out
22
+ # + do not take focus on click
23
+ # + do not post listbox
24
+ # Click in editable combobox -- should set icursor, don't select
25
+ # Keyboard traversal into combobox -- should select
26
+ # Traversal out of combobox (both <Tab> and <Shift-Tab>)
27
+ # Change value (using other combobox) -- repost listbox --
28
+ # make sure proper entry is highlighted.
29
+ #
30
+
31
+ lappend auto_path . ; package require tile
32
+ package require BWidget
33
+ package require combobox
34
+
35
+ source [file join [file dirname [info script]] testutils.tcl]
36
+
37
+ set values \
38
+ [list abc def ghi jkl mno pqrs tuv wxyz yabba dabba scooby doobie doo]
39
+
40
+ set t [ttk::frame .t]
41
+
42
+ grid [ttk::label $t.l1 -text "Tile"] \
43
+ [ttk::label $t.l2 -text "BWidget"] \
44
+ [ttk::label $t.l3 -text "Oakley"] \
45
+ -row 1 -sticky news;
46
+
47
+ ttk::combobox $t.rcb1 -width 30 -textvariable V -values $values -state readonly
48
+ ComboBox $t.rcb2 -width 30 -textvariable V -values $values -editable false
49
+ combobox::combobox $t.rcb3 -textvariable V -width 30 -listvar values -editable false
50
+
51
+ ttk::combobox $t.ecb1 -width 30 -textvariable V -values $values
52
+ ComboBox $t.ecb2 -width 30 -textvariable V -values $values -editable true ;#-autocomplete true
53
+ combobox::combobox $t.ecb3 -textvariable V -width 30 -listvar values -editable true
54
+
55
+ grid $t.rcb1 $t.rcb2 $t.rcb3 -sticky news -pady 4 -padx 4 -row 2
56
+ grid $t.ecb1 $t.ecb2 $t.ecb3 -sticky news -pady 4 -padx 4 -row 3
57
+ grid columnconfigure $t 0 -uniform c -weight 1
58
+ grid columnconfigure $t 1 -uniform c -weight 1
59
+
60
+ # Active element monitor:
61
+ #
62
+ bind $t.rcb1 <Motion> { set ::element [%W identify %x %y] }
63
+ bind $t.ecb1 <Motion> { set ::element [%W identify %x %y] }
64
+
65
+ # Focus monitor:
66
+ #
67
+ proc focusMonitor {} { set ::focusWidget [focus] ; after 200 focusMonitor }
68
+ focusMonitor
69
+
70
+ # Grab monitor:
71
+ #
72
+ proc grabMonitor {} {
73
+ global grabWidget
74
+ set grabWidget [grab current]
75
+ if {$grabWidget ne ""} {
76
+ lappend grabWidget [grab status $grabWidget]
77
+ }
78
+ after 200 grabMonitor
79
+ }
80
+ grabMonitor
81
+
82
+
83
+ set mon [ttk::frame $t.mon]
84
+ ttk::label $mon.el -text "Element:" -anchor e
85
+ ttk::label $mon.e -textvariable ::element -anchor w
86
+ ttk::label $mon.fl -text "Focus:" -anchor e
87
+ ttk::label $mon.f -textvariable ::focusWidget -anchor w
88
+ ttk::label $mon.gl -text "Grab:" -anchor e
89
+ ttk::label $mon.g -textvariable ::grabWidget -anchor w
90
+ grid $mon.el $mon.e -row 0 -sticky news
91
+ grid $mon.fl $mon.f -row 1 -sticky news
92
+ grid $mon.gl $mon.g -row 2 -sticky news
93
+
94
+ grid columnconfigure $mon 1 -weight 1
95
+
96
+ grid $t.mon -row 0 -columnspan 2 -sticky nwe
97
+
98
+ grid rowconfigure $t 4 -weight 1
99
+ grid [ttk::frame $t.cmd] -row 5 -sticky nwes -columnspan 3
100
+ pack [ttk::button $t.cmd.close -text "Close" -command [list destroy .]] \
101
+ -side right -padx 4 -pady 4
102
+
103
+ ###
104
+
105
+ pack $t -expand true -fill both
106
+ focus $t.ecb1
107
+
108
+ if {[tk windowingsystem] eq "aqua"} { set Meta Command } { set Meta Alt }
109
+
110
+ bind all <$Meta-Key-d> { %W configure -state disabled } ;# "&disable"
111
+ bind all <$Meta-Key-e> { %W configure -state normal } ;# "&enable"
112
+ bind all <$Meta-Key-w> { %W configure -state readonly } ;# "&write-protect"
113
+
114
+ bind all <$Meta-Key-q> { destroy . }
115
+ bind all <$Meta-Key-b> { error "BGerror - testing" }
116
+
117
+ bind all <Control-ButtonPress-1> { focus -force %W }
118
+
119
+ bind all <FocusIn> { puts "+F: %W" }
120
+ bind all <FocusOut> { puts "-f: %W" }
121
+ bind all <ButtonPress> { puts "+B: %W" }
122
+ bind all <ButtonRelease> { puts "-b: %W" }
123
+ bind all <KeyPress-m> { puts "---- mark ----" }
124
+
125
+ # In case of a stuck grab: <Control-Button-1> to set focus; <Alt-q> to quit
@@ -0,0 +1,51 @@
1
+ #
2
+ # Tile package: combobox widget tests
3
+ #
4
+
5
+ package require Tk
6
+ package require tcltest ; namespace import -force tcltest::*
7
+ loadTestedCommands
8
+
9
+ lappend auto_path .
10
+ package require tile
11
+
12
+ test combobox-1.0 "Combobox tests -- setup" -body {
13
+ ttk::combobox .cb
14
+ } -result .cb
15
+
16
+ test combobox-1.1 "Bad -values list" -body {
17
+ .cb configure -values "bad \{list"
18
+ } -result "unmatched open brace in list" -returnCodes 1
19
+
20
+ test combobox-1.end "Combobox tests -- cleanup" -body {
21
+ destroy .cb
22
+ }
23
+
24
+ test combobox-2.0 "current command" -body {
25
+ ttk::combobox .cb -values [list a b c d e a]
26
+ .cb current
27
+ } -result -1
28
+
29
+ test combobox-2.1 "current -- set index" -body {
30
+ .cb current 5
31
+ .cb get
32
+ } -result a
33
+
34
+ test combobox-2.2 "current -- change -values" -body {
35
+ .cb configure -values [list c b a d e]
36
+ .cb current
37
+ } -result 2
38
+
39
+ test combobox-2.3 "current -- change value" -body {
40
+ .cb set "b"
41
+ .cb current
42
+ } -result 1
43
+
44
+ test combobox-2.4 "current -- value not in list" -body {
45
+ .cb set "z"
46
+ .cb current
47
+ } -result -1
48
+
49
+ test combobox-end "Cleanup" -body { destroy .cb }
50
+
51
+ tcltest::cleanupTests
@@ -0,0 +1,92 @@
1
+ #
2
+ # Interactive test for -compound option.
3
+ #
4
+
5
+ lappend auto_path .
6
+ package require tile
7
+
8
+ source [file join [file dirname [info script]] testutils.tcl]
9
+
10
+ # Load icons...
11
+ source [file join [file dirname [info script]] ../demos/iconlib.tcl]
12
+ set icons {new open error}
13
+ foreach icon $icons {
14
+ set Icon($icon) [image create photo -data $ImgData($icon)]
15
+ }
16
+
17
+ ttk::label .tb -image $Icon(new) -text text -compound left -padding 0
18
+ label .b -image $Icon(new) -text text -compound left -padx 0 -pady 0
19
+
20
+ variable compoundStrings {text image center top bottom left right none}
21
+
22
+ set c [ttk::labelframe .cctl -text "Compound"]
23
+ foreach string $compoundStrings {
24
+ pack [ttk::radiobutton $c.$string -text [string totitle $string] \
25
+ -variable compound -value $string -command setCompound] \
26
+ -side top -expand false -fill x ;
27
+ }
28
+
29
+ set c [ttk::labelframe .ictl -text "Icon"]
30
+ set ::Icon(none) ""
31
+ pack [ttk::radiobutton $c.inone -text "None" \
32
+ -variable icon -value $string -command setIcon] \
33
+ -side top -expand false -fill x;
34
+ foreach string $icons {
35
+ pack [ttk::radiobutton $c.i$string -text $string \
36
+ -variable icon -value $string -command setIcon] \
37
+ -side top -expand false -fill x;
38
+ }
39
+
40
+ variable anchorStrings {n ne e se s sw w nw center}
41
+ set c [ttk::labelframe .actl -text "Anchor"]
42
+ foreach string $anchorStrings {
43
+ pack [ttk::radiobutton $c.$string -text $string \
44
+ -variable anchor -value $string -command setAnchor] \
45
+ -side top -expand false -fill x ;
46
+ }
47
+
48
+ variable reliefStrings {flat groove raised ridge solid sunken}
49
+ set c [ttk::labelframe .rctl -text "Relief"]
50
+ foreach string $reliefStrings {
51
+ pack [ttk::radiobutton $c.$string -text $string \
52
+ -variable relief -value $string -command setRelief] \
53
+ -side top -expand false -fill x ;
54
+ }
55
+
56
+ set width 0
57
+ spinbox .wctl -textvariable width -command setWidth \
58
+ -from -15 -to 15 -increment 1
59
+
60
+ pack .cctl -side left -expand false -fill none -anchor n
61
+ pack .ictl -side left -expand false -fill none -anchor n
62
+ pack .actl -side left -expand false -fill none -anchor n
63
+ pack .rctl -side left -expand false -fill none -anchor n
64
+ pack .wctl -side left -expand false -fill none -anchor n
65
+ pack .tb .b -side top -expand true -fill both
66
+
67
+ proc setCompound {} {
68
+ .tb configure -compound $::compound
69
+ catch { .b configure -compound $::compound }
70
+ }
71
+
72
+ proc setAnchor {} {
73
+ .tb configure -anchor $::anchor
74
+ .b configure -anchor $::anchor
75
+ }
76
+
77
+ proc setRelief {} {
78
+ .tb configure -relief $::relief
79
+ .b configure -relief $::relief
80
+ }
81
+
82
+ proc setIcon {} {
83
+ global Icon icon
84
+ .tb configure -image $Icon($icon)
85
+ .b configure -image $Icon($icon)
86
+ }
87
+
88
+ proc setWidth {} {
89
+ .tb configure -width $::width
90
+ .b configure -width $::width
91
+ }
92
+