summaryrefslogtreecommitdiffstats
path: root/generic/tkTreeCtrl.c
diff options
context:
space:
mode:
authortreectrl <treectrl>2006-10-05 22:51:19 (GMT)
committertreectrl <treectrl>2006-10-05 22:51:19 (GMT)
commit4385ce3319666891a26680be3d9ceb1dbc81bb67 (patch)
tree3c6f79fc3f50c9b646c11e71d3a36f53d7ac9864 /generic/tkTreeCtrl.c
parent3b0d5e84decf3d396c8d7b2134ecedc56df793e6 (diff)
downloadtktreectrl-4385ce3319666891a26680be3d9ceb1dbc81bb67.zip
tktreectrl-4385ce3319666891a26680be3d9ceb1dbc81bb67.tar.gz
tktreectrl-4385ce3319666891a26680be3d9ceb1dbc81bb67.tar.bz2
Use the new PerStateInfo custom option, eliminating some code.
Diffstat (limited to 'generic/tkTreeCtrl.c')
-rw-r--r--generic/tkTreeCtrl.c48
1 files changed, 12 insertions, 36 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c
index 6cb02da..14c10e8 100644
--- a/generic/tkTreeCtrl.c
+++ b/generic/tkTreeCtrl.c
@@ -7,7 +7,7 @@
* Copyright (c) 2002-2003 Christian Krone
* Copyright (c) 2003-2005 ActiveState, a division of Sophos
*
- * RCS: @(#) $Id: tkTreeCtrl.c,v 1.66 2006/10/04 03:25:45 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeCtrl.c,v 1.67 2006/10/05 22:51:19 treectrl Exp $
*/
#include "tkTreeCtrl.h"
@@ -79,12 +79,12 @@ static Tk_OptionSpec optionSpecs[] = {
{TK_OPTION_COLOR, "-buttoncolor", "buttonColor", "ButtonColor",
"#808080", -1, Tk_Offset(TreeCtrl, buttonColor),
0, (ClientData) NULL, TREE_CONF_BUTTON | TREE_CONF_REDISPLAY},
- {TK_OPTION_STRING, "-buttonbitmap", "buttonBitmap", "ButtonBitmap",
- (char *) NULL, Tk_Offset(TreeCtrl, buttonBitmap.obj), -1,
+ {TK_OPTION_CUSTOM, "-buttonbitmap", "buttonBitmap", "ButtonBitmap",
+ (char *) NULL, -1, Tk_Offset(TreeCtrl, buttonBitmap),
TK_OPTION_NULL_OK, (ClientData) NULL,
TREE_CONF_BUTTON | TREE_CONF_BUTBMP | TREE_CONF_RELAYOUT},
- {TK_OPTION_STRING, "-buttonimage", "buttonImage", "ButtonImage",
- (char *) NULL, Tk_Offset(TreeCtrl, buttonImage.obj), -1,
+ {TK_OPTION_CUSTOM, "-buttonimage", "buttonImage", "ButtonImage",
+ (char *) NULL, -1, Tk_Offset(TreeCtrl, buttonImage),
TK_OPTION_NULL_OK, (ClientData) NULL,
TREE_CONF_BUTTON | TREE_CONF_BUTIMG | TREE_CONF_RELAYOUT},
{TK_OPTION_PIXELS, "-buttonsize", "buttonSize", "ButtonSize",
@@ -1231,10 +1231,6 @@ TreeConfigure(
if (mask & TREE_CONF_BG_IMAGE)
saved.backgroundImage = tree->backgroundImage;
- if (mask & TREE_CONF_BUTBMP)
- PSTSave(&tree->buttonBitmap, &saved.buttonBitmap);
- if (mask & TREE_CONF_BUTIMG)
- PSTSave(&tree->buttonImage, &saved.buttonImage);
if (mask & TREE_CONF_DEFSTYLE) {
saved.defaultStyle.styles = tree->defaultStyle.styles;
saved.defaultStyle.numStyles = tree->defaultStyle.numStyles;
@@ -1258,18 +1254,6 @@ TreeConfigure(
}
}
- if (mask & TREE_CONF_BUTBMP) {
- if (PerStateInfo_FromObj(tree, TreeStateFromObj, &pstBitmap,
- &tree->buttonBitmap) != TCL_OK)
- continue;
- }
-
- if (mask & TREE_CONF_BUTIMG) {
- if (PerStateInfo_FromObj(tree, TreeStateFromObj, &pstImage,
- &tree->buttonImage) != TCL_OK)
- continue;
- }
-
if (mask & TREE_CONF_DEFSTYLE) {
if (tree->defaultStyle.stylesObj == NULL) {
tree->defaultStyle.styles = NULL;
@@ -1366,10 +1350,6 @@ badWrap:
if (saved.defaultStyle.styles != NULL)
ckfree((char *) saved.defaultStyle.styles);
}
- if (mask & TREE_CONF_BUTBMP)
- PerStateInfo_Free(tree, &pstBitmap, &saved.buttonBitmap);
- if (mask & TREE_CONF_BUTIMG)
- PerStateInfo_Free(tree, &pstImage, &saved.buttonImage);
Tk_FreeSavedOptions(&savedOptions);
break;
@@ -1381,14 +1361,6 @@ badWrap:
if (mask & TREE_CONF_BG_IMAGE) {
tree->backgroundImage = saved.backgroundImage;
}
- if (mask & TREE_CONF_BUTBMP) {
- PSTRestore(tree, &pstBitmap, &tree->buttonBitmap,
- &saved.buttonBitmap);
- }
- if (mask & TREE_CONF_BUTIMG) {
- PSTRestore(tree, &pstImage, &tree->buttonImage,
- &saved.buttonImage);
- }
if (mask & TREE_CONF_DEFSTYLE) {
tree->defaultStyle.styles = saved.defaultStyle.styles;
tree->defaultStyle.numStyles = saved.defaultStyle.numStyles;
@@ -1727,9 +1699,6 @@ TreeDestroy(
Tk_FreeConfigOptions((char *) tree, tree->debug.optionTable,
tree->tkwin);
- PerStateInfo_Free(tree, &pstBitmap, &tree->buttonBitmap);
- PerStateInfo_Free(tree, &pstImage, &tree->buttonImage);
-
Tk_FreeConfigOptions((char *) tree, tree->optionTable, tree->tkwin);
Tcl_DeleteHashTable(&tree->selection);
@@ -3988,12 +3957,19 @@ Treectrl_Init(
return TCL_ERROR;
}
#endif
+
+ PerStateCO_Init(optionSpecs, "-buttonbitmap", &pstBitmap, TreeStateFromObj);
+ PerStateCO_Init(optionSpecs, "-buttonimage", &pstImage, TreeStateFromObj);
+
if (TreeElement_Init(interp) != TCL_OK) {
return TCL_ERROR;
}
/* We don't care if this fails */
(void) TreeTheme_Init(interp);
+ if (TreeColumn_InitInterp(interp) != TCL_OK)
+ return TCL_ERROR;
+
/* Hack for editing a text Element */
Tcl_CreateObjCommand(interp, "textlayout", TextLayoutCmd, NULL, NULL);