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,419 @@
|
|
1
|
+
/* tkTheme.h,v 1.130 2007/12/16 18:20:55 jenglish Exp
|
2
|
+
* Copyright (c) 2003 Joe English. Freely redistributable.
|
3
|
+
*
|
4
|
+
* Declarations for Tk theme engine.
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef _TTKTHEME
|
8
|
+
#define _TTKTHEME
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#if defined(BUILD_tile)
|
15
|
+
# define TTKAPI DLLEXPORT
|
16
|
+
# undef USE_TTK_STUBS
|
17
|
+
#else
|
18
|
+
# define TTKAPI DLLIMPORT
|
19
|
+
#endif
|
20
|
+
|
21
|
+
#ifndef MODULE_SCOPE
|
22
|
+
# define MODULE_SCOPE extern
|
23
|
+
#endif
|
24
|
+
|
25
|
+
#define TILE_VERSION "0.8.2"
|
26
|
+
|
27
|
+
/*------------------------------------------------------------------------
|
28
|
+
* +++ Defaults for element option specifications.
|
29
|
+
*/
|
30
|
+
#define DEFAULT_FONT "TkDefaultFont"
|
31
|
+
#define DEFAULT_BACKGROUND "#d9d9d9"
|
32
|
+
#define DEFAULT_FOREGROUND "black"
|
33
|
+
|
34
|
+
/*------------------------------------------------------------------------
|
35
|
+
* +++ Widget states.
|
36
|
+
* Keep in sync with stateNames[] in tkstate.c.
|
37
|
+
*/
|
38
|
+
|
39
|
+
typedef unsigned int Ttk_State;
|
40
|
+
|
41
|
+
#define TTK_STATE_ACTIVE (1<<0)
|
42
|
+
#define TTK_STATE_DISABLED (1<<1)
|
43
|
+
#define TTK_STATE_FOCUS (1<<2)
|
44
|
+
#define TTK_STATE_PRESSED (1<<3)
|
45
|
+
#define TTK_STATE_SELECTED (1<<4)
|
46
|
+
#define TTK_STATE_BACKGROUND (1<<5)
|
47
|
+
#define TTK_STATE_ALTERNATE (1<<6)
|
48
|
+
#define TTK_STATE_INVALID (1<<7)
|
49
|
+
#define TTK_STATE_READONLY (1<<8)
|
50
|
+
#define TTK_STATE_USER7 (1<<9)
|
51
|
+
#define TTK_STATE_USER6 (1<<10)
|
52
|
+
#define TTK_STATE_USER5 (1<<11)
|
53
|
+
#define TTK_STATE_USER4 (1<<12)
|
54
|
+
#define TTK_STATE_USER3 (1<<13)
|
55
|
+
#define TTK_STATE_USER2 (1<<14)
|
56
|
+
#define TTK_STATE_USER1 (1<<15)
|
57
|
+
|
58
|
+
/* Maintenance note: if you get all the way to "USER1",
|
59
|
+
* see tkstate.c
|
60
|
+
*/
|
61
|
+
typedef struct
|
62
|
+
{
|
63
|
+
unsigned int onbits; /* bits to turn on */
|
64
|
+
unsigned int offbits; /* bits to turn off */
|
65
|
+
} Ttk_StateSpec;
|
66
|
+
|
67
|
+
#define Ttk_StateMatches(state, spec) \
|
68
|
+
(((state) & ((spec)->onbits|(spec)->offbits)) == (spec)->onbits)
|
69
|
+
|
70
|
+
#define Ttk_ModifyState(state, spec) \
|
71
|
+
(((state) & ~(spec)->offbits) | (spec)->onbits)
|
72
|
+
|
73
|
+
TTKAPI int Ttk_GetStateSpecFromObj(Tcl_Interp *, Tcl_Obj *, Ttk_StateSpec *);
|
74
|
+
TTKAPI Tcl_Obj *Ttk_NewStateSpecObj(unsigned int onbits,unsigned int offbits);
|
75
|
+
|
76
|
+
/*------------------------------------------------------------------------
|
77
|
+
* +++ State maps and state tables.
|
78
|
+
*/
|
79
|
+
typedef Tcl_Obj *Ttk_StateMap;
|
80
|
+
|
81
|
+
TTKAPI Ttk_StateMap Ttk_GetStateMapFromObj(Tcl_Interp *, Tcl_Obj *);
|
82
|
+
TTKAPI Tcl_Obj *Ttk_StateMapLookup(Tcl_Interp*, Ttk_StateMap, Ttk_State);
|
83
|
+
|
84
|
+
/*
|
85
|
+
* Table for looking up an integer index based on widget state:
|
86
|
+
*/
|
87
|
+
typedef struct
|
88
|
+
{
|
89
|
+
int index; /* Value to return if this entry matches */
|
90
|
+
unsigned int onBits; /* Bits which must be set */
|
91
|
+
unsigned int offBits; /* Bits which must be cleared */
|
92
|
+
} Ttk_StateTable;
|
93
|
+
|
94
|
+
TTKAPI int Ttk_StateTableLookup(Ttk_StateTable map[], Ttk_State);
|
95
|
+
|
96
|
+
/*------------------------------------------------------------------------
|
97
|
+
* +++ Padding.
|
98
|
+
* Used to represent internal padding and borders.
|
99
|
+
*/
|
100
|
+
typedef struct
|
101
|
+
{
|
102
|
+
short left;
|
103
|
+
short top;
|
104
|
+
short right;
|
105
|
+
short bottom;
|
106
|
+
} Ttk_Padding;
|
107
|
+
|
108
|
+
TTKAPI int Ttk_GetPaddingFromObj(Tcl_Interp*,Tk_Window,Tcl_Obj*,Ttk_Padding*);
|
109
|
+
TTKAPI int Ttk_GetBorderFromObj(Tcl_Interp*,Tcl_Obj*,Ttk_Padding*);
|
110
|
+
|
111
|
+
TTKAPI Ttk_Padding Ttk_MakePadding(short l, short t, short r, short b);
|
112
|
+
TTKAPI Ttk_Padding Ttk_UniformPadding(short borderWidth);
|
113
|
+
TTKAPI Ttk_Padding Ttk_AddPadding(Ttk_Padding, Ttk_Padding);
|
114
|
+
TTKAPI Ttk_Padding Ttk_RelievePadding(Ttk_Padding, int relief, int n);
|
115
|
+
|
116
|
+
#define Ttk_PaddingWidth(p) ((p).left + (p).right)
|
117
|
+
#define Ttk_PaddingHeight(p) ((p).top + (p).bottom)
|
118
|
+
|
119
|
+
#define Ttk_SetMargins(tkwin, pad) \
|
120
|
+
Tk_SetInternalBorderEx(tkwin, pad.left, pad.right, pad.top, pad.bottom)
|
121
|
+
|
122
|
+
/*------------------------------------------------------------------------
|
123
|
+
* +++ Boxes.
|
124
|
+
* Used to represent rectangular regions
|
125
|
+
*/
|
126
|
+
typedef struct /* Hey, this is an XRectangle! */
|
127
|
+
{
|
128
|
+
int x;
|
129
|
+
int y;
|
130
|
+
int width;
|
131
|
+
int height;
|
132
|
+
} Ttk_Box;
|
133
|
+
|
134
|
+
TTKAPI Ttk_Box Ttk_MakeBox(int x, int y, int width, int height);
|
135
|
+
TTKAPI int Ttk_BoxContains(Ttk_Box, int x, int y);
|
136
|
+
|
137
|
+
#define Ttk_WinBox(tkwin) Ttk_MakeBox(0,0,Tk_Width(tkwin),Tk_Height(tkwin))
|
138
|
+
|
139
|
+
/*------------------------------------------------------------------------
|
140
|
+
* +++ Layout utilities.
|
141
|
+
*/
|
142
|
+
typedef enum {
|
143
|
+
TTK_SIDE_LEFT, TTK_SIDE_TOP, TTK_SIDE_RIGHT, TTK_SIDE_BOTTOM
|
144
|
+
} Ttk_Side;
|
145
|
+
|
146
|
+
typedef unsigned int Ttk_Sticky;
|
147
|
+
|
148
|
+
/*
|
149
|
+
* -sticky bits for Ttk_StickBox:
|
150
|
+
*/
|
151
|
+
#define TTK_STICK_W (0x1)
|
152
|
+
#define TTK_STICK_E (0x2)
|
153
|
+
#define TTK_STICK_N (0x4)
|
154
|
+
#define TTK_STICK_S (0x8)
|
155
|
+
|
156
|
+
/*
|
157
|
+
* Aliases and useful combinations:
|
158
|
+
*/
|
159
|
+
#define TTK_FILL_X (0x3) /* -sticky ew */
|
160
|
+
#define TTK_FILL_Y (0xC) /* -sticky ns */
|
161
|
+
#define TTK_FILL_BOTH (0xF) /* -sticky nswe */
|
162
|
+
|
163
|
+
TTKAPI int Ttk_GetStickyFromObj(Tcl_Interp *, Tcl_Obj *, Ttk_Sticky *);
|
164
|
+
TTKAPI Tcl_Obj *Ttk_NewStickyObj(Ttk_Sticky);
|
165
|
+
|
166
|
+
/*
|
167
|
+
* Extra bits for position specifications (combine -side and -sticky)
|
168
|
+
*/
|
169
|
+
|
170
|
+
typedef unsigned int Ttk_PositionSpec; /* See below */
|
171
|
+
|
172
|
+
#define TTK_PACK_LEFT (0x10) /* pack at left of current parcel */
|
173
|
+
#define TTK_PACK_RIGHT (0x20) /* pack at right of current parcel */
|
174
|
+
#define TTK_PACK_TOP (0x40) /* pack at top of current parcel */
|
175
|
+
#define TTK_PACK_BOTTOM (0x80) /* pack at bottom of current parcel */
|
176
|
+
#define TTK_EXPAND (0x100) /* use entire parcel */
|
177
|
+
#define TTK_BORDER (0x200) /* draw this element after children */
|
178
|
+
#define TTK_UNIT (0x400) /* treat descendants as a part of element */
|
179
|
+
|
180
|
+
/*
|
181
|
+
* Extra bits for layout specifications
|
182
|
+
*/
|
183
|
+
#define _TTK_CHILDREN (0x1000)/* for LayoutSpecs -- children follow */
|
184
|
+
#define _TTK_LAYOUT_END (0x2000)/* for LayoutSpecs -- end of child list */
|
185
|
+
#define _TTK_LAYOUT (0x4000)/* for LayoutSpec tables -- define layout */
|
186
|
+
|
187
|
+
#define _TTK_MASK_STICK (0x0F) /* See Ttk_UnparseLayout() */
|
188
|
+
#define _TTK_MASK_PACK (0xF0) /* See Ttk_UnparseLayout(), packStrings */
|
189
|
+
|
190
|
+
TTKAPI Ttk_Box Ttk_PackBox(Ttk_Box *cavity, int w, int h, Ttk_Side side);
|
191
|
+
TTKAPI Ttk_Box Ttk_StickBox(Ttk_Box parcel, int w, int h, Ttk_Sticky sticky);
|
192
|
+
TTKAPI Ttk_Box Ttk_AnchorBox(Ttk_Box parcel, int w, int h, Tk_Anchor anchor);
|
193
|
+
TTKAPI Ttk_Box Ttk_PadBox(Ttk_Box b, Ttk_Padding p);
|
194
|
+
TTKAPI Ttk_Box Ttk_ExpandBox(Ttk_Box b, Ttk_Padding p);
|
195
|
+
TTKAPI Ttk_Box Ttk_PlaceBox(Ttk_Box *cavity, int w,int h, Ttk_Side,Ttk_Sticky);
|
196
|
+
TTKAPI Ttk_Box Ttk_PositionBox(Ttk_Box *cavity, int w, int h, Ttk_PositionSpec);
|
197
|
+
|
198
|
+
/*------------------------------------------------------------------------
|
199
|
+
* +++ Themes.
|
200
|
+
*/
|
201
|
+
extern void Ttk_StylePkgInit(Tcl_Interp *);
|
202
|
+
|
203
|
+
typedef struct Ttk_Theme_ *Ttk_Theme;
|
204
|
+
typedef struct Ttk_ElementImpl_ *Ttk_ElementImpl;
|
205
|
+
typedef struct Ttk_Layout_ *Ttk_Layout;
|
206
|
+
typedef struct Ttk_LayoutNode_ Ttk_LayoutNode;
|
207
|
+
|
208
|
+
TTKAPI Ttk_Theme Ttk_GetTheme(Tcl_Interp *interp, const char *name);
|
209
|
+
TTKAPI Ttk_Theme Ttk_GetDefaultTheme(Tcl_Interp *interp);
|
210
|
+
TTKAPI Ttk_Theme Ttk_GetCurrentTheme(Tcl_Interp *interp);
|
211
|
+
|
212
|
+
TTKAPI Ttk_Theme Ttk_CreateTheme(
|
213
|
+
Tcl_Interp *interp, const char *name, Ttk_Theme parent);
|
214
|
+
|
215
|
+
typedef int (Ttk_ThemeEnabledProc)(Ttk_Theme theme, void *clientData);
|
216
|
+
extern void Ttk_SetThemeEnabledProc(Ttk_Theme, Ttk_ThemeEnabledProc, void *);
|
217
|
+
|
218
|
+
extern int Ttk_UseTheme(Tcl_Interp *, Ttk_Theme);
|
219
|
+
|
220
|
+
typedef void (Ttk_CleanupProc)(void *clientData);
|
221
|
+
TTKAPI void Ttk_RegisterCleanup(
|
222
|
+
Tcl_Interp *interp, void *deleteData, Ttk_CleanupProc *cleanupProc);
|
223
|
+
|
224
|
+
/*------------------------------------------------------------------------
|
225
|
+
* +++ Elements.
|
226
|
+
*/
|
227
|
+
|
228
|
+
enum TTKStyleVersion2 { TK_STYLE_VERSION_2 = 2 };
|
229
|
+
|
230
|
+
typedef void (Ttk_ElementSizeProc)(void *clientData, void *elementRecord,
|
231
|
+
Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding*);
|
232
|
+
typedef void (Ttk_ElementDrawProc)(void *clientData, void *elementRecord,
|
233
|
+
Tk_Window tkwin, Drawable d, Ttk_Box b, Ttk_State state);
|
234
|
+
|
235
|
+
typedef struct Ttk_ElementOptionSpec
|
236
|
+
{
|
237
|
+
char *optionName; /* Command-line name of the widget option */
|
238
|
+
Tk_OptionType type; /* Accepted option types */
|
239
|
+
int offset; /* Offset of Tcl_Obj* field in element record */
|
240
|
+
char *defaultValue; /* Default value to used if resource missing */
|
241
|
+
} Ttk_ElementOptionSpec;
|
242
|
+
|
243
|
+
#define TK_OPTION_ANY TK_OPTION_STRING
|
244
|
+
|
245
|
+
typedef struct Ttk_ElementSpec {
|
246
|
+
enum TTKStyleVersion2 version; /* Version of the style support. */
|
247
|
+
size_t elementSize; /* Size of element record */
|
248
|
+
Ttk_ElementOptionSpec *options; /* List of options, NULL-terminated */
|
249
|
+
Ttk_ElementSizeProc *size; /* Compute min size and padding */
|
250
|
+
Ttk_ElementDrawProc *draw; /* Draw the element */
|
251
|
+
} Ttk_ElementSpec;
|
252
|
+
|
253
|
+
TTKAPI Ttk_ElementImpl Ttk_RegisterElement(
|
254
|
+
Tcl_Interp *interp, Ttk_Theme theme, const char *elementName,
|
255
|
+
Ttk_ElementSpec *, void *clientData);
|
256
|
+
|
257
|
+
typedef int (*Ttk_ElementFactory)
|
258
|
+
(Tcl_Interp *, void *clientData,
|
259
|
+
Ttk_Theme, const char *elementName, int objc, Tcl_Obj *const objv[]);
|
260
|
+
|
261
|
+
TTKAPI int Ttk_RegisterElementFactory(
|
262
|
+
Tcl_Interp *, const char *name, Ttk_ElementFactory, void *clientData);
|
263
|
+
|
264
|
+
/*
|
265
|
+
* Null element implementation:
|
266
|
+
* has no geometry or layout; may be used as a stub or placeholder.
|
267
|
+
*/
|
268
|
+
|
269
|
+
typedef struct {
|
270
|
+
Tcl_Obj *unused;
|
271
|
+
} NullElement;
|
272
|
+
|
273
|
+
extern void TtkNullElementSize
|
274
|
+
(void *, void *, Tk_Window, int *, int *, Ttk_Padding *);
|
275
|
+
extern void TtkNullElementDraw
|
276
|
+
(void *, void *, Tk_Window, Drawable, Ttk_Box, Ttk_State);
|
277
|
+
extern Ttk_ElementOptionSpec TtkNullElementOptions[];
|
278
|
+
extern Ttk_ElementSpec ttkNullElementSpec;
|
279
|
+
|
280
|
+
/*------------------------------------------------------------------------
|
281
|
+
* +++ Layout templates.
|
282
|
+
*/
|
283
|
+
typedef struct {
|
284
|
+
const char * elementName;
|
285
|
+
unsigned opcode;
|
286
|
+
} TTKLayoutInstruction, *Ttk_LayoutSpec;
|
287
|
+
|
288
|
+
#define TTK_BEGIN_LAYOUT_TABLE(name) \
|
289
|
+
static TTKLayoutInstruction name[] = {
|
290
|
+
#define TTK_LAYOUT(name, content) \
|
291
|
+
{ name, _TTK_CHILDREN|_TTK_LAYOUT }, \
|
292
|
+
content \
|
293
|
+
{ 0, _TTK_LAYOUT_END },
|
294
|
+
#define TTK_GROUP(name, flags, children) \
|
295
|
+
{ name, flags | _TTK_CHILDREN }, \
|
296
|
+
children \
|
297
|
+
{ 0, _TTK_LAYOUT_END },
|
298
|
+
#define TTK_NODE(name, flags) { name, flags },
|
299
|
+
#define TTK_END_LAYOUT_TABLE { 0, _TTK_LAYOUT | _TTK_LAYOUT_END } };
|
300
|
+
|
301
|
+
#define TTK_BEGIN_LAYOUT(name) static TTKLayoutInstruction name[] = {
|
302
|
+
#define TTK_END_LAYOUT { 0, _TTK_LAYOUT_END } };
|
303
|
+
|
304
|
+
TTKAPI void Ttk_RegisterLayout(
|
305
|
+
Ttk_Theme theme, const char *className, Ttk_LayoutSpec layoutSpec);
|
306
|
+
|
307
|
+
TTKAPI void Ttk_RegisterLayouts(
|
308
|
+
Ttk_Theme theme, Ttk_LayoutSpec layoutTable);
|
309
|
+
|
310
|
+
/*------------------------------------------------------------------------
|
311
|
+
* +++ Layout instances.
|
312
|
+
*/
|
313
|
+
|
314
|
+
extern Ttk_Layout Ttk_CreateLayout(
|
315
|
+
Tcl_Interp *, Ttk_Theme, const char *name,
|
316
|
+
void *recordPtr, Tk_OptionTable, Tk_Window tkwin);
|
317
|
+
|
318
|
+
extern Ttk_Layout Ttk_CreateSublayout(
|
319
|
+
Tcl_Interp *, Ttk_Theme, Ttk_Layout, const char *name, Tk_OptionTable);
|
320
|
+
|
321
|
+
extern void Ttk_FreeLayout(Ttk_Layout);
|
322
|
+
|
323
|
+
extern void Ttk_LayoutSize(Ttk_Layout,Ttk_State,int *widthPtr,int *heightPtr);
|
324
|
+
extern void Ttk_PlaceLayout(Ttk_Layout, Ttk_State, Ttk_Box);
|
325
|
+
extern void Ttk_DrawLayout(Ttk_Layout, Ttk_State, Drawable);
|
326
|
+
|
327
|
+
extern void Ttk_RebindSublayout(Ttk_Layout, void *recordPtr);
|
328
|
+
|
329
|
+
extern Ttk_LayoutNode *Ttk_LayoutIdentify(Ttk_Layout, int x, int y);
|
330
|
+
extern Ttk_LayoutNode *Ttk_LayoutFindNode(Ttk_Layout, const char *nodeName);
|
331
|
+
|
332
|
+
extern const char *Ttk_LayoutNodeName(Ttk_LayoutNode *);
|
333
|
+
extern Ttk_Box Ttk_LayoutNodeParcel(Ttk_LayoutNode *);
|
334
|
+
extern Ttk_Box Ttk_LayoutNodeInternalParcel(Ttk_Layout,Ttk_LayoutNode *);
|
335
|
+
extern Ttk_Padding Ttk_LayoutNodeInternalPadding(Ttk_Layout,Ttk_LayoutNode *);
|
336
|
+
extern void Ttk_LayoutNodeReqSize(Ttk_Layout, Ttk_LayoutNode *, int *w, int *h);
|
337
|
+
|
338
|
+
extern void Ttk_PlaceLayoutNode(Ttk_Layout,Ttk_LayoutNode *, Ttk_Box);
|
339
|
+
extern void Ttk_ChangeElementState(Ttk_LayoutNode *,unsigned set,unsigned clr);
|
340
|
+
|
341
|
+
extern Tcl_Obj *Ttk_QueryOption(Ttk_Layout, const char *, Ttk_State);
|
342
|
+
|
343
|
+
/*------------------------------------------------------------------------
|
344
|
+
* +++ Resource cache.
|
345
|
+
* See resource.c for explanation.
|
346
|
+
*/
|
347
|
+
|
348
|
+
typedef struct Ttk_ResourceCache_ *Ttk_ResourceCache;
|
349
|
+
extern Ttk_ResourceCache Ttk_CreateResourceCache(Tcl_Interp *);
|
350
|
+
extern void Ttk_FreeResourceCache(Ttk_ResourceCache);
|
351
|
+
|
352
|
+
extern Ttk_ResourceCache Ttk_GetResourceCache(Tcl_Interp*);
|
353
|
+
extern Tcl_Obj *Ttk_UseFont(Ttk_ResourceCache, Tk_Window, Tcl_Obj *);
|
354
|
+
extern Tcl_Obj *Ttk_UseColor(Ttk_ResourceCache, Tk_Window, Tcl_Obj *);
|
355
|
+
extern Tcl_Obj *Ttk_UseBorder(Ttk_ResourceCache, Tk_Window, Tcl_Obj *);
|
356
|
+
extern Tk_Image Ttk_UseImage(Ttk_ResourceCache, Tk_Window, Tcl_Obj *);
|
357
|
+
|
358
|
+
extern void Ttk_RegisterNamedColor(Ttk_ResourceCache, const char *, XColor *);
|
359
|
+
|
360
|
+
/*------------------------------------------------------------------------
|
361
|
+
* +++ Image specifications.
|
362
|
+
*/
|
363
|
+
|
364
|
+
typedef struct TtkImageSpec Ttk_ImageSpec;
|
365
|
+
TTKAPI Ttk_ImageSpec *TtkGetImageSpec(Tcl_Interp *, Tk_Window, Tcl_Obj *);
|
366
|
+
TTKAPI void TtkFreeImageSpec(Ttk_ImageSpec *);
|
367
|
+
TTKAPI Tk_Image TtkSelectImage(Ttk_ImageSpec *, Ttk_State);
|
368
|
+
|
369
|
+
/*------------------------------------------------------------------------
|
370
|
+
* +++ Miscellaneous enumerations.
|
371
|
+
* Other stuff that element implementations need to know about.
|
372
|
+
*/
|
373
|
+
typedef enum /* -default option values */
|
374
|
+
{
|
375
|
+
TTK_BUTTON_DEFAULT_NORMAL, /* widget defaultable */
|
376
|
+
TTK_BUTTON_DEFAULT_ACTIVE, /* currently the default widget */
|
377
|
+
TTK_BUTTON_DEFAULT_DISABLED /* not defaultable */
|
378
|
+
} Ttk_ButtonDefaultState;
|
379
|
+
|
380
|
+
TTKAPI int Ttk_GetButtonDefaultStateFromObj(Tcl_Interp *, Tcl_Obj *, int *);
|
381
|
+
|
382
|
+
typedef enum /* -compound option values */
|
383
|
+
{
|
384
|
+
TTK_COMPOUND_NONE, /* image if specified, otherwise text */
|
385
|
+
TTK_COMPOUND_TEXT, /* text only */
|
386
|
+
TTK_COMPOUND_IMAGE, /* image only */
|
387
|
+
TTK_COMPOUND_CENTER, /* text overlays image */
|
388
|
+
TTK_COMPOUND_TOP, /* image above text */
|
389
|
+
TTK_COMPOUND_BOTTOM, /* image below text */
|
390
|
+
TTK_COMPOUND_LEFT, /* image to left of text */
|
391
|
+
TTK_COMPOUND_RIGHT /* image to right of text */
|
392
|
+
} Ttk_Compound;
|
393
|
+
|
394
|
+
TTKAPI int Ttk_GetCompoundFromObj(Tcl_Interp *, Tcl_Obj *, int *);
|
395
|
+
|
396
|
+
typedef enum { /* -orient option values */
|
397
|
+
TTK_ORIENT_HORIZONTAL,
|
398
|
+
TTK_ORIENT_VERTICAL
|
399
|
+
} Ttk_Orient;
|
400
|
+
|
401
|
+
/*------------------------------------------------------------------------
|
402
|
+
* +++ Stub table declarations:
|
403
|
+
*/
|
404
|
+
|
405
|
+
#include "ttkDecls.h"
|
406
|
+
|
407
|
+
/*
|
408
|
+
* Drawing utilities for theme code:
|
409
|
+
* (@@@ find a better home for this)
|
410
|
+
*/
|
411
|
+
typedef enum { ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT } ArrowDirection;
|
412
|
+
extern void TtkArrowSize(int h, ArrowDirection, int *widthPtr, int *heightPtr);
|
413
|
+
extern void TtkDrawArrow(Display *, Drawable, GC, Ttk_Box, ArrowDirection);
|
414
|
+
extern void TtkFillArrow(Display *, Drawable, GC, Ttk_Box, ArrowDirection);
|
415
|
+
|
416
|
+
#ifdef __cplusplus
|
417
|
+
}
|
418
|
+
#endif
|
419
|
+
#endif /* _TTKTHEME */
|
@@ -0,0 +1,45 @@
|
|
1
|
+
/*
|
2
|
+
* tkThemeInt.h,v 1.17 2007/12/02 04:34:31 jenglish Exp
|
3
|
+
*
|
4
|
+
* Theme engine: private definitions.
|
5
|
+
*
|
6
|
+
* Copyright (c) 2004 Joe English. Freely redistributable.
|
7
|
+
*/
|
8
|
+
|
9
|
+
#ifndef TKTHEMEINT_INCLUDED
|
10
|
+
#define TKTHEMEINT_INCLUDED 1
|
11
|
+
|
12
|
+
#include "tkTheme.h"
|
13
|
+
|
14
|
+
typedef struct Ttk_Style_ *Ttk_Style;
|
15
|
+
typedef struct Ttk_TemplateNode_ Ttk_TemplateNode, *Ttk_LayoutTemplate;
|
16
|
+
|
17
|
+
MODULE_SCOPE Ttk_ElementImpl Ttk_GetElement(Ttk_Theme theme, const char *name);
|
18
|
+
MODULE_SCOPE const char *Ttk_ElementName(Ttk_ElementImpl);
|
19
|
+
|
20
|
+
MODULE_SCOPE void Ttk_ElementSize(
|
21
|
+
Ttk_ElementImpl element, Ttk_Style, char *recordPtr, Tk_OptionTable,
|
22
|
+
Tk_Window tkwin, Ttk_State state,
|
23
|
+
int *widthPtr, int *heightPtr, Ttk_Padding*);
|
24
|
+
MODULE_SCOPE void Ttk_DrawElement(
|
25
|
+
Ttk_ElementImpl element, Ttk_Style, char *recordPtr, Tk_OptionTable,
|
26
|
+
Tk_Window tkwin, Drawable d, Ttk_Box b, Ttk_State state);
|
27
|
+
|
28
|
+
MODULE_SCOPE Tcl_Obj *Ttk_QueryStyle(
|
29
|
+
Ttk_Style, void *, Tk_OptionTable, const char *, Ttk_State state);
|
30
|
+
|
31
|
+
MODULE_SCOPE Ttk_LayoutTemplate Ttk_ParseLayoutTemplate(
|
32
|
+
Tcl_Interp *, Tcl_Obj *);
|
33
|
+
MODULE_SCOPE Tcl_Obj *Ttk_UnparseLayoutTemplate(Ttk_LayoutTemplate);
|
34
|
+
MODULE_SCOPE Ttk_LayoutTemplate Ttk_BuildLayoutTemplate(Ttk_LayoutSpec);
|
35
|
+
MODULE_SCOPE void Ttk_FreeLayoutTemplate(Ttk_LayoutTemplate);
|
36
|
+
MODULE_SCOPE void Ttk_RegisterLayoutTemplate(
|
37
|
+
Ttk_Theme theme, const char *layoutName, Ttk_LayoutTemplate);
|
38
|
+
|
39
|
+
MODULE_SCOPE Ttk_Style Ttk_GetStyle(Ttk_Theme themePtr, const char *styleName);
|
40
|
+
MODULE_SCOPE Ttk_LayoutTemplate Ttk_FindLayoutTemplate(
|
41
|
+
Ttk_Theme themePtr, const char *layoutName);
|
42
|
+
|
43
|
+
MODULE_SCOPE const char *Ttk_StyleName(Ttk_Style);
|
44
|
+
|
45
|
+
#endif /* TKTHEMEINT_INCLUDED */
|