Pratt 1.5.6
Sign up to get free protection for your applications and to get access to all the features.
- data/.exrc +61 -0
- data/.gitignore +4 -0
- data/History.txt +6 -0
- data/Manifest.txt +46 -0
- data/Pratt.gemspec +351 -0
- data/README.txt +66 -0
- data/Rakefile +85 -0
- data/TODO +54 -0
- data/VERSION +1 -0
- data/bin/pratt.rb +13 -0
- data/config.rb +34 -0
- data/lib/pratt.rb +527 -0
- data/lib/pratt/array.rb +11 -0
- data/lib/pratt/string.rb +18 -0
- data/models/app.rb +40 -0
- data/models/customer.rb +24 -0
- data/models/payment.rb +22 -0
- data/models/pratt.rb +19 -0
- data/models/project.rb +82 -0
- data/models/whence.rb +70 -0
- data/pkgs/tile-0.8.2.tar.gz +0 -0
- data/pkgs/tile-0.8.2/ANNOUNCE.txt +95 -0
- data/pkgs/tile-0.8.2/ChangeLog +4651 -0
- data/pkgs/tile-0.8.2/Makefile +250 -0
- data/pkgs/tile-0.8.2/Makefile.in +250 -0
- data/pkgs/tile-0.8.2/README.txt +86 -0
- data/pkgs/tile-0.8.2/aclocal.m4 +2 -0
- data/pkgs/tile-0.8.2/altTheme.o +0 -0
- data/pkgs/tile-0.8.2/blink.o +0 -0
- data/pkgs/tile-0.8.2/button.o +0 -0
- data/pkgs/tile-0.8.2/cache.o +0 -0
- data/pkgs/tile-0.8.2/clamTheme.o +0 -0
- data/pkgs/tile-0.8.2/classicTheme.o +0 -0
- data/pkgs/tile-0.8.2/config.log +1330 -0
- data/pkgs/tile-0.8.2/config.status +795 -0
- data/pkgs/tile-0.8.2/configure +15248 -0
- data/pkgs/tile-0.8.2/configure.in +89 -0
- data/pkgs/tile-0.8.2/demos/autocomplete.tcl +59 -0
- data/pkgs/tile-0.8.2/demos/demo.tcl +870 -0
- data/pkgs/tile-0.8.2/demos/dirbrowser.tcl +167 -0
- data/pkgs/tile-0.8.2/demos/dlgtest.tcl +97 -0
- data/pkgs/tile-0.8.2/demos/iconlib.tcl +110 -0
- data/pkgs/tile-0.8.2/demos/repeater.tcl +117 -0
- data/pkgs/tile-0.8.2/demos/toolbutton.tcl +101 -0
- data/pkgs/tile-0.8.2/doc/Geometry.3 +230 -0
- data/pkgs/tile-0.8.2/doc/INDEX.MAP +153 -0
- data/pkgs/tile-0.8.2/doc/Makefile +36 -0
- data/pkgs/tile-0.8.2/doc/TILE.XML +45 -0
- data/pkgs/tile-0.8.2/doc/Theme.3 +34 -0
- data/pkgs/tile-0.8.2/doc/button.n +75 -0
- data/pkgs/tile-0.8.2/doc/checkbutton.n +61 -0
- data/pkgs/tile-0.8.2/doc/combobox.n +98 -0
- data/pkgs/tile-0.8.2/doc/converting.txt +97 -0
- data/pkgs/tile-0.8.2/doc/dialog.n +122 -0
- data/pkgs/tile-0.8.2/doc/entry.n +438 -0
- data/pkgs/tile-0.8.2/doc/frame.n +43 -0
- data/pkgs/tile-0.8.2/doc/html/Geometry.html +304 -0
- data/pkgs/tile-0.8.2/doc/html/Theme.html +48 -0
- data/pkgs/tile-0.8.2/doc/html/button.html +120 -0
- data/pkgs/tile-0.8.2/doc/html/category-index.html +18 -0
- data/pkgs/tile-0.8.2/doc/html/checkbutton.html +94 -0
- data/pkgs/tile-0.8.2/doc/html/combobox.html +164 -0
- data/pkgs/tile-0.8.2/doc/html/converting.txt +97 -0
- data/pkgs/tile-0.8.2/doc/html/dialog.html +159 -0
- data/pkgs/tile-0.8.2/doc/html/entry.html +613 -0
- data/pkgs/tile-0.8.2/doc/html/frame.html +76 -0
- data/pkgs/tile-0.8.2/doc/html/image.html +100 -0
- data/pkgs/tile-0.8.2/doc/html/index.html +25 -0
- data/pkgs/tile-0.8.2/doc/html/keyword-index.html +228 -0
- data/pkgs/tile-0.8.2/doc/html/label.html +133 -0
- data/pkgs/tile-0.8.2/doc/html/labelframe.html +91 -0
- data/pkgs/tile-0.8.2/doc/html/manpage.css +212 -0
- data/pkgs/tile-0.8.2/doc/html/menubutton.html +63 -0
- data/pkgs/tile-0.8.2/doc/html/notebook.html +280 -0
- data/pkgs/tile-0.8.2/doc/html/paned.html +149 -0
- data/pkgs/tile-0.8.2/doc/html/progressbar.html +138 -0
- data/pkgs/tile-0.8.2/doc/html/radiobutton.html +89 -0
- data/pkgs/tile-0.8.2/doc/html/scrollbar.html +221 -0
- data/pkgs/tile-0.8.2/doc/html/separator.html +48 -0
- data/pkgs/tile-0.8.2/doc/html/sizegrip.html +62 -0
- data/pkgs/tile-0.8.2/doc/html/style.html +172 -0
- data/pkgs/tile-0.8.2/doc/html/tile-intro.html +164 -0
- data/pkgs/tile-0.8.2/doc/html/treeview.html +634 -0
- data/pkgs/tile-0.8.2/doc/html/widget.html +342 -0
- data/pkgs/tile-0.8.2/doc/image.n +81 -0
- data/pkgs/tile-0.8.2/doc/internals.txt +409 -0
- data/pkgs/tile-0.8.2/doc/label.n +75 -0
- data/pkgs/tile-0.8.2/doc/labelframe.n +64 -0
- data/pkgs/tile-0.8.2/doc/man.macros +239 -0
- data/pkgs/tile-0.8.2/doc/menubutton.n +41 -0
- data/pkgs/tile-0.8.2/doc/notebook.n +188 -0
- data/pkgs/tile-0.8.2/doc/paned.n +95 -0
- data/pkgs/tile-0.8.2/doc/progressbar.n +79 -0
- data/pkgs/tile-0.8.2/doc/radiobutton.n +57 -0
- data/pkgs/tile-0.8.2/doc/scrollbar.n +160 -0
- data/pkgs/tile-0.8.2/doc/separator.n +30 -0
- data/pkgs/tile-0.8.2/doc/sizegrip.n +53 -0
- data/pkgs/tile-0.8.2/doc/style.n +119 -0
- data/pkgs/tile-0.8.2/doc/tile-intro.n +165 -0
- data/pkgs/tile-0.8.2/doc/tmml.options +4 -0
- data/pkgs/tile-0.8.2/doc/treeview.n +415 -0
- data/pkgs/tile-0.8.2/doc/widget.n +227 -0
- data/pkgs/tile-0.8.2/doc/xml/Geometry.tmml +379 -0
- data/pkgs/tile-0.8.2/doc/xml/INDEX.MAP +153 -0
- data/pkgs/tile-0.8.2/doc/xml/Theme.tmml +63 -0
- data/pkgs/tile-0.8.2/doc/xml/button.tmml +134 -0
- data/pkgs/tile-0.8.2/doc/xml/checkbutton.tmml +119 -0
- data/pkgs/tile-0.8.2/doc/xml/combobox.tmml +184 -0
- data/pkgs/tile-0.8.2/doc/xml/dialog.tmml +195 -0
- data/pkgs/tile-0.8.2/doc/xml/entry.tmml +630 -0
- data/pkgs/tile-0.8.2/doc/xml/frame.tmml +98 -0
- data/pkgs/tile-0.8.2/doc/xml/image.tmml +101 -0
- data/pkgs/tile-0.8.2/doc/xml/label.tmml +154 -0
- data/pkgs/tile-0.8.2/doc/xml/labelframe.tmml +116 -0
- data/pkgs/tile-0.8.2/doc/xml/menubutton.tmml +80 -0
- data/pkgs/tile-0.8.2/doc/xml/notebook.tmml +306 -0
- data/pkgs/tile-0.8.2/doc/xml/paned.tmml +154 -0
- data/pkgs/tile-0.8.2/doc/xml/progressbar.tmml +151 -0
- data/pkgs/tile-0.8.2/doc/xml/radiobutton.tmml +109 -0
- data/pkgs/tile-0.8.2/doc/xml/scrollbar.tmml +233 -0
- data/pkgs/tile-0.8.2/doc/xml/separator.tmml +59 -0
- data/pkgs/tile-0.8.2/doc/xml/sizegrip.tmml +82 -0
- data/pkgs/tile-0.8.2/doc/xml/style.tmml +171 -0
- data/pkgs/tile-0.8.2/doc/xml/tile-intro.tmml +192 -0
- data/pkgs/tile-0.8.2/doc/xml/treeview.tmml +604 -0
- data/pkgs/tile-0.8.2/doc/xml/widget.tmml +372 -0
- data/pkgs/tile-0.8.2/entry.o +0 -0
- data/pkgs/tile-0.8.2/frame.o +0 -0
- data/pkgs/tile-0.8.2/generic/Makefile.in +221 -0
- data/pkgs/tile-0.8.2/generic/TODO +493 -0
- data/pkgs/tile-0.8.2/generic/altTheme.c +1172 -0
- data/pkgs/tile-0.8.2/generic/blink.c +168 -0
- data/pkgs/tile-0.8.2/generic/button.c +858 -0
- data/pkgs/tile-0.8.2/generic/cache.c +354 -0
- data/pkgs/tile-0.8.2/generic/clamTheme.c +974 -0
- data/pkgs/tile-0.8.2/generic/classicTheme.c +518 -0
- data/pkgs/tile-0.8.2/generic/configure +10334 -0
- data/pkgs/tile-0.8.2/generic/configure.in +100 -0
- data/pkgs/tile-0.8.2/generic/entry.c +1922 -0
- data/pkgs/tile-0.8.2/generic/frame.c +648 -0
- data/pkgs/tile-0.8.2/generic/gunk.h +44 -0
- data/pkgs/tile-0.8.2/generic/image.c +416 -0
- data/pkgs/tile-0.8.2/generic/label.c +663 -0
- data/pkgs/tile-0.8.2/generic/layout.c +1215 -0
- data/pkgs/tile-0.8.2/generic/manager.c +554 -0
- data/pkgs/tile-0.8.2/generic/manager.h +91 -0
- data/pkgs/tile-0.8.2/generic/notebook.c +1380 -0
- data/pkgs/tile-0.8.2/generic/paned.c +958 -0
- data/pkgs/tile-0.8.2/generic/pkgIndex.tcl.in +7 -0
- data/pkgs/tile-0.8.2/generic/progress.c +549 -0
- data/pkgs/tile-0.8.2/generic/scale.c +526 -0
- data/pkgs/tile-0.8.2/generic/scroll.c +253 -0
- data/pkgs/tile-0.8.2/generic/scrollbar.c +346 -0
- data/pkgs/tile-0.8.2/generic/separator.c +132 -0
- data/pkgs/tile-0.8.2/generic/square.c +306 -0
- data/pkgs/tile-0.8.2/generic/tagset.c +147 -0
- data/pkgs/tile-0.8.2/generic/tile.c +296 -0
- data/pkgs/tile-0.8.2/generic/tkElements.c +1280 -0
- data/pkgs/tile-0.8.2/generic/tkTheme.c +1708 -0
- data/pkgs/tile-0.8.2/generic/tkTheme.h +419 -0
- data/pkgs/tile-0.8.2/generic/tkThemeInt.h +45 -0
- data/pkgs/tile-0.8.2/generic/tkstate.c +268 -0
- data/pkgs/tile-0.8.2/generic/trace.c +145 -0
- data/pkgs/tile-0.8.2/generic/track.c +174 -0
- data/pkgs/tile-0.8.2/generic/treeview.c +3211 -0
- data/pkgs/tile-0.8.2/generic/ttk.decls +154 -0
- data/pkgs/tile-0.8.2/generic/ttkDecls.h +340 -0
- data/pkgs/tile-0.8.2/generic/ttkStubInit.c +61 -0
- data/pkgs/tile-0.8.2/generic/ttkStubLib.c +70 -0
- data/pkgs/tile-0.8.2/generic/widget.c +785 -0
- data/pkgs/tile-0.8.2/generic/widget.h +263 -0
- data/pkgs/tile-0.8.2/image.o +0 -0
- data/pkgs/tile-0.8.2/label.o +0 -0
- data/pkgs/tile-0.8.2/layout.o +0 -0
- data/pkgs/tile-0.8.2/library/altTheme.tcl +101 -0
- data/pkgs/tile-0.8.2/library/aquaTheme.tcl +62 -0
- data/pkgs/tile-0.8.2/library/button.tcl +85 -0
- data/pkgs/tile-0.8.2/library/clamTheme.tcl +139 -0
- data/pkgs/tile-0.8.2/library/classicTheme.tcl +108 -0
- data/pkgs/tile-0.8.2/library/combobox.tcl +439 -0
- data/pkgs/tile-0.8.2/library/cursors.tcl +36 -0
- data/pkgs/tile-0.8.2/library/defaults.tcl +118 -0
- data/pkgs/tile-0.8.2/library/dialog.tcl +274 -0
- data/pkgs/tile-0.8.2/library/entry.tcl +580 -0
- data/pkgs/tile-0.8.2/library/fonts.tcl +153 -0
- data/pkgs/tile-0.8.2/library/icons.tcl +105 -0
- data/pkgs/tile-0.8.2/library/keynav.tcl +192 -0
- data/pkgs/tile-0.8.2/library/menubutton.tcl +171 -0
- data/pkgs/tile-0.8.2/library/notebook.tcl +193 -0
- data/pkgs/tile-0.8.2/library/paned.tcl +87 -0
- data/pkgs/tile-0.8.2/library/progress.tcl +51 -0
- data/pkgs/tile-0.8.2/library/scale.tcl +54 -0
- data/pkgs/tile-0.8.2/library/scrollbar.tcl +125 -0
- data/pkgs/tile-0.8.2/library/sizegrip.tcl +77 -0
- data/pkgs/tile-0.8.2/library/tile.tcl +211 -0
- data/pkgs/tile-0.8.2/library/treeview.tcl +382 -0
- data/pkgs/tile-0.8.2/library/utils.tcl +254 -0
- data/pkgs/tile-0.8.2/library/winTheme.tcl +77 -0
- data/pkgs/tile-0.8.2/library/xpTheme.tcl +63 -0
- data/pkgs/tile-0.8.2/libtile0.8.2.so +0 -0
- data/pkgs/tile-0.8.2/libttkstub.a +0 -0
- data/pkgs/tile-0.8.2/license.terms +24 -0
- data/pkgs/tile-0.8.2/macosx/aquaTheme.c +1076 -0
- data/pkgs/tile-0.8.2/manager.o +0 -0
- data/pkgs/tile-0.8.2/notebook.o +0 -0
- data/pkgs/tile-0.8.2/paned.o +0 -0
- data/pkgs/tile-0.8.2/pkgIndex.tcl +3 -0
- data/pkgs/tile-0.8.2/progress.o +0 -0
- data/pkgs/tile-0.8.2/scale.o +0 -0
- data/pkgs/tile-0.8.2/scroll.o +0 -0
- data/pkgs/tile-0.8.2/scrollbar.o +0 -0
- data/pkgs/tile-0.8.2/separator.o +0 -0
- data/pkgs/tile-0.8.2/tagset.o +0 -0
- data/pkgs/tile-0.8.2/tclconfig/install-sh +119 -0
- data/pkgs/tile-0.8.2/tclconfig/tcl.m4 +4069 -0
- data/pkgs/tile-0.8.2/tclconfig/teax.m4 +109 -0
- data/pkgs/tile-0.8.2/tests/all.tcl +18 -0
- data/pkgs/tile-0.8.2/tests/bwidget.test +103 -0
- data/pkgs/tile-0.8.2/tests/cbtest.tcl +125 -0
- data/pkgs/tile-0.8.2/tests/combobox.test +51 -0
- data/pkgs/tile-0.8.2/tests/compound.tcl +92 -0
- data/pkgs/tile-0.8.2/tests/entry.test +285 -0
- data/pkgs/tile-0.8.2/tests/entrytest.tcl +78 -0
- data/pkgs/tile-0.8.2/tests/image.test +94 -0
- data/pkgs/tile-0.8.2/tests/labelframe.tcl +41 -0
- data/pkgs/tile-0.8.2/tests/labelframe.test +137 -0
- data/pkgs/tile-0.8.2/tests/layout.test +33 -0
- data/pkgs/tile-0.8.2/tests/misc.test +35 -0
- data/pkgs/tile-0.8.2/tests/nbtest.tcl +66 -0
- data/pkgs/tile-0.8.2/tests/notebook.test +500 -0
- data/pkgs/tile-0.8.2/tests/paned.test +298 -0
- data/pkgs/tile-0.8.2/tests/progress.test +92 -0
- data/pkgs/tile-0.8.2/tests/pwtest.tcl +90 -0
- data/pkgs/tile-0.8.2/tests/sbtest.tcl +79 -0
- data/pkgs/tile-0.8.2/tests/scrollbar.test +77 -0
- data/pkgs/tile-0.8.2/tests/sgtest.tcl +52 -0
- data/pkgs/tile-0.8.2/tests/testutils.tcl +20 -0
- data/pkgs/tile-0.8.2/tests/tile.test +674 -0
- data/pkgs/tile-0.8.2/tests/treetags.test +78 -0
- data/pkgs/tile-0.8.2/tests/treeview.test +563 -0
- data/pkgs/tile-0.8.2/tests/tvtest.tcl +332 -0
- data/pkgs/tile-0.8.2/tests/validate.test +278 -0
- data/pkgs/tile-0.8.2/tile.o +0 -0
- data/pkgs/tile-0.8.2/tkElements.o +0 -0
- data/pkgs/tile-0.8.2/tkTheme.o +0 -0
- data/pkgs/tile-0.8.2/tkstate.o +0 -0
- data/pkgs/tile-0.8.2/tools/genStubs.tcl +861 -0
- data/pkgs/tile-0.8.2/trace.o +0 -0
- data/pkgs/tile-0.8.2/track.o +0 -0
- data/pkgs/tile-0.8.2/treeview.o +0 -0
- data/pkgs/tile-0.8.2/ttkStubInit.o +0 -0
- data/pkgs/tile-0.8.2/ttkStubLib.o +0 -0
- data/pkgs/tile-0.8.2/widget.o +0 -0
- data/pkgs/tile-0.8.2/win/Tile.dsp +261 -0
- data/pkgs/tile-0.8.2/win/makefile.vc +527 -0
- data/pkgs/tile-0.8.2/win/monitor.c +164 -0
- data/pkgs/tile-0.8.2/win/nmakehlp.c +483 -0
- data/pkgs/tile-0.8.2/win/rules.vc +512 -0
- data/pkgs/tile-0.8.2/win/tile.rc +40 -0
- data/pkgs/tile-0.8.2/win/winTheme.c +734 -0
- data/pkgs/tile-0.8.2/win/xpTheme.c +1029 -0
- data/spec/app_spec.rb +48 -0
- data/spec/customer_spec.rb +31 -0
- data/spec/fixtures/graph.expectation +18 -0
- data/spec/payment_spec.rb +19 -0
- data/spec/pratt_spec.rb +148 -0
- data/spec/project_spec.rb +163 -0
- data/spec/rcov.opts +0 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/whence_spec.rb +54 -0
- data/tasks/pratt.rb +84 -0
- data/templates/model.eruby +12 -0
- data/templates/spec.eruby +8 -0
- data/views/env.rb +22 -0
- data/views/graph.eruby +20 -0
- data/views/invoice.eruby +148 -0
- data/views/main.rb +92 -0
- data/views/pid.eruby +3 -0
- data/views/pop.rb +94 -0
- data/views/pop2.rb +75 -0
- data/views/raw.eruby +11 -0
- 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
|
+
|