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,153 @@
|
|
1
|
+
#
|
2
|
+
# fonts.tcl,v 1.16 2007/12/07 06:25:50 jenglish Exp
|
3
|
+
#
|
4
|
+
# Font specifications.
|
5
|
+
#
|
6
|
+
# This file, [source]d at initialization time, sets up the following
|
7
|
+
# symbolic fonts based on the current platform:
|
8
|
+
#
|
9
|
+
# TkDefaultFont -- default for GUI items not otherwise specified
|
10
|
+
# TkTextFont -- font for user text (entry, listbox, others)
|
11
|
+
# TkFixedFont -- standard fixed width font
|
12
|
+
# TkHeadingFont -- headings (column headings, etc)
|
13
|
+
# TkCaptionFont -- dialog captions (primary text in alert dialogs, etc.)
|
14
|
+
# TkTooltipFont -- font to use for tooltip windows
|
15
|
+
# TkIconFont -- font to use for icon captions
|
16
|
+
# TkMenuFont -- used to use for menu items
|
17
|
+
#
|
18
|
+
# In Tk 8.5, some of these fonts may be provided by the TIP#145 implementation
|
19
|
+
# (On Windows and Mac OS X as of Oct 2007).
|
20
|
+
#
|
21
|
+
# The TIP, fonts(n) manpage, and implementation do not as of yet agree.
|
22
|
+
#
|
23
|
+
# +++ Platform notes:
|
24
|
+
#
|
25
|
+
# Windows:
|
26
|
+
# The default system font changed from "MS Sans Serif" to "Tahoma"
|
27
|
+
# in Windows XP/Windows 2000.
|
28
|
+
#
|
29
|
+
# MS documentation says to use "Tahoma 8" in Windows 2000/XP,
|
30
|
+
# although many MS programs still use "MS Sans Serif 8"
|
31
|
+
#
|
32
|
+
# Should use SystemParametersInfo() instead.
|
33
|
+
#
|
34
|
+
# Mac OSX / Aqua:
|
35
|
+
# Quoth the Apple HIG:
|
36
|
+
# The _system font_ (Lucida Grande Regular 13 pt) is used for text
|
37
|
+
# in menus, dialogs, and full-size controls.
|
38
|
+
# [...] Use the _view font_ (Lucida Grande Regular 12pt) as the default
|
39
|
+
# font of text in lists and tables.
|
40
|
+
# [...] Use the _emphasized system font_ (Lucida Grande Bold 13 pt)
|
41
|
+
# sparingly. It is used for the message text in alerts.
|
42
|
+
# [...] The _small system font_ (Lucida Grande Regular 11 pt) [...]
|
43
|
+
# is also the default font for column headings in lists, for help tags,
|
44
|
+
# and for small controls.
|
45
|
+
#
|
46
|
+
# That document lies, however (see #780617). The font sizes
|
47
|
+
# used below reflect what GetThemeFont() returns.
|
48
|
+
#
|
49
|
+
# Note that the font for column headings (TkHeadingFont) is
|
50
|
+
# _smaller_ than the default font.
|
51
|
+
#
|
52
|
+
# There does not appear to be any recommendations for fixed-width fonts.
|
53
|
+
#
|
54
|
+
# Mac classic:
|
55
|
+
# Don't know, can't find *anything* on the Web about Mac pre-OSX.
|
56
|
+
# Might have used Geneva. Doesn't matter, this platform
|
57
|
+
# isn't supported anymore anyway.
|
58
|
+
#
|
59
|
+
# X11:
|
60
|
+
# Need a way to tell if Xft is enabled or not.
|
61
|
+
# For now, assume patch #971980 applied.
|
62
|
+
#
|
63
|
+
# "Classic" look used Helvetica bold for everything except
|
64
|
+
# for entry widgets, which use Helvetica medium.
|
65
|
+
# Most other toolkits use medium weight for all UI elements,
|
66
|
+
# which is what we do now.
|
67
|
+
#
|
68
|
+
# Font size specified in pixels on X11, not points.
|
69
|
+
# This is Theoretically Wrong, but in practice works better; using
|
70
|
+
# points leads to huge inconsistencies across different servers.
|
71
|
+
#
|
72
|
+
|
73
|
+
namespace eval ttk {
|
74
|
+
|
75
|
+
catch {font create TkDefaultFont}
|
76
|
+
catch {font create TkTextFont}
|
77
|
+
catch {font create TkHeadingFont}
|
78
|
+
catch {font create TkCaptionFont}
|
79
|
+
catch {font create TkTooltipFont}
|
80
|
+
catch {font create TkFixedFont}
|
81
|
+
catch {font create TkIconFont}
|
82
|
+
catch {font create TkMenuFont}
|
83
|
+
|
84
|
+
variable F ;# miscellaneous platform-specific font parameters
|
85
|
+
switch -- [tk windowingsystem] {
|
86
|
+
win32 {
|
87
|
+
if {$tcl_platform(osVersion) >= 5.0} {
|
88
|
+
set F(family) "Tahoma"
|
89
|
+
} else {
|
90
|
+
set F(family) "MS Sans Serif"
|
91
|
+
}
|
92
|
+
set F(size) 8
|
93
|
+
|
94
|
+
font configure TkDefaultFont -family $F(family) -size $F(size)
|
95
|
+
font configure TkTextFont -family $F(family) -size $F(size)
|
96
|
+
font configure TkHeadingFont -family $F(family) -size $F(size)
|
97
|
+
font configure TkCaptionFont -family $F(family) -size $F(size) \
|
98
|
+
-weight bold
|
99
|
+
font configure TkTooltipFont -family $F(family) -size $F(size)
|
100
|
+
font configure TkFixedFont -family Courier -size 10
|
101
|
+
font configure TkIconFont -family $F(family) -size $F(size)
|
102
|
+
font configure TkMenuFont -family $F(family) -size $F(size)
|
103
|
+
}
|
104
|
+
aqua {
|
105
|
+
set F(family) "Lucida Grande"
|
106
|
+
set F(fixed) "Monaco"
|
107
|
+
set F(menusize) 14
|
108
|
+
set F(size) 13
|
109
|
+
set F(viewsize) 12
|
110
|
+
set F(smallsize) 11
|
111
|
+
set F(fixedsize) 11
|
112
|
+
|
113
|
+
font configure TkDefaultFont -family $F(family) -size $F(size)
|
114
|
+
font configure TkTextFont -family $F(family) -size $F(size)
|
115
|
+
font configure TkHeadingFont -family $F(family) -size $F(smallsize)
|
116
|
+
font configure TkCaptionFont -family $F(family) -size $F(size) \
|
117
|
+
-weight bold
|
118
|
+
font configure TkTooltipFont -family $F(family) -size $F(smallsize)
|
119
|
+
font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
|
120
|
+
font configure TkIconFont -family $F(family) -size $F(size)
|
121
|
+
font configure TkMenuFont -family $F(family) -size $F(menusize)
|
122
|
+
}
|
123
|
+
default -
|
124
|
+
x11 {
|
125
|
+
if {![catch {tk::pkgconfig get fontsystem} F(fs)] && $F(fs) eq "xft"} {
|
126
|
+
set F(family) "sans-serif"
|
127
|
+
set F(fixed) "monospace"
|
128
|
+
} else {
|
129
|
+
set F(family) "Helvetica"
|
130
|
+
set F(fixed) "courier"
|
131
|
+
}
|
132
|
+
set F(size) -12
|
133
|
+
set F(ttsize) -10
|
134
|
+
set F(capsize) -14
|
135
|
+
set F(fixedsize) -12
|
136
|
+
|
137
|
+
font configure TkDefaultFont -family $F(family) -size $F(size)
|
138
|
+
font configure TkTextFont -family $F(family) -size $F(size)
|
139
|
+
font configure TkHeadingFont -family $F(family) -size $F(size) \
|
140
|
+
-weight bold
|
141
|
+
font configure TkCaptionFont -family $F(family) -size $F(capsize) \
|
142
|
+
-weight bold
|
143
|
+
font configure TkTooltipFont -family $F(family) -size $F(ttsize)
|
144
|
+
font configure TkFixedFont -family $F(fixed) -size $F(fixedsize)
|
145
|
+
font configure TkIconFont -family $F(family) -size $F(size)
|
146
|
+
font configure TkMenuFont -family $F(family) -size $F(size)
|
147
|
+
}
|
148
|
+
}
|
149
|
+
unset -nocomplain F
|
150
|
+
|
151
|
+
}
|
152
|
+
|
153
|
+
#*EOF*
|
@@ -0,0 +1,105 @@
|
|
1
|
+
#
|
2
|
+
# icons.tcl,v 1.4 2006/11/06 14:46:42 jenglish Exp
|
3
|
+
#
|
4
|
+
# Tile package -- stock icons.
|
5
|
+
#
|
6
|
+
# Usage:
|
7
|
+
# $w configure -image [ttk::stockIcon $context/$icon]
|
8
|
+
#
|
9
|
+
# At present, only includes icons for dialog boxes,
|
10
|
+
# dialog/info, dialog/warning, dialog/error, etc.
|
11
|
+
#
|
12
|
+
# This list should be expanded.
|
13
|
+
#
|
14
|
+
# See the Icon Naming Specification from the Tango project:
|
15
|
+
# http://standards.freedesktop.org/icon-naming-spec/
|
16
|
+
# They've finally gotten around to publishing something.
|
17
|
+
#
|
18
|
+
|
19
|
+
namespace eval ttk {
|
20
|
+
variable Icons ;# Map: icon name -> image
|
21
|
+
namespace eval icons {} ;# container namespace for images
|
22
|
+
}
|
23
|
+
|
24
|
+
# stockIcon $name --
|
25
|
+
# Returns a Tk image for built-in icon $name.
|
26
|
+
#
|
27
|
+
proc ttk::stockIcon {name} {
|
28
|
+
variable Icons
|
29
|
+
return $Icons($name)
|
30
|
+
}
|
31
|
+
|
32
|
+
# defineImage --
|
33
|
+
# Define a new stock icon.
|
34
|
+
#
|
35
|
+
proc ttk::defineImage {name args} {
|
36
|
+
variable Icons
|
37
|
+
set iconName ::ttk::icons::$name
|
38
|
+
eval [linsert $args 0 image create photo $iconName]
|
39
|
+
set Icons($name) $iconName
|
40
|
+
}
|
41
|
+
|
42
|
+
#
|
43
|
+
# Stock icons for dialogs
|
44
|
+
#
|
45
|
+
# SOURCE: dialog icons taken from BWidget toolkit.
|
46
|
+
#
|
47
|
+
ttk::defineImage dialog/error -data {
|
48
|
+
R0lGODlhIAAgALMAAIQAAISEhPf/Mf8AAP//////////////////////////
|
49
|
+
/////////////////////yH5BAEAAAIALAAAAAAgACAAAASwUMhJBbj41s0n
|
50
|
+
HmAIYl0JiCgKlNWVvqHGnnA9mnY+rBytw4DAxhci2IwqoSdFaMKaSBFPQhxA
|
51
|
+
nahrdKS0MK8ibSoorBbBVvS4XNOKgey2e7sOmLPvGvkezsPtR3M2e3JzdFIB
|
52
|
+
gC9vfohxfVCQWI6PII1pkZReeIeWkzGJS1lHdV2bPy9koaKopUOtSatDfECq
|
53
|
+
phWKOra3G3YuqReJwiwUiRkZwsPEuMnNycslzrIdEQAAOw==
|
54
|
+
}
|
55
|
+
|
56
|
+
ttk::defineImage dialog/info -data {
|
57
|
+
R0lGODlhIAAgALMAAAAAAAAA/4SEhMbGxvf/Mf//////////////////////
|
58
|
+
/////////////////////yH5BAEAAAQALAAAAAAgACAAAAStkMhJibj41s0n
|
59
|
+
HkUoDljXXaCoqqRgUkK6zqP7CvQQ7IGsAiYcjcejFYAb4ZAYMB4rMaeO51sN
|
60
|
+
kBKlc/uzRbng0NWlnTF3XAAZzExj2ET3BV7cqufctv2Tj0vvFn11RndkVSt6
|
61
|
+
OYVZRmeDXRoTAGFOhTaSlDOWHACHW2MlHQCdYFebN6OkVqkZlzcXqTKWoS8w
|
62
|
+
GJMhs7WoIoC7v7i+v7uTwsO1o5HHu7TLtcodEQAAOw==
|
63
|
+
}
|
64
|
+
|
65
|
+
ttk::defineImage dialog/question -data {
|
66
|
+
R0lGODlhIAAgALMAAAAAAAAA/4SEhMbGxvf/Mf//////////////////////
|
67
|
+
/////////////////////yH5BAEAAAQALAAAAAAgACAAAAS2kMhJibj41s0n
|
68
|
+
HkUoDljXXaCoqqRgUkK6zqP7CnS+AiY+D4GgUKbibXwrYEoYIIqMHmcoqGLS
|
69
|
+
BlBLzlrgzgC22FZYAJKvYG3ODPLS0khd+awDX+Qieh2Dnzb7dnE6VIAffYdl
|
70
|
+
dmo6bHiBFlJVej+PizRuXyUTAIxBkSGBNpuImZoVAJ9roSYAqH1Yqzetrkmz
|
71
|
+
GaI3F7MyoaYvHhicoLe/sk8axcnCisnKBczNxa3I0cW+1bm/EQAAOw==
|
72
|
+
}
|
73
|
+
|
74
|
+
ttk::defineImage dialog/warning -data {
|
75
|
+
R0lGODlhIAAgALMAAAAAAISEAISEhMbGxv//AP//////////////////////
|
76
|
+
/////////////////////yH5BAEAAAUALAAAAAAgACAAAASrsMhJZ7g16y0D
|
77
|
+
IQPAjZr3gYBAroV5piq7uWcoxHJFv3eun0BUz9cJAmHElhFow8lcIQBgwHOu
|
78
|
+
aNJsDfk8ZgHH4TX4BW/Fo12ZjJ4Z10wuZ0cIZOny0jI6NTbnSwRaS3kUdCd2
|
79
|
+
h0JWRYEhVIGFSoEfZo6FipRvaJkfUZB7cp2Cg5FDo6RSmn+on5qCPaivYTey
|
80
|
+
s4sqtqswp2W+v743whTCxcbHyG0FyczJEhEAADs=
|
81
|
+
}
|
82
|
+
|
83
|
+
ttk::defineImage dialog/auth -data {
|
84
|
+
R0lGODlhIAAgAIQAAAAA/wAAAICAgICAAP///7CwsMDAwMjIAPjIAOjo6Pj4
|
85
|
+
AODg4HBwcMj4ANjY2JiYANDQ0MjIyPj4yKCgoMiYAMjImDAwAMjIMJiYmJCQ
|
86
|
+
kAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAgACAAAAX+ICCOYmCa
|
87
|
+
ZKquZCCMQsDOqWC7NiAMvEyvAoLQVdgZCAfEAPWDERIJk8AwIJwUil5T91y4
|
88
|
+
GC6ry4RoKH2zYGLhnS5tMUNAcaAvaUF2m1A9GeQIAQeDaEAECw6IJlVYAmAK
|
89
|
+
AWZJD3gEDpeXOwRYnHOCCgcPhTWWDhAQQYydkGYIoaOkp6h8m1ieSYOvP0ER
|
90
|
+
EQwEEap0dWagok1BswmMdbiursfIBHnBQs10oKF30tQ8QkISuAcB25UGQQ4R
|
91
|
+
EzzsA4MU4+WGBkXo6hMTMQADFQfwFtHmFSlCAEKEU2jc+YsHy8nAML4iJKzQ
|
92
|
+
Dx65hiWKTIA4pRC7CxblORRA8E/HFfxfQo4KUiBfPgL0SDbkV0ElKZcmEjwE
|
93
|
+
wqPCgwMiAQTASQDDzhkD4IkMkg+DiwU4aSTVQiIIBgFXE+ATsPHHCRVWM8QI
|
94
|
+
oJUrxi04TCzA0PQsWh9kMVx1u6UFA3116zLJGwIAOw==
|
95
|
+
}
|
96
|
+
|
97
|
+
ttk::defineImage dialog/busy -data {
|
98
|
+
R0lGODlhIAAgALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/
|
99
|
+
AP//AAAA//8A/wD//////yH5BAEAAAsALAAAAAAgACAAAASAcMlJq7046827
|
100
|
+
/2AYBmRpkoC4BMlzvEkspypg3zitIsfjvgcEQifi+X7BoUpi9AGFxFATCV0u
|
101
|
+
eMEDQFu1GrdbpZXZC0e9LvF4gkifl8aX2tt7bIPvz/Q5l9btcn0gTWBJeR1G
|
102
|
+
bWBdO0EPPIuHHDmUSyxIMjM1lJVrnp+goaIfEQAAOw==
|
103
|
+
}
|
104
|
+
|
105
|
+
#*EOF*
|
@@ -0,0 +1,192 @@
|
|
1
|
+
########################################################################
|
2
|
+
# keynav package - Enhanced keyboard navigation
|
3
|
+
# Copyright (C) 2003 Joe English
|
4
|
+
# Freely redistributable; see the file license.terms for details.
|
5
|
+
#
|
6
|
+
# keynav.tcl,v 1.8 2006/04/07 19:30:48 jenglish Exp
|
7
|
+
#
|
8
|
+
########################################################################
|
9
|
+
#
|
10
|
+
# Usage:
|
11
|
+
#
|
12
|
+
# package require keynav
|
13
|
+
#
|
14
|
+
# keynav::enableMnemonics $toplevel --
|
15
|
+
# Enable mnemonic accelerators for toplevel widget.
|
16
|
+
# Pressing Alt-K, where K is any alphanumeric key,
|
17
|
+
# will send an <<Invoke>> event to the widget with
|
18
|
+
# mnemonic K (as determined by the -underline and -text
|
19
|
+
# options).
|
20
|
+
#
|
21
|
+
# Side effects: adds a binding for <Alt-KeyPress> to $toplevel
|
22
|
+
#
|
23
|
+
# keynav::defaultButton $button --
|
24
|
+
# Enables default activation for the toplevel window
|
25
|
+
# in which $button appears. Pressing <Key-Return> invokes
|
26
|
+
# the default widget. The default widget is set to
|
27
|
+
# the widget with keyboard focus if it is defaultable,
|
28
|
+
# otherwise $button. A widget is _defaultable_
|
29
|
+
# if it has a -default option which is not set to
|
30
|
+
# "disabled".
|
31
|
+
#
|
32
|
+
# Side effects: adds <FocusIn> and <KeyPress-Return> bindings
|
33
|
+
# to the toplevel containing $button, and a <Destroy> binding
|
34
|
+
# to $button.
|
35
|
+
#
|
36
|
+
# $button must be a defaultable widget.
|
37
|
+
#
|
38
|
+
|
39
|
+
namespace eval keynav {}
|
40
|
+
|
41
|
+
package require Tcl 8.4
|
42
|
+
package require Tk 8.4
|
43
|
+
package provide keynav 1.0
|
44
|
+
|
45
|
+
event add <<Help>> <KeyPress-F1>
|
46
|
+
|
47
|
+
#
|
48
|
+
# Bindings for stock Tk widgets:
|
49
|
+
# (NB: for 8.3 use tkButtonInvoke, tkMbPost instead)
|
50
|
+
#
|
51
|
+
bind Button <<Invoke>> { tk::ButtonInvoke %W }
|
52
|
+
bind Checkbutton <<Invoke>> { tk::ButtonInvoke %W }
|
53
|
+
bind Radiobutton <<Invoke>> { tk::ButtonInvoke %W }
|
54
|
+
bind Menubutton <<Invoke>> { tk::MbPost %W }
|
55
|
+
|
56
|
+
|
57
|
+
proc keynav::enableMnemonics {w} {
|
58
|
+
bind [winfo toplevel $w] <Alt-KeyPress> {+ keynav::Alt-KeyPress %W %K }
|
59
|
+
}
|
60
|
+
|
61
|
+
# mnemonic $w --
|
62
|
+
# Return the mnemonic character for widget $w,
|
63
|
+
# as determined by the -text and -underline resources.
|
64
|
+
#
|
65
|
+
proc keynav::mnemonic {w} {
|
66
|
+
if {[catch {
|
67
|
+
set label [$w cget -text]
|
68
|
+
set underline [$w cget -underline]
|
69
|
+
}]} { return "" }
|
70
|
+
return [string index $label $underline]
|
71
|
+
}
|
72
|
+
|
73
|
+
# FindMnemonic $w $key --
|
74
|
+
# Locate the descendant of $w with mnemonic $key.
|
75
|
+
#
|
76
|
+
proc keynav::FindMnemonic {w key} {
|
77
|
+
if {[string length $key] != 1} { return }
|
78
|
+
set Q [list [set top [winfo toplevel $w]]]
|
79
|
+
while {[llength $Q]} {
|
80
|
+
set QN [list]
|
81
|
+
foreach w $Q {
|
82
|
+
if {[string equal -nocase $key [mnemonic $w]]} {
|
83
|
+
return $w
|
84
|
+
}
|
85
|
+
foreach c [winfo children $w] {
|
86
|
+
if {[winfo ismapped $c] && [winfo toplevel $c] eq $top} {
|
87
|
+
lappend QN $c
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
set Q $QN
|
92
|
+
}
|
93
|
+
return {}
|
94
|
+
}
|
95
|
+
|
96
|
+
# Alt-KeyPress --
|
97
|
+
# Alt-KeyPress binding for toplevels with mnemonic accelerators enabled.
|
98
|
+
#
|
99
|
+
proc keynav::Alt-KeyPress {w k} {
|
100
|
+
set w [FindMnemonic $w $k]
|
101
|
+
if {$w ne ""} {
|
102
|
+
event generate $w <<Invoke>>
|
103
|
+
return -code break
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
# defaultButton $w --
|
108
|
+
# Enable default activation for the toplevel containing $w,
|
109
|
+
# and make $w the default default widget.
|
110
|
+
#
|
111
|
+
proc keynav::defaultButton {w} {
|
112
|
+
variable DefaultButton
|
113
|
+
|
114
|
+
$w configure -default active
|
115
|
+
set top [winfo toplevel $w]
|
116
|
+
set DefaultButton(current.$top) $w
|
117
|
+
set DefaultButton(default.$top) $w
|
118
|
+
|
119
|
+
bind $w <Destroy> [list keynav::CleanupDefault $top]
|
120
|
+
bind $top <FocusIn> [list keynav::ClaimDefault $top %W]
|
121
|
+
bind $top <KeyPress-Return> [list keynav::ActivateDefault $top]
|
122
|
+
}
|
123
|
+
|
124
|
+
proc keynav::CleanupDefault {top} {
|
125
|
+
variable DefaultButton
|
126
|
+
unset DefaultButton(current.$top)
|
127
|
+
unset DefaultButton(default.$top)
|
128
|
+
}
|
129
|
+
|
130
|
+
# ClaimDefault $top $w --
|
131
|
+
# <FocusIn> binding for default activation.
|
132
|
+
# Sets the default widget to $w if it is defaultable,
|
133
|
+
# otherwise set it to the default default.
|
134
|
+
#
|
135
|
+
proc keynav::ClaimDefault {top w} {
|
136
|
+
variable DefaultButton
|
137
|
+
if {![info exists DefaultButton(current.$top)]} {
|
138
|
+
# Someone destroyed the default default, but not
|
139
|
+
# the rest of the toplevel.
|
140
|
+
return;
|
141
|
+
}
|
142
|
+
|
143
|
+
set default $DefaultButton(default.$top)
|
144
|
+
if {![catch {$w cget -default} dstate] && $dstate ne "disabled"} {
|
145
|
+
set default $w
|
146
|
+
}
|
147
|
+
|
148
|
+
if {$default ne $DefaultButton(current.$top)} {
|
149
|
+
# Ignore errors -- someone may have destroyed the current default
|
150
|
+
catch { $DefaultButton(current.$top) configure -default normal }
|
151
|
+
$default configure -default active
|
152
|
+
set DefaultButton(current.$top) $default
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
# ActivateDefault --
|
157
|
+
# Invoke the default widget for toplevel window, if any.
|
158
|
+
#
|
159
|
+
proc keynav::ActivateDefault {top} {
|
160
|
+
variable DefaultButton
|
161
|
+
if { [info exists DefaultButton(current.$top)]
|
162
|
+
&& [winfo exists $DefaultButton(current.$top)]
|
163
|
+
} {
|
164
|
+
event generate $DefaultButton(current.$top) <<Invoke>>
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
# traverseTo $w --
|
169
|
+
# Set the keyboard focus to the specified window,
|
170
|
+
# sending <<TraverseOut>> and <<TraverseIn>> virtual events
|
171
|
+
# as per TIP #204.
|
172
|
+
#
|
173
|
+
proc keynav::traverseTo {w} {
|
174
|
+
set focus [focus]
|
175
|
+
if {$focus ne ""} {
|
176
|
+
event generate $focus <<TraverseOut>>
|
177
|
+
}
|
178
|
+
focus $w
|
179
|
+
event generate $w <<TraverseIn>>
|
180
|
+
}
|
181
|
+
|
182
|
+
#
|
183
|
+
# Provide TIP #204 functionality if we're running 8.4:
|
184
|
+
#
|
185
|
+
if {![package vsatisfies [package provide Tk] 8.5]} {
|
186
|
+
bind all <Tab> { keynav::traverseTo [tk_focusNext %W] ; break}
|
187
|
+
bind all <<PrevWindow>> { keynav::traverseTo [tk_focusPrev %W] }
|
188
|
+
bind Entry <<TraverseIn>> { %W selection range 0 end; %W icursor end }
|
189
|
+
bind Spinbox <<TraverseIn>> { %W selection range 0 end; %W icursor end }
|
190
|
+
}
|
191
|
+
|
192
|
+
#*EOF*
|