diff options
author | treectrl <treectrl> | 2006-11-19 23:36:39 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2006-11-19 23:36:39 (GMT) |
commit | a129dfa665c2b34ce5a902003a6ffef96144877e (patch) | |
tree | f1dd030df16deca59ff17ee7370eb1c3c11dbc2a /generic/tkTreeCtrl.c | |
parent | e39173d0d1fe65e90631600151d7bab711628f09 (diff) | |
download | tktreectrl-a129dfa665c2b34ce5a902003a6ffef96144877e.zip tktreectrl-a129dfa665c2b34ce5a902003a6ffef96144877e.tar.gz tktreectrl-a129dfa665c2b34ce5a902003a6ffef96144877e.tar.bz2 |
Added per-tree theme data.
Diffstat (limited to 'generic/tkTreeCtrl.c')
-rw-r--r-- | generic/tkTreeCtrl.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c index a5b1c33..f22ab4b 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.87 2006/11/19 00:48:11 treectrl Exp $ + * RCS: @(#) $Id: tkTreeCtrl.c,v 1.88 2006/11/19 23:36:39 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -264,7 +264,9 @@ static Tk_OptionSpec optionSpecs[] = { {TK_OPTION_PIXELS, "-yscrollincrement", "yScrollIncrement", "ScrollIncrement", "0", -1, Tk_Offset(TreeCtrl, yScrollIncrement), 0, (ClientData) NULL, TREE_CONF_REDISPLAY}, - {TK_OPTION_END} + + {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, + (char *) NULL, -1, -1, 0, (ClientData) NULL, 0} }; static Tk_OptionSpec debugSpecs[] = { @@ -290,7 +292,7 @@ static Tk_OptionSpec debugSpecs[] = { "1", -1, Tk_Offset(TreeCtrl, debug.textLayout), 0, (ClientData) NULL, 0}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, - (char *) NULL, 0, -1, 0, 0, 0} + (char *) NULL, -1, -1, 0, (ClientData) NULL, 0} }; static int TreeWidgetCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); @@ -416,6 +418,9 @@ TreeObjCmd( * Tk_WindowId(tree->tkwin) */ Tk_MakeWindowExist(tree->tkwin); + /* Window must exist on Win32. */ + TreeTheme_Init(tree); + if (Tk_InitOptions(interp, (char *) tree, optionTable, tkwin) != TCL_OK) { Tk_DestroyWindow(tree->tkwin); WFREE(tree, TreeCtrl); @@ -1710,6 +1715,7 @@ TreeDestroy( TreeDragImage_Free(tree->dragImage); TreeMarquee_Free(tree->marquee); TreeDInfo_Free(tree); + TreeTheme_Free(tree); if (tree->copyGC != None) Tk_FreeGC(tree->display, tree->copyGC); @@ -4118,6 +4124,7 @@ RecomputeWidgets( /* Clomp! Stomp! All over the internals */ proc = Tk_GetClassProc(winPtr->classProcsPtr, worldChangedProc); if (proc == TreeWorldChanged) { + TreeTheme_ThemeChanged((TreeCtrl *) winPtr->instanceData); TreeWorldChanged(winPtr->instanceData); } @@ -4150,7 +4157,7 @@ Tree_TheWorldHasChanged( ) { /* Could send a <<ThemeChanged>> event to every window like Tile does. */ - /* Could keep a list of treectrl widgets */ + /* Could keep a list of treectrl widgets. */ TkWindow *winPtr = (TkWindow *) Tk_MainWindow(interp); RecomputeWidgets(winPtr); } @@ -4207,8 +4214,9 @@ Treectrl_Init( if (TreeElement_Init(interp) != TCL_OK) { return TCL_ERROR; } + /* We don't care if this fails */ - (void) TreeTheme_Init(interp); + (void) TreeTheme_InitInterp(interp); if (TreeColumn_InitInterp(interp) != TCL_OK) return TCL_ERROR; @@ -4218,8 +4226,10 @@ Treectrl_Init( /* Hack for colorizing a image (like Win98 explorer) */ Tcl_CreateObjCommand(interp, "imagetint", ImageTintCmd, NULL, NULL); + /* Screen magnifier to check those dotted lines */ Tcl_CreateObjCommand(interp, "loupe", LoupeCmd, NULL, NULL); + Tcl_CreateObjCommand(interp, "treectrl", TreeObjCmd, NULL, NULL); if (Tcl_PkgProvide(interp, PACKAGE_NAME, PACKAGE_PATCHLEVEL) != TCL_OK) { return TCL_ERROR; |