Pratt 1.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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*
|