diff options
Diffstat (limited to 'generic/ttk')
-rw-r--r-- | generic/ttk/ttkButton.c | 52 | ||||
-rw-r--r-- | generic/ttk/ttkClamTheme.c | 56 | ||||
-rw-r--r-- | generic/ttk/ttkClassicTheme.c | 25 | ||||
-rw-r--r-- | generic/ttk/ttkDefaultTheme.c | 5 | ||||
-rw-r--r-- | generic/ttk/ttkElements.c | 264 | ||||
-rw-r--r-- | generic/ttk/ttkFrame.c | 17 | ||||
-rw-r--r-- | generic/ttk/ttkScale.c | 17 | ||||
-rw-r--r-- | generic/ttk/ttkScrollbar.c | 25 | ||||
-rw-r--r-- | generic/ttk/ttkSeparator.c | 15 | ||||
-rw-r--r-- | generic/ttk/ttkSquare.c | 17 | ||||
-rw-r--r-- | generic/ttk/ttkTheme.h | 4 | ||||
-rw-r--r-- | generic/ttk/ttkTreeview.c | 4 |
12 files changed, 230 insertions, 271 deletions
diff --git a/generic/ttk/ttkButton.c b/generic/ttk/ttkButton.c index 48dcea0..3c1651d 100644 --- a/generic/ttk/ttkButton.c +++ b/generic/ttk/ttkButton.c @@ -1,4 +1,4 @@ -/* $Id: ttkButton.c,v 1.6 2007/01/11 14:49:46 jenglish Exp $ +/* $Id: ttkButton.c,v 1.7 2007/10/25 07:08:26 jenglish Exp $ * Copyright (c) 2003, Joe English * * label, button, checkbutton, radiobutton, and menubutton widgets. @@ -194,9 +194,8 @@ BasePostConfigure(Tcl_Interp *interp, void *recordPtr, int mask) return status; } - /*------------------------------------------------------------------------ - * +++ Label widget: + * +++ Label widget. * Just a base widget that adds a few appearance-related options */ @@ -275,6 +274,12 @@ static WidgetSpec LabelWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(LabelLayout) + TTK_GROUP("Label.border", TTK_FILL_BOTH|TTK_BORDER, + TTK_GROUP("Label.padding", TTK_FILL_BOTH|TTK_BORDER, + TTK_NODE("Label.label", TTK_FILL_BOTH))) +TTK_END_LAYOUT + /*------------------------------------------------------------------------ * +++ Button widget. * Adds a new subcommand "invoke", and options "-command" and "-default" @@ -377,6 +382,13 @@ static WidgetSpec ButtonWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(ButtonLayout) + TTK_GROUP("Button.border", TTK_FILL_BOTH|TTK_BORDER, + TTK_GROUP("Button.focus", TTK_FILL_BOTH, + TTK_GROUP("Button.padding", TTK_FILL_BOTH, + TTK_NODE("Button.label", TTK_FILL_BOTH)))) +TTK_END_LAYOUT + /*------------------------------------------------------------------------ * +++ Checkbutton widget. */ @@ -569,6 +581,13 @@ static WidgetSpec CheckbuttonWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(CheckbuttonLayout) + TTK_GROUP("Checkbutton.padding", TTK_FILL_BOTH, + TTK_NODE("Checkbutton.indicator", TTK_PACK_LEFT) + TTK_GROUP("Checkbutton.focus", TTK_PACK_LEFT | TTK_STICK_W, + TTK_NODE("Checkbutton.label", TTK_FILL_BOTH))) +TTK_END_LAYOUT + /*------------------------------------------------------------------------ * +++ Radiobutton widget. */ @@ -740,6 +759,13 @@ static WidgetSpec RadiobuttonWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(RadiobuttonLayout) + TTK_GROUP("Radiobutton.padding", TTK_FILL_BOTH, + TTK_NODE("Radiobutton.indicator", TTK_PACK_LEFT) + TTK_GROUP("Radiobutton.focus", TTK_PACK_LEFT, + TTK_NODE("Radiobutton.label", TTK_FILL_BOTH))) +TTK_END_LAYOUT + /*------------------------------------------------------------------------ * +++ Menubutton widget. */ @@ -802,13 +828,29 @@ static WidgetSpec MenubuttonWidgetSpec = TtkWidgetDisplay /* displayProc */ }; -/* - * Initialization: +TTK_BEGIN_LAYOUT(MenubuttonLayout) + TTK_GROUP("Menubutton.border", TTK_FILL_BOTH, + TTK_GROUP("Menubutton.focus", TTK_FILL_BOTH, + TTK_NODE("Menubutton.indicator", TTK_PACK_RIGHT) + TTK_GROUP("Menubutton.padding", TTK_PACK_LEFT|TTK_EXPAND|TTK_FILL_X, + TTK_NODE("Menubutton.label", TTK_PACK_LEFT)))) +TTK_END_LAYOUT + +/*------------------------------------------------------------------------ + * +++ Initialization. */ MODULE_SCOPE void TtkButton_Init(Tcl_Interp *interp) { + Ttk_Theme theme = Ttk_GetDefaultTheme(interp); + + Ttk_RegisterLayout(theme, "TLabel", LabelLayout); + Ttk_RegisterLayout(theme, "TButton", ButtonLayout); + Ttk_RegisterLayout(theme, "TCheckbutton", CheckbuttonLayout); + Ttk_RegisterLayout(theme, "TRadiobutton", RadiobuttonLayout); + Ttk_RegisterLayout(theme, "TMenubutton", MenubuttonLayout); + RegisterWidget(interp, "ttk::label", &LabelWidgetSpec); RegisterWidget(interp, "ttk::button", &ButtonWidgetSpec); RegisterWidget(interp, "ttk::checkbutton", &CheckbuttonWidgetSpec); diff --git a/generic/ttk/ttkClamTheme.c b/generic/ttk/ttkClamTheme.c index f64b138..1ce75e0 100644 --- a/generic/ttk/ttkClamTheme.c +++ b/generic/ttk/ttkClamTheme.c @@ -1,10 +1,9 @@ /* - * $Id: ttkClamTheme.c,v 1.5 2007/01/11 19:59:26 jenglish Exp $ + * $Id: ttkClamTheme.c,v 1.6 2007/10/25 07:08:26 jenglish Exp $ * * Copyright (C) 2004 Joe English * - * Ttk widget set: another theme engine. - * Inspired by the XFCE family of Gnome themes. + * "clam" theme; inspired by the XFCE family of Gnome themes. */ #include <tk.h> @@ -131,7 +130,7 @@ static Ttk_ElementOptionSpec BorderElementOptions[] = { * the excess is used as padding. */ -static void BorderElementGeometry( +static void BorderElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -184,7 +183,7 @@ static Ttk_ElementSpec BorderElementSpec = { TK_STYLE_VERSION_2, sizeof(BorderElement), BorderElementOptions, - BorderElementGeometry, + BorderElementSize, BorderElementDraw }; @@ -211,7 +210,7 @@ static Ttk_ElementOptionSpec FieldElementOptions[] = { {0,0,0} }; -static void FieldElementGeometry( +static void FieldElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -237,7 +236,7 @@ static Ttk_ElementSpec FieldElementSpec = { TK_STYLE_VERSION_2, sizeof(FieldElement), FieldElementOptions, - FieldElementGeometry, + FieldElementSize, FieldElementDraw }; @@ -264,7 +263,7 @@ static Ttk_ElementSpec ComboboxFieldElementSpec = { TK_STYLE_VERSION_2, sizeof(FieldElement), FieldElementOptions, - FieldElementGeometry, + FieldElementSize, ComboboxFieldElementDraw }; @@ -297,8 +296,7 @@ static Ttk_ElementOptionSpec IndicatorElementOptions[] = { {0,0,0} }; -static void -IndicatorElementGeometry( +static void IndicatorElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -309,8 +307,7 @@ IndicatorElementGeometry( *widthPtr = *heightPtr = size; } -static void -RadioIndicatorElementDraw( +static void RadioIndicatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned state) { @@ -338,8 +335,7 @@ RadioIndicatorElementDraw( } } -static void -CheckIndicatorElementDraw( +static void CheckIndicatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned state) { @@ -383,7 +379,7 @@ static Ttk_ElementSpec RadioIndicatorElementSpec = { TK_STYLE_VERSION_2, sizeof(IndicatorElement), IndicatorElementOptions, - IndicatorElementGeometry, + IndicatorElementSize, RadioIndicatorElementDraw }; @@ -391,7 +387,7 @@ static Ttk_ElementSpec CheckIndicatorElementSpec = { TK_STYLE_VERSION_2, sizeof(IndicatorElement), IndicatorElementOptions, - IndicatorElementGeometry, + IndicatorElementSize, CheckIndicatorElementDraw }; @@ -594,11 +590,11 @@ static Ttk_ElementSpec TroughElementSpec = { TK_STYLE_VERSION_2, sizeof(ScrollbarElement), ScrollbarElementOptions, - TtkNullElementGeometry, + TtkNullElementSize, TroughElementDraw }; -static void ThumbElementGeometry( +static void ThumbElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -656,14 +652,14 @@ static Ttk_ElementSpec ThumbElementSpec = { TK_STYLE_VERSION_2, sizeof(ScrollbarElement), ScrollbarElementOptions, - ThumbElementGeometry, + ThumbElementSize, ThumbElementDraw }; /*------------------------------------------------------------------------ * +++ Slider element. */ -static void SliderElementGeometry( +static void SliderElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -688,18 +684,18 @@ static Ttk_ElementSpec SliderElementSpec = { TK_STYLE_VERSION_2, sizeof(ScrollbarElement), ScrollbarElementOptions, - SliderElementGeometry, + SliderElementSize, ThumbElementDraw }; /*------------------------------------------------------------------------ * +++ Progress bar element */ -static void PbarElementGeometry( +static void PbarElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { - SliderElementGeometry(clientData, elementRecord, tkwin, + SliderElementSize(clientData, elementRecord, tkwin, widthPtr, heightPtr, paddingPtr); *paddingPtr = Ttk_UniformPadding(2); } @@ -724,7 +720,7 @@ static Ttk_ElementSpec PbarElementSpec = { TK_STYLE_VERSION_2, sizeof(ScrollbarElement), ScrollbarElementOptions, - PbarElementGeometry, + PbarElementSize, PbarElementDraw }; @@ -734,7 +730,7 @@ static Ttk_ElementSpec PbarElementSpec = { */ static int ArrowElements[] = { ARROW_UP, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT }; -static void ArrowElementGeometry( +static void ArrowElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -772,7 +768,7 @@ static Ttk_ElementSpec ArrowElementSpec = { TK_STYLE_VERSION_2, sizeof(ScrollbarElement), ScrollbarElementOptions, - ArrowElementGeometry, + ArrowElementSize, ArrowElementDraw }; @@ -803,7 +799,7 @@ static Ttk_ElementOptionSpec NotebookElementOptions[] = { {0,0,0} }; -static void TabElementGeometry( +static void TabElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -854,11 +850,11 @@ static Ttk_ElementSpec TabElementSpec = TK_STYLE_VERSION_2, sizeof(NotebookElement), NotebookElementOptions, - TabElementGeometry, + TabElementSize, TabElementDraw }; -static void ClientElementGeometry( +static void ClientElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -885,7 +881,7 @@ static Ttk_ElementSpec ClientElementSpec = TK_STYLE_VERSION_2, sizeof(NotebookElement), NotebookElementOptions, - ClientElementGeometry, + ClientElementSize, ClientElementDraw }; diff --git a/generic/ttk/ttkClassicTheme.c b/generic/ttk/ttkClassicTheme.c index 19164aa..c37b62e 100644 --- a/generic/ttk/ttkClassicTheme.c +++ b/generic/ttk/ttkClassicTheme.c @@ -1,11 +1,9 @@ /* - * $Id: ttkClassicTheme.c,v 1.3 2006/11/07 03:45:27 jenglish Exp $ + * $Id: ttkClassicTheme.c,v 1.4 2007/10/25 07:08:26 jenglish Exp $ * * Copyright (c) 2004, Joe English * - * Ttk widget set: classic theme. - * - * Implements the "classic" Motif-like Tk look. + * "classic" theme; implements the classic Motif-like Tk look. * */ @@ -35,10 +33,9 @@ static Ttk_ElementOptionSpec HighlightElementOptions[] = { {NULL} }; -static void -HighlightElementSize( - void *clientData, void *elementRecord, - Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) +static void HighlightElementSize( + void *clientData, void *elementRecord, Tk_Window tkwin, + int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { HighlightElement *hl = elementRecord; int highlightThickness = 0; @@ -47,9 +44,9 @@ HighlightElementSize( *paddingPtr = Ttk_UniformPadding((short)highlightThickness); } -static void -HighlightElementDraw(void *clientData, void *elementRecord, - Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) +static void HighlightElementDraw( + void *clientData, void *elementRecord, Tk_Window tkwin, + Drawable d, Ttk_Box b, unsigned int state) { HighlightElement *hl = elementRecord; int highlightThickness = 0; @@ -101,8 +98,7 @@ static Ttk_ElementOptionSpec ButtonBorderElementOptions[] = {NULL} }; -static void -ButtonBorderElementSize( +static void ButtonBorderElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -124,8 +120,7 @@ ButtonBorderElementSize( * padding for default ring is drawn in the wrong color * when the button is active.) */ -static void -ButtonBorderElementDraw( +static void ButtonBorderElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { diff --git a/generic/ttk/ttkDefaultTheme.c b/generic/ttk/ttkDefaultTheme.c index ec3ad93..f73abd8 100644 --- a/generic/ttk/ttkDefaultTheme.c +++ b/generic/ttk/ttkDefaultTheme.c @@ -1,4 +1,4 @@ -/* $Id: ttkDefaultTheme.c,v 1.7 2007/01/11 19:59:26 jenglish Exp $ +/* $Id: ttkDefaultTheme.c,v 1.8 2007/10/25 07:08:26 jenglish Exp $ * * Copyright (c) 2003, Joe English * @@ -276,8 +276,7 @@ static void BorderElementSize( *paddingPtr = Ttk_UniformPadding((short)borderWidth); } -static void -BorderElementDraw( +static void BorderElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { diff --git a/generic/ttk/ttkElements.c b/generic/ttk/ttkElements.c index 3c5c4c8..958122c 100644 --- a/generic/ttk/ttkElements.c +++ b/generic/ttk/ttkElements.c @@ -1,4 +1,4 @@ -/* $Id: ttkElements.c,v 1.6 2007/01/11 19:59:26 jenglish Exp $ +/* $Id: ttkElements.c,v 1.7 2007/10/25 07:08:26 jenglish Exp $ * * Copyright (c) 2003, Joe English * @@ -25,7 +25,7 @@ /* public */ Ttk_ElementOptionSpec TtkNullElementOptions[] = { {NULL} }; /* public */ void -TtkNullElementGeometry( +TtkNullElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -43,7 +43,7 @@ TtkNullElementDraw( TK_STYLE_VERSION_2, sizeof(NullElement), TtkNullElementOptions, - TtkNullElementGeometry, + TtkNullElementSize, TtkNullElementDraw }; @@ -67,15 +67,13 @@ static Ttk_ElementOptionSpec BackgroundElementOptions[] = {NULL} }; -static void -BackgroundElementGeometry( +static void BackgroundElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { } -static void -BackgroundElementDraw( +static void BackgroundElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -92,7 +90,7 @@ static Ttk_ElementSpec BackgroundElementSpec = TK_STYLE_VERSION_2, sizeof(BackgroundElement), BackgroundElementOptions, - BackgroundElementGeometry, + BackgroundElementSize, BackgroundElementDraw }; @@ -108,17 +106,16 @@ typedef struct { static Ttk_ElementOptionSpec BorderElementOptions[] = { - { "-background", TK_OPTION_BORDER, + { "-background", TK_OPTION_BORDER, Tk_Offset(BorderElement,borderObj), DEFAULT_BACKGROUND }, - { "-borderwidth", TK_OPTION_PIXELS, + { "-borderwidth", TK_OPTION_PIXELS, Tk_Offset(BorderElement,borderWidthObj), DEFAULT_BORDERWIDTH }, - { "-relief", TK_OPTION_RELIEF, + { "-relief", TK_OPTION_RELIEF, Tk_Offset(BorderElement,reliefObj), "flat" }, {NULL} }; -static void -BorderElementGeometry( +static void BorderElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -128,8 +125,7 @@ BorderElementGeometry( *paddingPtr = Ttk_UniformPadding((short)borderWidth); } -static void -BorderElementDraw( +static void BorderElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -152,7 +148,7 @@ static Ttk_ElementSpec BorderElementSpec = TK_STYLE_VERSION_2, sizeof(BorderElement), BorderElementOptions, - BorderElementGeometry, + BorderElementSize, BorderElementDraw }; @@ -173,8 +169,7 @@ static Ttk_ElementOptionSpec FieldElementOptions[] = { {NULL} }; -static void -FieldElementGeometry( +static void FieldElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -184,8 +179,7 @@ FieldElementGeometry( *paddingPtr = Ttk_UniformPadding((short)borderWidth); } -static void -FieldElementDraw( +static void FieldElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -203,7 +197,7 @@ static Ttk_ElementSpec FieldElementSpec = TK_STYLE_VERSION_2, sizeof(FieldElement), FieldElementOptions, - FieldElementGeometry, + FieldElementSize, FieldElementDraw }; @@ -213,7 +207,7 @@ static Ttk_ElementSpec FieldElementSpec = * * This element has no visual representation, only geometry. * It adds a (possibly non-uniform) internal border. - * In addition, if "-shiftrelief" is specified, + * In addition, if "-shiftrelief" is specified, * adds additional pixels to shift child elements "in" or "out" * depending on the -relief. */ @@ -235,8 +229,7 @@ static Ttk_ElementOptionSpec PaddingElementOptions[] = {NULL} }; -static void -PaddingElementGeometry( +static void PaddingElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -251,8 +244,7 @@ PaddingElementGeometry( *paddingPtr = Ttk_RelievePadding(pad, relief, shiftRelief); } -static void -PaddingElementDraw( +static void PaddingElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -264,7 +256,7 @@ static Ttk_ElementSpec PaddingElementSpec = TK_STYLE_VERSION_2, sizeof(PaddingElement), PaddingElementOptions, - PaddingElementGeometry, + PaddingElementSize, PaddingElementDraw }; @@ -309,8 +301,7 @@ static Ttk_ElementOptionSpec FocusElementOptions[] = { {NULL} }; -static void -FocusElementGeometry( +static void FocusElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -321,8 +312,7 @@ FocusElementGeometry( *paddingPtr = Ttk_UniformPadding((short)focusThickness); } -static void -FocusElementDraw( +static void FocusElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -340,7 +330,7 @@ static Ttk_ElementSpec FocusElementSpec = TK_STYLE_VERSION_2, sizeof(FocusElement), FocusElementOptions, - FocusElementGeometry, + FocusElementSize, FocusElementDraw }; @@ -366,16 +356,14 @@ static Ttk_ElementOptionSpec SeparatorElementOptions[] = {NULL} }; -static void -SeparatorElementGeometry( +static void SeparatorElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { *widthPtr = *heightPtr = 2; } -static void -HorizontalSeparatorElementDraw( +static void HorizontalSeparatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -388,8 +376,7 @@ HorizontalSeparatorElementDraw( XDrawLine(Tk_Display(tkwin), d, lightGC, b.x, b.y+1, b.x + b.width, b.y+1); } -static void -VerticalSeparatorElementDraw( +static void VerticalSeparatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -402,8 +389,7 @@ VerticalSeparatorElementDraw( XDrawLine(Tk_Display(tkwin), d, lightGC, b.x+1, b.y, b.x+1, b.y+b.height); } -static void -GeneralSeparatorElementDraw( +static void GeneralSeparatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -427,7 +413,7 @@ static Ttk_ElementSpec HorizontalSeparatorElementSpec = TK_STYLE_VERSION_2, sizeof(SeparatorElement), SeparatorElementOptions, - SeparatorElementGeometry, + SeparatorElementSize, HorizontalSeparatorElementDraw }; @@ -436,7 +422,7 @@ static Ttk_ElementSpec VerticalSeparatorElementSpec = TK_STYLE_VERSION_2, sizeof(SeparatorElement), SeparatorElementOptions, - SeparatorElementGeometry, + SeparatorElementSize, HorizontalSeparatorElementDraw }; @@ -445,7 +431,7 @@ static Ttk_ElementSpec SeparatorElementSpec = TK_STYLE_VERSION_2, sizeof(SeparatorElement), SeparatorElementOptions, - SeparatorElementGeometry, + SeparatorElementSize, GeneralSeparatorElementDraw }; @@ -540,8 +526,7 @@ static Ttk_ElementOptionSpec IndicatorElementOptions[] = /* * Checkbutton indicators (default): 3-D square. */ -static void -SquareIndicatorElementGeometry( +static void SquareIndicatorElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -552,8 +537,7 @@ SquareIndicatorElementGeometry( *widthPtr = *heightPtr = diameter; } -static void -SquareIndicatorElementDraw( +static void SquareIndicatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -582,8 +566,7 @@ SquareIndicatorElementDraw( /* * Radiobutton indicators: 3-D diamond. */ -static void -DiamondIndicatorElementGeometry( +static void DiamondIndicatorElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -594,8 +577,7 @@ DiamondIndicatorElementGeometry( *widthPtr = *heightPtr = diameter + 3; } -static void -DiamondIndicatorElementDraw( +static void DiamondIndicatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -636,7 +618,7 @@ static Ttk_ElementSpec CheckbuttonIndicatorElementSpec = TK_STYLE_VERSION_2, sizeof(IndicatorElement), IndicatorElementOptions, - SquareIndicatorElementGeometry, + SquareIndicatorElementSize, SquareIndicatorElementDraw }; @@ -645,7 +627,7 @@ static Ttk_ElementSpec RadiobuttonIndicatorElementSpec = TK_STYLE_VERSION_2, sizeof(IndicatorElement), IndicatorElementOptions, - DiamondIndicatorElementGeometry, + DiamondIndicatorElementSize, DiamondIndicatorElementDraw }; @@ -686,8 +668,7 @@ static Ttk_ElementOptionSpec MenuIndicatorElementOptions[] = { NULL } }; -static void -MenuIndicatorElementGeometry( +static void MenuIndicatorElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -697,8 +678,7 @@ MenuIndicatorElementGeometry( Ttk_GetPaddingFromObj(NULL,tkwin,mi->marginObj,paddingPtr); } -static void -MenuIndicatorElementDraw( +static void MenuIndicatorElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -719,7 +699,7 @@ static Ttk_ElementSpec MenuIndicatorElementSpec = TK_STYLE_VERSION_2, sizeof(MenuIndicatorElement), MenuIndicatorElementOptions, - MenuIndicatorElementGeometry, + MenuIndicatorElementSize, MenuIndicatorElementDraw }; @@ -742,7 +722,7 @@ typedef struct static Ttk_ElementOptionSpec ArrowElementOptions[] = { - { "-background", TK_OPTION_BORDER, + { "-background", TK_OPTION_BORDER, Tk_Offset(ArrowElement,borderObj), DEFAULT_BACKGROUND }, { "-relief",TK_OPTION_RELIEF, Tk_Offset(ArrowElement,reliefObj),"raised"}, @@ -750,15 +730,14 @@ static Ttk_ElementOptionSpec ArrowElementOptions[] = Tk_Offset(ArrowElement,borderWidthObj), "1" }, { "-arrowcolor",TK_OPTION_COLOR, Tk_Offset(ArrowElement,colorObj),"black"}, - { "-arrowsize", TK_OPTION_PIXELS, + { "-arrowsize", TK_OPTION_PIXELS, Tk_Offset(ArrowElement,sizeObj), "14" }, { NULL } }; static Ttk_Padding ArrowPadding = { 3,3,3,3 }; -static void -ArrowElementGeometry( +static void ArrowElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -772,8 +751,7 @@ ArrowElementGeometry( *paddingPtr = ArrowPadding; } -static void -ArrowElementDraw( +static void ArrowElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -798,11 +776,10 @@ static Ttk_ElementSpec ArrowElementSpec = TK_STYLE_VERSION_2, sizeof(ArrowElement), ArrowElementOptions, - ArrowElementGeometry, + ArrowElementSize, ArrowElementDraw }; - /*---------------------------------------------------------------------- * +++ Trough element. * @@ -827,8 +804,7 @@ static Ttk_ElementOptionSpec TroughElementOptions[] = { NULL } }; -static void -TroughElementGeometry( +static void TroughElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -839,8 +815,7 @@ TroughElementGeometry( *paddingPtr = Ttk_UniformPadding((short)borderWidth); } -static void -TroughElementDraw( +static void TroughElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -861,7 +836,7 @@ static Ttk_ElementSpec TroughElementSpec = TK_STYLE_VERSION_2, sizeof(TroughElement), TroughElementOptions, - TroughElementGeometry, + TroughElementSize, TroughElementDraw }; @@ -896,8 +871,7 @@ static Ttk_ElementOptionSpec ThumbElementOptions[] = { NULL } }; -static void -ThumbElementGeometry( +static void ThumbElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -916,8 +890,7 @@ ThumbElementGeometry( } } -static void -ThumbElementDraw( +static void ThumbElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -936,7 +909,7 @@ static Ttk_ElementSpec ThumbElementSpec = TK_STYLE_VERSION_2, sizeof(ThumbElement), ThumbElementOptions, - ThumbElementGeometry, + ThumbElementSize, ThumbElementDraw }; @@ -974,8 +947,7 @@ static Ttk_ElementOptionSpec SliderElementOptions[] = { NULL } }; -static void -SliderElementGeometry( +static void SliderElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -999,8 +971,7 @@ SliderElementGeometry( } } -static void -SliderElementDraw( +static void SliderElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -1047,7 +1018,7 @@ static Ttk_ElementSpec SliderElementSpec = TK_STYLE_VERSION_2, sizeof(SliderElement), SliderElementOptions, - SliderElementGeometry, + SliderElementSize, SliderElementDraw }; @@ -1057,7 +1028,7 @@ static Ttk_ElementSpec SliderElementSpec = * * -thickness specifies the size along the short axis of the bar. * -length specifies the default size along the long axis; - * the bar will be this long in indeterminate mode. + * the bar will be this long in indeterminate mode. */ #define DEFAULT_PBAR_THICKNESS "15" @@ -1090,7 +1061,7 @@ static Ttk_ElementOptionSpec PbarElementOptions[] = { NULL } }; -static void PbarElementGeometry( +static void PbarElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -1136,7 +1107,7 @@ static Ttk_ElementSpec PbarElementSpec = { TK_STYLE_VERSION_2, sizeof(PbarElement), PbarElementOptions, - PbarElementGeometry, + PbarElementSize, PbarElementDraw }; @@ -1157,8 +1128,7 @@ static Ttk_ElementOptionSpec TabElementOptions[] = { {0,0,0,0} }; -static void -TabElementGeometry( +static void TabElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -1169,8 +1139,7 @@ TabElementGeometry( paddingPtr->bottom = 0; } -static void -TabElementDraw( +static void TabElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -1227,7 +1196,7 @@ static Ttk_ElementSpec TabElementSpec = TK_STYLE_VERSION_2, sizeof(TabElement), TabElementOptions, - TabElementGeometry, + TabElementSize, TabElementDraw }; @@ -1238,8 +1207,7 @@ static Ttk_ElementSpec TabElementSpec = typedef TabElement ClientElement; #define ClientElementOptions TabElementOptions -static void -ClientElementDraw( +static void ClientElementDraw( void *clientData, void *elementRecord, Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) { @@ -1253,8 +1221,7 @@ ClientElementDraw( b.x, b.y, b.width, b.height, borderWidth,TK_RELIEF_RAISED); } -static void -ClientElementGeometry( +static void ClientElementSize( void *clientData, void *elementRecord, Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { @@ -1269,97 +1236,13 @@ static Ttk_ElementSpec ClientElementSpec = TK_STYLE_VERSION_2, sizeof(ClientElement), ClientElementOptions, - ClientElementGeometry, + ClientElementSize, ClientElementDraw }; - -/*------------------------------------------------------------------------ - * +++ Widget layouts. - */ - -TTK_BEGIN_LAYOUT(FrameLayout) - TTK_NODE("Frame.border", TTK_FILL_BOTH) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(LabelframeLayout) - /* Note: labelframe widget does its own layout */ - TTK_NODE("Labelframe.border", TTK_FILL_BOTH) - TTK_NODE("Labelframe.text", TTK_FILL_BOTH) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(LabelLayout) - TTK_GROUP("Label.border", TTK_FILL_BOTH|TTK_BORDER, - TTK_GROUP("Label.padding", TTK_FILL_BOTH|TTK_BORDER, - TTK_NODE("Label.label", TTK_FILL_BOTH))) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(ButtonLayout) - TTK_GROUP("Button.border", TTK_FILL_BOTH|TTK_BORDER, - TTK_GROUP("Button.focus", TTK_FILL_BOTH, - TTK_GROUP("Button.padding", TTK_FILL_BOTH, - TTK_NODE("Button.label", TTK_FILL_BOTH)))) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(CheckbuttonLayout) - TTK_GROUP("Checkbutton.padding", TTK_FILL_BOTH, - TTK_NODE("Checkbutton.indicator", TTK_PACK_LEFT) - TTK_GROUP("Checkbutton.focus", TTK_PACK_LEFT | TTK_STICK_W, - TTK_NODE("Checkbutton.label", TTK_FILL_BOTH))) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(RadiobuttonLayout) - TTK_GROUP("Radiobutton.padding", TTK_FILL_BOTH, - TTK_NODE("Radiobutton.indicator", TTK_PACK_LEFT) - TTK_GROUP("Radiobutton.focus", TTK_PACK_LEFT, - TTK_NODE("Radiobutton.label", TTK_FILL_BOTH))) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(MenubuttonLayout) - TTK_GROUP("Menubutton.border", TTK_FILL_BOTH, - TTK_GROUP("Menubutton.focus", TTK_FILL_BOTH, - TTK_NODE("Menubutton.indicator", TTK_PACK_RIGHT) - TTK_GROUP("Menubutton.padding", TTK_PACK_LEFT|TTK_EXPAND|TTK_FILL_X, - TTK_NODE("Menubutton.label", TTK_PACK_LEFT)))) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(VerticalScrollbarLayout) - TTK_GROUP("Vertical.Scrollbar.trough", TTK_FILL_Y, - TTK_NODE("Vertical.Scrollbar.uparrow", TTK_PACK_TOP) - TTK_NODE("Vertical.Scrollbar.downarrow", TTK_PACK_BOTTOM) - TTK_NODE( - "Vertical.Scrollbar.thumb", TTK_PACK_TOP|TTK_EXPAND|TTK_FILL_BOTH)) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(HorizontalScrollbarLayout) - TTK_GROUP("Horizontal.Scrollbar.trough", TTK_FILL_X, - TTK_NODE("Horizontal.Scrollbar.leftarrow", TTK_PACK_LEFT) - TTK_NODE("Horizontal.Scrollbar.rightarrow", TTK_PACK_RIGHT) - TTK_NODE( - "Horizontal.Scrollbar.thumb", TTK_PACK_LEFT|TTK_EXPAND|TTK_FILL_BOTH)) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(VerticalScaleLayout) - TTK_GROUP("Vertical.Scale.trough", TTK_FILL_BOTH, - TTK_NODE("Vertical.Scale.slider", TTK_PACK_TOP) ) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(HorizontalScaleLayout) - TTK_GROUP("Horizontal.Scale.trough", TTK_FILL_BOTH, - TTK_NODE("Horizontal.Scale.slider", TTK_PACK_LEFT) ) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(SeparatorLayout) - TTK_NODE("Separator.separator", TTK_FILL_BOTH) -TTK_END_LAYOUT - -TTK_BEGIN_LAYOUT(SizegripLayout) - TTK_NODE("Sizegrip.sizegrip", TTK_PACK_BOTTOM|TTK_STICK_S|TTK_STICK_E) -TTK_END_LAYOUT - /*---------------------------------------------------------------------- * TtkElements_Init -- - * Register elements and default layouts. + * Register default element implementations. */ MODULE_SCOPE @@ -1406,9 +1289,9 @@ void TtkElements_Init(Tcl_Interp *interp) Ttk_RegisterElement(interp, theme, "separator", &SeparatorElementSpec, NULL); - Ttk_RegisterElement(interp, theme, "hseparator", + Ttk_RegisterElement(interp, theme, "hseparator", &HorizontalSeparatorElementSpec, NULL); - Ttk_RegisterElement(interp, theme, "vseparator", + Ttk_RegisterElement(interp, theme, "vseparator", &VerticalSeparatorElementSpec, NULL); Ttk_RegisterElement(interp, theme, "sizegrip", &SizegripElementSpec, NULL); @@ -1417,25 +1300,6 @@ void TtkElements_Init(Tcl_Interp *interp) Ttk_RegisterElement(interp, theme, "client", &ClientElementSpec, NULL); /* - * Layouts: - */ - Ttk_RegisterLayout(theme, "TFrame", FrameLayout); - Ttk_RegisterLayout(theme, "TLabelframe", LabelframeLayout); - Ttk_RegisterLayout(theme, "TLabel", LabelLayout); - Ttk_RegisterLayout(theme, "TButton", ButtonLayout); - Ttk_RegisterLayout(theme, "TCheckbutton", CheckbuttonLayout); - Ttk_RegisterLayout(theme, "TRadiobutton", RadiobuttonLayout); - Ttk_RegisterLayout(theme, "TMenubutton", MenubuttonLayout); - Ttk_RegisterLayout(theme, - "Vertical.TScrollbar", VerticalScrollbarLayout); - Ttk_RegisterLayout(theme, - "Horizontal.TScrollbar", HorizontalScrollbarLayout); - Ttk_RegisterLayout(theme, "Vertical.TScale", VerticalScaleLayout); - Ttk_RegisterLayout(theme, "Horizontal.TScale", HorizontalScaleLayout); - Ttk_RegisterLayout(theme, "TSeparator", SeparatorLayout); - Ttk_RegisterLayout(theme, "TSizegrip", SizegripLayout); - - /* * Register "default" as a user-loadable theme (for now): */ Tcl_PkgProvide(interp, "ttk::theme::default", TTK_VERSION); diff --git a/generic/ttk/ttkFrame.c b/generic/ttk/ttkFrame.c index 08f1f7f..b6f8fe8 100644 --- a/generic/ttk/ttkFrame.c +++ b/generic/ttk/ttkFrame.c @@ -1,4 +1,4 @@ -/* $Id: ttkFrame.c,v 1.6 2007/06/09 21:45:44 jenglish Exp $ +/* $Id: ttkFrame.c,v 1.7 2007/10/25 07:08:26 jenglish Exp $ * Copyright (c) 2004, Joe English * * ttk::frame and ttk::labelframe widgets. @@ -165,6 +165,10 @@ static WidgetSpec FrameWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(FrameLayout) + TTK_NODE("Frame.border", TTK_FILL_BOTH) +TTK_END_LAYOUT + /* ====================================================================== * +++ Labelframe widget: */ @@ -587,6 +591,11 @@ static WidgetSpec LabelframeWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(LabelframeLayout) + TTK_NODE("Labelframe.border", TTK_FILL_BOTH) + TTK_NODE("Labelframe.text", TTK_FILL_BOTH) +TTK_END_LAYOUT + /* ====================================================================== * +++ Initialization: */ @@ -594,6 +603,12 @@ static WidgetSpec LabelframeWidgetSpec = MODULE_SCOPE void TtkFrame_Init(Tcl_Interp *interp) { + Ttk_Theme theme = Ttk_GetDefaultTheme(interp); + + Ttk_RegisterLayout(theme, "TFrame", FrameLayout); + Ttk_RegisterLayout(theme, "TLabelframe", LabelframeLayout); + RegisterWidget(interp, "ttk::frame", &FrameWidgetSpec); RegisterWidget(interp, "ttk::labelframe", &LabelframeWidgetSpec); } + diff --git a/generic/ttk/ttkScale.c b/generic/ttk/ttkScale.c index 1f32d13..063116d 100644 --- a/generic/ttk/ttkScale.c +++ b/generic/ttk/ttkScale.c @@ -1,4 +1,4 @@ -/* $Id: ttkScale.c,v 1.5 2007/01/11 14:49:47 jenglish Exp $ +/* $Id: ttkScale.c,v 1.6 2007/10/25 07:08:26 jenglish Exp $ * Copyright (C) 2004 Pat Thoyts <patthoyts@users.sourceforge.net> * * ttk::scale widget. @@ -501,12 +501,27 @@ static WidgetSpec ScaleWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(VerticalScaleLayout) + TTK_GROUP("Vertical.Scale.trough", TTK_FILL_BOTH, + TTK_NODE("Vertical.Scale.slider", TTK_PACK_TOP) ) +TTK_END_LAYOUT + +TTK_BEGIN_LAYOUT(HorizontalScaleLayout) + TTK_GROUP("Horizontal.Scale.trough", TTK_FILL_BOTH, + TTK_NODE("Horizontal.Scale.slider", TTK_PACK_LEFT) ) +TTK_END_LAYOUT + /* * Initialization. */ MODULE_SCOPE void TtkScale_Init(Tcl_Interp *interp) { + Ttk_Theme theme = Ttk_GetDefaultTheme(interp); + + Ttk_RegisterLayout(theme, "Vertical.TScale", VerticalScaleLayout); + Ttk_RegisterLayout(theme, "Horizontal.TScale", HorizontalScaleLayout); + RegisterWidget(interp, "ttk::scale", &ScaleWidgetSpec); } diff --git a/generic/ttk/ttkScrollbar.c b/generic/ttk/ttkScrollbar.c index c3be30f..1e744c2 100644 --- a/generic/ttk/ttkScrollbar.c +++ b/generic/ttk/ttkScrollbar.c @@ -1,4 +1,4 @@ -/* $Id: ttkScrollbar.c,v 1.5 2007/01/11 14:49:47 jenglish Exp $ +/* $Id: ttkScrollbar.c,v 1.6 2007/10/25 07:08:26 jenglish Exp $ * Copyright (c) 2003, Joe English * * ttk::scrollbar widget. @@ -313,6 +313,22 @@ static WidgetSpec ScrollbarWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(VerticalScrollbarLayout) + TTK_GROUP("Vertical.Scrollbar.trough", TTK_FILL_Y, + TTK_NODE("Vertical.Scrollbar.uparrow", TTK_PACK_TOP) + TTK_NODE("Vertical.Scrollbar.downarrow", TTK_PACK_BOTTOM) + TTK_NODE( + "Vertical.Scrollbar.thumb", TTK_PACK_TOP|TTK_EXPAND|TTK_FILL_BOTH)) +TTK_END_LAYOUT + +TTK_BEGIN_LAYOUT(HorizontalScrollbarLayout) + TTK_GROUP("Horizontal.Scrollbar.trough", TTK_FILL_X, + TTK_NODE("Horizontal.Scrollbar.leftarrow", TTK_PACK_LEFT) + TTK_NODE("Horizontal.Scrollbar.rightarrow", TTK_PACK_RIGHT) + TTK_NODE( + "Horizontal.Scrollbar.thumb", TTK_PACK_LEFT|TTK_EXPAND|TTK_FILL_BOTH)) +TTK_END_LAYOUT + /*------------------------------------------------------------------------ * +++ Initialization. */ @@ -320,7 +336,12 @@ static WidgetSpec ScrollbarWidgetSpec = MODULE_SCOPE void TtkScrollbar_Init(Tcl_Interp *interp) { + Ttk_Theme theme = Ttk_GetDefaultTheme(interp); + + Ttk_RegisterLayout(theme,"Vertical.TScrollbar",VerticalScrollbarLayout); + Ttk_RegisterLayout(theme,"Horizontal.TScrollbar",HorizontalScrollbarLayout); + RegisterWidget(interp, "ttk::scrollbar", &ScrollbarWidgetSpec); -} +} /*EOF*/ diff --git a/generic/ttk/ttkSeparator.c b/generic/ttk/ttkSeparator.c index 000db13..b202c35 100644 --- a/generic/ttk/ttkSeparator.c +++ b/generic/ttk/ttkSeparator.c @@ -1,4 +1,4 @@ -/* $Id: ttkSeparator.c,v 1.5 2007/01/11 14:49:47 jenglish Exp $ +/* $Id: ttkSeparator.c,v 1.6 2007/10/25 07:08:26 jenglish Exp $ * * Copyright (c) 2004, Joe English * @@ -78,6 +78,10 @@ static WidgetSpec SeparatorWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(SeparatorLayout) + TTK_NODE("Separator.separator", TTK_FILL_BOTH) +TTK_END_LAYOUT + /* +++ Sizegrip widget: * Has no options or methods other than the standard ones. */ @@ -108,12 +112,21 @@ static WidgetSpec SizegripWidgetSpec = TtkWidgetDisplay /* displayProc */ }; +TTK_BEGIN_LAYOUT(SizegripLayout) + TTK_NODE("Sizegrip.sizegrip", TTK_PACK_BOTTOM|TTK_STICK_S|TTK_STICK_E) +TTK_END_LAYOUT + /* +++ Initialization: */ MODULE_SCOPE void TtkSeparator_Init(Tcl_Interp *interp) { + Ttk_Theme theme = Ttk_GetDefaultTheme(interp); + + Ttk_RegisterLayout(theme, "TSeparator", SeparatorLayout); + Ttk_RegisterLayout(theme, "TSizegrip", SizegripLayout); + RegisterWidget(interp, "ttk::separator", &SeparatorWidgetSpec); RegisterWidget(interp, "ttk::sizegrip", &SizegripWidgetSpec); } diff --git a/generic/ttk/ttkSquare.c b/generic/ttk/ttkSquare.c index 4f1bd0f..365cb10 100644 --- a/generic/ttk/ttkSquare.c +++ b/generic/ttk/ttkSquare.c @@ -2,7 +2,7 @@ * * Minimal sample ttk widget. * - * $Id: ttkSquare.c,v 1.4 2007/01/11 14:49:47 jenglish Exp $ + * $Id: ttkSquare.c,v 1.5 2007/10/25 07:08:26 jenglish Exp $ */ #include <tk.h> @@ -201,10 +201,9 @@ static Ttk_ElementOptionSpec SquareElementOptions[] = * size and padding information */ -static void -SquareElementGeometry( - void *clientData, void *elementRecord, - Tk_Window tkwin, int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) +static void SquareElementSize( + void *clientData, void *elementRecord, Tk_Window tkwin, + int *widthPtr, int *heightPtr, Ttk_Padding *paddingPtr) { SquareElement *square = elementRecord; int borderWidth = 0; @@ -219,9 +218,9 @@ SquareElementGeometry( * Draw the element in the box provided. */ -static void -SquareElementDraw(void *clientData, void *elementRecord, - Tk_Window tkwin, Drawable d, Ttk_Box b, unsigned int state) +static void SquareElementDraw( + void *clientData, void *elementRecord, Tk_Window tkwin, + Drawable d, Ttk_Box b, unsigned int state) { SquareElement *square = elementRecord; Tk_3DBorder border = NULL, foreground = NULL; @@ -241,7 +240,7 @@ static Ttk_ElementSpec SquareElementSpec = TK_STYLE_VERSION_2, sizeof(SquareElement), SquareElementOptions, - SquareElementGeometry, + SquareElementSize, SquareElementDraw }; diff --git a/generic/ttk/ttkTheme.h b/generic/ttk/ttkTheme.h index 1567cd0..adca259 100644 --- a/generic/ttk/ttkTheme.h +++ b/generic/ttk/ttkTheme.h @@ -1,4 +1,4 @@ -/* $Id: ttkTheme.h,v 1.10 2007/10/15 15:03:41 jenglish Exp $ +/* $Id: ttkTheme.h,v 1.11 2007/10/25 07:08:26 jenglish Exp $ * Copyright (c) 2003 Joe English. Freely redistributable. * * Declarations for Tk theme engine. @@ -270,7 +270,7 @@ typedef struct { Tcl_Obj *unused; } NullElement; -MODULE_SCOPE void TtkNullElementGeometry +MODULE_SCOPE void TtkNullElementSize (void *, void *, Tk_Window, int *, int *, Ttk_Padding *); MODULE_SCOPE void TtkNullElementDraw (void *, void *, Tk_Window, Drawable, Ttk_Box, Ttk_State); diff --git a/generic/ttk/ttkTreeview.c b/generic/ttk/ttkTreeview.c index f71a163..9d03683 100644 --- a/generic/ttk/ttkTreeview.c +++ b/generic/ttk/ttkTreeview.c @@ -1,4 +1,4 @@ -/* $Id: ttkTreeview.c,v 1.18 2007/10/15 15:03:41 jenglish Exp $ +/* $Id: ttkTreeview.c,v 1.19 2007/10/25 07:08:26 jenglish Exp $ * Copyright (c) 2004, Joe English * * ttk::treeview widget implementation. @@ -3178,7 +3178,7 @@ static Ttk_ElementSpec RowElementSpec = TK_STYLE_VERSION_2, sizeof(RowElement), RowElementOptions, - TtkNullElementGeometry, + TtkNullElementSize, RowElementDraw }; |