diff options
author | jenglish <jenglish@flightlab.com> | 2011-08-16 17:03:20 (GMT) |
---|---|---|
committer | jenglish <jenglish@flightlab.com> | 2011-08-16 17:03:20 (GMT) |
commit | 9a046cd669466105bb9bd4d137b8b227ff958448 (patch) | |
tree | 05b9d1df2025423ae5e6126bdb4947449db7a3fb /win | |
parent | dff96aa27cdba340f38ae9fe05fd4ebb46f767c6 (diff) | |
download | tk-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.vc | 1 | ||||
-rw-r--r-- | win/ttkWinXPTheme.c | 32 |
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: |