From 5ad0424206f1ff96e8225c74de9832c714f60681 Mon Sep 17 00:00:00 2001 From: treectrl Date: Tue, 23 Jan 2007 22:41:30 +0000 Subject: Renamed many symbols to avoid collisions under ELF. Renamed Element to TreeElement_. --- generic/qebind.c | 3 +- generic/tkTreeColumn.c | 49 +++--- generic/tkTreeCtrl.c | 30 ++-- generic/tkTreeCtrl.h | 87 ++++++---- generic/tkTreeDisplay.c | 22 +-- generic/tkTreeDrag.c | 12 +- generic/tkTreeElem.c | 453 +++++++++++++++++++++++++----------------------- generic/tkTreeElem.h | 80 ++++----- generic/tkTreeItem.c | 34 ++-- generic/tkTreeMarquee.c | 8 +- generic/tkTreeStyle.c | 272 +++++++++++++++-------------- generic/tkTreeUtils.c | 235 ++++++++++++------------- 12 files changed, 658 insertions(+), 627 deletions(-) diff --git a/generic/qebind.c b/generic/qebind.c index 8573684..bc1db03 100644 --- a/generic/qebind.c +++ b/generic/qebind.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: qebind.c,v 1.16 2007/01/21 23:17:00 treectrl Exp $ + * RCS: @(#) $Id: qebind.c,v 1.17 2007/01/23 22:41:30 treectrl Exp $ */ /* @@ -33,6 +33,7 @@ #include #include "qebind.h" +#define dbwin TreeCtrl_dbwin extern void dbwin(char *fmt, ...); /* diff --git a/generic/tkTreeColumn.c b/generic/tkTreeColumn.c index 777b779..88d0796 100644 --- a/generic/tkTreeColumn.c +++ b/generic/tkTreeColumn.c @@ -7,7 +7,7 @@ * Copyright (c) 2002-2003 Christian Krone * Copyright (c) 2003 ActiveState Corporation * - * RCS: @(#) $Id: tkTreeColumn.c,v 1.76 2006/12/23 04:32:07 treectrl Exp $ + * RCS: @(#) $Id: tkTreeColumn.c,v 1.77 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -249,7 +249,7 @@ UniformGroupCO_Free( } } -Tk_ObjCustomOption uniformGroupCO = +static Tk_ObjCustomOption uniformGroupCO = { "uniform group", UniformGroupCO_Set, @@ -299,10 +299,10 @@ static Tk_OptionSpec columnSpecs[] = { COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowpadx", (char *) NULL, (char *) NULL, "6", Tk_Offset(TreeColumn_, arrowPadXObj), Tk_Offset(TreeColumn_, arrowPadX), - 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, + 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowpady", (char *) NULL, (char *) NULL, "0", Tk_Offset(TreeColumn_, arrowPadYObj), Tk_Offset(TreeColumn_, arrowPadY), - 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, + 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_STRING_TABLE, "-arrowside", (char *) NULL, (char *) NULL, "right", -1, Tk_Offset(TreeColumn_, arrowSide), 0, (ClientData) arrowSideST, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, @@ -335,11 +335,11 @@ static Tk_OptionSpec columnSpecs[] = { COLU_CONF_IMAGE | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-imagepadx", (char *) NULL, (char *) NULL, "6", Tk_Offset(TreeColumn_, imagePadXObj), - Tk_Offset(TreeColumn_, imagePadX), 0, (ClientData) &PadAmountOption, + Tk_Offset(TreeColumn_, imagePadX), 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-imagepady", (char *) NULL, (char *) NULL, "0", Tk_Offset(TreeColumn_, imagePadYObj), - Tk_Offset(TreeColumn_, imagePadY), 0, (ClientData) &PadAmountOption, + Tk_Offset(TreeColumn_, imagePadY), 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_STRING, "-itembackground", (char *) NULL, (char *) NULL, (char *) NULL, Tk_Offset(TreeColumn_, itemBgObj), -1, @@ -349,7 +349,7 @@ static Tk_OptionSpec columnSpecs[] = { TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_JUSTIFY}, {TK_OPTION_CUSTOM, "-itemstyle", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(TreeColumn_, itemStyle), - TK_OPTION_NULL_OK, (ClientData) &styleCO, 0}, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_style, 0}, {TK_OPTION_JUSTIFY, "-justify", (char *) NULL, (char *) NULL, "left", -1, Tk_Offset(TreeColumn_, justify), 0, (ClientData) NULL, COLU_CONF_DISPLAY | COLU_CONF_JUSTIFY}, @@ -379,7 +379,7 @@ static Tk_OptionSpec columnSpecs[] = { #endif /* DEPRECATED */ {TK_OPTION_CUSTOM, "-tags", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(TreeColumn_, tagInfo), - TK_OPTION_NULL_OK, (ClientData) &TagInfoCO, COLU_CONF_TAGS}, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_tagInfo, COLU_CONF_TAGS}, {TK_OPTION_STRING, "-text", (char *) NULL, (char *) NULL, (char *) NULL, Tk_Offset(TreeColumn_, textObj), Tk_Offset(TreeColumn_, text), TK_OPTION_NULL_OK, (ClientData) NULL, @@ -393,11 +393,11 @@ static Tk_OptionSpec columnSpecs[] = { COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-textpadx", (char *) NULL, (char *) NULL, "6", Tk_Offset(TreeColumn_, textPadXObj), - Tk_Offset(TreeColumn_, textPadX), 0, (ClientData) &PadAmountOption, + Tk_Offset(TreeColumn_, textPadX), 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-textpady", (char *) NULL, (char *) NULL, "0", Tk_Offset(TreeColumn_, textPadYObj), - Tk_Offset(TreeColumn_, textPadY), 0, (ClientData) &PadAmountOption, + Tk_Offset(TreeColumn_, textPadY), 0, (ClientData) &TreeCtrlCO_pad, COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, #ifdef UNIFORM_GROUP {TK_OPTION_CUSTOM, "-uniform", (char *) NULL, (char *) NULL, @@ -557,7 +557,7 @@ ColumnCO_Restore( * a custom config option that handles Tcl_Obj<->TreeColumn conversion. * A column description must refer to a single column. */ -Tk_ObjCustomOption columnCO = +Tk_ObjCustomOption TreeCtrlCO_column = { "column", ColumnCO_Set, @@ -573,7 +573,7 @@ Tk_ObjCustomOption columnCO = * A column description must refer to a single column. * "tail" is not allowed. */ -Tk_ObjCustomOption columnCO_NOT_TAIL = +Tk_ObjCustomOption TreeCtrlCO_column_NOT_TAIL = { "column", ColumnCO_Set, @@ -595,7 +595,7 @@ static Tk_OptionSpec dragSpecs[] = { 0, (ClientData) NULL, 0}, {TK_OPTION_CUSTOM, "-imagecolumn", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(TreeCtrl, columnDrag.column), - TK_OPTION_NULL_OK, (ClientData) &columnCO_NOT_TAIL, 0}, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_column_NOT_TAIL, 0}, {TK_OPTION_PIXELS, "-imageoffset", (char *) NULL, (char *) NULL, (char *) NULL, Tk_Offset(TreeCtrl, columnDrag.offsetObj), Tk_Offset(TreeCtrl, columnDrag.offset), 0, (ClientData) NULL, 0}, @@ -604,7 +604,7 @@ static Tk_OptionSpec dragSpecs[] = { 0, (ClientData) NULL, 0}, {TK_OPTION_CUSTOM, "-indicatorcolumn", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(TreeCtrl, columnDrag.indColumn), - TK_OPTION_NULL_OK, (ClientData) &columnCO, 0}, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_column, 0}, {TK_OPTION_STRING_TABLE, "-indicatorside", (char *) NULL, (char *) NULL, "left", -1, Tk_Offset(TreeCtrl, columnDrag.indSide), 0, (ClientData) arrowSideST, 0}, @@ -1531,7 +1531,7 @@ TreeColumn_FromObj( /* *---------------------------------------------------------------------- * - * ColumnForEach_Start -- + * TreeColumnForEach_Start -- * * Begin iterating over items. A command might accept two column * descriptions for a range of column, or a single column description @@ -1549,11 +1549,11 @@ TreeColumn_FromObj( */ TreeColumn -ColumnForEach_Start( +TreeColumnForEach_Start( TreeColumnList *columns, /* List of columns. */ TreeColumnList *column2s, /* List of columns or NULL. */ ColumnForEach *iter /* Returned info, pass to - ColumnForEach_Next. */ + TreeColumnForEach_Next. */ ) { TreeCtrl *tree = columns->tree; @@ -1596,7 +1596,7 @@ ColumnForEach_Start( /* *---------------------------------------------------------------------- * - * ColumnForEach_Next -- + * TreeColumnForEach_Next -- * * Returns the next column to iterate over. Keep calling this until * the result is NULL. @@ -1611,8 +1611,8 @@ ColumnForEach_Start( */ TreeColumn -ColumnForEach_Next( - ColumnForEach *iter /* Initialized by ColumnForEach_Start. */ +TreeColumnForEach_Next( + ColumnForEach *iter /* Initialized by TreeColumnForEach_Start. */ ) { TreeCtrl *tree = iter->tree; @@ -2787,8 +2787,9 @@ Column_DoLayout( } else { partText.width = widthForText; partText.height = layout->fm.linespace; - layout->bytesThatFit = Ellipsis(layout->tkfont, column->text, - column->textLen, &partText.width, "...", FALSE); + layout->bytesThatFit = Tree_Ellipsis(layout->tkfont, + column->text, column->textLen, &partText.width, + "...", FALSE); } parts[n] = &partText; padList[n] = MAX(partText.padX[PAD_TOP_LEFT], padList[n]); @@ -4627,7 +4628,7 @@ SetImageForColumn( panic("ximage is NULL"); /* XImage -> Tk_Image */ - XImage2Photo(tree->interp, photoH, ximage, tree->columnDrag.alpha); + Tree_XImage2Photo(tree->interp, photoH, ximage, tree->columnDrag.alpha); XDestroyImage(ximage); Tk_FreePixmap(tree->display, pixmap); @@ -5665,7 +5666,7 @@ TreeColumn_InitInterp( Tk_OptionSpec *specPtr; Tcl_DString dString; - specPtr = OptionSpec_Find(columnSpecs, "-background"); + specPtr = Tree_FindOptionSpec(columnSpecs, "-background"); if (specPtr->defValue == NULL) { Tcl_DStringInit(&dString); Tcl_DStringAppendElement(&dString, DEF_BUTTON_BG_COLOR); diff --git a/generic/tkTreeCtrl.c b/generic/tkTreeCtrl.c index 9641b2a..13852ba 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.102 2007/01/22 23:29:25 treectrl Exp $ + * RCS: @(#) $Id: tkTreeCtrl.c,v 1.103 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -61,7 +61,7 @@ static CONST char *lineStyleST[] = { static CONST char *orientStringTable[] = { "horizontal", "vertical", (char *) NULL }; -extern Tk_ObjCustomOption columnCO_NOT_TAIL; +extern Tk_ObjCustomOption TreeCtrlCO_column_NOT_TAIL; static Tk_OptionSpec optionSpecs[] = { {TK_OPTION_BORDER, "-background", "background", "Background", @@ -164,12 +164,12 @@ static Tk_OptionSpec optionSpecs[] = { "0", Tk_Offset(TreeCtrl, itemPadXObj), Tk_Offset(TreeCtrl, itemPadX), - 0, (ClientData) &PadAmountOption, 0}, + 0, (ClientData) &TreeCtrlCO_pad, 0}, {TK_OPTION_CUSTOM, "-itempady", (char *) NULL, (char *) NULL, "0", Tk_Offset(TreeCtrl, itemPadYObj), Tk_Offset(TreeCtrl, itemPadY), - 0, (ClientData) &PadAmountOption, 0}, + 0, (ClientData) &TreeCtrlCO_pad, 0}, #endif {TK_OPTION_STRING, "-itemprefix", "itemPrefix", "ItemPrefix", "", -1, Tk_Offset(TreeCtrl, itemPrefix), 0, (ClientData) NULL, 0}, @@ -235,7 +235,7 @@ static Tk_OptionSpec optionSpecs[] = { TK_OPTION_NULL_OK, 0, 0}, {TK_OPTION_CUSTOM, "-treecolumn", "treeColumn", "TreeColumn", (char *) NULL, -1, Tk_Offset(TreeCtrl, columnTree), - TK_OPTION_NULL_OK, (ClientData) &columnCO_NOT_TAIL, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_column_NOT_TAIL, TREE_CONF_RELAYOUT}, {TK_OPTION_BOOLEAN, "-usetheme", "useTheme", "UseTheme", "0", -1, Tk_Offset(TreeCtrl, useTheme), @@ -403,7 +403,7 @@ TreeObjCmd( TreeItemList_Init(tree, &tree->preserveItemList, 0); #ifdef ALLOC_HAX - tree->allocData = AllocHax_Init(); + tree->allocData = TreeAlloc_Init(); #endif Tree_InitColumns(tree); @@ -826,7 +826,7 @@ static int TreeWidgetCmd( } case COMMAND_DRAGIMAGE: { - result = DragImageCmd(clientData, interp, objc, objv); + result = TreeDragImageCmd(clientData, interp, objc, objv); break; } @@ -1490,7 +1490,7 @@ badWrap: TreeRowProxy_Display(tree); } - tree->useIndent = MAX(tree->indent, ButtonMaxWidth(tree)); + tree->useIndent = MAX(tree->indent, Tree_ButtonMaxWidth(tree)); if (createFlag) mask |= TREE_CONF_BORDERS; @@ -1784,7 +1784,7 @@ TreeDestroy( ckfree((char *) tree->defaultStyle.styles); #endif #ifdef ALLOC_HAX - AllocHax_Finalize(tree->allocData); + TreeAlloc_Finalize(tree->allocData); #endif Tcl_Release(tree->tkwin); @@ -3359,7 +3359,7 @@ TreeDebugCmd( case COMMAND_ALLOC: { #ifdef ALLOC_HAX #ifdef TREECTRL_DEBUG - AllocHax_Stats(interp, tree->allocData); + TreeAlloc_Stats(interp, tree->allocData); #else FormatResult(interp, "TREECTRL_DEBUG is not defined"); #endif @@ -3425,8 +3425,8 @@ TreeDebugCmd( } case COMMAND_DINFO: { - extern int DumpDInfo(TreeCtrl *tree, int objc, Tcl_Obj *CONST objv[]); - return DumpDInfo(tree, objc, objv); + extern int Tree_DumpDInfo(TreeCtrl *tree, int objc, Tcl_Obj *CONST objv[]); + return Tree_DumpDInfo(tree, objc, objv); } /* T debug expose x1 y1 x2 y2 */ @@ -3561,7 +3561,7 @@ textlayout $font $text -ignoretabs boolean -ignorenewlines boolean */ -int +static int TextLayoutCmd( ClientData clientData, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ @@ -3680,7 +3680,7 @@ done: *-------------------------------------------------------------- */ -int +static int ImageTintCmd( ClientData clientData, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ @@ -3779,7 +3779,7 @@ ImageTintCmd( *-------------------------------------------------------------- */ -int +static int LoupeCmd( ClientData clientData, /* Not used. */ Tcl_Interp *interp, /* Current interpreter. */ diff --git a/generic/tkTreeCtrl.h b/generic/tkTreeCtrl.h index e3e7445..0c6dceb 100644 --- a/generic/tkTreeCtrl.h +++ b/generic/tkTreeCtrl.h @@ -7,7 +7,7 @@ * Copyright (c) 2002-2003 Christian Krone * Copyright (c) 2003 ActiveState Corporation * - * RCS: @(#) $Id: tkTreeCtrl.h,v 1.86 2007/01/21 23:19:22 treectrl Exp $ + * RCS: @(#) $Id: tkTreeCtrl.h,v 1.87 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkPort.h" @@ -16,6 +16,8 @@ #include "tkInt.h" #include "qebind.h" +#define dbwin TreeCtrl_dbwin +#define dbwin_add_interp TreeCtrl_dbwin_add_interp extern void dbwin(char *fmt, ...); extern void dbwin_add_interp(Tcl_Interp *interp); @@ -474,15 +476,17 @@ struct ItemForEach { TreeItemList *items; int index; }; -extern TreeItem ItemForEach_Start(TreeItemList *items, TreeItemList *item2s, +extern TreeItem TreeItemForEach_Start(TreeItemList *items, TreeItemList *item2s, ItemForEach *iter); -extern TreeItem ItemForEach_Next(ItemForEach *iter); +extern TreeItem TreeItemForEach_Next(ItemForEach *iter); #define ITEM_FOR_EACH(item, items, item2s, iter) \ - for (item = ItemForEach_Start(items, item2s, iter); \ + for (item = TreeItemForEach_Start(items, item2s, iter); \ item != NULL; \ - item = ItemForEach_Next(iter)) + item = TreeItemForEach_Next(iter)) +#define FormatResult TreeCtrl_FormatResult extern void FormatResult(Tcl_Interp *interp, char *fmt, ...); +#define DStringAppendf TreeCtrl_DStringAppendf extern void DStringAppendf(Tcl_DString *dString, char *fmt, ...); extern void Tree_Debug(TreeCtrl *tree); @@ -636,8 +640,8 @@ extern int TreeStyle_NumElements(TreeCtrl *tree, TreeStyle style_); extern void TreeStyle_UpdateWindowPositions(StyleDrawArgs *drawArgs); extern void TreeStyle_OnScreen(TreeCtrl *tree, TreeStyle style_, int onScreen); -extern int ButtonMaxWidth(TreeCtrl *tree); -extern int ButtonHeight(TreeCtrl *tree, int state); +extern int Tree_ButtonMaxWidth(TreeCtrl *tree); +extern int Tree_ButtonHeight(TreeCtrl *tree, int state); /* tkTreeNotify.c */ extern int TreeNotify_Init(TreeCtrl *tree); @@ -675,13 +679,13 @@ struct ColumnForEach { TreeColumnList *list; int index; }; -extern TreeColumn ColumnForEach_Start(TreeColumnList *columns, +extern TreeColumn TreeColumnForEach_Start(TreeColumnList *columns, TreeColumnList *column2s, ColumnForEach *iter); -extern TreeColumn ColumnForEach_Next(ColumnForEach *iter); +extern TreeColumn TreeColumnForEach_Next(ColumnForEach *iter); #define COLUMN_FOR_EACH(column, columns, column2s, iter) \ - for (column = ColumnForEach_Start(columns, column2s, iter); \ + for (column = TreeColumnForEach_Start(columns, column2s, iter); \ column != NULL; \ - column = ColumnForEach_Next(iter)) + column = TreeColumnForEach_Next(iter)) extern Tcl_Obj *TreeColumn_ToObj(TreeCtrl *tree, TreeColumn column_); extern int TreeColumnCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); @@ -730,7 +734,7 @@ extern void TreeDragImage_Free(TreeDragImage dragImage_); extern void TreeDragImage_Display(TreeDragImage dragImage_); extern void TreeDragImage_Undisplay(TreeDragImage dragImage_); extern void TreeDragImage_Draw(TreeDragImage dragImage_, Drawable drawable, int x, int y); -extern int DragImageCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); +extern int TreeDragImageCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]); /* tkTreeMarquee.c */ extern int TreeMarquee_Init(TreeCtrl *tree); @@ -850,18 +854,17 @@ extern void TreeTheme_Relayout(TreeCtrl *tree); #define WFREE(p,t) WIPEFREE(p, sizeof(t)) #define WCFREE(p,t,c) WIPEFREE(p, sizeof(t) * (c)) -extern int Ellipsis(Tk_Font tkfont, char *string, int numBytes, int *maxPixels, char *ellipsis, int force); -extern void HDotLine(TreeCtrl *tree, Drawable drawable, GC gc, int x1, int y1, int x2); -extern void VDotLine(TreeCtrl *tree, Drawable drawable, GC gc, int x1, int y1, int y2); -extern void DotRect(TreeCtrl *tree, Drawable drawable, int x, int y, int width, int height); -extern void DrawActiveOutline(TreeCtrl *tree, Drawable drawable, int x, int y, int width, int height, int open); +extern int Tree_Ellipsis(Tk_Font tkfont, char *string, int numBytes, int *maxPixels, char *ellipsis, int force); +extern void Tree_HDotLine(TreeCtrl *tree, Drawable drawable, GC gc, int x1, int y1, int x2); +extern void Tree_VDotLine(TreeCtrl *tree, Drawable drawable, GC gc, int x1, int y1, int y2); +extern void Tree_DrawActiveOutline(TreeCtrl *tree, Drawable drawable, int x, int y, int width, int height, int open); typedef struct DotState { int stuff[10]; } DotState; -extern void DotRect_Setup(TreeCtrl *tree, Drawable drawable, DotState *dotState); -extern void DotRect_Draw(DotState *dotState, int x, int y, int width, int height); -extern void DotRect_Restore(DotState *dotState); +extern void TreeDotRect_Setup(TreeCtrl *tree, Drawable drawable, DotState *dotState); +extern void TreeDotRect_Draw(DotState *dotState, int x, int y, int width, int height); +extern void TreeDotRect_Restore(DotState *dotState); typedef struct TextLayout_ *TextLayout; extern TextLayout TextLayout_Compute(Tk_Font tkfont, CONST char *string, int numChars, int wrapLength, Tk_Justify justify, int maxLines, int flags); @@ -882,16 +885,16 @@ extern void Tree_DrawBitmap(TreeCtrl *tree, Pixmap bitmap, Drawable drawable, int src_x, int src_y, int width, int height, int dest_x, int dest_y); extern TkRegion Tree_GetRegion(TreeCtrl *tree); extern void Tree_FreeRegion(TreeCtrl *tree, TkRegion region); -extern void Tk_FillRegion(Display *display, Drawable drawable, GC gc, TkRegion rgn); -extern void Tk_OffsetRegion(TkRegion region, int xOffset, int yOffset); +extern void Tree_FillRegion(Display *display, Drawable drawable, GC gc, TkRegion rgn); +extern void Tree_OffsetRegion(TkRegion region, int xOffset, int yOffset); extern int Tree_ScrollWindow(TreeCtrl *tree, GC gc, int x, int y, int width, int height, int dx, int dy, TkRegion damageRgn); -extern void UnsetClipMask(TreeCtrl *tree, Drawable drawable, GC gc); -extern void XImage2Photo(Tcl_Interp *interp, Tk_PhotoHandle photoH, XImage *ximage, int alpha); +extern void Tree_UnsetClipMask(TreeCtrl *tree, Drawable drawable, GC gc); +extern void Tree_XImage2Photo(Tcl_Interp *interp, Tk_PhotoHandle photoH, XImage *ximage, int alpha); #define PAD_TOP_LEFT 0 #define PAD_BOTTOM_RIGHT 1 -extern Tk_ObjCustomOption PadAmountOption; +extern Tk_ObjCustomOption TreeCtrlCO_pad; extern int TreeCtrl_GetPadAmountFromObj(Tcl_Interp *interp, Tk_Window tkwin, Tcl_Obj *padObj, @@ -900,8 +903,16 @@ extern Tcl_Obj * TreeCtrl_NewPadAmountObj(int *padAmounts); /*****/ +#define ObjectIsEmpty TreeCtrl_ObjectIsEmpty extern int ObjectIsEmpty(Tcl_Obj *obj); +#define pstBitmap TreeCtrl_pstBitmap +#define pstBoolean TreeCtrl_pstBoolean +#define pstBorder TreeCtrl_pstBorder +#define pstColor TreeCtrl_pstColor +#define pstFont TreeCtrl_pstFont +#define pstImage TreeCtrl_pstImage +#define pstRelief TreeCtrl_pstRelief extern PerStateType pstBitmap; extern PerStateType pstBoolean; extern PerStateType pstBorder; @@ -954,14 +965,14 @@ extern void PSTRestore(TreeCtrl *tree, PerStateType *typePtr, PerStateInfo *pInfo, PerStateInfo *pSave); #ifdef ALLOC_HAX -extern ClientData AllocHax_Init(void); -extern void AllocHax_Finalize(ClientData data); -extern char *AllocHax_Alloc(ClientData data, Tk_Uid id, int size); -extern char *AllocHax_CAlloc(ClientData data, Tk_Uid id, int size, int count, int roundUp); -extern char *AllocHax_Realloc(ClientData data, Tk_Uid id, char *ptr, int size1, int size2); -extern void AllocHax_Free(ClientData data, Tk_Uid id, char *ptr, int size); -extern void AllocHax_CFree(ClientData data, Tk_Uid id, char *ptr, int size, int count, int roundUp); -extern void AllocHax_Stats(Tcl_Interp *interp, ClientData data); +extern ClientData TreeAlloc_Init(void); +extern void TreeAlloc_Finalize(ClientData data); +extern char *TreeAlloc_Alloc(ClientData data, Tk_Uid id, int size); +extern char *TreeAlloc_CAlloc(ClientData data, Tk_Uid id, int size, int count, int roundUp); +extern char *TreeAlloc_Realloc(ClientData data, Tk_Uid id, char *ptr, int size1, int size2); +extern void TreeAlloc_Free(ClientData data, Tk_Uid id, char *ptr, int size); +extern void TreeAlloc_CFree(ClientData data, Tk_Uid id, char *ptr, int size, int count, int roundUp); +extern void TreeAlloc_Stats(Tcl_Interp *interp, ClientData data); #endif /*****/ @@ -1010,7 +1021,7 @@ extern Tk_Uid *TagInfo_Names(TreeCtrl *tree, TagInfo *tagInfo, Tk_Uid *tags, int extern TagInfo *TagInfo_Copy(TreeCtrl *tree, TagInfo *tagInfo); extern void TagInfo_Free(TreeCtrl *tree, TagInfo *tagInfo); extern int TagInfo_FromObj(TreeCtrl *tree, Tcl_Obj *objPtr, TagInfo **tagInfoPtr); -extern Tk_ObjCustomOption TagInfoCO; +extern Tk_ObjCustomOption TreeCtrlCO_tagInfo; /* * This struct holds information about a tag expression. @@ -1040,7 +1051,7 @@ extern int TagExpr_Scan(TagExpr *expr); extern int TagExpr_Eval(TagExpr *expr, TagInfo *tags); extern void TagExpr_Free(TagExpr *expr); -extern Tk_OptionSpec *OptionSpec_Find(Tk_OptionSpec *optionTable, CONST char *optionName); +extern Tk_OptionSpec *Tree_FindOptionSpec(Tk_OptionSpec *optionTable, CONST char *optionName); extern Tk_ObjCustomOption *PerStateCO_Alloc(CONST char *optionName, PerStateType *typePtr, StateFromObjProc proc); @@ -1080,9 +1091,9 @@ extern int ItemButtonCO_Init(Tk_OptionSpec *optionTable, CONST char *optionName, extern int Tree_GetIntForIndex(TreeCtrl *tree, Tcl_Obj *objPtr, int *indexPtr, int *endRelativePtr); -extern Tk_ObjCustomOption pixelsCO; -extern Tk_ObjCustomOption stringCO; -extern Tk_ObjCustomOption styleCO; +extern Tk_ObjCustomOption TreeCtrlCO_pixels; +extern Tk_ObjCustomOption TreeCtrlCO_string; +extern Tk_ObjCustomOption TreeCtrlCO_style; /*****/ diff --git a/generic/tkTreeDisplay.c b/generic/tkTreeDisplay.c index c5ecdbe..6c9d8df 100644 --- a/generic/tkTreeDisplay.c +++ b/generic/tkTreeDisplay.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeDisplay.c,v 1.81 2007/01/21 23:20:35 treectrl Exp $ + * RCS: @(#) $Id: tkTreeDisplay.c,v 1.82 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -4686,7 +4686,7 @@ DrawColumnBackground( gc = TreeColumn_BackgroundGC(treeColumn, 0); if (gc == None) gc = backgroundGC; - Tk_FillRegion(tree->display, drawable, gc, dirtyRgn); + Tree_FillRegion(tree->display, drawable, gc, dirtyRgn); return; } @@ -4872,7 +4872,7 @@ DrawWhitespace( * color. */ if (!ComplexWhitespace(tree)) { GC gc = Tk_3DBorderGC(tree->tkwin, tree->border, TK_3D_FLAT_GC); - Tk_FillRegion(tree->display, drawable, gc, dirtyRgn); + Tree_FillRegion(tree->display, drawable, gc, dirtyRgn); return; } @@ -5650,15 +5650,15 @@ displayRetry: GC gc = Tk_3DBorderGC(tkwin, tree->border, TK_3D_FLAT_GC); if (tree->debug.enable && tree->debug.display && tree->debug.drawColor) { - Tk_FillRegion(tree->display, Tk_WindowId(tkwin), + Tree_FillRegion(tree->display, Tk_WindowId(tkwin), tree->debug.gcDraw, wsRgnDif); DisplayDelay(tree); } /* FIXME: only if backgroundImage is transparent */ - Tk_OffsetRegion(wsRgnDif, -wsBox.x, -wsBox.y); - Tk_FillRegion(tree->display, pixmap, gc, wsRgnDif); - Tk_OffsetRegion(wsRgnDif, wsBox.x, wsBox.y); + Tree_OffsetRegion(wsRgnDif, -wsBox.x, -wsBox.y); + Tree_FillRegion(tree->display, pixmap, gc, wsRgnDif); + Tree_OffsetRegion(wsRgnDif, wsBox.x, wsBox.y); /* tree->drawableXOrigin = tree->xOrigin + wsBox.x; tree->drawableYOrigin = tree->yOrigin + wsBox.y;*/ @@ -5707,14 +5707,14 @@ displayRetry: GC gc = Tk_3DBorderGC(tkwin, tree->border, TK_3D_FLAT_GC); #endif if (tree->debug.enable && tree->debug.display && tree->debug.drawColor) { - Tk_FillRegion(tree->display, Tk_WindowId(tkwin), + Tree_FillRegion(tree->display, Tk_WindowId(tkwin), tree->debug.gcDraw, wsRgnDif); DisplayDelay(tree); } #ifdef COMPLEX_WHITESPACE DrawWhitespace(tree, drawable, wsRgnDif); #else - Tk_FillRegion(tree->display, drawable, gc, wsRgnDif); + Tree_FillRegion(tree->display, drawable, gc, wsRgnDif); #endif if (tree->doubleBuffer == DOUBLEBUFFER_WINDOW) { DblBufWinDirty(tree, wsBox.x, wsBox.y, wsBox.x + wsBox.width, @@ -7137,7 +7137,7 @@ Tree_InvalidateRegion( Tree_FreeRegion(tree, rgn); if (tree->debug.enable && tree->debug.display && tree->debug.eraseColor) { - Tk_FillRegion(tree->display, Tk_WindowId(tree->tkwin), + Tree_FillRegion(tree->display, Tk_WindowId(tree->tkwin), tree->debug.gcErase, region); DisplayDelay(tree); } @@ -7363,7 +7363,7 @@ TreeDInfo_Free( } int -DumpDInfo( +Tree_DumpDInfo( TreeCtrl *tree, /* Widget info. */ int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[] /* Argument values. */ diff --git a/generic/tkTreeDrag.c b/generic/tkTreeDrag.c index 01be9ad..3ee072c 100644 --- a/generic/tkTreeDrag.c +++ b/generic/tkTreeDrag.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeDrag.c,v 1.25 2006/12/23 04:32:08 treectrl Exp $ + * RCS: @(#) $Id: tkTreeDrag.c,v 1.26 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -332,23 +332,23 @@ void TreeDragImage_Draw(TreeDragImage dragImage, Drawable drawable, int x, int y if (elem == NULL) return; - DotRect_Setup(tree, drawable, &dotState); + TreeDotRect_Setup(tree, drawable, &dotState); while (elem != NULL) { - DotRect_Draw(&dotState, + TreeDotRect_Draw(&dotState, x + dragImage->x + elem->x, y + dragImage->y + elem->y, elem->width, elem->height); elem = elem->next; } - DotRect_Restore(&dotState); + TreeDotRect_Restore(&dotState); } /* *---------------------------------------------------------------------- * - * DragImageCmd -- + * TreeDragImageCmd -- * * This procedure is invoked to process the [dragimage] widget * command. See the user documentation for details on what it @@ -364,7 +364,7 @@ void TreeDragImage_Draw(TreeDragImage dragImage, Drawable drawable, int x, int y */ int -DragImageCmd( +TreeDragImageCmd( ClientData clientData, /* Widget info. */ Tcl_Interp *interp, /* Current interpreter. */ int objc, /* Number of arguments. */ diff --git a/generic/tkTreeElem.c b/generic/tkTreeElem.c index 0965b58..f9c3b07 100644 --- a/generic/tkTreeElem.c +++ b/generic/tkTreeElem.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeElem.c,v 1.62 2006/12/23 04:02:54 treectrl Exp $ + * RCS: @(#) $Id: tkTreeElem.c,v 1.63 2007/01/23 22:41:30 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -32,10 +32,10 @@ *---------------------------------------------------------------------- */ -int +static int DO_BooleanForState( TreeCtrl *tree, /* Widget info. */ - Element *elem, /* Element to examine. */ + TreeElement elem, /* Element to examine. */ int id, /* Unique id of dynamic option. */ int state /* STATE_xxx flags. */ ) @@ -59,10 +59,10 @@ DO_BooleanForState( return result; } -XColor * +static XColor * DO_ColorForState( TreeCtrl *tree, - Element *elem, + TreeElement elem, int id, int state ) @@ -86,10 +86,10 @@ DO_ColorForState( return result; } -Tk_Font +static Tk_Font DO_FontForState( TreeCtrl *tree, - Element *elem, + TreeElement elem, int id, int state ) @@ -133,11 +133,11 @@ DO_FontForState( *---------------------------------------------------------------------- */ -Tcl_Obj * +static Tcl_Obj * DO_ObjectForState( TreeCtrl *tree, /* Widget info. */ PerStateType *typePtr, /* Type-specific functions and values. */ - Element *elem, /* Element to examine. */ + TreeElement elem, /* Element to examine. */ int id, /* Unique id of dynamic option. */ int state /* STATE_xxx flags. */ ) @@ -233,7 +233,7 @@ static Tk_ObjCustomOption booleanCO = (ClientData) NULL }; -void +static void DynamicOptionInitBoolean( void *data ) @@ -404,16 +404,19 @@ static void StringTableRestore( /* END custom "stringtable" option */ -int BooleanCO_Init(Tk_OptionSpec *optionTable, CONST char *optionName) +static int +BooleanCO_Init( + Tk_OptionSpec *optionTable, + CONST char *optionName) { Tk_OptionSpec *specPtr; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); specPtr->clientData = &booleanCO; return TCL_OK; } -Tk_ObjCustomOption * +static Tk_ObjCustomOption * IntegerCO_Alloc( CONST char *optionName, int min, @@ -444,7 +447,7 @@ IntegerCO_Alloc( return co; } -int +static int IntegerCO_Init( Tk_OptionSpec *optionTable, CONST char *optionName, @@ -456,7 +459,7 @@ IntegerCO_Init( { Tk_OptionSpec *specPtr; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) panic("IntegerCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) @@ -497,7 +500,7 @@ int StringTableCO_Init(Tk_OptionSpec *optionTable, CONST char *optionName, CONST { Tk_OptionSpec *specPtr; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) panic("StringTableCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) @@ -598,7 +601,7 @@ typedef struct ElementBitmap ElementBitmap; struct ElementBitmap { - Element header; + TreeElement_ header; #ifdef DEPRECATED PerStateInfo draw; #endif @@ -637,14 +640,14 @@ static Tk_OptionSpec bitmapOptionSpecs[] = { (char *) NULL, 0, -1, 0, (ClientData) NULL, 0} }; -static void DeleteProcBitmap(ElementArgs *args) +static void DeleteProcBitmap(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem;*/ } -static int WorldChangedProcBitmap(ElementArgs *args) +static int WorldChangedProcBitmap(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -663,10 +666,10 @@ static int WorldChangedProcBitmap(ElementArgs *args) return mask; } -static int ConfigProcBitmap(ElementArgs *args) +static int ConfigProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem; Tk_SavedOptions savedOptions; int error; @@ -698,15 +701,15 @@ static int ConfigProcBitmap(ElementArgs *args) return TCL_OK; } -static int CreateProcBitmap(ElementArgs *args) +static int CreateProcBitmap(TreeElementArgs *args) { return TCL_OK; } -static void DisplayProcBitmap(ElementArgs *args) +static void DisplayProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem; ElementBitmap *masterX = (ElementBitmap *) elem->master; int state = args->state; @@ -748,10 +751,10 @@ static void DisplayProcBitmap(ElementArgs *args) x, y); } -static void NeededProcBitmap(ElementArgs *args) +static void NeededProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem; ElementBitmap *masterX = (ElementBitmap *) elem->master; int state = args->state; @@ -768,10 +771,10 @@ static void NeededProcBitmap(ElementArgs *args) args->needed.height = height; } -static int StateProcBitmap(ElementArgs *args) +static int StateProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem; ElementBitmap *masterX = (ElementBitmap *) elem->master; int match, match2; @@ -824,7 +827,7 @@ static int StateProcBitmap(ElementArgs *args) return 0; } -static int UndefProcBitmap(ElementArgs *args) +static int UndefProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementBitmap *elemX = (ElementBitmap *) args->elem; @@ -839,7 +842,7 @@ static int UndefProcBitmap(ElementArgs *args) return modified; } -static int ActualProcBitmap(ElementArgs *args) +static int ActualProcBitmap(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementBitmap *elemX = (ElementBitmap *) args->elem; @@ -888,7 +891,7 @@ static int ActualProcBitmap(ElementArgs *args) return TCL_OK; } -ElementType elemTypeBitmap = { +TreeElementType TreeElemTypeBitmap = { "bitmap", sizeof(ElementBitmap), bitmapOptionSpecs, @@ -912,7 +915,7 @@ typedef struct ElementBorder ElementBorder; struct ElementBorder { - Element header; /* Must be first */ + TreeElement_ header; /* Must be first */ #ifdef DEPRECATED PerStateInfo draw; #endif @@ -970,14 +973,14 @@ static Tk_OptionSpec borderOptionSpecs[] = { (char *) NULL, 0, -1, 0, (ClientData) NULL, 0} }; -static void DeleteProcBorder(ElementArgs *args) +static void DeleteProcBorder(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem;*/ } -static int WorldChangedProcBorder(ElementArgs *args) +static int WorldChangedProcBorder(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -997,10 +1000,10 @@ static int WorldChangedProcBorder(ElementArgs *args) return mask; } -static int ConfigProcBorder(ElementArgs *args) +static int ConfigProcBorder(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem; Tk_SavedOptions savedOptions; int error; @@ -1032,19 +1035,19 @@ static int ConfigProcBorder(ElementArgs *args) return TCL_OK; } -static int CreateProcBorder(ElementArgs *args) +static int CreateProcBorder(TreeElementArgs *args) { - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem; elemX->filled = -1; return TCL_OK; } -static void DisplayProcBorder(ElementArgs *args) +static void DisplayProcBorder(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem; ElementBorder *masterX = (ElementBorder *) elem->master; int state = args->state; @@ -1106,9 +1109,9 @@ static void DisplayProcBorder(ElementArgs *args) } } -static void NeededProcBorder(ElementArgs *args) +static void NeededProcBorder(TreeElementArgs *args) { - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem; ElementBorder *masterX = (ElementBorder *) elem->master; int width = 0, height = 0; @@ -1127,10 +1130,10 @@ static void NeededProcBorder(ElementArgs *args) args->needed.height = height; } -static int StateProcBorder(ElementArgs *args) +static int StateProcBorder(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBorder *elemX = (ElementBorder *) elem; ElementBorder *masterX = (ElementBorder *) elem->master; int match, match2; @@ -1165,7 +1168,7 @@ static int StateProcBorder(ElementArgs *args) return 0; } -static int UndefProcBorder(ElementArgs *args) +static int UndefProcBorder(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementBorder *elemX = (ElementBorder *) args->elem; @@ -1179,7 +1182,7 @@ static int UndefProcBorder(ElementArgs *args) return modified; } -static int ActualProcBorder(ElementArgs *args) +static int ActualProcBorder(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementBorder *elemX = (ElementBorder *) args->elem; @@ -1224,7 +1227,7 @@ static int ActualProcBorder(ElementArgs *args) return TCL_OK; } -ElementType elemTypeBorder = { +TreeElementType TreeElemTypeBorder = { "border", sizeof(ElementBorder), borderOptionSpecs, @@ -1253,7 +1256,7 @@ typedef struct ElementCheckButton ElementCheckButton; struct ElementCheckButton { - Element header; + TreeElement_ header; PerStateInfo image; int state; }; @@ -1272,16 +1275,16 @@ static Tk_OptionSpec chkbutOptionSpecs[] = { (char *) NULL, 0, -1, 0, (ClientData) NULL, 0} }; -static void DeleteProcCheckButton(ElementArgs *args) +static void DeleteProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementCheckButton *elemX = (ElementCheckButton *) elem; PerStateInfo_Free(tree, &pstImage, &elemX->image); } -static int WorldChangedProcCheckButton(ElementArgs *args) +static int WorldChangedProcCheckButton(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -1355,10 +1358,10 @@ unknown: return TCL_ERROR; } -static int ConfigProcCheckButton(ElementArgs *args) +static int ConfigProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementCheckButton *elemX = (ElementCheckButton *) elem; ElementCheckButton savedX; Tk_SavedOptions savedOptions; @@ -1404,15 +1407,15 @@ static int ConfigProcCheckButton(ElementArgs *args) return TCL_OK; } -static int CreateProcCheckButton(ElementArgs *args) +static int CreateProcCheckButton(TreeElementArgs *args) { return TCL_OK; } -static void DisplayProcCheckButton(ElementArgs *args) +static void DisplayProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementCheckButton *elemX = (ElementCheckButton *) elem; ElementCheckButton *masterX = (ElementCheckButton *) elem->master; int state = args->state; @@ -1445,10 +1448,10 @@ static void DisplayProcCheckButton(ElementArgs *args) } } -static void NeededProcCheckButton(ElementArgs *args) +static void NeededProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementCheckButton *elemX = (ElementCheckButton *) elem; ElementCheckButton *masterX = (ElementCheckButton *) elem->master; int state = args->state; @@ -1471,10 +1474,10 @@ static void NeededProcCheckButton(ElementArgs *args) args->layout.height = height; } -static int StateProcCheckButton(ElementArgs *args) +static int StateProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementCheckButton *elemX = (ElementCheckButton *) elem; ElementCheckButton *masterX = (ElementCheckButton *) elem->master; int match, match2; @@ -1513,7 +1516,7 @@ static int StateProcCheckButton(ElementArgs *args) return mask; } -static int UndefProcCheckButton(ElementArgs *args) +static int UndefProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementCheckButton *elemX = (ElementCheckButton *) args->elem; @@ -1521,7 +1524,7 @@ static int UndefProcCheckButton(ElementArgs *args) return PerStateInfo_Undefine(tree, &pstImage, &elemX->image, args->state); } -static int ActualProcCheckButton(ElementArgs *args) +static int ActualProcCheckButton(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementCheckButton *elemX = (ElementCheckButton *) args->elem; @@ -1554,7 +1557,7 @@ static int ActualProcCheckButton(ElementArgs *args) return TCL_OK; } -ElementType elemTypeCheckButton = { +TreeElementType TreeElemTypeCheckButton = { "checkbutton", sizeof(ElementCheckButton), chkbutOptionSpecs, @@ -1580,7 +1583,7 @@ typedef struct ElementImage ElementImage; struct ElementImage { - Element header; + TreeElement_ header; PerStateInfo image; }; @@ -1602,34 +1605,34 @@ typedef struct ElementImageSize static Tk_OptionSpec imageOptionSpecs[] = { #ifdef DEPRECATED {TK_OPTION_CUSTOM, "-draw", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, IMAGE_CONF_DRAW}, #endif {TK_OPTION_CUSTOM, "-height", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, IMAGE_CONF_SIZE}, {TK_OPTION_CUSTOM, "-image", (char *) NULL, (char *) NULL, (char *) NULL, Tk_Offset(ElementImage, image.obj), Tk_Offset(ElementImage, image), TK_OPTION_NULL_OK, (ClientData) NULL, IMAGE_CONF_IMAGE}, {TK_OPTION_CUSTOM, "-tiled", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, IMAGE_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-width", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, IMAGE_CONF_SIZE}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, (ClientData) NULL, 0} }; -static void DeleteProcImage(ElementArgs *args) +static void DeleteProcImage(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem;*/ } -static int WorldChangedProcImage(ElementArgs *args) +static int WorldChangedProcImage(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -1647,10 +1650,10 @@ static int WorldChangedProcImage(ElementArgs *args) return mask; } -static int ConfigProcImage(ElementArgs *args) +static int ConfigProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem; Tk_SavedOptions savedOptions; int error; @@ -1682,17 +1685,17 @@ static int ConfigProcImage(ElementArgs *args) return TCL_OK; } -static int CreateProcImage(ElementArgs *args) +static int CreateProcImage(TreeElementArgs *args) { /* ElementImage *elemX = (ElementImage *) args->elem;*/ return TCL_OK; } -static void DisplayProcImage(ElementArgs *args) +static void DisplayProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem; ElementImage *masterX = (ElementImage *) elem->master; int state = args->state; @@ -1743,10 +1746,10 @@ static void DisplayProcImage(ElementArgs *args) Tk_RedrawImage(image, 0, 0, imgW, imgH, args->display.drawable, x, y); } -static void NeededProcImage(ElementArgs *args) +static void NeededProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem; ElementImage *masterX = (ElementImage *) elem->master; int state = args->state; @@ -1778,10 +1781,10 @@ static void NeededProcImage(ElementArgs *args) args->needed.height = height; } -static int StateProcImage(ElementArgs *args) +static int StateProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem; ElementImage *masterX = (ElementImage *) elem->master; int match, match2; @@ -1820,10 +1823,10 @@ static int StateProcImage(ElementArgs *args) return 0; } -static int UndefProcImage(ElementArgs *args) +static int UndefProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementImage *elemX = (ElementImage *) elem; int modified = 0; #ifdef DEPRECATED @@ -1838,7 +1841,7 @@ static int UndefProcImage(ElementArgs *args) return modified; } -static int ActualProcImage(ElementArgs *args) +static int ActualProcImage(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementImage *elemX = (ElementImage *) args->elem; @@ -1878,7 +1881,7 @@ static int ActualProcImage(ElementArgs *args) return TCL_OK; } -ElementType elemTypeImage = { +TreeElementType TreeElemTypeImage = { "image", sizeof(ElementImage), imageOptionSpecs, @@ -1902,7 +1905,7 @@ typedef struct ElementRect ElementRect; struct ElementRect { - Element header; + TreeElement_ header; #ifdef DEPRECATED PerStateInfo draw; #endif @@ -1966,13 +1969,13 @@ static Tk_OptionSpec rectOptionSpecs[] = { (char *) NULL, 0, -1, 0, (ClientData) NULL, 0} }; -static void DeleteProcRect(ElementArgs *args) +static void DeleteProcRect(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree; ElementRect *elemX = (ElementRect *) args->elem;*/ } -static int WorldChangedProcRect(ElementArgs *args) +static int WorldChangedProcRect(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -1992,10 +1995,10 @@ static int WorldChangedProcRect(ElementArgs *args) return mask; } -static int ConfigProcRect(ElementArgs *args) +static int ConfigProcRect(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementRect *elemX = (ElementRect *) elem; ElementRect savedX; Tk_SavedOptions savedOptions; @@ -2064,7 +2067,7 @@ static int ConfigProcRect(ElementArgs *args) return TCL_OK; } -static int CreateProcRect(ElementArgs *args) +static int CreateProcRect(TreeElementArgs *args) { ElementRect *elemX = (ElementRect *) args->elem; @@ -2072,10 +2075,10 @@ static int CreateProcRect(ElementArgs *args) return TCL_OK; } -static void DisplayProcRect(ElementArgs *args) +static void DisplayProcRect(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementRect *elemX = (ElementRect *) elem; ElementRect *masterX = (ElementRect *) elem->master; int state = args->state; @@ -2151,16 +2154,16 @@ static void DisplayProcRect(ElementArgs *args) } if (showFocus && (state & STATE_FOCUS) && (state & STATE_ACTIVE)) { - DrawActiveOutline(tree, args->display.drawable, + Tree_DrawActiveOutline(tree, args->display.drawable, args->display.x, args->display.y, args->display.width, args->display.height, open); } } -static void NeededProcRect(ElementArgs *args) +static void NeededProcRect(TreeElementArgs *args) { - Element *elem = args->elem; + TreeElement elem = args->elem; ElementRect *elemX = (ElementRect *) elem; ElementRect *masterX = (ElementRect *) elem->master; int width = 0, height = 0; @@ -2185,10 +2188,10 @@ static void NeededProcRect(ElementArgs *args) args->needed.height = MAX(height, outlineWidth * 2); } -static int StateProcRect(ElementArgs *args) +static int StateProcRect(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementRect *elemX = (ElementRect *) elem; ElementRect *masterX = (ElementRect *) elem->master; int match, match2; @@ -2243,7 +2246,7 @@ static int StateProcRect(ElementArgs *args) return 0; } -static int UndefProcRect(ElementArgs *args) +static int UndefProcRect(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementRect *elemX = (ElementRect *) args->elem; @@ -2257,7 +2260,7 @@ static int UndefProcRect(ElementArgs *args) return modified; } -static int ActualProcRect(ElementArgs *args) +static int ActualProcRect(TreeElementArgs *args) { TreeCtrl *tree = args->tree; ElementRect *elemX = (ElementRect *) args->elem; @@ -2305,7 +2308,7 @@ static int ActualProcRect(ElementArgs *args) return TCL_OK; } -ElementType elemTypeRect = { +TreeElementType TreeElemTypeRect = { "rect", sizeof(ElementRect), rectOptionSpecs, @@ -2329,7 +2332,7 @@ typedef struct ElementText ElementText; struct ElementText { - Element header; + TreeElement_ header; char *textCfg; /* -text */ char *text; /* This will be the same as textCfg, or it * will be a dynamically allocated string @@ -2442,58 +2445,58 @@ static CONST char *textWrapST[] = { "char", "none", "word", (char *) NULL }; static Tk_OptionSpec textOptionSpecs[] = { {TK_OPTION_CUSTOM, "-data", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_STRINGREP}, {TK_OPTION_CUSTOM, "-datatype", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_STRINGREP}, #ifdef DEPRECATED {TK_OPTION_CUSTOM, "-draw", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_DISPLAY}, #endif {TK_OPTION_CUSTOM, "-fill", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-font", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_LAYOUT}, {TK_OPTION_CUSTOM, "-format", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_STRINGREP}, {TK_OPTION_CUSTOM, "-justify", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_LAYOUT}, {TK_OPTION_CUSTOM, "-lines", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_LAYOUT}, {TK_OPTION_STRING, "-text", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(ElementText, textCfg), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_STRINGREP}, #ifdef TEXTVAR {TK_OPTION_CUSTOM, "-textvariable", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_STRINGREP | TEXT_CONF_TEXTVAR}, #endif #ifdef TEXT_STYLE {TK_OPTION_CUSTOM, "-underline", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_DISPLAY}, #endif {TK_OPTION_CUSTOM, "-width", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_LAYOUT}, {TK_OPTION_CUSTOM, "-wrap", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Element, options), + (char *) NULL, -1, Tk_Offset(TreeElement_, options), TK_OPTION_NULL_OK, (ClientData) NULL, TEXT_CONF_LAYOUT}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, 0, 0} }; -static int WorldChangedProcText(ElementArgs *args) +static int WorldChangedProcText(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree;*/ - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; /* ElementText *masterX = (ElementText *) elem->master;*/ int flagT = args->change.flagTree; @@ -2518,10 +2521,10 @@ static int WorldChangedProcText(ElementArgs *args) return mask; } -static void TextUpdateStringRep(ElementArgs *args) +static void TextUpdateStringRep(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; Tcl_Obj *dataObj, *formatObj; @@ -2707,13 +2710,13 @@ static void TextUpdateStringRep(ElementArgs *args) static ElementTextLayout2 * TextUpdateLayout( char *func, - ElementArgs *args, + TreeElementArgs *args, int fixedWidth, int maxWidth ) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; int state = args->state; @@ -2893,15 +2896,15 @@ static char *VarTraceProc_Text(ClientData clientData, Tcl_Interp *interp, elemX->textLen = STRINGREP_INVALID; Tree_ElementChangedItself(etv->tree, etv->item, etv->column, - (Element *) elemX, TEXT_CONF_TEXTVAR, CS_LAYOUT | CS_DISPLAY); + (TreeElement) elemX, TEXT_CONF_TEXTVAR, CS_LAYOUT | CS_DISPLAY); return (char *) NULL; } #endif /* TEXTVAR */ -static void DeleteProcText(ElementArgs *args) +static void DeleteProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementTextLayout2 *etl2; @@ -2918,11 +2921,11 @@ static void DeleteProcText(ElementArgs *args) #endif } -static int ConfigProcText(ElementArgs *args) +static int ConfigProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; Tcl_Interp *interp = tree->interp; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; Tk_SavedOptions savedOptions; int error; @@ -3003,7 +3006,7 @@ static int ConfigProcText(ElementArgs *args) return TCL_OK; } -static int CreateProcText(ElementArgs *args) +static int CreateProcText(TreeElementArgs *args) { /* ElementText *elemX = (ElementText *) args->elem;*/ @@ -3013,11 +3016,11 @@ static int CreateProcText(ElementArgs *args) static ElementTextLayout2 * TextRedoLayoutIfNeeded( char *func, - ElementArgs *args, + TreeElementArgs *args, int fixedWidth ) { - Element *elem = args->elem; + TreeElement elem = args->elem; /* ElementText *elemX = (ElementText *) elem;*/ ElementText *masterX = (ElementText *) elem->master; int doLayout = 0; @@ -3073,10 +3076,10 @@ TextRedoLayoutIfNeeded( return etl2; } -static void DisplayProcText(ElementArgs *args) +static void DisplayProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; int state = args->state; @@ -3179,7 +3182,7 @@ static void DisplayProcText(ElementArgs *args) TextLayout_Draw(tree->display, args->display.drawable, gc, layout, x, y, 0, -1, underline); if (clipRgn != NULL) { - UnsetClipMask(tree, args->display.drawable, gc); + Tree_UnsetClipMask(tree, args->display.drawable, gc); Tree_FreeRegion(tree, clipRgn); } return; @@ -3188,7 +3191,8 @@ static void DisplayProcText(ElementArgs *args) Tk_GetFontMetrics(tkfont, &fm); pixelsForText = args->display.width; - bytesThatFit = Ellipsis(tkfont, text, textLen, &pixelsForText, ellipsis, FALSE); + bytesThatFit = Tree_Ellipsis(tkfont, text, textLen, &pixelsForText, + ellipsis, FALSE); width = pixelsForText, height = fm.linespace; /* Hack -- The actual size of the text may be slightly smaller than * the available space when squeezed. If so we don't want to center @@ -3249,15 +3253,15 @@ static void DisplayProcText(ElementArgs *args) #endif } if (clipRgn != NULL) { - UnsetClipMask(tree, args->display.drawable, gc); + Tree_UnsetClipMask(tree, args->display.drawable, gc); Tree_FreeRegion(tree, clipRgn); } } -static void NeededProcText(ElementArgs *args) +static void NeededProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; int state = args->state; @@ -3274,7 +3278,7 @@ static void NeededProcText(ElementArgs *args) etlM = DynamicOption_FindData(args->elem->master->options, 1005); if ((masterX != NULL) && (masterX->textLen == STRINGREP_INVALID)) { - args->elem = (Element *) masterX; + args->elem = (TreeElement) masterX; TextUpdateStringRep(args); args->elem = elem; } @@ -3337,10 +3341,10 @@ static void NeededProcText(ElementArgs *args) args->needed.height = height; } -static void HeightProcText(ElementArgs *args) +static void HeightProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; int state = args->state; @@ -3375,7 +3379,14 @@ static void HeightProcText(ElementArgs *args) args->height.height = height; } -int Element_GetSortData(TreeCtrl *tree, Element *elem, int type, long *lv, double *dv, char **sv) +int +TreeElement_GetSortData( + TreeCtrl *tree, + TreeElement elem, + int type, + long *lv, + double *dv, + char **sv) { ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master; @@ -3442,10 +3453,10 @@ int Element_GetSortData(TreeCtrl *tree, Element *elem, int type, long *lv, doubl return TCL_OK; } -static int StateProcText(ElementArgs *args) +static int StateProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; /* ElementText *elemX = (ElementText *) elem; ElementText *masterX = (ElementText *) elem->master;*/ #ifdef DEPRECATED @@ -3481,7 +3492,7 @@ static int StateProcText(ElementArgs *args) return 0; } -static int UndefProcText(ElementArgs *args) +static int UndefProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; /* ElementText *elemX = (ElementText *) args->elem;*/ @@ -3498,7 +3509,7 @@ static int UndefProcText(ElementArgs *args) return modified; } -static int ActualProcText(ElementArgs *args) +static int ActualProcText(TreeElementArgs *args) { TreeCtrl *tree = args->tree; /* ElementText *elemX = (ElementText *) args->elem; @@ -3546,7 +3557,7 @@ static int ActualProcText(ElementArgs *args) return TCL_OK; } -ElementType elemTypeText = { +TreeElementType TreeElemTypeText = { "text", sizeof(ElementText), textOptionSpecs, @@ -3570,7 +3581,7 @@ typedef struct ElementWindow ElementWindow; struct ElementWindow { - Element header; + TreeElement_ header; #ifdef DEPRECATED PerStateInfo draw; /* -draw */ #endif @@ -3630,7 +3641,7 @@ WinItemStructureProc(clientData, eventPtr) if (eventPtr->type == DestroyNotify) { elemX->tkwin = elemX->child = NULL; Tree_ElementChangedItself(elemX->tree, elemX->item, elemX->column, - (Element *) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); + (TreeElement) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); } } @@ -3648,7 +3659,7 @@ WinItemRequestProc(clientData, tkwin) return; #endif Tree_ElementChangedItself(elemX->tree, elemX->item, elemX->column, - (Element *) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); + (TreeElement) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); } static void @@ -3696,7 +3707,7 @@ WinItemLostSlaveProc(clientData, tkwin) elemX->tkwin = NULL; #endif Tree_ElementChangedItself(elemX->tree, elemX->item, elemX->column, - (Element *) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); + (TreeElement) elemX, EWIN_CONF_WINDOW, CS_LAYOUT | CS_DISPLAY); } static Tk_GeomMgr winElemGeomType = { @@ -3705,10 +3716,10 @@ static Tk_GeomMgr winElemGeomType = { WinItemLostSlaveProc, /* lostSlaveProc */ }; -static void DeleteProcWindow(ElementArgs *args) +static void DeleteProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; ElementWindow *masterX = (ElementWindow *) elem->master; @@ -3741,7 +3752,7 @@ static void DeleteProcWindow(ElementArgs *args) } } -static int WorldChangedProcWindow(ElementArgs *args) +static int WorldChangedProcWindow(TreeElementArgs *args) { int flagM = args->change.flagMaster; int flagS = args->change.flagSelf; @@ -3758,10 +3769,10 @@ static int WorldChangedProcWindow(ElementArgs *args) return mask; } -static int ConfigProcWindow(ElementArgs *args) +static int ConfigProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; ElementWindow *masterX = (ElementWindow *) elem->master; ElementWindow savedX; @@ -3882,10 +3893,10 @@ static int ConfigProcWindow(ElementArgs *args) return TCL_OK; } -static int CreateProcWindow(ElementArgs *args) +static int CreateProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; elemX->tree = tree; @@ -3898,10 +3909,10 @@ static int CreateProcWindow(ElementArgs *args) return TCL_OK; } -static void DisplayProcWindow(ElementArgs *args) +static void DisplayProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; ElementWindow *masterX = (ElementWindow *) elem->master; int state = args->state; @@ -4049,10 +4060,10 @@ hideIt: } } -static void NeededProcWindow(ElementArgs *args) +static void NeededProcWindow(TreeElementArgs *args) { /* TreeCtrl *tree = args->tree;*/ - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; /* ElementWindow *masterX = (ElementWindow *) elem->master; int state = args->state;*/ @@ -4084,11 +4095,11 @@ static void NeededProcWindow(ElementArgs *args) args->needed.height = height; } -static int StateProcWindow(ElementArgs *args) +static int StateProcWindow(TreeElementArgs *args) { #ifdef DEPRECATED TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementBitmap *elemX = (ElementBitmap *) elem; ElementBitmap *masterX = (ElementBitmap *) elem->master; int match, match2; @@ -4106,10 +4117,10 @@ static int StateProcWindow(ElementArgs *args) return 0; } -static int UndefProcWindow(ElementArgs *args) +static int UndefProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; int modified = 0; @@ -4119,7 +4130,7 @@ static int UndefProcWindow(ElementArgs *args) return modified; } -static int ActualProcWindow(ElementArgs *args) +static int ActualProcWindow(TreeElementArgs *args) { #ifdef DEPRECATED TreeCtrl *tree = args->tree; @@ -4147,10 +4158,10 @@ static int ActualProcWindow(ElementArgs *args) return TCL_OK; } -static void OnScreenProcWindow(ElementArgs *args) +static void OnScreenProcWindow(TreeElementArgs *args) { TreeCtrl *tree = args->tree; - Element *elem = args->elem; + TreeElement elem = args->elem; ElementWindow *elemX = (ElementWindow *) elem; if (!args->screen.visible && (elemX->tkwin != NULL)) { @@ -4162,7 +4173,7 @@ static void OnScreenProcWindow(ElementArgs *args) } } -ElementType elemTypeWindow = { +TreeElementType TreeElemTypeWindow = { "window", sizeof(ElementWindow), windowOptionSpecs, @@ -4186,17 +4197,17 @@ typedef struct ElementAssocData ElementAssocData; struct ElementAssocData { - ElementType *typeList; + TreeElementType *typeList; }; -int TreeElement_TypeFromObj(TreeCtrl *tree, Tcl_Obj *objPtr, ElementType **typePtrPtr) +int TreeElement_TypeFromObj(TreeCtrl *tree, Tcl_Obj *objPtr, TreeElementType **typePtrPtr) { Tcl_Interp *interp = tree->interp; ElementAssocData *assocData; char *typeStr; int length; - ElementType *typeList; - ElementType *typePtr, *matchPtr = NULL; + TreeElementType *typeList; + TreeElementType *typePtr, *matchPtr = NULL; assocData = Tcl_GetAssocData(interp, "TreeCtrlElementTypes", NULL); typeList = assocData->typeList; @@ -4229,11 +4240,11 @@ int TreeElement_TypeFromObj(TreeCtrl *tree, Tcl_Obj *objPtr, ElementType **typeP return TCL_OK; } -int TreeCtrl_RegisterElementType(Tcl_Interp *interp, ElementType *newTypePtr) +int TreeCtrl_RegisterElementType(Tcl_Interp *interp, TreeElementType *newTypePtr) { ElementAssocData *assocData; - ElementType *typeList; - ElementType *prevPtr, *typePtr, *nextPtr; + TreeElementType *typeList; + TreeElementType *prevPtr, *typePtr, *nextPtr; assocData = Tcl_GetAssocData(interp, "TreeCtrlElementTypes", NULL); typeList = assocData->typeList; @@ -4251,8 +4262,8 @@ int TreeCtrl_RegisterElementType(Tcl_Interp *interp, ElementType *newTypePtr) ckfree((char *) typePtr); } } - typePtr = (ElementType *) ckalloc(sizeof(ElementType)); - memcpy(typePtr, newTypePtr, sizeof(ElementType)); + typePtr = (TreeElementType *) ckalloc(sizeof(TreeElementType)); + memcpy(typePtr, newTypePtr, sizeof(TreeElementType)); typePtr->next = typeList; typeList = typePtr; @@ -4265,7 +4276,7 @@ int TreeCtrl_RegisterElementType(Tcl_Interp *interp, ElementType *newTypePtr) return TCL_OK; } -TreeCtrlStubs stubs = { +static TreeCtrlStubs stubs = { TreeCtrl_RegisterElementType, Tree_RedrawElement, Tree_ElementIterateBegin, @@ -4289,8 +4300,8 @@ TreeCtrlStubs stubs = { static void FreeAssocData(ClientData clientData, Tcl_Interp *interp) { ElementAssocData *assocData = clientData; - ElementType *typeList = assocData->typeList; - ElementType *next; + TreeElementType *typeList = assocData->typeList; + TreeElementType *next; while (typeList != NULL) { next = typeList->next; @@ -4310,55 +4321,55 @@ int TreeElement_Init(Tcl_Interp *interp) /* * bitmap */ - PerStateCO_Init(elemTypeBitmap.optionSpecs, "-background", + PerStateCO_Init(TreeElemTypeBitmap.optionSpecs, "-background", &pstColor, TreeStateFromObj); - PerStateCO_Init(elemTypeBitmap.optionSpecs, "-bitmap", + PerStateCO_Init(TreeElemTypeBitmap.optionSpecs, "-bitmap", &pstBitmap, TreeStateFromObj); #ifdef DEPRECATED - PerStateCO_Init(elemTypeBitmap.optionSpecs, "-draw", + PerStateCO_Init(TreeElemTypeBitmap.optionSpecs, "-draw", &pstBoolean, TreeStateFromObj); #endif - PerStateCO_Init(elemTypeBitmap.optionSpecs, "-foreground", + PerStateCO_Init(TreeElemTypeBitmap.optionSpecs, "-foreground", &pstColor, TreeStateFromObj); /* * border */ #ifdef DEPRECATED - PerStateCO_Init(elemTypeBorder.optionSpecs, "-draw", + PerStateCO_Init(TreeElemTypeBorder.optionSpecs, "-draw", &pstBoolean, TreeStateFromObj); #endif - PerStateCO_Init(elemTypeBorder.optionSpecs, "-background", + PerStateCO_Init(TreeElemTypeBorder.optionSpecs, "-background", &pstBorder, TreeStateFromObj); - PerStateCO_Init(elemTypeBorder.optionSpecs, "-relief", + PerStateCO_Init(TreeElemTypeBorder.optionSpecs, "-relief", &pstRelief, TreeStateFromObj); /* * image */ #ifdef DEPRECATED - DynamicCO_Init(elemTypeImage.optionSpecs, "-draw", + DynamicCO_Init(TreeElemTypeImage.optionSpecs, "-draw", 1002, sizeof(PerStateInfo), Tk_Offset(PerStateInfo, obj), 0, PerStateCO_Alloc("-draw", &pstBoolean, TreeStateFromObj), (DynamicOptionInitProc *) NULL); #endif - PerStateCO_Init(elemTypeImage.optionSpecs, "-image", + PerStateCO_Init(TreeElemTypeImage.optionSpecs, "-image", &pstImage, TreeStateFromObj); /* 2 options in the same structure. */ - DynamicCO_Init(elemTypeImage.optionSpecs, "-height", + DynamicCO_Init(TreeElemTypeImage.optionSpecs, "-height", 1001, sizeof(ElementImageSize), Tk_Offset(ElementImageSize, heightObj), - Tk_Offset(ElementImageSize, height), &pixelsCO, + Tk_Offset(ElementImageSize, height), &TreeCtrlCO_pixels, (DynamicOptionInitProc *) NULL); - DynamicCO_Init(elemTypeImage.optionSpecs, "-width", + DynamicCO_Init(TreeElemTypeImage.optionSpecs, "-width", 1001, sizeof(ElementImageSize), Tk_Offset(ElementImageSize, widthObj), - Tk_Offset(ElementImageSize, width), &pixelsCO, + Tk_Offset(ElementImageSize, width), &TreeCtrlCO_pixels, (DynamicOptionInitProc *) NULL); - DynamicCO_Init(elemTypeImage.optionSpecs, "-tiled", + DynamicCO_Init(TreeElemTypeImage.optionSpecs, "-tiled", 1003, sizeof(int), -1, 0, &booleanCO, @@ -4368,43 +4379,43 @@ int TreeElement_Init(Tcl_Interp *interp) * rect */ #ifdef DEPRECATED - PerStateCO_Init(elemTypeRect.optionSpecs, "-draw", + PerStateCO_Init(TreeElemTypeRect.optionSpecs, "-draw", &pstBoolean, TreeStateFromObj); #endif - PerStateCO_Init(elemTypeRect.optionSpecs, "-fill", + PerStateCO_Init(TreeElemTypeRect.optionSpecs, "-fill", &pstColor, TreeStateFromObj); - PerStateCO_Init(elemTypeRect.optionSpecs, "-outline", + PerStateCO_Init(TreeElemTypeRect.optionSpecs, "-outline", &pstColor, TreeStateFromObj); /* * text */ /* 3 options in the same structure. */ - DynamicCO_Init(elemTypeText.optionSpecs, "-data", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-data", 1006, sizeof(ElementTextData), Tk_Offset(ElementTextData, dataObj), - -1, &stringCO, + -1, &TreeCtrlCO_string, ElementTextDataInit); - DynamicCO_Init(elemTypeText.optionSpecs, "-datatype", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-datatype", 1006, sizeof(ElementTextData), -1, Tk_Offset(ElementTextData, dataType), StringTableCO_Alloc("-datatype", textDataTypeST), ElementTextDataInit); - DynamicCO_Init(elemTypeText.optionSpecs, "-format", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-format", 1006, sizeof(ElementTextData), Tk_Offset(ElementTextData, formatObj), - -1, &stringCO, + -1, &TreeCtrlCO_string, ElementTextDataInit); /* 4 options in the same structure. */ - DynamicCO_Init(elemTypeText.optionSpecs, "-justify", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-justify", 1005, sizeof(ElementTextLayout), -1, Tk_Offset(ElementTextLayout, justify), StringTableCO_Alloc("-justify", textJustifyST), ElementTextLayoutInit); - DynamicCO_Init(elemTypeText.optionSpecs, "-lines", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-lines", 1005, sizeof(ElementTextLayout), -1, Tk_Offset(ElementTextLayout, lines), @@ -4414,12 +4425,12 @@ int TreeElement_Init(Tcl_Interp *interp) -1, /* empty */ 0x01), /* flags: min */ ElementTextLayoutInit); - DynamicCO_Init(elemTypeText.optionSpecs, "-width", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-width", 1005, sizeof(ElementTextLayout), Tk_Offset(ElementTextLayout, widthObj), - Tk_Offset(ElementTextLayout, width), &pixelsCO, + Tk_Offset(ElementTextLayout, width), &TreeCtrlCO_pixels, ElementTextLayoutInit); - DynamicCO_Init(elemTypeText.optionSpecs, "-wrap", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-wrap", 1005, sizeof(ElementTextLayout), -1, Tk_Offset(ElementTextLayout, wrap), @@ -4427,30 +4438,30 @@ int TreeElement_Init(Tcl_Interp *interp) ElementTextLayoutInit); #ifdef DEPRECATED - DynamicCO_Init(elemTypeText.optionSpecs, "-draw", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-draw", 1002, sizeof(PerStateInfo), Tk_Offset(PerStateInfo, obj), 0, PerStateCO_Alloc("-draw", &pstBoolean, TreeStateFromObj), (DynamicOptionInitProc *) NULL); #endif - DynamicCO_Init(elemTypeText.optionSpecs, "-fill", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-fill", 1003, sizeof(PerStateInfo), Tk_Offset(PerStateInfo, obj), 0, PerStateCO_Alloc("-fill", &pstColor, TreeStateFromObj), (DynamicOptionInitProc *) NULL); - DynamicCO_Init(elemTypeText.optionSpecs, "-font", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-font", 1004, sizeof(PerStateInfo), Tk_Offset(PerStateInfo, obj), 0, PerStateCO_Alloc("-font", &pstFont, TreeStateFromObj), (DynamicOptionInitProc *) NULL); - DynamicCO_Init(elemTypeText.optionSpecs, "-textvariable", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-textvariable", 1001, sizeof(ElementTextVar), Tk_Offset(struct ElementTextVar, varNameObj), - -1, &stringCO, + -1, &TreeCtrlCO_string, (DynamicOptionInitProc *) NULL); #ifdef TEXT_STYLE - DynamicCO_Init(elemTypeText.optionSpecs, "-underline", + DynamicCO_Init(TreeElemTypeText.optionSpecs, "-underline", 1008, sizeof(ElementTextStyle), -1, Tk_Offset(ElementTextStyle, underline), @@ -4466,7 +4477,7 @@ int TreeElement_Init(Tcl_Interp *interp) * window */ #ifdef DEPRECATED - PerStateCO_Init(elemTypeWindow.optionSpecs, "-draw", + PerStateCO_Init(TreeElemTypeWindow.optionSpecs, "-draw", &pstBoolean, TreeStateFromObj); #endif @@ -4474,13 +4485,13 @@ int TreeElement_Init(Tcl_Interp *interp) assocData->typeList = NULL; Tcl_SetAssocData(interp, "TreeCtrlElementTypes", FreeAssocData, assocData); - TreeCtrl_RegisterElementType(interp, &elemTypeBitmap); - TreeCtrl_RegisterElementType(interp, &elemTypeBorder); -/* TreeCtrl_RegisterElementType(interp, &elemTypeCheckButton);*/ - TreeCtrl_RegisterElementType(interp, &elemTypeImage); - TreeCtrl_RegisterElementType(interp, &elemTypeRect); - TreeCtrl_RegisterElementType(interp, &elemTypeText); - TreeCtrl_RegisterElementType(interp, &elemTypeWindow); + TreeCtrl_RegisterElementType(interp, &TreeElemTypeBitmap); + TreeCtrl_RegisterElementType(interp, &TreeElemTypeBorder); +/* TreeCtrl_RegisterElementType(interp, &TreeElemTypeCheckButton);*/ + TreeCtrl_RegisterElementType(interp, &TreeElemTypeImage); + TreeCtrl_RegisterElementType(interp, &TreeElemTypeRect); + TreeCtrl_RegisterElementType(interp, &TreeElemTypeText); + TreeCtrl_RegisterElementType(interp, &TreeElemTypeWindow); Tcl_SetAssocData(interp, "TreeCtrlStubs", NULL, &stubs); diff --git a/generic/tkTreeElem.h b/generic/tkTreeElem.h index e43c95a..513e16a 100644 --- a/generic/tkTreeElem.h +++ b/generic/tkTreeElem.h @@ -5,17 +5,17 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeElem.h,v 1.24 2006/12/07 03:45:22 treectrl Exp $ + * RCS: @(#) $Id: tkTreeElem.h,v 1.25 2007/01/23 22:41:31 treectrl Exp $ */ -typedef struct ElementType ElementType; -typedef struct Element Element; -typedef struct ElementArgs ElementArgs; +typedef struct TreeElementType TreeElementType; +typedef struct TreeElement_ TreeElement_; +typedef struct TreeElementArgs TreeElementArgs; -struct ElementArgs +struct TreeElementArgs { TreeCtrl *tree; - Element *elem; + TreeElement elem; int state; struct { TreeItem item; @@ -77,69 +77,69 @@ struct ElementArgs } screen; }; -struct ElementType +struct TreeElementType { char *name; /* "image", "text" */ - int size; /* size of an Element */ + int size; /* size of an TreeElement */ Tk_OptionSpec *optionSpecs; Tk_OptionTable optionTable; - int (*createProc)(ElementArgs *args); - void (*deleteProc)(ElementArgs *args); - int (*configProc)(ElementArgs *args); - void (*displayProc)(ElementArgs *args); - void (*neededProc)(ElementArgs *args); - void (*heightProc)(ElementArgs *args); - int (*changeProc)(ElementArgs *args); - int (*stateProc)(ElementArgs *args); - int (*undefProc)(ElementArgs *args); - int (*actualProc)(ElementArgs *args); - void (*onScreenProc)(ElementArgs *args); - ElementType *next; + int (*createProc)(TreeElementArgs *args); + void (*deleteProc)(TreeElementArgs *args); + int (*configProc)(TreeElementArgs *args); + void (*displayProc)(TreeElementArgs *args); + void (*neededProc)(TreeElementArgs *args); + void (*heightProc)(TreeElementArgs *args); + int (*changeProc)(TreeElementArgs *args); + int (*stateProc)(TreeElementArgs *args); + int (*undefProc)(TreeElementArgs *args); + int (*actualProc)(TreeElementArgs *args); + void (*onScreenProc)(TreeElementArgs *args); + TreeElementType *next; }; /* list of these for each style */ -struct Element +struct TreeElement_ { Tk_Uid name; /* "elem2", "eText" etc */ - ElementType *typePtr; - Element *master; /* NULL if this is master */ + TreeElementType *typePtr; + TreeElement master; /* NULL if this is master */ DynamicOption *options; /* Dynamically-allocated options. */ /* type-specific data here */ }; -extern ElementType elemTypeBitmap; -extern ElementType elemTypeBorder; -extern ElementType elemTypeCheckButton; -extern ElementType elemTypeImage; -extern ElementType elemTypeRect; -extern ElementType elemTypeText; -extern ElementType elemTypeWindow; +extern TreeElementType TreeElemTypeBitmap; +extern TreeElementType TreeElemTypeBorder; +extern TreeElementType TreeElemTypeCheckButton; +extern TreeElementType TreeElemTypeImage; +extern TreeElementType TreeElemTypeRect; +extern TreeElementType TreeElemTypeText; +extern TreeElementType TreeElemTypeWindow; #define ELEMENT_TYPE_MATCHES(t1,t2) ((t1)->name == (t2)->name) /***** ***** *****/ -extern int Element_GetSortData(TreeCtrl *tree, Element *elem, int type, long *lv, double *dv, char **sv); +extern int TreeElement_GetSortData(TreeCtrl *tree, TreeElement elem, int type, long *lv, double *dv, char **sv); typedef struct TreeIterate_ *TreeIterate; -extern int TreeElement_TypeFromObj(TreeCtrl *tree, Tcl_Obj *objPtr, ElementType **typePtrPtr); -extern void Tree_RedrawElement(TreeCtrl *tree, TreeItem item, Element *elem); -extern TreeIterate Tree_ElementIterateBegin(TreeCtrl *tree, ElementType *elemTypePtr); +extern int TreeElement_TypeFromObj(TreeCtrl *tree, Tcl_Obj *objPtr, TreeElementType **typePtrPtr); +extern void Tree_RedrawElement(TreeCtrl *tree, TreeItem item, TreeElement elem); +extern TreeIterate Tree_ElementIterateBegin(TreeCtrl *tree, TreeElementType *elemTypePtr); extern TreeIterate Tree_ElementIterateNext(TreeIterate iter_); -extern Element *Tree_ElementIterateGet(TreeIterate iter_); +extern TreeElement Tree_ElementIterateGet(TreeIterate iter_); extern void Tree_ElementIterateChanged(TreeIterate iter_, int mask); extern void Tree_ElementChangedItself(TreeCtrl *tree, TreeItem item, - TreeItemColumn column, Element *elem, int flags, int mask); + TreeItemColumn column, TreeElement elem, int flags, int mask); typedef struct TreeCtrlStubs TreeCtrlStubs; struct TreeCtrlStubs { - int (*TreeCtrl_RegisterElementType)(Tcl_Interp *interp, ElementType *typePtr); - void (*Tree_RedrawElement)(TreeCtrl *tree, TreeItem item, Element *elem); - TreeIterate (*Tree_ElementIterateBegin)(TreeCtrl *tree, ElementType *elemTypePtr); + int (*TreeCtrl_RegisterElementType)(Tcl_Interp *interp, TreeElementType *typePtr); + void (*Tree_RedrawElement)(TreeCtrl *tree, TreeItem item, TreeElement elem); + TreeIterate (*Tree_ElementIterateBegin)(TreeCtrl *tree, TreeElementType *elemTypePtr); TreeIterate (*Tree_ElementIterateNext)(TreeIterate iter_); - Element *(*Tree_ElementIterateGet)(TreeIterate iter_); + TreeElement (*Tree_ElementIterateGet)(TreeIterate iter_); void (*Tree_ElementIterateChanged)(TreeIterate iter_, int mask); void (*PerStateInfo_Free)(TreeCtrl *tree, PerStateType *typePtr, PerStateInfo *pInfo); int (*PerStateInfo_FromObj)(TreeCtrl *tree, StateFromObjProc proc, PerStateType *typePtr, PerStateInfo *pInfo); diff --git a/generic/tkTreeItem.c b/generic/tkTreeItem.c index d86df43..7ee38c3 100644 --- a/generic/tkTreeItem.c +++ b/generic/tkTreeItem.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeItem.c,v 1.99 2006/12/22 22:33:00 treectrl Exp $ + * RCS: @(#) $Id: tkTreeItem.c,v 1.100 2007/01/23 22:41:31 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -95,7 +95,7 @@ static Tk_OptionSpec itemOptionSpecs[] = { TK_OPTION_NULL_OK, (ClientData) NULL, ITEM_CONF_SIZE}, {TK_OPTION_CUSTOM, "-tags", (char *) NULL, (char *) NULL, (char *) NULL, -1, Tk_Offset(TreeItem_, tagInfo), - TK_OPTION_NULL_OK, (ClientData) &TagInfoCO, 0}, + TK_OPTION_NULL_OK, (ClientData) &TreeCtrlCO_tagInfo, 0}, {TK_OPTION_CUSTOM, "-visible", (char *) NULL, (char *) NULL, "1", -1, Tk_Offset(TreeItem_, flags), 0, (ClientData) NULL, ITEM_CONF_VISIBLE}, @@ -125,7 +125,7 @@ Column_Alloc( ) { #ifdef ALLOC_HAX - Column *column = (Column *) AllocHax_Alloc(tree->allocData, ItemColumnUid, + Column *column = (Column *) TreeAlloc_Alloc(tree->allocData, ItemColumnUid, sizeof(Column)); #else Column *column = (Column *) ckalloc(sizeof(Column)); @@ -438,7 +438,7 @@ TreeItemColumn_GetNext( *---------------------------------------------------------------------- */ -Column * +static Column * Column_FreeResources( TreeCtrl *tree, /* Widget info. */ Column *self /* Column to free. */ @@ -449,7 +449,7 @@ Column_FreeResources( if (self->style != NULL) TreeStyle_FreeResources(tree, self->style); #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, ItemColumnUid, (char *) self, sizeof(Column)); + TreeAlloc_Free(tree->allocData, ItemColumnUid, (char *) self, sizeof(Column)); #else WFREE(self, Column); #endif @@ -589,7 +589,7 @@ Item_Alloc( ) { #ifdef ALLOC_HAX - TreeItem item = (TreeItem) AllocHax_Alloc(tree->allocData, ItemUid, sizeof(TreeItem_)); + TreeItem item = (TreeItem) TreeAlloc_Alloc(tree->allocData, ItemUid, sizeof(TreeItem_)); #else TreeItem item = (TreeItem) ckalloc(sizeof(TreeItem_)); #endif @@ -2369,7 +2369,7 @@ TreeItem_FromObj( /* *---------------------------------------------------------------------- * - * ItemForEach_Start -- + * TreeItemForEach_Start -- * * Begin iterating over items. A command might accept two item * descriptions for a range of items, or a single item description @@ -2387,11 +2387,11 @@ TreeItem_FromObj( */ TreeItem -ItemForEach_Start( +TreeItemForEach_Start( TreeItemList *items, /* List of items. */ TreeItemList *item2s, /* List of items or NULL. */ ItemForEach *iter /* Returned info, pass to - ItemForEach_Next. */ + TreeItemForEach_Next. */ ) { TreeCtrl *tree = items->tree; @@ -2429,7 +2429,7 @@ ItemForEach_Start( /* *---------------------------------------------------------------------- * - * ItemForEach_Next -- + * TreeItemForEach_Next -- * * Returns the next item to iterate over. Keep calling this until * the result is NULL. @@ -2444,8 +2444,8 @@ ItemForEach_Start( */ TreeItem -ItemForEach_Next( - ItemForEach *iter /* Initialized by ItemForEach_Start. */ +TreeItemForEach_Next( + ItemForEach *iter /* Initialized by TreeItemForEach_Start. */ ) { TreeCtrl *tree = iter->tree; @@ -3217,7 +3217,7 @@ TreeItem_Release( ) { #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, ItemUid, (char *) item, sizeof(TreeItem_)); + TreeAlloc_Free(tree->allocData, ItemUid, (char *) item, sizeof(TreeItem_)); #else WFREE(item, TreeItem_); #endif @@ -3312,7 +3312,7 @@ int TreeItem_Height( /* Can't have less height than our button */ if (TreeItem_HasButton(tree, item)) { - buttonHeight = ButtonHeight(tree, item->state); + buttonHeight = Tree_ButtonHeight(tree, item->state); } /* User specified a fixed height for this item */ @@ -4198,7 +4198,7 @@ TreeItem_DrawLines( if (tree->lineStyle == LINE_STYLE_DOT) { for (i = 0; i < tree->lineThickness; i++) - VDotLine(tree, drawable, tree->lineGC, + Tree_VDotLine(tree, drawable, tree->lineGC, lineLeft + i, top, bottom); @@ -4217,7 +4217,7 @@ TreeItem_DrawLines( if (hasPrev || hasNext) { if (tree->lineStyle == LINE_STYLE_DOT) { for (i = 0; i < tree->lineThickness; i++) - HDotLine(tree, drawable, tree->lineGC, + Tree_HDotLine(tree, drawable, tree->lineGC, lineLeft + vert, lineTop + i, x /* + tree->columnTreeLeft */ + indent); @@ -4247,7 +4247,7 @@ TreeItem_DrawLines( if (item != NULL) { if (tree->lineStyle == LINE_STYLE_DOT) { for (i = 0; i < tree->lineThickness; i++) - VDotLine(tree, drawable, tree->lineGC, + Tree_VDotLine(tree, drawable, tree->lineGC, lineLeft + i, y, y + height); diff --git a/generic/tkTreeMarquee.c b/generic/tkTreeMarquee.c index 395b426..fb43e17 100644 --- a/generic/tkTreeMarquee.c +++ b/generic/tkTreeMarquee.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeMarquee.c,v 1.14 2006/12/23 04:32:08 treectrl Exp $ + * RCS: @(#) $Id: tkTreeMarquee.c,v 1.15 2007/01/23 22:41:31 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -195,9 +195,9 @@ TreeMarquee_Draw( y = MIN(marquee->y1, marquee->y2); h = abs(marquee->y1 - marquee->y2) + 1; - DotRect_Setup(tree, drawable, &dotState); - DotRect_Draw(&dotState, x1 + x, y1 + y, w, h); - DotRect_Restore(&dotState); + TreeDotRect_Setup(tree, drawable, &dotState); + TreeDotRect_Draw(&dotState, x1 + x, y1 + y, w, h); + TreeDotRect_Restore(&dotState); } /* diff --git a/generic/tkTreeStyle.c b/generic/tkTreeStyle.c index 774a0eb..cb51966 100644 --- a/generic/tkTreeStyle.c +++ b/generic/tkTreeStyle.c @@ -5,13 +5,13 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeStyle.c,v 1.72 2006/12/23 04:32:08 treectrl Exp $ + * RCS: @(#) $Id: tkTreeStyle.c,v 1.73 2007/01/23 22:41:31 treectrl Exp $ */ #include "tkTreeCtrl.h" #include "tkTreeElem.h" -/* This is the roundUp argument to AllocHax_CAlloc. */ +/* This is the roundUp argument to TreeAlloc_CAlloc. */ #define ELEMENT_LINK_ROUND 1 /* Define this for performance gain and increased memory usage. */ @@ -104,7 +104,7 @@ struct IStyle */ struct MElementLink { - Element *elem; /* Master element. */ + TreeElement elem; /* Master element. */ int ePadX[2]; /* external horizontal padding */ int ePadY[2]; /* external vertical padding */ int iPadX[2]; /* internal horizontal padding */ @@ -122,7 +122,7 @@ struct MElementLink */ struct IElementLink { - Element *elem; /* Master or instance element. */ + TreeElement elem; /* Master or instance element. */ #ifdef CACHE_ELEM_SIZE int neededWidth; int neededHeight; @@ -464,13 +464,13 @@ static void Element_NeededSize( TreeCtrl *tree, /* Widget info. */ MElementLink *eLink1, /* Master style layout info. */ - Element *elem, /* Master/Instance element. */ + TreeElement elem, /* Master/Instance element. */ int state, /* STATE_xxx flags. */ int *widthPtr, /* Out: width */ int *heightPtr /* Out: height */ ) { - ElementArgs args; + TreeElementArgs args; int width, height; if ((eLink1->fixedWidth >= 0) && (eLink1->fixedHeight >= 0)) { @@ -1713,7 +1713,7 @@ Style_DoLayout( struct Layout *layout = &layouts[i]; MElementLink *eLink1 = layout->master; IElementLink *eLink2 = layout->eLink; - ElementArgs args; + TreeElementArgs args; if (IS_HIDDEN(layout)) continue; @@ -2304,7 +2304,7 @@ void TreeStyle_Draw( MStyle *masterStyle = style->master; TreeCtrl *tree = drawArgs->tree; int *bounds = drawArgs->bounds; - ElementArgs args; + TreeElementArgs args; int i, x, y, minWidth, minHeight; struct Layout staticLayouts[STATIC_SIZE], *layouts = staticLayouts; #undef DEBUG_DRAW @@ -2357,7 +2357,7 @@ void TreeStyle_Draw( /* Don't "draw" window elements. TreeStyle_UpdateWindowPositions() * does that for us. */ - if (ELEMENT_TYPE_MATCHES(layout->eLink->elem->typePtr, &elemTypeWindow)) + if (ELEMENT_TYPE_MATCHES(layout->eLink->elem->typePtr, &TreeElemTypeWindow)) continue; if (PerStateBoolean_ForState(tree, &layout->master->draw, @@ -2492,7 +2492,7 @@ TreeStyle_UpdateWindowPositions( MStyle *masterStyle = style->master; TreeCtrl *tree = drawArgs->tree; int *bounds = drawArgs->bounds; - ElementArgs args; + TreeElementArgs args; int i, x, y, minWidth, minHeight; struct Layout staticLayouts[STATIC_SIZE], *layouts = staticLayouts; int numElements = masterStyle->numElements; @@ -2500,7 +2500,7 @@ TreeStyle_UpdateWindowPositions( /* FIXME: Perhaps remember whether this style has any window * elements */ for (i = 0; i < numElements; i++) { - if (ELEMENT_TYPE_MATCHES(masterStyle->elements[i].elem->typePtr, &elemTypeWindow)) + if (ELEMENT_TYPE_MATCHES(masterStyle->elements[i].elem->typePtr, &TreeElemTypeWindow)) break; } if (i == numElements) @@ -2549,7 +2549,7 @@ TreeStyle_UpdateWindowPositions( if (IS_HIDDEN(layout)) continue; - if (!ELEMENT_TYPE_MATCHES(layout->eLink->elem->typePtr, &elemTypeWindow)) + if (!ELEMENT_TYPE_MATCHES(layout->eLink->elem->typePtr, &TreeElemTypeWindow)) continue; if (PerStateBoolean_ForState(tree, &layout->master->draw, @@ -2614,7 +2614,7 @@ TreeStyle_OnScreen( ) { IStyle *style = (IStyle *) style_; - ElementArgs args; + TreeElementArgs args; int i; args.tree = tree; @@ -2650,11 +2650,11 @@ TreeStyle_OnScreen( static void Element_FreeResources( TreeCtrl *tree, /* Widget info. */ - Element *elem /* Record to free. */ + TreeElement elem /* Record to free. */ ) { - ElementType *typePtr = elem->typePtr; - ElementArgs args; + TreeElementType *typePtr = elem->typePtr; + TreeElementArgs args; Tcl_HashEntry *hPtr; if (elem->master == NULL) { @@ -2669,9 +2669,9 @@ Element_FreeResources( tree->tkwin); DynamicOption_Free(tree, elem->options, typePtr->optionSpecs); #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, typePtr->name, (char *) elem, typePtr->size); + TreeAlloc_Free(tree->allocData, typePtr->name, (char *) elem, typePtr->size); #else - WFREE(elem, Element); + WFREE(elem, TreeElement); #endif } @@ -2694,7 +2694,7 @@ Element_FreeResources( static MElementLink * MElementLink_Init( MElementLink *eLink, /* Existing record to initialize. */ - Element *elem /* Existing element to point to. */ + TreeElement elem /* Existing element to point to. */ ) { memset(eLink, '\0', sizeof(MElementLink)); @@ -2796,14 +2796,14 @@ MStyle_FreeResources( for (i = 0; i < style->numElements; i++) MElementLink_FreeResources(tree, &style->elements[i]); #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, MElementLinkUid, (char *) style->elements, + TreeAlloc_CFree(tree->allocData, MElementLinkUid, (char *) style->elements, sizeof(MElementLink), style->numElements, ELEMENT_LINK_ROUND); #else WCFREE(style->elements, MElementLink, style->numElements); #endif } #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); + TreeAlloc_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); #else WFREE(style, MStyle); #endif @@ -2838,7 +2838,7 @@ IStyle_FreeResources( for (i = 0; i < masterStyle->numElements; i++) IElementLink_FreeResources(tree, &style->elements[i]); #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, IElementLinkUid, + TreeAlloc_CFree(tree->allocData, IElementLinkUid, (char *) style->elements, sizeof(IElementLink), masterStyle->numElements, ELEMENT_LINK_ROUND); #else @@ -2846,7 +2846,7 @@ IStyle_FreeResources( #endif } #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, IStyleUid, (char *) style, sizeof(IStyle)); + TreeAlloc_Free(tree->allocData, IStyleUid, (char *) style, sizeof(IStyle)); #else WFREE(style, IStyle); #endif @@ -2904,7 +2904,7 @@ static MElementLink * MStyle_FindElem( TreeCtrl *tree, /* Widget info. */ MStyle *style, /* Style to search. */ - Element *master, /* Master element to find. */ + TreeElement master, /* Master element to find. */ int *index /* Returned index, may be NULL. */ ) { @@ -2942,7 +2942,7 @@ static IElementLink * IStyle_FindElem( TreeCtrl *tree, /* Widget info. */ IStyle *style, /* Style to search. */ - Element *master, /* Master element to find. */ + TreeElement master, /* Master element to find. */ int *index /* Returned index, may be NULL. */ ) { @@ -2981,13 +2981,12 @@ int TreeStyle_FindElement( TreeCtrl *tree, /* Widget info. */ TreeStyle style_, /* Token of style to search. */ - TreeElement elem_, /* Master element to find. */ + TreeElement elem, /* Master element to find. */ int *index /* Returned index, may be NULL. */ ) { MStyle *masterStyle = (MStyle *) style_; IStyle *style = (IStyle *) style_; - Element *elem = (Element *) elem_; if (((style->master == NULL) && (MStyle_FindElem(tree, masterStyle, elem, index) == NULL)) || @@ -3020,15 +3019,15 @@ TreeStyle_FindElement( *---------------------------------------------------------------------- */ -static Element * +static TreeElement Element_CreateAndConfig( TreeCtrl *tree, /* Widget info. */ TreeItem item, /* Item containing the element. Should * be NULL for a master element. */ TreeItemColumn column, /* Item-column containing the element. * Should be NULL for a master element. */ - Element *masterElem, /* Master element if creating an instance. */ - ElementType *type, /* Element type. Should be NULL when + TreeElement masterElem, /* Master element if creating an instance. */ + TreeElementType *type, /* Element type. Should be NULL when * creating an instance. */ CONST char *name, /* Name of master element, NULL for an * instance. */ @@ -3036,8 +3035,8 @@ Element_CreateAndConfig( Tcl_Obj *CONST objv[] /* options. */ ) { - Element *elem; - ElementArgs args; + TreeElement elem; + TreeElementArgs args; if (masterElem != NULL) { type = masterElem->typePtr; @@ -3045,9 +3044,10 @@ Element_CreateAndConfig( } #ifdef ALLOC_HAX - elem = (Element *) AllocHax_Alloc(tree->allocData, type->name, type->size); + elem = (TreeElement) TreeAlloc_Alloc(tree->allocData, type->name, + type->size); #else - elem = (Element *) ckalloc(type->size); + elem = (TreeElement) ckalloc(type->size); #endif memset(elem, '\0', type->size); elem->name = Tk_GetUid(name); @@ -3060,9 +3060,9 @@ Element_CreateAndConfig( args.create.column = column; if ((*type->createProc)(&args) != TCL_OK) { #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, type->name, (char *) elem, type->size); + TreeAlloc_Free(tree->allocData, type->name, (char *) elem, type->size); #else - WFREE(elem, Element); + WFREE(elem, TreeElement); #endif return NULL; } @@ -3070,9 +3070,9 @@ Element_CreateAndConfig( if (Tk_InitOptions(tree->interp, (char *) elem, type->optionTable, tree->tkwin) != TCL_OK) { #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, type->name, (char *) elem, type->size); + TreeAlloc_Free(tree->allocData, type->name, (char *) elem, type->size); #else - WFREE(elem, Element); + WFREE(elem, TreeElement); #endif return NULL; } @@ -3088,9 +3088,9 @@ Element_CreateAndConfig( tree->tkwin); DynamicOption_Free(tree, elem->options, type->optionSpecs); #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, type->name, (char *) elem, type->size); + TreeAlloc_Free(tree->allocData, type->name, (char *) elem, type->size); #else - WFREE(elem, Element); + WFREE(elem, TreeElement); #endif return NULL; } @@ -3133,13 +3133,13 @@ Style_CreateElem( TreeItem item, /* Item containing the element. */ TreeItemColumn column, /* Item-column containing the element. */ IStyle *style, /* Style to search/add the element to. */ - Element *masterElem, /* Element to find or create and instance of. */ + TreeElement masterElem, /* Element to find or create and instance of. */ int *isNew) /* If non-NULL, set to TRUE if a new instance * element was created. */ { MStyle *masterStyle = style->master; IElementLink *eLink = NULL; - Element *elem; + TreeElement elem; int i; if (masterElem->master != NULL) @@ -3202,7 +3202,7 @@ TreeStyle_NewInstance( int i; #ifdef ALLOC_HAX - copy = (IStyle *) AllocHax_Alloc(tree->allocData, IStyleUid, sizeof(IStyle)); + copy = (IStyle *) TreeAlloc_Alloc(tree->allocData, IStyleUid, sizeof(IStyle)); #else copy = (IStyle *) ckalloc(sizeof(IStyle)); #endif @@ -3212,7 +3212,7 @@ TreeStyle_NewInstance( copy->neededHeight = -1; if (style->numElements > 0) { #ifdef ALLOC_HAX - copy->elements = (IElementLink *) AllocHax_CAlloc(tree->allocData, + copy->elements = (IElementLink *) TreeAlloc_CAlloc(tree->allocData, IElementLinkUid, sizeof(IElementLink), style->numElements, ELEMENT_LINK_ROUND); #else @@ -3253,7 +3253,7 @@ static int Element_FromObj( TreeCtrl *tree, /* Widget info. */ Tcl_Obj *obj, /* Object to convert from. */ - Element **elemPtr /* Returned record. */ + TreeElement *elemPtr /* Returned record. */ ) { char *name; @@ -3266,7 +3266,7 @@ Element_FromObj( NULL); return TCL_ERROR; } - (*elemPtr) = (Element *) Tcl_GetHashValue(hPtr); + (*elemPtr) = (TreeElement) Tcl_GetHashValue(hPtr); return TCL_OK; } @@ -3293,7 +3293,7 @@ TreeElement_FromObj( TreeElement *elemPtr /* Returned master element token. */ ) { - return Element_FromObj(tree, obj, (Element **) elemPtr); + return Element_FromObj(tree, obj, elemPtr); } @@ -3316,11 +3316,11 @@ TreeElement_FromObj( int TreeElement_IsType( TreeCtrl *tree, /* Widget info. */ - TreeElement elem_, /* Element to check. */ + TreeElement elem, /* Element to check. */ CONST char *type /* NULL-terminated element type name. */ ) { - return strcmp(((Element *) elem_)->typePtr->name, type) == 0; + return strcmp(elem->typePtr->name, type) == 0; } /* @@ -3377,7 +3377,7 @@ TreeStyle_FromObj( static Tcl_Obj * Element_ToObj( - Element *elem /* Element to create Tcl_Obj from. */ + TreeElement elem /* Element to create Tcl_Obj from. */ ) { return Tcl_NewStringObj(elem->name, -1); @@ -3506,7 +3506,7 @@ MStyle_ChangeElementsAux( MStyle *style, /* Master style to be updated. */ int count, /* The number of elements in the style after * this routine finishes. */ - Element **elemList, /* List of master elements the style uses. */ + TreeElement *elemList, /* List of master elements the style uses. */ int *map /* Array of indexes into the list of elements * currently used by the style. */ ) @@ -3518,7 +3518,7 @@ MStyle_ChangeElementsAux( if (count > 0) { #ifdef ALLOC_HAX - eLinks = (MElementLink *) AllocHax_CAlloc(tree->allocData, + eLinks = (MElementLink *) TreeAlloc_CAlloc(tree->allocData, MElementLinkUid, sizeof(MElementLink), count, ELEMENT_LINK_ROUND); #else @@ -3547,7 +3547,7 @@ MStyle_ChangeElementsAux( } } #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, MElementLinkUid, + TreeAlloc_CFree(tree->allocData, MElementLinkUid, (char *) style->elements, sizeof(MElementLink), style->numElements, ELEMENT_LINK_ROUND); #else @@ -3585,7 +3585,7 @@ IStyle_ChangeElementsAux( int oldCount, /* The previous number of elements. */ int count, /* The number of elements in the style after * this routine finishes. */ - Element **elemList, /* List of master elements the style uses. */ + TreeElement *elemList, /* List of master elements the style uses. */ int *map /* Array of indexes into the list of elements * currently used by the style. */ ) @@ -3597,7 +3597,7 @@ IStyle_ChangeElementsAux( if (count > 0) { #ifdef ALLOC_HAX - eLinks = (IElementLink *) AllocHax_CAlloc(tree->allocData, + eLinks = (IElementLink *) TreeAlloc_CAlloc(tree->allocData, IElementLinkUid, sizeof(IElementLink), count, ELEMENT_LINK_ROUND); #else @@ -3630,7 +3630,7 @@ IStyle_ChangeElementsAux( } } #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, IElementLinkUid, + TreeAlloc_CFree(tree->allocData, IElementLinkUid, (char *) style->elements, sizeof(IElementLink), oldCount, ELEMENT_LINK_ROUND); #else @@ -3668,7 +3668,7 @@ Style_ChangeElements( MStyle *masterStyle, /* Master style to be updated. */ int count, /* The number of elements in the style after * this routine finishes. */ - Element **elemList, /* List of master elements the style uses. */ + TreeElement *elemList, /* List of master elements the style uses. */ int *map /* Array of indexes into the list of elements * currently used by the style. */ ) @@ -3787,16 +3787,16 @@ static void Style_ElemChanged( TreeCtrl *tree, /* Widget info. */ MStyle *masterStyle, /* Master style that uses the element. */ - Element *masterElem, /* Master element affected by the change. */ + TreeElement masterElem, /* Master element affected by the change. */ int masterElemIndex, /* Index of masterElem in masterStyle. */ - int flagM, /* Flags returned by ElementType.configProc() + int flagM, /* Flags returned by TreeElementType.configProc() * if the master element was configured, * zero if the TreeCtrl was configured. */ int flagT, /* TREE_CONF_xxx flags if the TreeCtrl was * configured, zero if the master element * was configured. */ int csM /* CS_xxx flags returned by - * ElementType.changeProc(). */ + * TreeElementType.changeProc(). */ ) { TreeItem item; @@ -3806,7 +3806,7 @@ Style_ElemChanged( Tcl_HashSearch search; IElementLink *eLink; int columnIndex; - ElementArgs args; + TreeElementArgs args; IStyle *style; int eMask, cMask, iMask; int updateDInfo = FALSE; @@ -3921,7 +3921,7 @@ static Tcl_Obj * Style_GetImageOrText( TreeCtrl *tree, /* Widget info. */ IStyle *style, /* Style. */ - ElementType *typePtr, /* Type of element to look for. */ + TreeElementType *typePtr, /* Type of element to look for. */ CONST char *optionName, /* Name of config option to query. */ Tcl_Obj **optionNameObj /* Pointer to a Tcl_Obj to hold the * option name. Initialized @@ -3974,7 +3974,7 @@ TreeStyle_GetImage( TreeStyle style_ /* Token for style to examine. */ ) { - return Style_GetImageOrText(tree, (IStyle *) style_, &elemTypeImage, + return Style_GetImageOrText(tree, (IStyle *) style_, &TreeElemTypeImage, "-image", &confImageObj); } @@ -4002,7 +4002,7 @@ TreeStyle_GetText( TreeStyle style_ /* Token for style to examine. */ ) { - return Style_GetImageOrText(tree, (IStyle *) style_, &elemTypeText, + return Style_GetImageOrText(tree, (IStyle *) style_, &TreeElemTypeText, "-text", &confTextObj); } @@ -4031,7 +4031,7 @@ Style_SetImageOrText( * a new instance Element is created. */ TreeItemColumn column, /* Item-column containing the style */ IStyle *style, /* The style */ - ElementType *typePtr, /* Element type to look for. */ + TreeElementType *typePtr, /* Element type to look for. */ CONST char *optionName, /* NULL-terminated config option name. */ Tcl_Obj **optionNameObj, /* Pointer to Tcl_Obj to hold the option * name; initialized on the first call. */ @@ -4048,10 +4048,10 @@ Style_SetImageOrText( } for (i = 0; i < masterStyle->numElements; i++) { - Element *masterElem = masterStyle->elements[i].elem; + TreeElement masterElem = masterStyle->elements[i].elem; if (ELEMENT_TYPE_MATCHES(masterElem->typePtr, typePtr)) { Tcl_Obj *objv[2]; - ElementArgs args; + TreeElementArgs args; eLink = Style_CreateElem(tree, item, column, style, masterElem, NULL); @@ -4110,7 +4110,7 @@ TreeStyle_SetImage( ) { return Style_SetImageOrText(tree, item, column, (IStyle *) style_, - &elemTypeImage, "-image", &confImageObj, valueObj); + &TreeElemTypeImage, "-image", &confImageObj, valueObj); } /* @@ -4141,7 +4141,7 @@ TreeStyle_SetText( ) { return Style_SetImageOrText(tree, item, column, (IStyle *) style_, - &elemTypeText, "-text", &confTextObj, valueObj); + &TreeElemTypeText, "-text", &confTextObj, valueObj); } /* @@ -4246,15 +4246,15 @@ Style_Deleted( static void Element_Changed( TreeCtrl *tree, /* Widget info. */ - Element *masterElem, /* Master element that may have changed. */ - int flagM, /* Flags returned by ElementType.configProc() + TreeElement masterElem, /* Master element that may have changed. */ + int flagM, /* Flags returned by TreeElementType.configProc() * if the master element was configured, * zero if the TreeCtrl was configured. */ int flagT, /* TREE_CONF_xxx flags if the TreeCtrl was * configured, zero if the master element * was configured. */ int csM /* CS_xxx flags returned by - * ElementType.changeProc(). */ + * TreeElementType.changeProc(). */ ) { Tcl_HashEntry *hPtr; @@ -4297,7 +4297,7 @@ Element_Changed( static void Element_Deleted( TreeCtrl *tree, /* Widget info. */ - Element *masterElem /* Master element being deleted. */ + TreeElement masterElem /* Master element being deleted. */ ) { Tcl_HashEntry *hPtr; @@ -4312,10 +4312,11 @@ Element_Deleted( for (i = 0; i < masterStyle->numElements; i++) { eLink = &masterStyle->elements[i]; if (eLink->elem == masterElem) { - Element *staticElemList[STATIC_SIZE], **elemList = staticElemList; + TreeElement staticElemList[STATIC_SIZE], + *elemList = staticElemList; int staticElemMap[STATIC_SIZE], *elemMap = staticElemMap; - STATIC_ALLOC(elemList, Element *, masterStyle->numElements); + STATIC_ALLOC(elemList, TreeElement, masterStyle->numElements); STATIC_ALLOC(elemMap, int, masterStyle->numElements); for (j = 0; j < masterStyle->numElements; j++) { @@ -4327,7 +4328,7 @@ Element_Deleted( } Style_ChangeElements(tree, masterStyle, masterStyle->numElements - 1, elemList, elemMap); - STATIC_FREE(elemList, Element *, masterStyle->numElements + 1); + STATIC_FREE(elemList, TreeElement, masterStyle->numElements + 1); STATIC_FREE(elemMap, int, masterStyle->numElements + 1); break; } @@ -4356,7 +4357,7 @@ void Tree_RedrawElement( TreeCtrl *tree, /* Widget info. */ TreeItem item, /* Item containing the element. */ - Element *elem /* The element that changed. */ + TreeElement elem /* The element that changed. */ ) { /* Master element */ @@ -4376,7 +4377,7 @@ typedef struct Iterate TreeItemColumn column; int columnIndex; IStyle *style; - ElementType *elemTypePtr; + TreeElementType *elemTypePtr; IElementLink *eLink; Tcl_HashSearch search; Tcl_HashEntry *hPtr; @@ -4401,7 +4402,10 @@ static int IterateItem(Iterate *iter) return 0; } -TreeIterate Tree_ElementIterateBegin(TreeCtrl *tree, ElementType *elemTypePtr) +TreeIterate +Tree_ElementIterateBegin( + TreeCtrl *tree, + TreeElementType *elemTypePtr) { Iterate *iter; @@ -4421,7 +4425,9 @@ TreeIterate Tree_ElementIterateBegin(TreeCtrl *tree, ElementType *elemTypePtr) return NULL; } -TreeIterate Tree_ElementIterateNext(TreeIterate iter_) +TreeIterate +Tree_ElementIterateNext( + TreeIterate iter_) { Iterate *iter = (Iterate *) iter_; @@ -4466,7 +4472,7 @@ Tree_ElementChangedItself( TreeCtrl *tree, /* Widget info. */ TreeItem item, /* Item containing the element. */ TreeItemColumn column, /* Item-column containing the element. */ - Element *elem, /* The element that changed. */ + TreeElement elem, /* The element that changed. */ int flags, /* Element-specific configuration flags. */ int csM /* CS_xxx flags detailing the effects of * the change. */ @@ -4537,7 +4543,7 @@ void Tree_ElementIterateChanged(TreeIterate iter_, int mask) Tree_InvalidateItemDInfo(iter->tree, NULL, iter->item, NULL); } -Element *Tree_ElementIterateGet(TreeIterate iter_) +TreeElement Tree_ElementIterateGet(TreeIterate iter_) { Iterate *iter = (Iterate *) iter_; @@ -4570,8 +4576,8 @@ TreeStyle_TreeChanged( { Tcl_HashEntry *hPtr; Tcl_HashSearch search; - Element *masterElem; - ElementArgs args; + TreeElement masterElem; + TreeElementArgs args; int eMask; if (flagT == 0) @@ -4584,7 +4590,7 @@ TreeStyle_TreeChanged( hPtr = Tcl_FirstHashEntry(&tree->elementHash, &search); while (hPtr != NULL) { - masterElem = (Element *) Tcl_GetHashValue(hPtr); + masterElem = (TreeElement) Tcl_GetHashValue(hPtr); args.elem = masterElem; eMask = (*masterElem->typePtr->changeProc)(&args); Element_Changed(tree, masterElem, 0, flagT, eMask); @@ -4622,7 +4628,7 @@ TreeStyle_ElementCget( { IStyle *style = (IStyle *) style_; Tcl_Obj *resultObjPtr = NULL; - Element *elem; + TreeElement elem; IElementLink *eLink; if (Element_FromObj(tree, elemObj, &elem) != TCL_OK) @@ -4684,9 +4690,9 @@ TreeStyle_ElementConfigure( ) { IStyle *style = (IStyle *) style_; - Element *elem; + TreeElement elem; IElementLink *eLink; - ElementArgs args; + TreeElementArgs args; (*eMask) = 0; @@ -4794,9 +4800,9 @@ TreeStyle_ElementActual( ) { IStyle *style = (IStyle *) style_; - Element *masterElem; + TreeElement masterElem; IElementLink *eLink; - ElementArgs args; + TreeElementArgs args; if (Element_FromObj(tree, elemObj, &masterElem) != TCL_OK) return TCL_ERROR; @@ -4865,7 +4871,7 @@ TreeElementCmd( switch (index) { case COMMAND_CGET: { Tcl_Obj *resultObjPtr = NULL; - Element *elem; + TreeElement elem; if (objc != 5) { Tcl_WrongNumArgs(interp, 3, objv, "name option"); @@ -4883,7 +4889,7 @@ TreeElementCmd( case COMMAND_CONFIGURE: { Tcl_Obj *resultObjPtr = NULL; - Element *elem; + TreeElement elem; int eMask; if (objc < 4) { @@ -4901,7 +4907,7 @@ TreeElementCmd( return TCL_ERROR; Tcl_SetObjResult(interp, resultObjPtr); } else { - ElementArgs args; + TreeElementArgs args; args.tree = tree; args.elem = elem; @@ -4927,8 +4933,8 @@ TreeElementCmd( char *name; int length; int isNew; - Element *elem; - ElementType *typePtr; + TreeElement elem; + TreeElementType *typePtr; Tcl_HashEntry *hPtr; if (objc < 5) { @@ -4955,7 +4961,7 @@ TreeElementCmd( } case COMMAND_DELETE: { - Element *elem; + TreeElement elem; int i; for (i = 3; i < objc; i++) { @@ -4971,7 +4977,7 @@ TreeElementCmd( Tcl_Obj *listObj; Tcl_HashSearch search; Tcl_HashEntry *hPtr; - Element *elem; + TreeElement elem; if (objc != 3) { Tcl_WrongNumArgs(interp, 3, objv, NULL); @@ -4980,7 +4986,7 @@ TreeElementCmd( listObj = Tcl_NewListObj(0, NULL); hPtr = Tcl_FirstHashEntry(&tree->elementHash, &search); while (hPtr != NULL) { - elem = (Element *) Tcl_GetHashValue(hPtr); + elem = (TreeElement) Tcl_GetHashValue(hPtr); Tcl_ListObjAppendElement(interp, listObj, Element_ToObj(elem)); hPtr = Tcl_NextHashEntry(&search); } @@ -4990,9 +4996,9 @@ TreeElementCmd( /* T element perstate E option stateList */ case COMMAND_PERSTATE: { - Element *elem; + TreeElement elem; int states[3]; - ElementArgs args; + TreeElementArgs args; if (objc != 6) { Tcl_WrongNumArgs(tree->interp, 3, objv, @@ -5015,7 +5021,7 @@ TreeElementCmd( } case COMMAND_TYPE: { - Element *elem; + TreeElement elem; if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "name"); @@ -5057,7 +5063,7 @@ Style_CreateAndConfig( MStyle *style; #ifdef ALLOC_HAX - style = (MStyle *) AllocHax_Alloc(tree->allocData, MStyleUid, + style = (MStyle *) TreeAlloc_Alloc(tree->allocData, MStyleUid, sizeof(MStyle)); #else style = (MStyle *) ckalloc(sizeof(MStyle)); @@ -5068,7 +5074,7 @@ Style_CreateAndConfig( if (Tk_InitOptions(tree->interp, (char *) style, tree->styleOptionTable, tree->tkwin) != TCL_OK) { #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); + TreeAlloc_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); #else WFREE(style, MStyle); #endif @@ -5080,7 +5086,7 @@ Style_CreateAndConfig( NULL, NULL) != TCL_OK) { Tk_FreeConfigOptions((char *) style, tree->styleOptionTable, tree->tkwin); #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); + TreeAlloc_Free(tree->allocData, MStyleUid, (char *) style, sizeof(MStyle)); #else WFREE(style, MStyle); #endif @@ -5118,7 +5124,7 @@ TreeStyle_ListElements( MStyle *masterStyle = (MStyle *) style_; IStyle *style = (IStyle *) style_; Tcl_Obj *listObj; - Element *elem; + TreeElement elem; int i, numElements = TreeStyle_NumElements(tree, style_); if (numElements <= 0) @@ -5315,7 +5321,7 @@ StyleLayoutCmd( TreeCtrl *tree = clientData; TreeStyle _style; MStyle *style; - Element *elem; + TreeElement elem; MElementLink saved, *eLink; int i, index; static CONST char *optionNames[] = { @@ -5526,7 +5532,7 @@ StyleLayoutCmd( } onion = (int *) ckalloc(sizeof(int) * objc1); for (j = 0; j < objc1; j++) { - Element *elem2; + TreeElement elem2; MElementLink *eLink2; if (Element_FromObj(tree, objv1[j], &elem2) != TCL_OK) { @@ -5889,7 +5895,7 @@ TreeStyleCmd( /* T style elements S ?{E ...}? */ case COMMAND_ELEMENTS: { - Element *elem, **elemList = NULL; + TreeElement elem, *elemList = NULL; int i, j, count = 0; int staticMap[STATIC_SIZE], *map = staticMap; int listObjc; @@ -5906,7 +5912,7 @@ TreeStyleCmd( if (Tcl_ListObjGetElements(interp, objv[4], &listObjc, &listObjv) != TCL_OK) return TCL_ERROR; if (listObjc > 0) - elemList = (Element **) ckalloc(sizeof(Element *) * listObjc); + elemList = (TreeElement *) ckalloc(sizeof(TreeElement_) * listObjc); for (i = 0; i < listObjc; i++) { if (Element_FromObj(tree, listObjv[i], &elem) != TCL_OK) { ckfree((char *) elemList); @@ -5981,7 +5987,7 @@ TreeStyleCmd( /* *---------------------------------------------------------------------- * - * ButtonMaxWidth -- + * Tree_ButtonMaxWidth -- * * Return the maximum possible size of a button in any state. This * includes the size of the -buttonimage and -buttonbitmap options, @@ -5997,7 +6003,7 @@ TreeStyleCmd( */ int -ButtonMaxWidth( +Tree_ButtonMaxWidth( TreeCtrl *tree /* Widget info. */ ) { @@ -6024,7 +6030,7 @@ ButtonMaxWidth( /* *---------------------------------------------------------------------- * - * ButtonHeight -- + * Tree_ButtonHeight -- * * Return the size of a button for a certain state. * @@ -6038,7 +6044,7 @@ ButtonMaxWidth( */ int -ButtonHeight( +Tree_ButtonHeight( TreeCtrl *tree, /* Widget info. */ int state /* STATE_xxx flags. */ ) @@ -6239,8 +6245,8 @@ TreeStyle_Remap( int i, indexFrom, indexTo; int staticMap[STATIC_SIZE], *map = staticMap; IElementLink *eLink; - Element *elemFrom, *elemTo; - Element *staticElemMap[STATIC_SIZE], **elemMap = staticElemMap; + TreeElement elemFrom, elemTo; + TreeElement staticElemMap[STATIC_SIZE], *elemMap = staticElemMap; int styleFromNumElements = styleFrom->master->numElements; int result = TCL_OK; @@ -6260,7 +6266,7 @@ TreeStyle_Remap( return TCL_ERROR; STATIC_ALLOC(map, int, styleFromNumElements); - STATIC_ALLOC(elemMap, Element *, styleFromNumElements); + STATIC_ALLOC(elemMap, TreeElement, styleFromNumElements); for (i = 0; i < styleFromNumElements; i++) map[i] = -1; @@ -6331,10 +6337,10 @@ TreeStyle_Remap( if (styleFromNumElements != styleTo->numElements) { #ifdef ALLOC_HAX if (styleFromNumElements > 0) - AllocHax_CFree(tree->allocData, IElementLinkUid, + TreeAlloc_CFree(tree->allocData, IElementLinkUid, (char *) styleFrom->elements, sizeof(IElementLink), styleFromNumElements, ELEMENT_LINK_ROUND); - styleFrom->elements = (IElementLink *) AllocHax_CAlloc(tree->allocData, + styleFrom->elements = (IElementLink *) TreeAlloc_CAlloc(tree->allocData, IElementLinkUid, sizeof(IElementLink), styleTo->numElements, ELEMENT_LINK_ROUND); #else @@ -6362,7 +6368,7 @@ TreeStyle_Remap( done: STATIC_FREE(map, int, styleFromNumElements); - STATIC_FREE(elemMap, Element *, styleFromNumElements); + STATIC_FREE(elemMap, TreeElement, styleFromNumElements); return result; } @@ -6401,16 +6407,16 @@ TreeStyle_GetSortData( if (elemIndex == -1) { for (i = 0; i < style->master->numElements; i++) { - if (ELEMENT_TYPE_MATCHES(eLink->elem->typePtr, &elemTypeText)) - return Element_GetSortData(tree, eLink->elem, type, lv, dv, sv); + if (ELEMENT_TYPE_MATCHES(eLink->elem->typePtr, &TreeElemTypeText)) + return TreeElement_GetSortData(tree, eLink->elem, type, lv, dv, sv); eLink++; } } else { if ((elemIndex < 0) || (elemIndex >= style->master->numElements)) panic("bad elemIndex %d to TreeStyle_GetSortData", elemIndex); eLink = &style->elements[elemIndex]; - if (ELEMENT_TYPE_MATCHES(eLink->elem->typePtr, &elemTypeText)) - return Element_GetSortData(tree, eLink->elem, type, lv, dv, sv); + if (ELEMENT_TYPE_MATCHES(eLink->elem->typePtr, &TreeElemTypeText)) + return TreeElement_GetSortData(tree, eLink->elem, type, lv, dv, sv); } FormatResult(tree->interp, "can't find text element in style %s", @@ -6447,7 +6453,7 @@ TreeStyle_ValidateElements( { IStyle *style = (IStyle *) style_; MStyle *master = style->master; - Element *elem; + TreeElement elem; MElementLink *eLink; int i; @@ -6497,10 +6503,10 @@ TreeStyle_GetElemRects( MStyle *master = style->master; int i, j, count = 0, minWidth, minHeight; struct Layout staticLayouts[STATIC_SIZE], *layouts = staticLayouts; - Element *staticElems[STATIC_SIZE], **elems = staticElems; + TreeElement staticElems[STATIC_SIZE], *elems = staticElems; MElementLink *eLink; - STATIC_ALLOC(elems, Element *, objc); + STATIC_ALLOC(elems, TreeElement, objc); for (j = 0; j < objc; j++) { if (Element_FromObj(drawArgs->tree, objv[j], &elems[j]) != TCL_OK) { @@ -6565,7 +6571,7 @@ TreeStyle_GetElemRects( STATIC_FREE(layouts, struct Layout, master->numElements); done: - STATIC_FREE(elems, Element *, objc); + STATIC_FREE(elems, TreeElement, objc); return count; } @@ -6597,7 +6603,7 @@ TreeStyle_ChangeState( MStyle *masterStyle = style->master; MElementLink *eLink1; IElementLink *eLink2; - ElementArgs args; + TreeElementArgs args; int i, eMask, mask = 0; int undisplay; @@ -6652,7 +6658,7 @@ TreeStyle_ChangeState( * not onscreen, otherwise it will never be "drawn" in the * hidden state. */ if (undisplay && ELEMENT_TYPE_MATCHES(args.elem->typePtr, - &elemTypeWindow)) { + &TreeElemTypeWindow)) { args.screen.visible = FALSE; (*args.elem->typePtr->onScreenProc)(&args); } @@ -6708,7 +6714,7 @@ Tree_UndefineState( Tcl_HashSearch search; IElementLink *eLink; int i, columnIndex; - ElementArgs args; + TreeElementArgs args; /* Undefine the state for the -draw and -visible style layout * options for each element of this style. */ @@ -6761,7 +6767,7 @@ Tree_UndefineState( hPtr = Tcl_FirstHashEntry(&tree->elementHash, &search); while (hPtr != NULL) { - args.elem = (Element *) Tcl_GetHashValue(hPtr); + args.elem = (TreeElement) Tcl_GetHashValue(hPtr); (*args.elem->typePtr->undefProc)(&args); hPtr = Tcl_NextHashEntry(&search); } @@ -6845,7 +6851,7 @@ TreeStyle_Free( { Tcl_HashEntry *hPtr; Tcl_HashSearch search; - Element *elem; + TreeElement elem; TreeStyle style; while (1) { @@ -6860,7 +6866,7 @@ TreeStyle_Free( hPtr = Tcl_FirstHashEntry(&tree->elementHash, &search); if (hPtr == NULL) break; - elem = (Element *) Tcl_GetHashValue(hPtr); + elem = (TreeElement) Tcl_GetHashValue(hPtr); Element_FreeResources(tree, elem); } diff --git a/generic/tkTreeUtils.c b/generic/tkTreeUtils.c index 222fe75..6924862 100644 --- a/generic/tkTreeUtils.c +++ b/generic/tkTreeUtils.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeUtils.c,v 1.63 2007/01/21 23:23:35 treectrl Exp $ + * RCS: @(#) $Id: tkTreeUtils.c,v 1.64 2007/01/23 22:41:31 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -108,11 +108,11 @@ static void PadAmountOptionFree _ANSI_ARGS_((ClientData clientData, /* * The following Tk_ObjCustomOption structure can be used as clientData entry * of a Tk_OptionSpec record with a TK_OPTION_CUSTOM type in the form - * "(ClientData) &PadAmountOption"; the option will then parse list with + * "(ClientData) &TreeCtrlCO_pad"; the option will then parse list with * one or two screen distances. */ -Tk_ObjCustomOption PadAmountOption = { +Tk_ObjCustomOption TreeCtrlCO_pad = { "pad amount", PadAmountOptionSet, PadAmountOptionGet, @@ -210,7 +210,7 @@ DStringAppendf( */ int -Ellipsis( +Tree_Ellipsis( Tk_Font tkfont, /* The font used to display the string. */ char *string, /* UTF-8 string, need not be NULL-terminated. */ int numBytes, /* Number of bytes to consider. */ @@ -283,7 +283,7 @@ Ellipsis( /* *---------------------------------------------------------------------- * - * HDotLine -- + * Tree_HDotLine -- * * Draws a horizontal 1-pixel-tall dotted line. * @@ -297,7 +297,7 @@ Ellipsis( */ void -HDotLine( +Tree_HDotLine( TreeCtrl *tree, /* Widget info. */ Drawable drawable, /* Where to draw. */ GC gc, /* Graphics context. */ @@ -343,7 +343,7 @@ HDotLine( /* *---------------------------------------------------------------------- * - * VDotLine -- + * Tree_VDotLine -- * * Draws a vertical 1-pixel-wide dotted line. * @@ -357,7 +357,7 @@ HDotLine( */ void -VDotLine( +Tree_VDotLine( TreeCtrl *tree, /* Widget info. */ Drawable drawable, /* Where to draw. */ GC gc, /* Graphics context. */ @@ -411,7 +411,7 @@ VDotLine( /* *---------------------------------------------------------------------- * - * DrawActiveOutline -- + * Tree_DrawActiveOutline -- * * Draws 0 or more sides of a rectangle, dot-on dot-off, XOR style. * This is used by rectangle Elements to indicate the "active" @@ -427,7 +427,7 @@ VDotLine( */ void -DrawActiveOutline( +Tree_DrawActiveOutline( TreeCtrl *tree, /* Widget info. */ Drawable drawable, /* Where to draw. */ int x, int y, /* Left and top coordinates. */ @@ -569,12 +569,12 @@ struct DotStatePriv /* *---------------------------------------------------------------------- * - * DotRect_Setup -- + * TreeDotRect_Setup -- * * Prepare a drawable for drawing a series of dotted XOR rectangles. * * Results: - * State info is returned to be used by the other DotRect_xxx() + * State info is returned to be used by the other TreeDotRect_xxx() * procedures. * * Side effects: @@ -586,7 +586,7 @@ struct DotStatePriv */ void -DotRect_Setup( +TreeDotRect_Setup( TreeCtrl *tree, /* Widget info. */ Drawable drawable, /* Where to draw. */ DotState *p /* Where to save state info. */ @@ -606,7 +606,7 @@ DotRect_Setup( #endif if (sizeof(*dotState) > sizeof(*p)) - panic("DotRect_Setup: DotState hack is too small"); + panic("TreeDotRect_Setup: DotState hack is too small"); dotState->tree = tree; dotState->drawable = drawable; @@ -677,7 +677,7 @@ DotRect_Setup( /* *---------------------------------------------------------------------- * - * DotRect_Draw -- + * TreeDotRect_Draw -- * * Draw a dotted XOR rectangle. * @@ -691,8 +691,8 @@ DotRect_Setup( */ void -DotRect_Draw( - DotState *p, /* Info returned by DotRect_Setup(). */ +TreeDotRect_Draw( + DotState *p, /* Info returned by TreeDotRect_Setup(). */ int x, int y, /* Left and top coordinates. */ int width, int height /* Size of rectangle. */ ) @@ -778,7 +778,7 @@ DotRect_Draw( /* *---------------------------------------------------------------------- * - * DotRect_Restore -- + * TreeDotRect_Restore -- * * Restore the drawing environment. * @@ -793,8 +793,8 @@ DotRect_Draw( */ void -DotRect_Restore( - DotState *p /* Info returned by DotRect_Setup(). */ +TreeDotRect_Restore( + DotState *p /* Info returned by TreeDotRect_Setup(). */ ) { struct DotStatePriv *dotState = (struct DotStatePriv *) p; @@ -927,7 +927,7 @@ Tree_FreeRegion( /* *---------------------------------------------------------------------- * - * Tk_FillRegion -- + * Tree_FillRegion -- * * Paint a region with the foreground color of a graphics context. * @@ -941,7 +941,7 @@ Tree_FreeRegion( */ void -Tk_FillRegion( +Tree_FillRegion( Display *display, /* Display. */ Drawable drawable, /* Where to draw. */ GC gc, /* Foreground color. */ @@ -995,7 +995,7 @@ Tk_FillRegion( /* *---------------------------------------------------------------------- * - * Tk_OffsetRegion -- + * Tree_OffsetRegion -- * * Offset a region. * @@ -1009,7 +1009,7 @@ Tk_FillRegion( */ void -Tk_OffsetRegion( +Tree_OffsetRegion( TkRegion region, /* Region to modify. */ int xOffset, int yOffset /* Horizontal and vertical offsets. */ ) @@ -1117,7 +1117,7 @@ Tree_ScrollWindow( /* *---------------------------------------------------------------------- * - * UnsetClipMask -- + * Tree_UnsetClipMask -- * * Wrapper around XSetClipMask(). On Win32 Tk_DrawChars() does * not clear the clipping region. @@ -1132,7 +1132,7 @@ Tree_ScrollWindow( */ void -UnsetClipMask( +Tree_UnsetClipMask( TreeCtrl *tree, /* Widget info. */ Drawable drawable, /* Where to draw. */ GC gc /* Graphics context to modify. */ @@ -1284,7 +1284,7 @@ Tree_DrawBitmap( /* *---------------------------------------------------------------------- * - * XImage2Photo -- + * Tree_XImage2Photo -- * * Copy pixels from an XImage to a Tk photo image. * @@ -1301,7 +1301,7 @@ Tree_DrawBitmap( #if defined(WIN32) || defined(MAC_TCL) || defined(MAC_OSX_TK) void -XImage2Photo( +Tree_XImage2Photo( Tcl_Interp *interp, /* Current interpreter. */ Tk_PhotoHandle photoH, /* Existing photo image. */ XImage *ximage, /* XImage to copy pixels from. */ @@ -1373,7 +1373,7 @@ XImage2Photo( #else /* not X11 */ void -XImage2Photo( +Tree_XImage2Photo( Tcl_Interp *interp, /* Current interpreter. */ Tk_PhotoHandle photoH, /* Existing photo image. */ XImage *ximage, /* XImage to copy pixels from. */ @@ -1801,8 +1801,9 @@ wrapLine: pixelsForText = wrapLength - chunkPtr->x; else pixelsForText = chunkPtr->totalWidth - 1; - bytesThisChunk = Ellipsis(tkfont, (char *) chunkPtr->start, - chunkPtr->numBytes, &pixelsForText, ellipsis, TRUE); + bytesThisChunk = Tree_Ellipsis(tkfont, + (char *) chunkPtr->start, chunkPtr->numBytes, + &pixelsForText, ellipsis, TRUE); if (pixelsForText > wrapLength - chunkPtr->x) pixelsForText = wrapLength - chunkPtr->x; if (bytesThisChunk > 0) { @@ -2322,7 +2323,7 @@ PerStateInfo_Free( pData = (PerStateData *) (((char *) pData) + typePtr->size); } #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, typePtr->name, (char *) pInfo->data, typePtr->size, + TreeAlloc_CFree(tree->allocData, typePtr->name, (char *) pInfo->data, typePtr->size, pInfo->count, PERSTATE_ROUNDUP); #else WIPEFREE(pInfo->data, typePtr->size * pInfo->count); @@ -2381,7 +2382,7 @@ PerStateInfo_FromObj( if (objc == 1) { #ifdef ALLOC_HAX - pData = (PerStateData *) AllocHax_CAlloc(tree->allocData, + pData = (PerStateData *) TreeAlloc_CAlloc(tree->allocData, typePtr->name, typePtr->size, 1, PERSTATE_ROUNDUP); #else pData = (PerStateData *) ckalloc(typePtr->size); @@ -2389,7 +2390,7 @@ PerStateInfo_FromObj( pData->stateOff = pData->stateOn = 0; /* all states */ if ((*typePtr->fromObjProc)(tree, objv[0], pData) != TCL_OK) { #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, typePtr->name, (char *) pData, + TreeAlloc_CFree(tree->allocData, typePtr->name, (char *) pData, typePtr->size, 1, PERSTATE_ROUNDUP); #else WIPEFREE(pData, typePtr->size); @@ -2407,7 +2408,7 @@ PerStateInfo_FromObj( } #ifdef ALLOC_HAX - pData = (PerStateData *) AllocHax_CAlloc(tree->allocData, + pData = (PerStateData *) TreeAlloc_CAlloc(tree->allocData, typePtr->name, typePtr->size, objc / 2, PERSTATE_ROUNDUP); #else pData = (PerStateData *) ckalloc(typePtr->size * (objc / 2)); @@ -2438,7 +2439,7 @@ freeIt: pData = (PerStateData *) (((char *) pData) + typePtr->size); } #ifdef ALLOC_HAX - AllocHax_CFree(tree->allocData, typePtr->name, (char *) pInfo->data, + TreeAlloc_CFree(tree->allocData, typePtr->name, (char *) pInfo->data, typePtr->size, objc / 2, PERSTATE_ROUNDUP); #else WIPEFREE(pInfo->data, typePtr->size * (objc / 2)); @@ -2565,27 +2566,7 @@ PerStateInfo_ObjForState( return NULL; } -/* - *---------------------------------------------------------------------- - * - * PerStateInfo_Undefine -- - * - * Called when a user-defined state flag is undefined. The state - * flag is cleared from every PerStateData using that flag. The - * list object that was parsed by PerStateInfo_FromObj() is modified - * by removing any reference to the undefined state. - * - * Results: - * The return value is a boolean indicating whether or not pInfo - * was modified. - * - * Side effects: - * The list object pointed to by pInfo->obj may be recreated. - * - *---------------------------------------------------------------------- - */ - -Tcl_Obj * +static Tcl_Obj * DuplicateListObj( Tcl_Obj *objPtr ) @@ -2606,6 +2587,26 @@ DuplicateListObj( return Tcl_NewListObj(objc, objv); } +/* + *---------------------------------------------------------------------- + * + * PerStateInfo_Undefine -- + * + * Called when a user-defined state flag is undefined. The state + * flag is cleared from every PerStateData using that flag. The + * list object that was parsed by PerStateInfo_FromObj() is modified + * by removing any reference to the undefined state. + * + * Results: + * The return value is a boolean indicating whether or not pInfo + * was modified. + * + * Side effects: + * The list object pointed to by pInfo->obj may be recreated. + * + *---------------------------------------------------------------------- + */ + int PerStateInfo_Undefine( TreeCtrl *tree, /* Widget info. */ PerStateType *typePtr, /* Type-specific functions and values. */ @@ -3145,7 +3146,7 @@ void PSTRestore( #ifdef ALLOC_HAX /* - * The following AllocHax_xxx calls implement a mini memory allocator that + * The following TreeAlloc_xxx calls implement a mini memory allocator that * allocates blocks of same-sized chunks, and holds on to those chunks when * they are freed so they can be reused quickly. If you don't want to use it * just comment out #define ALLOC_HAX in tkTreeCtrl.h. @@ -3259,7 +3260,7 @@ AllocStats_Get( } void -AllocHax_Stats( +TreeAlloc_Stats( Tcl_Interp *interp, ClientData _data ) @@ -3287,7 +3288,7 @@ AllocHax_Stats( /* *---------------------------------------------------------------------- * - * AllocHax_Alloc -- + * TreeAlloc_Alloc -- * * Return storage for a piece of data of the given size. * @@ -3302,8 +3303,8 @@ AllocHax_Stats( */ char * -AllocHax_Alloc( - ClientData _data, /* Token returned by AllocHax_Init(). */ +TreeAlloc_Alloc( + ClientData _data, /* Token returned by TreeAlloc_Init(). */ Tk_Uid id, /* ID for memory-usage reporting. */ int size /* Number of bytes needed. */ ) @@ -3345,7 +3346,7 @@ AllocHax_Alloc( block->count = freeList->blockSize; block->next = freeList->blocks; -/* dbwin("AllocHax_Alloc alloc %d of size %d\n", freeList->blockSize, size); */ +/* dbwin("TreeAlloc_Alloc alloc %d of size %d\n", freeList->blockSize, size); */ freeList->blocks = block; if (freeList->blockSize < 1024) freeList->blockSize *= 2; @@ -3372,7 +3373,7 @@ AllocHax_Alloc( freeList->head = result->next; #ifdef TREECTRL_DEBUG if (!result->free) - panic("AllocHax_Alloc: element not marked free"); + panic("TreeAlloc_Alloc: element not marked free"); result->free = 0; #endif return result->body; @@ -3381,7 +3382,7 @@ AllocHax_Alloc( /* *---------------------------------------------------------------------- * - * AllocHax_Realloc -- + * TreeAlloc_Realloc -- * * Realloc. * @@ -3396,8 +3397,8 @@ AllocHax_Alloc( */ char * -AllocHax_Realloc( - ClientData data, /* Token returned by AllocHax_Init(). */ +TreeAlloc_Realloc( + ClientData data, /* Token returned by TreeAlloc_Init(). */ Tk_Uid id, /* ID for memory-usage reporting. */ char *ptr, int size1, /* Number of bytes in ptr. */ @@ -3406,16 +3407,16 @@ AllocHax_Realloc( { char *ptr2; - ptr2 = AllocHax_Alloc(data, id, size2); + ptr2 = TreeAlloc_Alloc(data, id, size2); memcpy(ptr2, ptr, MIN(size1, size2)); - AllocHax_Free(data, id, ptr, size1); + TreeAlloc_Free(data, id, ptr, size1); return ptr2; } /* *---------------------------------------------------------------------- * - * AllocHax_Free -- + * TreeAlloc_Free -- * * Mark a piece of memory as free for reuse. * @@ -3430,13 +3431,13 @@ AllocHax_Realloc( */ void -AllocHax_Free( - ClientData _data, /* Token returned by AllocHax_Init(). */ +TreeAlloc_Free( + ClientData _data, /* Token returned by TreeAlloc_Init(). */ Tk_Uid id, /* ID for memory-usage reporting. */ char *ptr, /* Memory to mark for reuse. Must have - * been allocated by AllocHax_Alloc(). */ + * been allocated by TreeAlloc_Alloc(). */ int size /* Number of bytes. Must match the size - * passed to AllocHax_CAlloc(). */ + * passed to TreeAlloc_CAlloc(). */ ) { AllocData *data = (AllocData *) _data; @@ -3464,14 +3465,14 @@ AllocHax_Free( #ifdef TREECTRL_DEBUG if (elem->free) - panic("AllocHax_Free: element already marked free"); + panic("TreeAlloc_Free: element already marked free"); if (elem->size != size) - panic("AllocHax_Free: element size %d != size %d", elem->size, size); + panic("TreeAlloc_Free: element size %d != size %d", elem->size, size); #endif while (freeList != NULL && freeList->size != size) freeList = freeList->next; if (freeList == NULL) - panic("AllocHax_Free: can't find free list for size %d", size); + panic("TreeAlloc_Free: can't find free list for size %d", size); WIPE(elem->body, size); elem->next = freeList->head; @@ -3484,7 +3485,7 @@ AllocHax_Free( /* *---------------------------------------------------------------------- * - * AllocHax_CAlloc -- + * TreeAlloc_CAlloc -- * * Return storage for an array of pieces of memory. * @@ -3498,8 +3499,8 @@ AllocHax_Free( */ char * -AllocHax_CAlloc( - ClientData data, /* Token returned by AllocHax_Init(). */ +TreeAlloc_CAlloc( + ClientData data, /* Token returned by TreeAlloc_Init(). */ Tk_Uid id, /* ID for memory-usage reporting. */ int size, /* Number of bytes needed for each piece * of memory. */ @@ -3517,13 +3518,13 @@ AllocHax_CAlloc( #ifdef ALLOC_STATS stats->count += count - 1; #endif - return AllocHax_Alloc(data, id, size * n); + return TreeAlloc_Alloc(data, id, size * n); } /* *---------------------------------------------------------------------- * - * AllocHax_CFree -- + * TreeAlloc_CFree -- * * Mark a piece of memory as free for reuse. * @@ -3538,14 +3539,14 @@ AllocHax_CAlloc( */ void -AllocHax_CFree( - ClientData data, /* Token returned by AllocHax_Init(). */ +TreeAlloc_CFree( + ClientData data, /* Token returned by TreeAlloc_Init(). */ Tk_Uid id, /* ID for memory-usage reporting. */ char *ptr, /* Memory to mark for reuse. Must have - * been allocated by AllocHax_CAlloc(). */ - int size, /* Same arg to AllocHax_CAlloc(). */ - int count, /* Same arg to AllocHax_CAlloc(). */ - int roundUp /* Same arg to AllocHax_CAlloc(). */ + * been allocated by TreeAlloc_CAlloc(). */ + int size, /* Same arg to TreeAlloc_CAlloc(). */ + int count, /* Same arg to TreeAlloc_CAlloc(). */ + int roundUp /* Same arg to TreeAlloc_CAlloc(). */ ) { int n = (count / roundUp) * roundUp + ((count % roundUp) ? roundUp : 0); @@ -3553,7 +3554,7 @@ AllocHax_CFree( AllocStats *stats = AllocStats_Get(data, id); #endif - AllocHax_Free(data, id, ptr, size * n); + TreeAlloc_Free(data, id, ptr, size * n); #ifdef ALLOC_STATS stats->count -= count - 1; #endif @@ -3562,7 +3563,7 @@ AllocHax_CFree( /* *---------------------------------------------------------------------- * - * AllocHax_Init -- + * TreeAlloc_Init -- * * Allocate and initialize a new memory-manager record. * @@ -3576,7 +3577,7 @@ AllocHax_CFree( */ ClientData -AllocHax_Init(void) +TreeAlloc_Init(void) { AllocData *data = (AllocData *) ckalloc(sizeof(AllocData)); data->freeLists = NULL; @@ -3589,7 +3590,7 @@ AllocHax_Init(void) /* *---------------------------------------------------------------------- * - * AllocHax_Finalize -- + * TreeAlloc_Finalize -- * * Free all the memory associated with a memory-manager record. * @@ -3603,9 +3604,9 @@ AllocHax_Init(void) */ void -AllocHax_Finalize( +TreeAlloc_Finalize( ClientData _data /* Pointer to AllocData created by - * AllocHax_Init(). */ + * TreeAlloc_Init(). */ ) { AllocData *data = (AllocData *) _data; @@ -3838,7 +3839,7 @@ TagInfo_Add( if (tagInfo == NULL) { if (numTags <= TREE_TAG_SPACE) { #ifdef ALLOC_HAX - tagInfo = (TagInfo *) AllocHax_Alloc(tree->allocData, TagInfoUid, + tagInfo = (TagInfo *) TreeAlloc_Alloc(tree->allocData, TagInfoUid, sizeof(TagInfo)); #else tagInfo = (TagInfo *) ckalloc(sizeof(TagInfo)); @@ -3849,7 +3850,7 @@ TagInfo_Add( ((numTags % TREE_TAG_SPACE) ? TREE_TAG_SPACE : 0); if (tagSpace % TREE_TAG_SPACE) panic("TagInfo_Add miscalc"); #ifdef ALLOC_HAX - tagInfo = (TagInfo *) AllocHax_Alloc(tree->allocData, TagInfoUid, + tagInfo = (TagInfo *) TreeAlloc_Alloc(tree->allocData, TagInfoUid, TAG_INFO_SIZE(tagSpace)); #else tagInfo = (TagInfo *) ckalloc(sizeof(TagInfo) + @@ -3869,7 +3870,7 @@ if (tagSpace % TREE_TAG_SPACE) panic("TagInfo_Add miscalc"); if (tagInfo->tagSpace == tagInfo->numTags) { tagInfo->tagSpace += TREE_TAG_SPACE; #ifdef ALLOC_HAX - tagInfo = (TagInfo *) AllocHax_Realloc(tree->allocData, + tagInfo = (TagInfo *) TreeAlloc_Realloc(tree->allocData, TagInfoUid, (char *) tagInfo, TAG_INFO_SIZE(tagInfo->tagSpace - TREE_TAG_SPACE), TAG_INFO_SIZE(tagInfo->tagSpace)); @@ -4012,7 +4013,7 @@ TagInfo_Copy( if (tagInfo != NULL) { int tagSpace = tagInfo->tagSpace; #ifdef ALLOC_HAX - copy = (TagInfo *) AllocHax_Alloc(tree->allocData, TagInfoUid, + copy = (TagInfo *) TreeAlloc_Alloc(tree->allocData, TagInfoUid, TAG_INFO_SIZE(tagSpace)); #else copy = (TagInfo *) ckalloc(TAG_INFO_SIZE(tagSpace)); @@ -4048,7 +4049,7 @@ TagInfo_Free( { if (tagInfo != NULL) #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, TagInfoUid, (char *) tagInfo, + TreeAlloc_Free(tree->allocData, TagInfoUid, (char *) tagInfo, TAG_INFO_SIZE(tagInfo->tagSpace)); #else ckfree((char *) tagInfo); @@ -4197,7 +4198,7 @@ TagInfoCO_Free( TagInfo_Free(tree, *(TagInfo **)internalPtr); } -Tk_ObjCustomOption TagInfoCO = +Tk_ObjCustomOption TreeCtrlCO_tagInfo = { "tag list", TagInfoCO_Set, @@ -4820,7 +4821,7 @@ TagExpr_Free( *---------------------------------------------------------------------- */ -void +static void OptionHax_Remember( TreeCtrl *tree, char *ptr @@ -4840,7 +4841,7 @@ OptionHax_Remember( /*dbwin("OptionHax_Remember %p\n", ptr);*/ } -int +static int OptionHax_Forget( TreeCtrl *tree, char *ptr @@ -4861,7 +4862,7 @@ OptionHax_Forget( /* *---------------------------------------------------------------------- * - * OptionSpec_Find -- + * Tree_FindOptionSpec -- * * Return a pointer to a name Tk_OptionSpec in a table. * @@ -4875,7 +4876,7 @@ OptionHax_Forget( */ Tk_OptionSpec * -OptionSpec_Find( +Tree_FindOptionSpec( Tk_OptionSpec *optionTable, CONST char *optionName ) @@ -4885,7 +4886,7 @@ OptionSpec_Find( return optionTable; optionTable++; } - panic("OptionSpec_Find: can't find %s", optionName); + panic("Tree_FindOptionSpec: can't find %s", optionName); return NULL; } @@ -5112,7 +5113,7 @@ PerStateCO_Init( { Tk_OptionSpec *specPtr; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) panic("PerStateCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) @@ -5228,7 +5229,7 @@ DynamicOption_AllocIfNeeded( dbwin("DynamicOption_AllocIfNeeded allocated id=%d\n", id); #endif #ifdef ALLOC_HAX - opt = (DynamicOption *) AllocHax_Alloc(tree->allocData, DynamicOptionUid, + opt = (DynamicOption *) TreeAlloc_Alloc(tree->allocData, DynamicOptionUid, Tk_Offset(DynamicOption, data) + size); #else opt = (DynamicOption *) ckalloc(Tk_Offset(DynamicOption, data) + size); @@ -5536,7 +5537,7 @@ DynamicCO_Init( if (size <= 0) panic("DynamicCO_Init: option %s size=%d", optionName, size); - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) panic("DynamicCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) @@ -5614,7 +5615,7 @@ DynamicOption_Free( continue; #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, DynamicOptionUid, (char *) opt, + TreeAlloc_Free(tree->allocData, DynamicOptionUid, (char *) opt, Tk_Offset(DynamicOption, data) + cd->size); #else ckfree((char *) opt); @@ -5660,7 +5661,7 @@ DynamicOption_Free1( else prev->next = opt->next; #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, DynamicOptionUid, (char *) opt, + TreeAlloc_Free(tree->allocData, DynamicOptionUid, (char *) opt, Tk_Offset(DynamicOption, data) + size); #else ckfree((char *) opt); @@ -5771,7 +5772,7 @@ StringCO_Free( } } -Tk_ObjCustomOption stringCO = +Tk_ObjCustomOption TreeCtrlCO_string = { "string", StringCO_Set, @@ -5863,7 +5864,7 @@ PixelsCO_Restore( *(int *) internalPtr = *(int *) saveInternalPtr; } -Tk_ObjCustomOption pixelsCO = +Tk_ObjCustomOption TreeCtrlCO_pixels = { "string", PixelsCO_Set, @@ -5957,7 +5958,7 @@ StyleCO_Restore( *(TreeStyle *) internalPtr = *(TreeStyle *) saveInternalPtr; } -Tk_ObjCustomOption styleCO = +Tk_ObjCustomOption TreeCtrlCO_style = { "style", StyleCO_Set, @@ -6062,9 +6063,9 @@ BooleanFlagCO_Init( Tk_OptionSpec *specPtr; Tk_ObjCustomOption *co; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) - panic("IntegerCO_Init: %s is not TK_OPTION_CUSTOM", optionName); + panic("BooleanFlagCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) return TCL_OK; @@ -6200,9 +6201,9 @@ ItemButtonCO_Init( Tk_ObjCustomOption *co; struct ItemButtonCOClientData *cd; - specPtr = OptionSpec_Find(optionTable, optionName); + specPtr = Tree_FindOptionSpec(optionTable, optionName); if (specPtr->type != TK_OPTION_CUSTOM) - panic("IntegerCO_Init: %s is not TK_OPTION_CUSTOM", optionName); + panic("BooleanFlagCO_Init: %s is not TK_OPTION_CUSTOM", optionName); if (specPtr->clientData != NULL) return TCL_OK; -- cgit v0.12