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,139 @@
1
+ #
2
+ # clamTheme.tcl,v 1.31 2007/11/18 18:09:26 jenglish Exp
3
+ #
4
+ # "Clam" theme.
5
+ #
6
+ # Inspired by the XFCE family of Gnome themes.
7
+ #
8
+
9
+ namespace eval ttk::theme::clam {
10
+ variable colors
11
+ array set colors {
12
+ -disabledfg "#999999"
13
+ -frame "#dcdad5"
14
+ -window "#ffffff"
15
+ -dark "#cfcdc8"
16
+ -darker "#bab5ab"
17
+ -darkest "#9e9a91"
18
+ -lighter "#eeebe7"
19
+ -lightest "#ffffff"
20
+ -selectbg "#4a6984"
21
+ -selectfg "#ffffff"
22
+ }
23
+
24
+ ttk::style theme settings clam {
25
+
26
+ ttk::style configure "." \
27
+ -background $colors(-frame) \
28
+ -foreground black \
29
+ -bordercolor $colors(-darkest) \
30
+ -darkcolor $colors(-dark) \
31
+ -lightcolor $colors(-lighter) \
32
+ -troughcolor $colors(-darker) \
33
+ -selectbackground $colors(-selectbg) \
34
+ -selectforeground $colors(-selectfg) \
35
+ -selectborderwidth 0 \
36
+ -font TkDefaultFont \
37
+ ;
38
+
39
+ ttk::style map "." \
40
+ -background [list disabled $colors(-frame) \
41
+ active $colors(-lighter)] \
42
+ -foreground [list disabled $colors(-disabledfg)] \
43
+ -selectbackground [list !focus $colors(-darkest)] \
44
+ -selectforeground [list !focus white] \
45
+ ;
46
+ # -selectbackground [list !focus "#847d73"]
47
+
48
+ ttk::style configure TButton \
49
+ -anchor center -width -11 -padding 5 -relief raised
50
+ ttk::style map TButton \
51
+ -background [list \
52
+ disabled $colors(-frame) \
53
+ pressed $colors(-darker) \
54
+ active $colors(-lighter)] \
55
+ -lightcolor [list pressed $colors(-darker)] \
56
+ -darkcolor [list pressed $colors(-darker)] \
57
+ -bordercolor [list alternate "#000000"] \
58
+ ;
59
+
60
+ ttk::style configure Toolbutton \
61
+ -anchor center -padding 2 -relief flat
62
+ ttk::style map Toolbutton \
63
+ -relief [list \
64
+ disabled flat \
65
+ selected sunken \
66
+ pressed sunken \
67
+ active raised] \
68
+ -background [list \
69
+ disabled $colors(-frame) \
70
+ pressed $colors(-darker) \
71
+ active $colors(-lighter)] \
72
+ -lightcolor [list pressed $colors(-darker)] \
73
+ -darkcolor [list pressed $colors(-darker)] \
74
+ ;
75
+
76
+ ttk::style configure TCheckbutton \
77
+ -indicatorbackground "#ffffff" \
78
+ -indicatormargin {1 1 4 1} \
79
+ -padding 2 ;
80
+ ttk::style configure TRadiobutton \
81
+ -indicatorbackground "#ffffff" \
82
+ -indicatormargin {1 1 4 1} \
83
+ -padding 2 ;
84
+ ttk::style map TCheckbutton -indicatorbackground \
85
+ [list disabled $colors(-frame) pressed $colors(-frame)]
86
+ ttk::style map TRadiobutton -indicatorbackground \
87
+ [list disabled $colors(-frame) pressed $colors(-frame)]
88
+
89
+ ttk::style configure TMenubutton \
90
+ -width -11 -padding 5 -relief raised
91
+
92
+ ttk::style configure TEntry -padding 1 -insertwidth 1
93
+ ttk::style map TEntry \
94
+ -background [list readonly $colors(-frame)] \
95
+ -bordercolor [list focus $colors(-selectbg)] \
96
+ -lightcolor [list focus "#6f9dc6"] \
97
+ -darkcolor [list focus "#6f9dc6"] \
98
+ ;
99
+
100
+ ttk::style configure TCombobox -padding 1 -insertwidth 1
101
+ ttk::style map TCombobox \
102
+ -background [list active $colors(-lighter) \
103
+ pressed $colors(-lighter)] \
104
+ -fieldbackground [list {readonly focus} $colors(-selectbg) \
105
+ readonly $colors(-frame)] \
106
+ -foreground [list {readonly focus} $colors(-selectfg)] \
107
+ ;
108
+
109
+ ttk::style configure TNotebook.Tab -padding {6 2 6 2}
110
+ ttk::style map TNotebook.Tab \
111
+ -padding [list selected {6 4 6 2}] \
112
+ -background [list selected $colors(-frame) {} $colors(-darker)] \
113
+ -lightcolor [list selected $colors(-lighter) {} $colors(-dark)] \
114
+ ;
115
+
116
+ # Treeview:
117
+ ttk::style configure Heading \
118
+ -font TkHeadingFont -relief raised -padding {3}
119
+ ttk::style configure Row -background $colors(-window)
120
+ ttk::style configure Cell -background $colors(-window)
121
+ ttk::style map Row \
122
+ -background [list selected $colors(-selectbg)] \
123
+ -foreground [list selected $colors(-selectfg)] ;
124
+ ttk::style map Cell \
125
+ -background [list selected $colors(-selectbg)] \
126
+ -foreground [list selected $colors(-selectfg)] ;
127
+ ttk::style map Item \
128
+ -background [list selected $colors(-selectbg)] \
129
+ -foreground [list selected $colors(-selectfg)] ;
130
+
131
+ ttk::style configure TLabelframe \
132
+ -labeloutside true -labelmargins {0 0 0 4} \
133
+ -borderwidth 2 -relief raised
134
+
135
+ ttk::style configure TProgressbar -background $colors(-frame)
136
+
137
+ ttk::style configure Sash -sashthickness 6 -gripcount 10
138
+ }
139
+ }
@@ -0,0 +1,108 @@
1
+ #
2
+ # classicTheme.tcl,v 1.19 2007/12/08 03:52:01 jenglish Exp
3
+ #
4
+ # "classic" Tk theme.
5
+ #
6
+ # Implements Tk's traditional Motif-like look and feel.
7
+ #
8
+
9
+ namespace eval ttk::theme::classic {
10
+
11
+ variable colors; array set colors {
12
+ -frame "#d9d9d9"
13
+ -window "#ffffff"
14
+ -activebg "#ececec"
15
+ -troughbg "#c3c3c3"
16
+ -selectbg "#c3c3c3"
17
+ -selectfg "#000000"
18
+ -disabledfg "#a3a3a3"
19
+ -indicator "#b03060"
20
+ }
21
+
22
+ ttk::style theme settings classic {
23
+ ttk::style configure "." \
24
+ -font TkDefaultFont \
25
+ -background $colors(-frame) \
26
+ -foreground black \
27
+ -selectbackground $colors(-selectbg) \
28
+ -selectforeground $colors(-selectfg) \
29
+ -troughcolor $colors(-troughbg) \
30
+ -indicatorcolor $colors(-frame) \
31
+ -highlightcolor $colors(-frame) \
32
+ -highlightthickness 1 \
33
+ -selectborderwidth 1 \
34
+ -insertwidth 2 \
35
+ ;
36
+
37
+ # To match pre-Xft X11 appearance, use:
38
+ # ttk::style configure . -font {Helvetica 12 bold}
39
+
40
+ ttk::style map "." -background \
41
+ [list disabled $colors(-frame) active $colors(-activebg)]
42
+ ttk::style map "." -foreground \
43
+ [list disabled $colors(-disabledfg)]
44
+
45
+ ttk::style map "." -highlightcolor [list focus black]
46
+
47
+ ttk::style configure TButton \
48
+ -anchor center -padding "3m 1m" -relief raised -shiftrelief 1
49
+ ttk::style map TButton -relief [list {!disabled pressed} sunken]
50
+
51
+ ttk::style configure TCheckbutton -indicatorrelief raised
52
+ ttk::style map TCheckbutton \
53
+ -indicatorcolor [list \
54
+ pressed $colors(-frame) selected $colors(-indicator)] \
55
+ -indicatorrelief {selected sunken pressed sunken} \
56
+ ;
57
+
58
+ ttk::style configure TRadiobutton -indicatorrelief raised
59
+ ttk::style map TRadiobutton \
60
+ -indicatorcolor [list \
61
+ pressed $colors(-frame) selected $colors(-indicator)] \
62
+ -indicatorrelief {selected sunken pressed sunken} \
63
+ ;
64
+
65
+ ttk::style configure TMenubutton -relief raised -padding "3m 1m"
66
+
67
+ ttk::style configure TEntry -relief sunken -padding 1 -font TkTextFont
68
+ ttk::style map TEntry -fieldbackground \
69
+ [list readonly $colors(-frame) disabled $colors(-frame)]
70
+ ttk::style configure TCombobox -padding 1
71
+ ttk::style map TCombobox -fieldbackground \
72
+ [list readonly $colors(-frame) disabled $colors(-frame)]
73
+
74
+ ttk::style configure TLabelframe -borderwidth 2 -relief groove
75
+
76
+ ttk::style configure TScrollbar -relief raised
77
+ ttk::style map TScrollbar -relief {{pressed !disabled} sunken}
78
+
79
+ ttk::style configure TScale -sliderrelief raised
80
+ ttk::style map TScale -sliderrelief {{pressed !disabled} sunken}
81
+
82
+ ttk::style configure TProgressbar -background SteelBlue
83
+ ttk::style configure TNotebook.Tab \
84
+ -padding {3m 1m} \
85
+ -background $colors(-troughbg)
86
+ ttk::style map TNotebook.Tab -background [list selected $colors(-frame)]
87
+
88
+ # Treeview:
89
+ ttk::style configure Heading -font TkHeadingFont -relief raised
90
+ ttk::style configure Row -background $colors(-window)
91
+ ttk::style configure Cell -background $colors(-window)
92
+ ttk::style map Row \
93
+ -background [list selected $colors(-selectbg)] \
94
+ -foreground [list selected $colors(-selectfg)] ;
95
+ ttk::style map Cell \
96
+ -background [list selected $colors(-selectbg)] \
97
+ -foreground [list selected $colors(-selectfg)] ;
98
+
99
+ #
100
+ # Toolbar buttons:
101
+ #
102
+ ttk::style configure Toolbutton -padding 2 -relief flat -shiftrelief 2
103
+ ttk::style map Toolbutton -relief \
104
+ {disabled flat selected sunken pressed sunken active raised}
105
+ ttk::style map Toolbutton -background \
106
+ [list pressed $colors(-troughbg) active $colors(-activebg)]
107
+ }
108
+ }
@@ -0,0 +1,439 @@
1
+ #
2
+ # combobox.tcl,v 1.47 2007/11/06 02:14:20 jenglish Exp
3
+ #
4
+ # Combobox bindings.
5
+ #
6
+ # Each combobox $cb has a child $cb.popdown, which contains
7
+ # a listbox $cb.popdown.l and a scrollbar. The listbox -listvariable
8
+ # is set to a namespace variable, which is used to synchronize the
9
+ # combobox values with the listbox values.
10
+ #
11
+ # <<NOTE-WM-TRANSIENT>>:
12
+ #
13
+ # Need to set [wm transient] just before mapping the popdown
14
+ # instead of when it's created, in case a containing frame
15
+ # has been reparented [#1818441].
16
+ #
17
+ # On Windows: setting [wm transient] prevents the parent
18
+ # toplevel from becoming inactive when the popdown is posted
19
+ # (Tk 8.4.8+)
20
+ #
21
+ # On X11: WM_TRANSIENT_FOR on override-redirect windows
22
+ # may be used by compositing managers and by EWMH-aware
23
+ # window managers (even though the older ICCCM spec says
24
+ # it's meaningless).
25
+ #
26
+ # On OSX: [wm transient] does utterly the wrong thing.
27
+ # Instead, we use [MacWindowStyle "help" "noActivates hideOnSuspend"].
28
+ # The "noActivates" attribute prevents the parent toplevel
29
+ # from deactivating when the popdown is posted, and is also
30
+ # necessary for "help" windows to receive mouse events.
31
+ # "hideOnSuspend" makes the popdown disappear (resp. reappear)
32
+ # when the parent toplevel is deactivated (resp. reactivated).
33
+ # (see [#1814778]). Also set [wm resizable 0 0], to prevent
34
+ # TkAqua from shrinking the scrollbar to make room for a grow box
35
+ # that isn't there.
36
+ #
37
+ # In order to work around other platform quirks in TkAqua,
38
+ # [grab] and [focus] are set in <Map> bindings instead of
39
+ # immediately after deiconifying the window.
40
+ #
41
+
42
+ namespace eval ttk::combobox {
43
+ variable Values ;# Values($cb) is -listvariable of listbox widget
44
+ variable State
45
+ set State(entryPress) 0
46
+ }
47
+
48
+ ### Combobox bindings.
49
+ #
50
+ # Duplicate the Entry bindings, override if needed:
51
+ #
52
+
53
+ ttk::copyBindings TEntry TCombobox
54
+
55
+ bind TCombobox <KeyPress-Down> { ttk::combobox::Post %W }
56
+ bind TCombobox <KeyPress-Escape> { ttk::combobox::Unpost %W }
57
+
58
+ bind TCombobox <ButtonPress-1> { ttk::combobox::Press "" %W %x %y }
59
+ bind TCombobox <Shift-ButtonPress-1> { ttk::combobox::Press "s" %W %x %y }
60
+ bind TCombobox <Double-ButtonPress-1> { ttk::combobox::Press "2" %W %x %y }
61
+ bind TCombobox <Triple-ButtonPress-1> { ttk::combobox::Press "3" %W %x %y }
62
+ bind TCombobox <B1-Motion> { ttk::combobox::Drag %W %x }
63
+
64
+ bind TCombobox <MouseWheel> { ttk::combobox::Scroll %W [expr {%D/-120}] }
65
+ if {[tk windowingsystem] eq "x11"} {
66
+ bind TCombobox <ButtonPress-4> { ttk::combobox::Scroll %W -1 }
67
+ bind TCombobox <ButtonPress-5> { ttk::combobox::Scroll %W 1 }
68
+ }
69
+
70
+ bind TCombobox <<TraverseIn>> { ttk::combobox::TraverseIn %W }
71
+
72
+ ### Combobox listbox bindings.
73
+ #
74
+ bind ComboboxListbox <ButtonRelease-1> { ttk::combobox::LBSelected %W }
75
+ bind ComboboxListbox <KeyPress-Return> { ttk::combobox::LBSelected %W }
76
+ bind ComboboxListbox <KeyPress-Escape> { ttk::combobox::LBCancel %W }
77
+ bind ComboboxListbox <KeyPress-Tab> { ttk::combobox::LBTab %W next }
78
+ bind ComboboxListbox <<PrevWindow>> { ttk::combobox::LBTab %W prev }
79
+ bind ComboboxListbox <Destroy> { ttk::combobox::LBCleanup %W }
80
+ bind ComboboxListbox <Motion> { ttk::combobox::LBHover %W %x %y }
81
+ bind ComboboxListbox <Map> { focus -force %W }
82
+
83
+ switch -- [tk windowingsystem] {
84
+ win32 {
85
+ # Dismiss listbox when user switches to a different application.
86
+ # NB: *only* do this on Windows (see #1814778)
87
+ bind ComboboxListbox <FocusOut> { ttk::combobox::LBCancel %W }
88
+ }
89
+ }
90
+
91
+ ### Combobox popdown window bindings.
92
+ #
93
+ bind ComboboxPopdown <Map> { ttk::combobox::MapPopdown %W }
94
+ bind ComboboxPopdown <Unmap> { ttk::combobox::UnmapPopdown %W }
95
+ bind ComboboxPopdown <ButtonPress> \
96
+ { ttk::combobox::Unpost [winfo parent %W] }
97
+
98
+ ### Option database settings.
99
+ #
100
+
101
+ option add *TCombobox*Listbox.font TkTextFont
102
+ option add *TCombobox*Listbox.relief flat
103
+ option add *TCombobox*Listbox.highlightThickness 0
104
+
105
+ ## Platform-specific settings.
106
+ #
107
+ switch -- [tk windowingsystem] {
108
+ x11 {
109
+ option add *TCombobox*Listbox.background white
110
+ }
111
+ aqua {
112
+ option add *TCombobox*Listbox.borderWidth 0
113
+ }
114
+ }
115
+
116
+ ### Binding procedures.
117
+ #
118
+
119
+ ## Press $mode $x $y -- ButtonPress binding for comboboxes.
120
+ # Either post/unpost the listbox, or perform Entry widget binding,
121
+ # depending on widget state and location of button press.
122
+ #
123
+ proc ttk::combobox::Press {mode w x y} {
124
+ variable State
125
+ set State(entryPress) [expr {
126
+ [$w instate {!readonly !disabled}]
127
+ && [string match *textarea [$w identify $x $y]]
128
+ }]
129
+
130
+ focus $w
131
+ if {$State(entryPress)} {
132
+ switch -- $mode {
133
+ s { ttk::entry::Shift-Press $w $x ; # Shift }
134
+ 2 { ttk::entry::Select $w $x word ; # Double click}
135
+ 3 { ttk::entry::Select $w $x line ; # Triple click }
136
+ "" -
137
+ default { ttk::entry::Press $w $x }
138
+ }
139
+ } else {
140
+ Post $w
141
+ }
142
+ }
143
+
144
+ ## Drag -- B1-Motion binding for comboboxes.
145
+ # If the initial ButtonPress event was handled by Entry binding,
146
+ # perform Entry widget drag binding; otherwise nothing.
147
+ #
148
+ proc ttk::combobox::Drag {w x} {
149
+ variable State
150
+ if {$State(entryPress)} {
151
+ ttk::entry::Drag $w $x
152
+ }
153
+ }
154
+
155
+ ## TraverseIn -- receive focus due to keyboard navigation
156
+ # For editable comboboxes, set the selection and insert cursor.
157
+ #
158
+ proc ttk::combobox::TraverseIn {w} {
159
+ $w instate {!readonly !disabled} {
160
+ $w selection range 0 end
161
+ $w icursor end
162
+ }
163
+ }
164
+
165
+ ## SelectEntry $cb $index --
166
+ # Set the combobox selection in response to a user action.
167
+ #
168
+ proc ttk::combobox::SelectEntry {cb index} {
169
+ $cb current $index
170
+ $cb selection range 0 end
171
+ $cb icursor end
172
+ event generate $cb <<ComboboxSelected>>
173
+ }
174
+
175
+ ## Scroll -- Mousewheel binding
176
+ #
177
+ proc ttk::combobox::Scroll {cb dir} {
178
+ $cb instate disabled { return }
179
+ set max [llength [$cb cget -values]]
180
+ set current [$cb current]
181
+ incr current $dir
182
+ if {$max != 0 && $current == $current % $max} {
183
+ SelectEntry $cb $current
184
+ }
185
+ }
186
+
187
+ ## LBSelected $lb -- Activation binding for listbox
188
+ # Set the combobox value to the currently-selected listbox value
189
+ # and unpost the listbox.
190
+ #
191
+ proc ttk::combobox::LBSelected {lb} {
192
+ set cb [LBMaster $lb]
193
+ LBSelect $lb
194
+ Unpost $cb
195
+ focus $cb
196
+ }
197
+
198
+ ## LBCancel --
199
+ # Unpost the listbox.
200
+ #
201
+ proc ttk::combobox::LBCancel {lb} {
202
+ Unpost [LBMaster $lb]
203
+ }
204
+
205
+ ## LBTab -- Tab key binding for combobox listbox.
206
+ # Set the selection, and navigate to next/prev widget.
207
+ #
208
+ proc ttk::combobox::LBTab {lb dir} {
209
+ set cb [LBMaster $lb]
210
+ switch -- $dir {
211
+ next { set newFocus [tk_focusNext $cb] }
212
+ prev { set newFocus [tk_focusPrev $cb] }
213
+ }
214
+
215
+ if {$newFocus ne ""} {
216
+ LBSelect $lb
217
+ Unpost $cb
218
+ # The [grab release] call in [Unpost] queues events that later
219
+ # re-set the focus. [update] to make sure these get processed first:
220
+ update
221
+ ttk::traverseTo $newFocus
222
+ }
223
+ }
224
+
225
+ ## LBHover -- <Motion> binding for combobox listbox.
226
+ # Follow selection on mouseover.
227
+ #
228
+ proc ttk::combobox::LBHover {w x y} {
229
+ $w selection clear 0 end
230
+ $w activate @$x,$y
231
+ $w selection set @$x,$y
232
+ }
233
+
234
+ ## MapPopdown -- <Map> binding for ComboboxPopdown
235
+ #
236
+ proc ttk::combobox::MapPopdown {w} {
237
+ [winfo parent $w] state pressed
238
+ ttk::globalGrab $w
239
+ }
240
+
241
+ ## UnmapPopdown -- <Unmap> binding for ComboboxPopdown
242
+ #
243
+ proc ttk::combobox::UnmapPopdown {w} {
244
+ [winfo parent $w] state !pressed
245
+ ttk::releaseGrab $w
246
+ }
247
+
248
+ ###
249
+ #
250
+
251
+ namespace eval ::ttk::combobox {
252
+ # @@@ Until we have a proper native scrollbar on Aqua, use
253
+ # @@@ the regular Tk one. Use ttk::scrollbar on other platforms.
254
+ variable scrollbar ttk::scrollbar
255
+ if {[tk windowingsystem] eq "aqua"} {
256
+ set scrollbar ::scrollbar
257
+ }
258
+ }
259
+
260
+ ## PopdownWindow --
261
+ # Returns the popdown widget associated with a combobox,
262
+ # creating it if necessary.
263
+ #
264
+ proc ttk::combobox::PopdownWindow {cb} {
265
+ variable scrollbar
266
+
267
+ if {![winfo exists $cb.popdown]} {
268
+ set popdown [PopdownToplevel $cb.popdown]
269
+
270
+ $scrollbar $popdown.sb \
271
+ -orient vertical -command [list $popdown.l yview]
272
+ listbox $popdown.l \
273
+ -listvariable ttk::combobox::Values($cb) \
274
+ -yscrollcommand [list $popdown.sb set] \
275
+ -exportselection false \
276
+ -selectmode browse \
277
+ -activestyle none \
278
+ ;
279
+
280
+ bindtags $popdown.l \
281
+ [list $popdown.l ComboboxListbox Listbox $popdown all]
282
+
283
+ grid $popdown.l $popdown.sb -sticky news
284
+ grid columnconfigure $popdown 0 -weight 1
285
+ grid rowconfigure $popdown 0 -weight 1
286
+ }
287
+ return $cb.popdown
288
+ }
289
+
290
+ ## PopdownToplevel -- Create toplevel window for the combobox popdown
291
+ #
292
+ # See also <<NOTE-WM-TRANSIENT>>
293
+ #
294
+ proc ttk::combobox::PopdownToplevel {w} {
295
+ toplevel $w -class ComboboxPopdown
296
+ wm withdraw $w
297
+ switch -- [tk windowingsystem] {
298
+ default -
299
+ x11 {
300
+ $w configure -relief solid -borderwidth 1
301
+ wm overrideredirect $w true
302
+ }
303
+ win32 {
304
+ $w configure -relief solid -borderwidth 1
305
+ wm overrideredirect $w true
306
+ }
307
+ aqua {
308
+ $w configure -relief solid -borderwidth 0
309
+ tk::unsupported::MacWindowStyle style $w \
310
+ help {noActivates hideOnSuspend}
311
+ wm resizable $w 0 0
312
+ }
313
+ }
314
+ return $w
315
+ }
316
+
317
+ ## ConfigureListbox --
318
+ # Set listbox values, selection, height, and scrollbar visibility
319
+ # from current combobox values.
320
+ #
321
+ proc ttk::combobox::ConfigureListbox {cb} {
322
+ variable Values
323
+
324
+ set popdown [PopdownWindow $cb]
325
+ set values [$cb cget -values]
326
+ set current [$cb current]
327
+ if {$current < 0} {
328
+ set current 0 ;# no current entry, highlight first one
329
+ }
330
+ set Values($cb) $values
331
+ $popdown.l selection clear 0 end
332
+ $popdown.l selection set $current
333
+ $popdown.l activate $current
334
+ $popdown.l see $current
335
+ set height [llength $values]
336
+ if {$height > [$cb cget -height]} {
337
+ set height [$cb cget -height]
338
+ grid $popdown.sb
339
+ } else {
340
+ grid remove $popdown.sb
341
+ }
342
+ $popdown.l configure -height $height
343
+ }
344
+
345
+ ## PlacePopdown --
346
+ # Set popdown window geometry.
347
+ #
348
+ # @@@TODO: factor with menubutton::PostPosition
349
+ #
350
+ proc ttk::combobox::PlacePopdown {cb popdown} {
351
+ set x [winfo rootx $cb]
352
+ set y [winfo rooty $cb]
353
+ set w [winfo width $cb]
354
+ set h [winfo height $cb]
355
+ set postoffset [ttk::style lookup TCombobox -postoffset {} {0 0 0 0}]
356
+ foreach var {x y w h} delta $postoffset {
357
+ incr $var $delta
358
+ }
359
+
360
+ set H [winfo reqheight $popdown]
361
+ if {$y + $h + $H > [winfo screenheight $popdown]} {
362
+ set Y [expr {$y - $H}]
363
+ } else {
364
+ set Y [expr {$y + $h}]
365
+ }
366
+ wm geometry $popdown ${w}x${H}+${x}+${Y}
367
+ }
368
+
369
+ ## Post $cb --
370
+ # Pop down the associated listbox.
371
+ #
372
+ proc ttk::combobox::Post {cb} {
373
+ # Don't do anything if disabled:
374
+ #
375
+ $cb instate disabled { return }
376
+
377
+ # ASSERT: ![$cb instate pressed]
378
+
379
+ # Run -postcommand callback:
380
+ #
381
+ uplevel #0 [$cb cget -postcommand]
382
+
383
+ set popdown [PopdownWindow $cb]
384
+ ConfigureListbox $cb
385
+ update idletasks
386
+ PlacePopdown $cb $popdown
387
+ # See <<NOTE-WM-TRANSIENT>>
388
+ switch -- [tk windowingsystem] {
389
+ x11 - win32 { wm transient $popdown [winfo toplevel $cb] }
390
+ }
391
+
392
+ # Post the listbox:
393
+ #
394
+ wm deiconify $popdown
395
+ raise $popdown
396
+ }
397
+
398
+ ## Unpost $cb --
399
+ # Unpost the listbox.
400
+ #
401
+ proc ttk::combobox::Unpost {cb} {
402
+ if {[winfo exists $cb.popdown]} {
403
+ wm withdraw $cb.popdown
404
+ }
405
+ grab release $cb.popdown ;# in case of stuck or unexpected grab [#1239190]
406
+ }
407
+
408
+ ## LBMaster $lb --
409
+ # Return the combobox main widget that owns the listbox.
410
+ #
411
+ proc ttk::combobox::LBMaster {lb} {
412
+ winfo parent [winfo parent $lb]
413
+ }
414
+
415
+ ## LBSelect $lb --
416
+ # Transfer listbox selection to combobox value.
417
+ #
418
+ proc ttk::combobox::LBSelect {lb} {
419
+ set cb [LBMaster $lb]
420
+ set selection [$lb curselection]
421
+ if {[llength $selection] == 1} {
422
+ SelectEntry $cb [lindex $selection 0]
423
+ }
424
+ }
425
+
426
+ ## LBCleanup $lb --
427
+ # <Destroy> binding for combobox listboxes.
428
+ # Cleans up by unsetting the linked textvariable.
429
+ #
430
+ # Note: we can't just use { unset [%W cget -listvariable] }
431
+ # because the widget command is already gone when this binding fires).
432
+ # [winfo parent] still works, fortunately.
433
+ #
434
+ proc ttk::combobox::LBCleanup {lb} {
435
+ variable Values
436
+ unset Values([LBMaster $lb])
437
+ }
438
+
439
+ #*EOF*