summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorjenglish <jenglish@flightlab.com>2011-08-16 17:03:20 (GMT)
committerjenglish <jenglish@flightlab.com>2011-08-16 17:03:20 (GMT)
commit9a046cd669466105bb9bd4d137b8b227ff958448 (patch)
tree05b9d1df2025423ae5e6126bdb4947449db7a3fb /win
parentdff96aa27cdba340f38ae9fe05fd4ebb46f767c6 (diff)
downloadtk-ttk_range_widget.zip
tk-ttk_range_widget.tar.gz
tk-ttk_range_widget.tar.bz2
ttk::range widget implementation, contributed by Goodwin Lawlor [SF#3391905]ttk_range_widget
Diffstat (limited to 'win')
-rw-r--r--win/makefile.vc1
-rw-r--r--win/ttkWinXPTheme.c32
2 files changed, 33 insertions, 0 deletions
diff --git a/win/makefile.vc b/win/makefile.vc
index 14dc2d0..3e76985 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -385,6 +385,7 @@ TTK_OBJS = \
$(TMP_DIR)\ttkNotebook.obj \
$(TMP_DIR)\ttkPanedwindow.obj \
$(TMP_DIR)\ttkProgress.obj \
+ $(TMP_DIR)\ttkRange.obj \
$(TMP_DIR)\ttkScale.obj \
$(TMP_DIR)\ttkScrollbar.obj \
$(TMP_DIR)\ttkScroll.obj \
diff --git a/win/ttkWinXPTheme.c b/win/ttkWinXPTheme.c
index af6103b..33f44d0 100644
--- a/win/ttkWinXPTheme.c
+++ b/win/ttkWinXPTheme.c
@@ -339,6 +339,15 @@ static Ttk_StateTable scale_statemap[] =
{ TUS_NORMAL, 0, 0 }
};
+static Ttk_StateTable range_statemap[] =
+{
+ { TUS_DISABLED, TTK_STATE_DISABLED, 0 },
+ { TUS_PRESSED, TTK_STATE_PRESSED, 0 },
+ { TUS_FOCUSED, TTK_STATE_FOCUS, 0 },
+ { TUS_HOT, TTK_STATE_ACTIVE, 0 },
+ { TUS_NORMAL, 0, 0 }
+};
+
static Ttk_StateTable tabitem_statemap[] =
{
{ TIS_DISABLED, TTK_STATE_DISABLED, 0 },
@@ -932,6 +941,20 @@ TTK_LAYOUT("Vertical.TScale",
TTK_NODE("Vertical.Scale.track", TTK_FILL_Y)
TTK_NODE("Vertical.Scale.slider", TTK_PACK_TOP) )))
+TTK_LAYOUT("Horizontal.TRange",
+ TTK_GROUP("Range.focus", TTK_EXPAND|TTK_FILL_BOTH,
+ TTK_GROUP("Horizontal.Range.trough", TTK_EXPAND|TTK_FILL_BOTH,
+ TTK_NODE("Horizontal.Range.track", TTK_FILL_X)
+ TTK_NODE("Horizontal.Range.minslider", TTK_PACK_LEFT)
+ TTK_NODE("Horizontal.Range.maxslider", TTK_PACK_RIGHT) )))
+
+TTK_LAYOUT("Vertical.TRange",
+ TTK_GROUP("Range.focus", TTK_EXPAND|TTK_FILL_BOTH,
+ TTK_GROUP("Vertical.Range.trough", TTK_EXPAND|TTK_FILL_BOTH,
+ TTK_NODE("Vertical.Range.track", TTK_FILL_Y)
+ TTK_NODE("Vertical.Range.minslider", TTK_PACK_TOP)
+ TTK_NODE("Vertical.Range.maxslider", TTK_PACK_BOTTOM) )))
+
TTK_END_LAYOUT_TABLE
/*----------------------------------------------------------------------
@@ -991,6 +1014,14 @@ static ElementInfo ElementInfoTable[] = {
TKP_TRACK, scale_statemap, NOPAD, 0 },
{ "Vertical.Scale.track", &GenericElementSpec, L"TRACKBAR",
TKP_TRACKVERT, scale_statemap, NOPAD, 0 },
+ { "Horizontal.Range.slider", &GenericElementSpec, L"TRACKBAR",
+ TKP_THUMB, range_statemap, NOPAD, 0 },
+ { "Vertical.Range.slider", &GenericElementSpec, L"TRACKBAR",
+ TKP_THUMBVERT, range_statemap, NOPAD, 0 },
+ { "Horizontal.Range.track", &GenericElementSpec, L"TRACKBAR",
+ TKP_TRACK, range_statemap, NOPAD, 0 },
+ { "Vertical.Range.track", &GenericElementSpec, L"TRACKBAR",
+ TKP_TRACKVERT, range_statemap, NOPAD, 0 },
/* ttk::progressbar elements */
{ "Horizontal.Progressbar.pbar", &PbarElementSpec, L"PROGRESS",
PP_CHUNK, null_statemap, NOPAD, 0 },
@@ -1309,6 +1340,7 @@ MODULE_SCOPE int TtkXPTheme_Init(Tcl_Interp *interp, HWND hwnd)
}
Ttk_RegisterElementSpec(themePtr, "Scale.trough", &ttkNullElementSpec, 0);
+ Ttk_RegisterElementSpec(themePtr, "Range.trough", &ttkNullElementSpec, 0);
/*
* Layouts: