From 131a96e9b871e75a426958d4b6c84e15d0cccac4 Mon Sep 17 00:00:00 2001 From: treectrl Date: Wed, 8 Nov 2006 07:07:19 +0000 Subject: Removed hundreds of type-casts and pointer copies. --- generic/tkTreeColumn.c | 580 ++++++++++++++-------------- generic/tkTreeDrag.c | 42 +- generic/tkTreeItem.c | 994 ++++++++++++++++++++++-------------------------- generic/tkTreeMarquee.c | 45 +-- 4 files changed, 770 insertions(+), 891 deletions(-) diff --git a/generic/tkTreeColumn.c b/generic/tkTreeColumn.c index d4b8e4d..5be6866 100644 --- a/generic/tkTreeColumn.c +++ b/generic/tkTreeColumn.c @@ -7,12 +7,12 @@ * Copyright (c) 2002-2003 Christian Krone * Copyright (c) 2003 ActiveState Corporation * - * RCS: @(#) $Id: tkTreeColumn.c,v 1.60 2006/11/08 04:45:20 treectrl Exp $ + * RCS: @(#) $Id: tkTreeColumn.c,v 1.61 2006/11/08 07:07:19 treectrl Exp $ */ #include "tkTreeCtrl.h" -typedef struct Column Column; +typedef struct TreeColumn_ TreeColumn_; #ifdef UNIFORM_GROUP typedef struct UniformGroup { @@ -26,7 +26,7 @@ typedef struct UniformGroup { * The following structure holds information about a single * column in a TreeCtrl. */ -struct Column +struct TreeColumn_ { Tcl_Obj *textObj; /* -text */ char *text; /* -text */ @@ -106,8 +106,8 @@ struct Column int itemBgCount; XColor **itemBgColor; GC bitmapGC; - Column *prev; - Column *next; + TreeColumn prev; + TreeColumn next; TextLayout textLayout; /* multi-line titles */ int textLayoutWidth; /* width passed to TextLayout_Compute */ int textLayoutInvalid; @@ -277,145 +277,145 @@ static CONST char *lockST[] = { "left", "none", "right", (char *) NULL }; static Tk_OptionSpec columnSpecs[] = { {TK_OPTION_STRING_TABLE, "-arrow", (char *) NULL, (char *) NULL, - "none", -1, Tk_Offset(Column, arrow), + "none", -1, Tk_Offset(TreeColumn_, arrow), 0, (ClientData) arrowST, COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowbitmap", (char *) NULL, (char *) NULL, (char *) NULL, - Tk_Offset(Column, arrowBitmap.obj), Tk_Offset(Column, arrowBitmap), + Tk_Offset(TreeColumn_, arrowBitmap.obj), Tk_Offset(TreeColumn_, arrowBitmap), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_STRING_TABLE, "-arrowgravity", (char *) NULL, (char *) NULL, - "left", -1, Tk_Offset(Column, arrowGravity), + "left", -1, Tk_Offset(TreeColumn_, arrowGravity), 0, (ClientData) arrowSideST, COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowimage", (char *) NULL, (char *) NULL, (char *) NULL, - Tk_Offset(Column, arrowImage.obj), Tk_Offset(Column, arrowImage), + Tk_Offset(TreeColumn_, arrowImage.obj), Tk_Offset(TreeColumn_, arrowImage), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowpadx", (char *) NULL, (char *) NULL, - "6", Tk_Offset(Column, arrowPadXObj), Tk_Offset(Column, arrowPadX), + "6", Tk_Offset(TreeColumn_, arrowPadXObj), Tk_Offset(TreeColumn_, arrowPadX), 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-arrowpady", (char *) NULL, (char *) NULL, - "0", Tk_Offset(Column, arrowPadYObj), Tk_Offset(Column, arrowPadY), + "0", Tk_Offset(TreeColumn_, arrowPadYObj), Tk_Offset(TreeColumn_, arrowPadY), 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_STRING_TABLE, "-arrowside", (char *) NULL, (char *) NULL, - "right", -1, Tk_Offset(Column, arrowSide), + "right", -1, Tk_Offset(TreeColumn_, arrowSide), 0, (ClientData) arrowSideST, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, /* NOTE: -background is a per-state option, so DEF_BUTTON_BG_COLOR * must be a list of one element */ {TK_OPTION_CUSTOM, "-background", (char *) NULL, (char *) NULL, DEF_BUTTON_BG_COLOR, - Tk_Offset(Column, border.obj), Tk_Offset(Column, border), + Tk_Offset(TreeColumn_, border.obj), Tk_Offset(TreeColumn_, border), 0, (ClientData) NULL, COLU_CONF_DISPLAY}, {TK_OPTION_BITMAP, "-bitmap", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, bitmap), + (char *) NULL, -1, Tk_Offset(TreeColumn_, bitmap), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_BITMAP | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_PIXELS, "-borderwidth", (char *) NULL, (char *) NULL, - "2", Tk_Offset(Column, borderWidthObj), Tk_Offset(Column, borderWidth), + "2", Tk_Offset(TreeColumn_, borderWidthObj), Tk_Offset(TreeColumn_, borderWidth), 0, (ClientData) NULL, COLU_CONF_TWIDTH | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_BOOLEAN, "-button", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Column, button), + "1", -1, Tk_Offset(TreeColumn_, button), 0, (ClientData) NULL, 0}, {TK_OPTION_BOOLEAN, "-expand", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(Column, expand), + "0", -1, Tk_Offset(TreeColumn_, expand), 0, (ClientData) NULL, COLU_CONF_TWIDTH}, {TK_OPTION_FONT, "-font", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, tkfont), + (char *) NULL, -1, Tk_Offset(TreeColumn_, tkfont), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY | COLU_CONF_TEXT}, {TK_OPTION_STRING, "-image", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, imageString), + (char *) NULL, -1, Tk_Offset(TreeColumn_, imageString), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_IMAGE | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-imagepadx", (char *) NULL, (char *) NULL, - "6", Tk_Offset(Column, imagePadXObj), - Tk_Offset(Column, imagePadX), 0, (ClientData) &PadAmountOption, + "6", Tk_Offset(TreeColumn_, imagePadXObj), + Tk_Offset(TreeColumn_, imagePadX), 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-imagepady", (char *) NULL, (char *) NULL, - "0", Tk_Offset(Column, imagePadYObj), - Tk_Offset(Column, imagePadY), 0, (ClientData) &PadAmountOption, + "0", Tk_Offset(TreeColumn_, imagePadYObj), + Tk_Offset(TreeColumn_, imagePadY), 0, (ClientData) &PadAmountOption, COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_STRING, "-itembackground", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, itemBgObj), -1, + (char *) NULL, Tk_Offset(TreeColumn_, itemBgObj), -1, TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_ITEMBG}, {TK_OPTION_CUSTOM, "-itemstyle", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, itemStyle), + (char *) NULL, -1, Tk_Offset(TreeColumn_, itemStyle), TK_OPTION_NULL_OK, (ClientData) &styleCO, 0}, {TK_OPTION_JUSTIFY, "-justify", (char *) NULL, (char *) NULL, - "left", -1, Tk_Offset(Column, justify), + "left", -1, Tk_Offset(TreeColumn_, justify), 0, (ClientData) NULL, COLU_CONF_DISPLAY | COLU_CONF_JUSTIFY}, {TK_OPTION_STRING_TABLE, "-lock", (char *) NULL, (char *) NULL, - "none", -1, Tk_Offset(Column, lock), 0, (ClientData) lockST, 0}, + "none", -1, Tk_Offset(TreeColumn_, lock), 0, (ClientData) lockST, 0}, {TK_OPTION_PIXELS, "-maxwidth", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, maxWidthObj), - Tk_Offset(Column, maxWidth), + (char *) NULL, Tk_Offset(TreeColumn_, maxWidthObj), + Tk_Offset(TreeColumn_, maxWidth), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TWIDTH}, {TK_OPTION_PIXELS, "-minwidth", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, minWidthObj), - Tk_Offset(Column, minWidth), + (char *) NULL, Tk_Offset(TreeColumn_, minWidthObj), + Tk_Offset(TreeColumn_, minWidth), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TWIDTH}, {TK_OPTION_BOOLEAN, "-resize", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Column, resize), 0, (ClientData) NULL, 0}, + "1", -1, Tk_Offset(TreeColumn_, resize), 0, (ClientData) NULL, 0}, {TK_OPTION_BOOLEAN, "-squeeze", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(Column, squeeze), + "0", -1, Tk_Offset(TreeColumn_, squeeze), 0, (ClientData) NULL, COLU_CONF_TWIDTH}, {TK_OPTION_STRING_TABLE, "-state", (char *) NULL, (char *) NULL, - "normal", -1, Tk_Offset(Column, state), 0, (ClientData) stateST, + "normal", -1, Tk_Offset(TreeColumn_, state), 0, (ClientData) stateST, COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, #ifdef DEPRECATED {TK_OPTION_PIXELS, "-stepwidth", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, stepWidthObj), - Tk_Offset(Column, stepWidth), + (char *) NULL, Tk_Offset(TreeColumn_, stepWidthObj), + Tk_Offset(TreeColumn_, stepWidth), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_RANGES}, #endif /* DEPRECATED */ {TK_OPTION_CUSTOM, "-tags", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, tagInfo), + (char *) NULL, -1, Tk_Offset(TreeColumn_, tagInfo), TK_OPTION_NULL_OK, (ClientData) &TagInfoCO, COLU_CONF_TAGS}, {TK_OPTION_STRING, "-text", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, textObj), Tk_Offset(Column, text), + (char *) NULL, Tk_Offset(TreeColumn_, textObj), Tk_Offset(TreeColumn_, text), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TEXT | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_COLOR, "-textcolor", (char *) NULL, (char *) NULL, - DEF_BUTTON_FG, -1, Tk_Offset(Column, textColor), + DEF_BUTTON_FG, -1, Tk_Offset(TreeColumn_, textColor), 0, (ClientData) NULL, COLU_CONF_DISPLAY}, {TK_OPTION_INT, "-textlines", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Column, textLines), + "1", -1, Tk_Offset(TreeColumn_, textLines), 0, (ClientData) NULL, COLU_CONF_TEXT | COLU_CONF_NWIDTH | COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-textpadx", (char *) NULL, (char *) NULL, - "6", Tk_Offset(Column, textPadXObj), - Tk_Offset(Column, textPadX), 0, (ClientData) &PadAmountOption, + "6", Tk_Offset(TreeColumn_, textPadXObj), + Tk_Offset(TreeColumn_, textPadX), 0, (ClientData) &PadAmountOption, COLU_CONF_NWIDTH | COLU_CONF_DISPLAY}, {TK_OPTION_CUSTOM, "-textpady", (char *) NULL, (char *) NULL, - "0", Tk_Offset(Column, textPadYObj), - Tk_Offset(Column, textPadY), 0, (ClientData) &PadAmountOption, + "0", Tk_Offset(TreeColumn_, textPadYObj), + Tk_Offset(TreeColumn_, textPadY), 0, (ClientData) &PadAmountOption, COLU_CONF_NHEIGHT | COLU_CONF_DISPLAY}, #ifdef UNIFORM_GROUP {TK_OPTION_CUSTOM, "-uniform", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Column, uniform), TK_OPTION_NULL_OK, + (char *) NULL, -1, Tk_Offset(TreeColumn_, uniform), TK_OPTION_NULL_OK, (ClientData) &uniformGroupCO, COLU_CONF_TWIDTH}, {TK_OPTION_INT, "-weight", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Column, weight), + "1", -1, Tk_Offset(TreeColumn_, weight), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TWIDTH}, #endif {TK_OPTION_PIXELS, "-width", (char *) NULL, (char *) NULL, - (char *) NULL, Tk_Offset(Column, widthObj), Tk_Offset(Column, width), + (char *) NULL, Tk_Offset(TreeColumn_, widthObj), Tk_Offset(TreeColumn_, width), TK_OPTION_NULL_OK, (ClientData) NULL, COLU_CONF_TWIDTH}, {TK_OPTION_BOOLEAN, "-visible", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Column, visible), + "1", -1, Tk_Offset(TreeColumn_, visible), 0, (ClientData) NULL, COLU_CONF_TWIDTH | COLU_CONF_DISPLAY}, #ifdef DEPRECATED {TK_OPTION_BOOLEAN, "-widthhack", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(Column, widthHack), + "0", -1, Tk_Offset(TreeColumn_, widthHack), 0, (ClientData) NULL, COLU_CONF_RANGES}, #endif /* DEPRECATED */ {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, 0, 0} }; -#define IS_TAIL(C) (((TreeColumn) C) == tree->columnTail) -#define IS_ALL(C) ((((TreeColumn) C) == COLUMN_ALL) || (((TreeColumn) C) == COLUMN_NTAIL)) +#define IS_TAIL(C) ((C) == tree->columnTail) +#define IS_ALL(C) (((C) == COLUMN_ALL) || ((C) == COLUMN_NTAIL)) /* *---------------------------------------------------------------------- @@ -633,7 +633,7 @@ ImageChangedProc( ) { /* I would like to know the image was deleted... */ - Column *column = (Column *) clientData; + TreeColumn column = clientData; TreeCtrl *tree = column->tree; /* Duplicate the effects of configuring the -image option. */ @@ -753,7 +753,7 @@ unknown: static int Column_MakeState( - Column *column /* Column record. */ + TreeColumn column /* Column record. */ ) { int state = 0; @@ -982,14 +982,14 @@ errorExit: static int Qualifies( Qualifiers *q, /* Qualifiers to check. */ - Column *column /* The column to test. May be NULL. */ + TreeColumn column /* The column to test. May be NULL. */ ) { /* Note: if the column is NULL it is a "match" because we have run * out of columns to check. */ if (column == NULL) return 1; - if ((q->ntail == 1) && (column == (Column *) column->tree->columnTail)) + if ((q->ntail == 1) && (column == column->tree->columnTail)) return 0; if ((q->visible == 1) && !column->visible) return 0; @@ -1087,7 +1087,7 @@ TreeColumnList_FromObj( Tcl_Interp *interp = tree->interp; int i, objc, index, listIndex; Tcl_Obj **objv, *elemPtr; - Column *column = NULL; + TreeColumn column = NULL; Qualifiers q; int qualArgsTotal; @@ -1154,37 +1154,37 @@ TreeColumnList_FromObj( case INDEX_ALL: { if (qualArgsTotal) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if (Qualifies(&q, column)) { - TreeColumnList_Append(columns, (TreeColumn) column); + TreeColumnList_Append(columns, column); } column = column->next; } if (!(flags & CFO_NOT_TAIL) && - Qualifies(&q, (Column *) tree->columnTail)) { + Qualifies(&q, tree->columnTail)) { TreeColumnList_Append(columns, tree->columnTail); } column = NULL; } else if (flags & CFO_LIST_ALL) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { - TreeColumnList_Append(columns, (TreeColumn) column); + TreeColumnList_Append(columns, column); column = column->next; } if (!(flags & CFO_NOT_TAIL)) TreeColumnList_Append(columns, tree->columnTail); column = NULL; } else if (flags & CFO_NOT_TAIL) { - column = (Column *) COLUMN_NTAIL; + column = COLUMN_NTAIL; } else { - column = (Column *) COLUMN_ALL; + column = COLUMN_ALL; } break; } case INDEX_FIRST: { - column = (Column *) tree->columns; + column = tree->columns; while (!Qualifies(&q, column)) column = column->next; break; @@ -1192,7 +1192,7 @@ TreeColumnList_FromObj( case INDEX_END: case INDEX_LAST: { - column = (Column *) tree->columnLast; + column = tree->columnLast; while (!Qualifies(&q, column)) { column = column->prev; } @@ -1226,9 +1226,9 @@ TreeColumnList_FromObj( if (i < count) { TreeColumnList_Free(columns); if (flags & CFO_NOT_TAIL) - column = (Column *) COLUMN_NTAIL; + column = COLUMN_NTAIL; else - column = (Column *) COLUMN_ALL; + column = COLUMN_ALL; } else column = NULL; break; @@ -1239,7 +1239,7 @@ TreeColumnList_FromObj( if (Tcl_GetIntFromObj(NULL, objv[listIndex + 1], &order) != TCL_OK) goto errorExit; - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if (Qualifies(&q, column)) if (order-- <= 0) @@ -1259,28 +1259,28 @@ TreeColumnList_FromObj( &_last, CFO_NOT_NULL) != TCL_OK) goto errorExit; (void) TreeColumn_FirstAndLast(&_first, &_last); - column = (Column *) _first; + column = _first; while (1) { if (Qualifies(&q, column)) { TreeColumnList_Append(columns, column); } - if (column == (Column *) _last) + if (column == _last) break; column = column->next; if (column == NULL) - column = (Column *) tree->columnTail; + column = tree->columnTail; } column = NULL; break; } case INDEX_TAIL: { - column = (Column *) tree->columnTail; + column = tree->columnTail; break; } case INDEX_TREE: { - column = (Column *) tree->columnTree; + column = tree->columnTree; break; } } @@ -1304,7 +1304,7 @@ TreeColumnList_FromObj( gotId = TRUE; } if (gotId) { - column = (Column *) tree->columns; + column = tree->columns; while (column) { if (column->id == id) break; @@ -1321,15 +1321,15 @@ TreeColumnList_FromObj( goto errorExit; } if (qualArgsTotal) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if (Qualifies(&q, column)) { - TreeColumnList_Append(columns, (TreeColumn) column); + TreeColumnList_Append(columns, column); } column = column->next; } if (!(flags & CFO_NOT_TAIL) && - Qualifies(&q, (Column *) tree->columnTail)) { + Qualifies(&q, tree->columnTail)) { TreeColumnList_Append(columns, tree->columnTail); } column = NULL; @@ -1346,16 +1346,16 @@ TreeColumnList_FromObj( } if (TagExpr_Init(tree, elemPtr, &expr) != TCL_OK) goto errorExit; - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if (TagExpr_Eval(&expr, column->tagInfo) && Qualifies(&q, column)) { - TreeColumnList_Append(columns, (TreeColumn) column); + TreeColumnList_Append(columns, column); } column = column->next; } if (!(flags & CFO_NOT_TAIL) && - TagExpr_Eval(&expr, ((Column *) tree->columnTail)->tagInfo) && - Qualifies(&q, (Column *) tree->columnTail)) { + TagExpr_Eval(&expr, tree->columnTail->tagInfo) && + Qualifies(&q, tree->columnTail)) { TreeColumnList_Append(columns, tree->columnTail); } TagExpr_Free(&expr); @@ -1367,13 +1367,13 @@ gotFirstPart: /* If 1 column, use it and clear the list. */ if (TreeColumnList_Count(columns) == 1) { - column = (Column *) TreeColumnList_Nth(columns, 0); + column = TreeColumnList_Nth(columns, 0); columns->count = 0; } /* If "all" but only tail column exists, use it. */ if (IS_ALL(column) && (tree->columns == NULL) && !(flags & CFO_NOT_TAIL)) - column = (Column *) tree->columnTail; + column = tree->columnTail; /* If > 1 column, no modifiers may follow. */ if ((TreeColumnList_Count(columns) > 1) || IS_ALL(column)) { @@ -1432,7 +1432,7 @@ gotFirstPart: while (!Qualifies(&q, column)) column = column->next; if (column == NULL) { - column = (Column *) tree->columnTail; + column = tree->columnTail; if (!Qualifies(&q, column)) column = NULL; } @@ -1442,7 +1442,7 @@ gotFirstPart: { int isTail = IS_TAIL(column); if (isTail) - column = (Column *) tree->columnLast; + column = tree->columnLast; else column = column->prev; while (!Qualifies(&q, column)) @@ -1473,7 +1473,7 @@ notNull: if (flags & (CFO_NOT_TAIL)) { int i; for (i = 0; i < TreeColumnList_Count(columns); i++) { - column = (Column *) TreeColumnList_Nth(columns, i); + column = TreeColumnList_Nth(columns, i); if ((flags & CFO_NOT_TAIL) && IS_TAIL(column)) goto notTail; } @@ -1486,7 +1486,7 @@ notTail: FormatResult(interp, "can't specify \"tail\" for this command"); goto errorExit; } - TreeColumnList_Append(columns, (TreeColumn) column); + TreeColumnList_Append(columns, column); } goodExit: Qualifiers_Free(&q); @@ -1668,17 +1668,17 @@ ColumnForEach_Next( Tcl_Obj * TreeColumn_ToObj( TreeCtrl *tree, /* Widget info. */ - TreeColumn column_ /* Column token to get Tcl_Obj for. */ + TreeColumn column /* Column token to get Tcl_Obj for. */ ) { - if (column_ == tree->columnTail) + if (column == tree->columnTail) return Tcl_NewStringObj("tail", -1); if (tree->columnPrefixLen) { char buf[100 + TCL_INTEGER_SPACE]; - (void) sprintf(buf, "%s%d", tree->columnPrefix, ((Column *) column_)->id); + (void) sprintf(buf, "%s%d", tree->columnPrefix, column->id); return Tcl_NewStringObj(buf, -1); } - return Tcl_NewIntObj(((Column *) column_)->id); + return Tcl_NewIntObj(column->id); } /* @@ -1703,14 +1703,14 @@ Tree_FindColumn( int columnIndex /* 0-based index of the column to return. */ ) { - Column *column = (Column *) tree->columns; + TreeColumn column = tree->columns; while (column != NULL) { if (column->index == columnIndex) break; column = column->next; } - return (TreeColumn) column; + return column; } /* @@ -1731,10 +1731,10 @@ Tree_FindColumn( TreeColumn TreeColumn_Next( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return (TreeColumn) ((Column *) column_)->next; + return column->next; } /* @@ -1755,10 +1755,10 @@ TreeColumn_Next( TreeColumn TreeColumn_Prev( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return (TreeColumn) ((Column *) column_)->prev; + return column->prev; } /* @@ -1818,13 +1818,13 @@ Column_FreeColors( static void Column_Move( - Column *move, /* Column to move. */ - Column *before /* Column to place 'move' in front of. + TreeColumn move, /* Column to move. */ + TreeColumn before /* Column to place 'move' in front of. * May be the same as 'move'. */ ) { TreeCtrl *tree = move->tree; - Column *column, *prev, *next, *last; + TreeColumn column, prev, next, last; Tcl_HashEntry *hPtr; Tcl_HashSearch search; TreeItem item; @@ -1914,25 +1914,25 @@ Column_Move( prev = move->prev; next = move->next; if (prev == NULL) - tree->columns = (TreeColumn) next; + tree->columns = next; else prev->next = next; if (next == NULL) - tree->columnLast = (TreeColumn) prev; + tree->columnLast = prev; else next->prev = prev; /* Link. */ - if (before == (Column *) tree->columnTail) { - last = (Column *) tree->columnLast; + if (before == tree->columnTail) { + last = tree->columnLast; last->next = move; move->prev = last; move->next = NULL; - tree->columnLast = (TreeColumn) move; + tree->columnLast = move; } else { prev = before->prev; if (prev == NULL) - tree->columns = (TreeColumn) move; + tree->columns = move; else prev->next = move; before->prev = move; @@ -1947,15 +1947,15 @@ renumber: tree->columnLockRight = NULL; index = 0; - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { column->index = index++; if (column->lock == COLUMN_LOCK_LEFT && tree->columnLockLeft == NULL) - tree->columnLockLeft = (TreeColumn) column; + tree->columnLockLeft = column; if (column->lock == COLUMN_LOCK_NONE && tree->columnLockNone == NULL) - tree->columnLockNone = (TreeColumn) column; + tree->columnLockNone = column; if (column->lock == COLUMN_LOCK_RIGHT && tree->columnLockRight == NULL) - tree->columnLockRight = (TreeColumn) column; + tree->columnLockRight = column; column = column->next; } @@ -1993,14 +1993,15 @@ renumber: static int Column_Config( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[], /* Argument values. */ int createFlag /* TRUE if the Column is being created. */ ) { TreeCtrl *tree = column->tree; - Column saved, *walk; + TreeColumn_ saved; + TreeColumn walk; Tk_SavedOptions savedOptions; int error; Tcl_Obj *errorResult = NULL; @@ -2040,7 +2041,7 @@ Column_Config( saved.itemBgCount = column->itemBgCount; } - if (column == (Column *) tree->columnTail) { + if (column == tree->columnTail) { if (column->itemStyle != NULL) { FormatResult(tree->interp, "can't change the -itemstyle option of the tail column"); @@ -2187,7 +2188,7 @@ Column_Config( if (mask & COLU_CONF_ITEMBG) { /* Set max -itembackground */ tree->columnBgCnt = 0; - walk = (Column *) tree->columns; + walk = tree->columns; while (walk != NULL) { if (walk->itemBgCount > tree->columnBgCnt) tree->columnBgCnt = walk->itemBgCount; @@ -2200,28 +2201,28 @@ Column_Config( } if (!createFlag && (column->lock != lock)) { - Column *before = NULL; + TreeColumn before = NULL; switch (column->lock) { case COLUMN_LOCK_LEFT: - before = (Column *) tree->columnLockNone; + before = tree->columnLockNone; if (before == NULL) - before = (Column *) tree->columnLockRight; + before = tree->columnLockRight; break; case COLUMN_LOCK_NONE: if (lock == COLUMN_LOCK_LEFT) { - before = (Column *) tree->columnLockNone; + before = tree->columnLockNone; if (before == NULL) - before = (Column *) tree->columnLockRight; + before = tree->columnLockRight; } else - before = (Column *) tree->columnLockRight; + before = tree->columnLockRight; break; case COLUMN_LOCK_RIGHT: - before = (Column *) NULL; + before = NULL; break; } if (before == NULL) - before = (Column *) tree->columnTail; + before = tree->columnTail; Column_Move(column, before); Tree_DInfoChanged(tree, DINFO_REDO_COLUMN_WIDTH); } @@ -2277,20 +2278,20 @@ Column_Config( *---------------------------------------------------------------------- */ -static Column * +static TreeColumn Column_Alloc( TreeCtrl *tree /* Widget info. */ ) { - Column *column; + TreeColumn column; - column = (Column *) ckalloc(sizeof(Column)); - memset(column, '\0', sizeof(Column)); + column = (TreeColumn) ckalloc(sizeof(TreeColumn_)); + memset(column, '\0', sizeof(TreeColumn_)); column->tree = tree; column->optionTable = Tk_CreateOptionTable(tree->interp, columnSpecs); if (Tk_InitOptions(tree->interp, (char *) column, column->optionTable, tree->tkwin) != TCL_OK) { - WFREE(column, Column); + WFREE(column, TreeColumn_); return NULL; } #if 0 @@ -2298,7 +2299,7 @@ Column_Alloc( column->optionTable, 0, NULL, header->tree->tkwin, &savedOptions, (int *) NULL) != TCL_OK) { - WFREE(column, Column); + WFREE(column, TreeColumn_); return NULL; } #endif @@ -2327,13 +2328,13 @@ Column_Alloc( *---------------------------------------------------------------------- */ -static Column * +static TreeColumn Column_Free( - Column *column /* Column record. */ + TreeColumn column /* Column record. */ ) { TreeCtrl *tree = column->tree; - Column *next = column->next; + TreeColumn next = column->next; Column_FreeColors(column->itemBgColor, column->itemBgCount); if (column->bitmapGC != None) @@ -2343,7 +2344,7 @@ Column_Free( if (column->textLayout != NULL) TextLayout_Free(column->textLayout); Tk_FreeConfigOptions((char *) column, column->optionTable, tree->tkwin); - WFREE(column, Column); + WFREE(column, TreeColumn_); tree->columnCount--; if (tree->columnCount == 0) tree->nextColumnId = 0; @@ -2368,10 +2369,9 @@ Column_Free( int TreeColumn_FixedWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; return column->widthObj ? column->width : -1; } @@ -2393,10 +2393,9 @@ TreeColumn_FixedWidth( int TreeColumn_MinWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; return column->minWidthObj ? column->minWidth : -1; } @@ -2418,10 +2417,9 @@ TreeColumn_MinWidth( int TreeColumn_MaxWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; return column->maxWidthObj ? column->maxWidth : -1; } @@ -2445,10 +2443,9 @@ TreeColumn_MaxWidth( int TreeColumn_StepWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; return column->stepWidthObj ? column->stepWidth : -1; } #endif /* DEPRECATED */ @@ -2474,7 +2471,7 @@ TreeColumn_StepWidth( static void Column_UpdateTextLayout( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ int width /* Maximum line length. Zero means there * is no limit. */ ) @@ -2541,7 +2538,7 @@ Column_UpdateTextLayout( static void Column_GetArrowSize( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ int *widthPtr, /* Returned width. */ int *heightPtr /* Returned height. */ ) @@ -2637,7 +2634,7 @@ struct LayoutPart static void Column_DoLayout( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ struct Layout *layout /* Returned layout info. The width and * height fields must be initialized. */ ) @@ -2968,10 +2965,9 @@ finish: int TreeColumn_NeededWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; TreeCtrl *tree = column->tree; int i, widthList[3], padList[4], n = 0; int arrowWidth, arrowHeight; @@ -3076,10 +3072,9 @@ TreeColumn_NeededWidth( int TreeColumn_NeededHeight( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; TreeCtrl *tree = column->tree; int margins[4]; @@ -3114,7 +3109,7 @@ TreeColumn_NeededHeight( } if (column->text != NULL) { struct Layout layout; - layout.width = TreeColumn_UseWidth(column_); + layout.width = TreeColumn_UseWidth(column); layout.height = -1; Column_DoLayout(column, &layout); if (column->textLayout != NULL) { @@ -3170,13 +3165,13 @@ TreeColumn_NeededHeight( int TreeColumn_UseWidth( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { /* Update layout if needed */ - (void) Tree_WidthOfColumns(((Column *) column_)->tree); + (void) Tree_WidthOfColumns(column->tree); - return ((Column *) column_)->useWidth; + return column->useWidth; } /* @@ -3197,13 +3192,13 @@ TreeColumn_UseWidth( int TreeColumn_Offset( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { /* Update layout if needed */ - (void) Tree_WidthOfColumns(((Column *) column_)->tree); + (void) Tree_WidthOfColumns(column->tree); - return ((Column *) column_)->offset; + return column->offset; } /* @@ -3224,10 +3219,10 @@ TreeColumn_Offset( Tk_Justify TreeColumn_Justify( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->justify; + return column->justify; } #ifdef DEPRECATED @@ -3250,10 +3245,10 @@ TreeColumn_Justify( int TreeColumn_WidthHack( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->widthHack; + return column->widthHack; } #endif /* DEPRECATED */ @@ -3275,10 +3270,10 @@ TreeColumn_WidthHack( int TreeColumn_Squeeze( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->squeeze; + return column->squeeze; } /* @@ -3299,10 +3294,10 @@ TreeColumn_Squeeze( int TreeColumn_BackgroundCount( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->itemBgCount; + return column->itemBgCount; } /* @@ -3326,12 +3321,11 @@ TreeColumn_BackgroundCount( GC TreeColumn_BackgroundGC( - TreeColumn column_, /* Column token. */ + TreeColumn column, /* Column token. */ int index /* This number is determined by the display * code. */ ) { - Column *column = (Column *) column_; XColor *color; if ((index < 0) || (column->itemBgCount == 0)) @@ -3360,10 +3354,10 @@ TreeColumn_BackgroundGC( TreeStyle TreeColumn_ItemStyle( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->itemStyle; + return column->itemStyle; } /* @@ -3385,12 +3379,10 @@ TreeColumn_ItemStyle( void TreeColumn_StyleDeleted( - TreeColumn column_, /* Column token. */ + TreeColumn column, /* Column token. */ TreeStyle style /* Style that was deleted. */ ) { - Column *column = (Column *) column_; - if (column->itemStyle == style) column->itemStyle = NULL; } @@ -3413,10 +3405,10 @@ TreeColumn_StyleDeleted( int TreeColumn_Visible( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->visible; + return column->visible; } /* @@ -3436,10 +3428,10 @@ TreeColumn_Visible( */ int TreeColumn_GetID( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->id; + return column->id; } /* @@ -3459,10 +3451,10 @@ int TreeColumn_GetID( */ int TreeColumn_Lock( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->lock; + return column->lock; } /* @@ -3483,10 +3475,10 @@ int TreeColumn_Lock( int TreeColumn_Index( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - return ((Column *) column_)->index; + return column->index; } /* @@ -3525,8 +3517,7 @@ ColumnTagCmd( int index; ColumnForEach iter; TreeColumnList columns; - TreeColumn _column; - Column *column; + TreeColumn column; int result = TCL_OK; if (objc < 4) @@ -3566,8 +3557,7 @@ ColumnTagCmd( for (i = 0; i < numTags; i++) { tags[i] = Tk_GetUid(Tcl_GetString(listObjv[i])); } - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { - column = (Column *) _column; + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { column->tagInfo = TagInfo_Add(tree, column->tagInfo, tags, numTags); } STATIC_FREE(tags, Tk_Uid, numTags); @@ -3592,8 +3582,7 @@ ColumnTagCmd( result = TCL_ERROR; break; } - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { - column = (Column *) _column; + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { if (!TagExpr_Eval(&expr, column->tagInfo)) { ok = FALSE; break; @@ -3619,8 +3608,7 @@ ColumnTagCmd( if (TreeColumnList_FromObj(tree, objv[4], &columns, 0) != TCL_OK) { return TCL_ERROR; } - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { - column = (Column *) _column; + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { tags = TagInfo_Names(tree, column->tagInfo, tags, &numTags, &tagSpace); } if (numTags) { @@ -3658,8 +3646,7 @@ ColumnTagCmd( for (i = 0; i < numTags; i++) { tags[i] = Tk_GetUid(Tcl_GetString(listObjv[i])); } - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { - column = (Column *) _column; + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { column->tagInfo = TagInfo_Remove(tree, column->tagInfo, tags, numTags); } STATIC_FREE(tags, Tk_Uid, numTags); @@ -3718,8 +3705,7 @@ TreeColumnCmd( }; int index; TreeColumnList columns; - TreeColumn _column; - Column *column; + TreeColumn column; ColumnForEach iter; if (objc < 3) { @@ -3735,17 +3721,16 @@ TreeColumnCmd( switch (index) { case COMMAND_BBOX: { - TreeColumn _column; int left, top, width, height; if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "column"); return TCL_ERROR; } - if (TreeColumn_FromObj(tree, objv[3], &_column, + if (TreeColumn_FromObj(tree, objv[3], &column, CFO_NOT_NULL | CFO_NOT_TAIL) != TCL_OK) return TCL_ERROR; - if (TreeColumn_Bbox(_column, &left, &top, &width, &height) < 0) + if (TreeColumn_Bbox(column, &left, &top, &width, &height) < 0) break; FormatResult(interp, "%d %d %d %d", left, top, left + width, top + height); @@ -3765,7 +3750,7 @@ TreeColumnCmd( CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; resultObjPtr = Tk_GetOptionValue(interp, (char *) column, - ((Column *) column)->optionTable, objv[4], tree->tkwin); + column->optionTable, objv[4], tree->tkwin); if (resultObjPtr == NULL) return TCL_ERROR; Tcl_SetObjResult(interp, resultObjPtr); @@ -3814,10 +3799,9 @@ TreeColumnCmd( } if (objc <= 5) { Tcl_Obj *resultObjPtr; - if (TreeColumn_FromObj(tree, objv[3], &_column, + if (TreeColumn_FromObj(tree, objv[3], &column, CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - column = (Column *) _column; resultObjPtr = Tk_GetOptionInfo(interp, (char *) column, column->optionTable, (objc == 4) ? (Tcl_Obj *) NULL : objv[4], @@ -3833,8 +3817,8 @@ TreeColumnCmd( if (TreeColumnList_FromObj(tree, objv[3], &columns, CFO_LIST_ALL | CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { - if (Column_Config((Column *) _column, objc - 4, objv + 4, FALSE) != TCL_OK) + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { + if (Column_Config(column, objc - 4, objv + 4, FALSE) != TCL_OK) goto errorExit; } TreeColumnList_Free(&columns); @@ -3843,7 +3827,7 @@ TreeColumnCmd( case COMMAND_CREATE: { - Column *column, *last = (Column *) tree->columnLast; + TreeColumn column, last = tree->columnLast; /* FIXME: -count N -tags $tags */ column = Column_Alloc(tree); @@ -3855,32 +3839,32 @@ TreeColumnCmd( if (tree->columns == NULL) { column->index = 0; - tree->columns = (TreeColumn) column; + tree->columns = column; } else { last->next = column; column->prev = last; column->index = last->index + 1; } - tree->columnLast = (TreeColumn) column; - ((Column *) tree->columnTail)->index++; + tree->columnLast = column; + tree->columnTail->index++; { - Column *before = NULL; + TreeColumn before = NULL; switch (column->lock) { case COLUMN_LOCK_LEFT: - before = (Column *) tree->columnLockNone; + before = tree->columnLockNone; if (before == NULL) - before = (Column *) tree->columnLockRight; + before = tree->columnLockRight; break; case COLUMN_LOCK_NONE: - before = (Column *) tree->columnLockRight; + before = tree->columnLockRight; break; case COLUMN_LOCK_RIGHT: - before = (Column *) NULL; + before = NULL; break; } if (before == NULL) - before = (Column *) tree->columnTail; + before = tree->columnTail; Column_Move(column, before); } @@ -3888,7 +3872,7 @@ TreeColumnCmd( TreeItem_SpansInvalidate(tree, NULL); Tree_DInfoChanged(tree, DINFO_REDO_COLUMN_WIDTH); - Tcl_SetObjResult(interp, TreeColumn_ToObj(tree, (TreeColumn) column)); + Tcl_SetObjResult(interp, TreeColumn_ToObj(tree, column)); break; } @@ -3896,8 +3880,7 @@ TreeColumnCmd( case COMMAND_DELETE: { TreeColumnList columns, column2s; - TreeColumn _column; - Column *column, *prev, *next; + TreeColumn prev, next; int flags = CFO_NOT_NULL | CFO_NOT_TAIL; ColumnForEach citer; TreeItem item; @@ -3919,16 +3902,16 @@ TreeColumnCmd( CFO_NOT_NULL | CFO_NOT_TAIL) != TCL_OK) return TCL_ERROR; } - COLUMN_FOR_EACH(_column, &columns, (objc == 5) ? &column2s : NULL, + COLUMN_FOR_EACH(column, &columns, (objc == 5) ? &column2s : NULL, &citer) { /* T column delete "all" */ if (citer.all) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { - TreeDisplay_ColumnDeleted(tree, (TreeColumn) column); + TreeDisplay_ColumnDeleted(tree, column); column = Column_Free(column); } - ((Column *) tree->columnTail)->index = 0; + tree->columnTail->index = 0; tree->columns = NULL; tree->columnLast = NULL; tree->columnLockLeft = NULL; @@ -3950,7 +3933,6 @@ TreeColumnCmd( Tree_DInfoChanged(tree, DINFO_REDO_COLUMN_WIDTH); goto doneDELETE; } - column = (Column *) _column; /* Delete all TreeItemColumns */ hPtr = Tcl_FirstHashEntry(&tree->itemHash, &search); @@ -3961,25 +3943,25 @@ TreeColumnCmd( hPtr = Tcl_NextHashEntry(&search); } - TreeDisplay_ColumnDeleted(tree, (TreeColumn) column); + TreeDisplay_ColumnDeleted(tree, column); /* Unlink. */ prev = column->prev; next = column->next; if (prev == NULL) - tree->columns = (TreeColumn) next; + tree->columns = next; else prev->next = next; if (next == NULL) - tree->columnLast = (TreeColumn) prev; + tree->columnLast = prev; else next->prev = prev; - if (_column == tree->columnTree) + if (column == tree->columnTree) tree->columnTree = NULL; - if (_column == tree->columnDrag.column) + if (column == tree->columnDrag.column) tree->columnDrag.column = NULL; - if (_column == tree->columnDrag.indColumn) + if (column == tree->columnDrag.indColumn) tree->columnDrag.indColumn = NULL; (void) Column_Free(column); @@ -3997,18 +3979,18 @@ TreeColumnCmd( tree->columnLockRight = NULL; index = 0; - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { column->index = index++; if (column->lock == COLUMN_LOCK_LEFT && tree->columnLockLeft == NULL) - tree->columnLockLeft = (TreeColumn) column; + tree->columnLockLeft = column; if (column->lock == COLUMN_LOCK_NONE && tree->columnLockNone == NULL) - tree->columnLockNone = (TreeColumn) column; + tree->columnLockNone = column; if (column->lock == COLUMN_LOCK_RIGHT && tree->columnLockRight == NULL) - tree->columnLockRight = (TreeColumn) column; + tree->columnLockRight = column; column = column->next; } - ((Column *) tree->columnTail)->index = index; + tree->columnTail->index = index; tree->widthOfColumns = tree->headerHeight = -1; tree->widthOfColumnsLeft = tree->widthOfColumnsRight = -1; @@ -4092,17 +4074,16 @@ doneDELETE: case COMMAND_WIDTH: { - TreeColumn _column; - Column *column; + TreeColumn column; if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "column"); return TCL_ERROR; } - if (TreeColumn_FromObj(tree, objv[3], &_column, + if (TreeColumn_FromObj(tree, objv[3], &column, CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - column = (Column *) _column; + /* Update layout if needed */ (void) Tree_WidthOfColumns(tree); Tcl_SetObjResult(interp, Tcl_NewIntObj(column->useWidth)); @@ -4123,9 +4104,9 @@ doneDELETE: if (TreeColumnList_FromObj(tree, objv[3], &columns, 0) != TCL_OK) return TCL_ERROR; listObj = Tcl_NewListObj(0, NULL); - COLUMN_FOR_EACH(_column, &columns, NULL, &iter) { + COLUMN_FOR_EACH(column, &columns, NULL, &iter) { Tcl_ListObjAppendElement(interp, listObj, - TreeColumn_ToObj(tree, _column)); + TreeColumn_ToObj(tree, column)); } TreeColumnList_Free(&columns); Tcl_SetObjResult(interp, listObj); @@ -4135,7 +4116,7 @@ doneDELETE: /* T column list ?-visible? */ case COMMAND_LIST: { - Column *column = (Column *) tree->columns; + TreeColumn column = tree->columns; Tcl_Obj *listObj; int visible = FALSE; @@ -4158,7 +4139,7 @@ doneDELETE: while (column != NULL) { if (!visible || column->visible) Tcl_ListObjAppendElement(interp, listObj, - TreeColumn_ToObj(tree, (TreeColumn) column)); + TreeColumn_ToObj(tree, column)); column = column->next; } Tcl_SetObjResult(interp, listObj); @@ -4168,40 +4149,37 @@ doneDELETE: /* T column move C before */ case COMMAND_MOVE: { - TreeColumn _move, _before; - Column *move, *before; - Column *first = NULL, *last = (Column *) tree->columnTail; + TreeColumn move, before; + TreeColumn first = NULL, last = tree->columnTail; if (objc != 5) { Tcl_WrongNumArgs(interp, 3, objv, "column before"); return TCL_ERROR; } - if (TreeColumn_FromObj(tree, objv[3], &_move, + if (TreeColumn_FromObj(tree, objv[3], &move, CFO_NOT_NULL | CFO_NOT_TAIL) != TCL_OK) return TCL_ERROR; - move = (Column *) _move; - if (TreeColumn_FromObj(tree, objv[4], &_before, + if (TreeColumn_FromObj(tree, objv[4], &before, CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - before = (Column *) _before; if ((move == before) || (move->index == before->index - 1)) break; switch (move->lock) { case COLUMN_LOCK_LEFT: - first = (Column *) tree->columnLockLeft; + first = tree->columnLockLeft; if (tree->columnLockNone != NULL) - last = (Column *) tree->columnLockNone; + last = tree->columnLockNone; else if (tree->columnLockRight != NULL) - last = (Column *) tree->columnLockRight; + last = tree->columnLockRight; break; case COLUMN_LOCK_NONE: - first = (Column *) tree->columnLockNone; + first = tree->columnLockNone; if (tree->columnLockRight != NULL) - last = (Column *) tree->columnLockRight; + last = tree->columnLockRight; break; case COLUMN_LOCK_RIGHT: - first = (Column *) tree->columnLockRight; + first = tree->columnLockRight; break; } if (before->index < first->index || before->index > last->index) { @@ -4220,22 +4198,21 @@ doneDELETE: case COMMAND_NEEDEDWIDTH: { - TreeColumn _column; - Column *column; + TreeColumn column; int width; if (objc != 4) { Tcl_WrongNumArgs(interp, 3, objv, "column"); return TCL_ERROR; } - if (TreeColumn_FromObj(tree, objv[3], &_column, + if (TreeColumn_FromObj(tree, objv[3], &column, CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - column = (Column *) _column; + /* Update layout if needed */ (void) Tree_TotalWidth(tree); - width = TreeColumn_WidthOfItems((TreeColumn) column); - width = MAX(width, TreeColumn_NeededWidth((TreeColumn) column)); + width = TreeColumn_WidthOfItems(column); + width = MAX(width, TreeColumn_NeededWidth(column)); Tcl_SetObjResult(interp, Tcl_NewIntObj(width)); break; } @@ -4243,8 +4220,7 @@ doneDELETE: /* T column order C ?-visible? */ case COMMAND_ORDER: { - TreeColumn _column; - Column *column; + TreeColumn column; int visible = FALSE; int index = 0; @@ -4263,12 +4239,11 @@ doneDELETE: return TCL_ERROR; } } - if (TreeColumn_FromObj(tree, objv[3], &_column, + if (TreeColumn_FromObj(tree, objv[3], &column, CFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - column = (Column *) _column; if (visible) { - Column *walk = (Column *) tree->columns; + TreeColumn walk = tree->columns; while (walk != NULL) { if (walk == column) break; @@ -4316,7 +4291,7 @@ errorExit: static void Column_DrawArrow( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ Drawable drawable, /* Where to draw. */ int x, int y, /* Top-left corner of the column's header. */ struct Layout layout /* Size/position info. */ @@ -4439,7 +4414,7 @@ Column_DrawArrow( static void Column_Draw( - Column *column, /* Column record. */ + TreeColumn column, /* Column record. */ Drawable drawable, /* Where to draw. */ int x, int y, /* Top-left corner of the column's header. */ int dragImage /* TRUE if we are creating a transparent @@ -4594,7 +4569,7 @@ Column_Draw( static Tk_Image SetImageForColumn( TreeCtrl *tree, /* Widget info. */ - Column *column /* Column record. */ + TreeColumn column /* Column record. */ ) { Tk_PhotoHandle photoH; @@ -4638,7 +4613,7 @@ DrawHeaderLeft( Drawable drawable /* Where to draw. */ ) { - Column *column = (Column *) tree->columnLockLeft; + TreeColumn column = tree->columnLockLeft; Tk_Window tkwin = tree->tkwin; int x = tree->inset, y = tree->inset; Drawable pixmap; @@ -4668,7 +4643,7 @@ DrawHeaderRight( Drawable drawable /* Where to draw. */ ) { - Column *column = (Column *) tree->columnLockRight; + TreeColumn column = tree->columnLockRight; Tk_Window tkwin = tree->tkwin; int x = 0, y = tree->inset; Drawable pixmap; @@ -4715,7 +4690,7 @@ Tree_DrawHeader( int x, int y /* Top-left corner of the header. */ ) { - Column *column = (Column *) tree->columns; + TreeColumn column = tree->columns; Tk_Window tkwin = tree->tkwin; int minX, maxX, width, height; Drawable pixmap; @@ -4733,7 +4708,7 @@ Tree_DrawHeader( else pixmap = drawable; - column = (Column *) tree->columnLockNone; + column = tree->columnLockNone; while (column != NULL && column->lock == COLUMN_LOCK_NONE) { if (column->visible) { if ((x < maxX) && (x + column->useWidth > minX)) @@ -4745,7 +4720,7 @@ Tree_DrawHeader( /* Draw "tail" column */ if (x < maxX) { - column = (Column *) tree->columnTail; + column = tree->columnTail; width = maxX - x + column->borderWidth; height = tree->headerHeight; if (tree->useTheme && @@ -4788,7 +4763,7 @@ Tree_DrawHeader( if (TreeColumn_Bbox(tree->columnDrag.column, &x, &y, &w, &h) == 0) { int ix = 0, iy = 0, iw = w, ih = tree->headerHeight; - image = SetImageForColumn(tree, (Column *) tree->columnDrag.column); + image = SetImageForColumn(tree, tree->columnDrag.column); x += tree->columnDrag.offset; #if !defined(WIN32) && !defined(MAC_TCL) && !defined(MAC_OSX_TK) /* @@ -4841,10 +4816,9 @@ Tree_DrawHeader( int TreeColumn_WidthOfItems( - TreeColumn column_ /* Column token. */ + TreeColumn column /* Column token. */ ) { - Column *column = (Column *) column_; TreeCtrl *tree = column->tree; TreeItem item; TreeItemColumn itemColumn; @@ -4860,14 +4834,14 @@ TreeColumn_WidthOfItems( while (item != NULL) { #ifdef EXPENSIVE_SPAN_WIDTH /* NOT USED */ width = TreeItem_NeededWidthOfColumn(tree, item, column->index); - if (column == (Column *) tree->columnTree) + if (column == tree->columnTree) width += TreeItem_Indent(tree, item); column->widthOfItems = MAX(column->widthOfItems, width); #else itemColumn = TreeItem_FindColumn(tree, item, column->index); if (itemColumn != NULL) { width = TreeItemColumn_NeededWidth(tree, item, itemColumn); - if (column == (Column *) tree->columnTree) + if (column == tree->columnTree) width += TreeItem_Indent(tree, item); column->widthOfItems = MAX(column->widthOfItems, width); } @@ -4899,12 +4873,10 @@ TreeColumn_WidthOfItems( void Tree_InvalidateColumnWidth( TreeCtrl *tree, /* Widget info. */ - TreeColumn _column /* Column to modify. NULL means + TreeColumn column /* Column to modify. NULL means * modify every column. */ ) { - Column *column = (Column *) _column; - #ifdef COLUMN_SPANxxx /* It may be necessary to recalculate the width of other columns as * well when column-spanning is in effect. */ @@ -4912,7 +4884,7 @@ Tree_InvalidateColumnWidth( #endif if (column == NULL) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { column->widthOfItems = -1; column = column->next; @@ -4944,14 +4916,12 @@ Tree_InvalidateColumnWidth( void Tree_InvalidateColumnHeight( TreeCtrl *tree, /* Widget info. */ - TreeColumn _column /* Column to modify. NULL means + TreeColumn column /* Column to modify. NULL means * modify every column. */ ) { - Column *column = (Column *) _column; - if (column == NULL) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { column->neededHeight = -1; column = column->next; @@ -4985,11 +4955,11 @@ TreeColumn_TreeChanged( int flagT /* TREE_CONF_xxx flags. */ ) { - Column *column; + TreeColumn column; /* Column widths are invalidated elsewhere */ if (flagT & TREE_CONF_FONT) { - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if ((column->tkfont == NULL) && (column->textLen > 0)) { column->textWidth = Tk_TextWidth(tree->tkfont, column->text, @@ -5025,7 +4995,7 @@ Tree_HeaderHeight( TreeCtrl *tree /* Widget info. */ ) { - Column *column; + TreeColumn column; int height; if (!tree->showHeader) @@ -5035,10 +5005,10 @@ Tree_HeaderHeight( return tree->headerHeight; height = 0; - column = (Column *) tree->columns; + column = tree->columns; while (column != NULL) { if (column->visible) - height = MAX(height, TreeColumn_NeededHeight((TreeColumn) column)); + height = MAX(height, TreeColumn_NeededHeight(column)); column = column->next; } return tree->headerHeight = height; @@ -5067,7 +5037,7 @@ TreeColumn_Bbox( int *w, int *h /* Out: width and height. */ ) { - TreeCtrl *tree = ((Column *) column)->tree; + TreeCtrl *tree = column->tree; int left = 0 - tree->xOrigin; if (!tree->showHeader || !TreeColumn_Visible(column)) @@ -5213,14 +5183,14 @@ done: static int LayoutColumns( - Column *first, /* First column to update. All columns + TreeColumn first, /* First column to update. All columns * with the same -lock value are updated. */ - Column **visPtr, /* Out: first visible column. */ + TreeColumn *visPtr, /* Out: first visible column. */ int *countVisPtr /* Out: number of visible columns. */ ) { TreeCtrl *tree; - Column *column; + TreeColumn column; int width, visWidth, totalWidth = 0; int numExpand = 0, numSqueeze = 0; #ifdef UNIFORM_GROUP @@ -5263,11 +5233,11 @@ LayoutColumns( if (column->widthObj != NULL) width = column->width; else { - width = TreeColumn_WidthOfItems((TreeColumn) column); - width = MAX(width, TreeColumn_NeededWidth((TreeColumn) column)); - width = MAX(width, TreeColumn_MinWidth((TreeColumn) column)); - if (TreeColumn_MaxWidth((TreeColumn) column) != -1) - width = MIN(width, TreeColumn_MaxWidth((TreeColumn) column)); + width = TreeColumn_WidthOfItems(column); + width = MAX(width, TreeColumn_NeededWidth(column)); + width = MAX(width, TreeColumn_MinWidth(column)); + if (TreeColumn_MaxWidth(column) != -1) + width = MIN(width, TreeColumn_MaxWidth(column)); #ifdef UNIFORM_GROUP /* Track the maximum requested width of every column in this * column's uniform group considering -weight. */ @@ -5340,7 +5310,7 @@ LayoutColumns( if (column->visible && column->squeeze && (column->widthObj == NULL)) { - int min = MAX(0, TreeColumn_MinWidth((TreeColumn) column)); + int min = MAX(0, TreeColumn_MinWidth(column)); if (column->useWidth > min) { int sub = MIN(each, column->useWidth - min); column->useWidth -= sub; @@ -5369,7 +5339,7 @@ LayoutColumns( if (column->visible && column->expand && weight && (column->widthObj == NULL)) { - int max = TreeColumn_MaxWidth((TreeColumn) column); + int max = TreeColumn_MaxWidth(column); if ((max == -1) || (column->useWidth < max)) { int eachW = MIN(each * weight, spaceRemaining); int add = (max == -1) ? eachW : MIN(eachW, max - column->useWidth); @@ -5382,7 +5352,7 @@ LayoutColumns( if (column->visible && column->expand && (column->widthObj == NULL)) { - int max = TreeColumn_MaxWidth((TreeColumn) column); + int max = TreeColumn_MaxWidth(column); if ((max == -1) || (column->useWidth < max)) { int add = (max == -1) ? each : MIN(each, max - column->useWidth); column->useWidth += add; @@ -5450,12 +5420,12 @@ Tree_WidthOfColumns( return tree->widthOfColumns; tree->widthOfColumns = LayoutColumns( - (Column *) tree->columnLockNone, - (Column **) &tree->columnVis, + tree->columnLockNone, + &tree->columnVis, &tree->columnCountVis); if (tree->columnTree != NULL && TreeColumn_Visible(tree->columnTree)) { - tree->columnTreeLeft = ((Column *) tree->columnTree)->offset; + tree->columnTreeLeft = tree->columnTree->offset; tree->columnTreeVis = TRUE; } else { tree->columnTreeLeft = 0; @@ -5498,7 +5468,7 @@ Tree_WidthOfLeftColumns( } if (tree->widthOfColumnsLeft < 0) { tree->widthOfColumnsLeft = LayoutColumns( - (Column *) tree->columnLockLeft, + tree->columnLockLeft, NULL, &tree->columnCountVisLeft); } @@ -5538,7 +5508,7 @@ Tree_WidthOfRightColumns( } if (tree->widthOfColumnsRight < 0) { tree->widthOfColumnsRight = LayoutColumns( - (Column *) tree->columnLockRight, + tree->columnLockRight, NULL, &tree->columnCountVisRight); } @@ -5567,11 +5537,11 @@ Tree_InitColumns( TreeCtrl *tree /* Widget info. */ ) { - Column *column; + TreeColumn column; column = Column_Alloc(tree); column->id = -1; - tree->columnTail = (TreeColumn) column; + tree->columnTail = column; tree->nextColumnId = 0; tree->columnCount = 0; Column_Config(column, 0, NULL, TRUE); @@ -5605,13 +5575,13 @@ void Tree_FreeColumns( TreeCtrl *tree /* Widget info. */ ) { - Column *column = (Column *) tree->columns; + TreeColumn column = tree->columns; while (column != NULL) { column = Column_Free(column); } - Column_Free((Column *) tree->columnTail); + Column_Free(tree->columnTail); tree->columnCount = 0; #ifdef UNIFORM_GROUP diff --git a/generic/tkTreeDrag.c b/generic/tkTreeDrag.c index 70705ed..a18ab5b 100644 --- a/generic/tkTreeDrag.c +++ b/generic/tkTreeDrag.c @@ -5,13 +5,13 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeDrag.c,v 1.21 2006/11/07 20:54:02 treectrl Exp $ + * RCS: @(#) $Id: tkTreeDrag.c,v 1.22 2006/11/08 07:07:19 treectrl Exp $ */ #include "tkTreeCtrl.h" +typedef struct TreeDragImage_ TreeDragImage_; typedef struct DragElem DragElem; -typedef struct DragImage DragImage; /* * The following structure holds info about a single element of the drag @@ -27,7 +27,7 @@ struct DragElem * The following structure holds info about the drag image. There is one of * these per TreeCtrl. */ -struct DragImage +struct TreeDragImage_ { TreeCtrl *tree; Tk_OptionTable optionTable; @@ -43,7 +43,7 @@ struct DragImage static Tk_OptionSpec optionSpecs[] = { {TK_OPTION_BOOLEAN, "-visible", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(DragImage, visible), + "0", -1, Tk_Offset(TreeDragImage_, visible), 0, (ClientData) NULL, DRAG_CONF_VISIBLE}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, 0, 0} @@ -68,7 +68,7 @@ static Tk_OptionSpec optionSpecs[] = { static DragElem * DragElem_Alloc( - DragImage *dragImage /* Drag image record. */ + TreeDragImage dragImage /* Drag image record. */ ) { DragElem *elem = (DragElem *) ckalloc(sizeof(DragElem)); @@ -103,7 +103,7 @@ DragElem_Alloc( static DragElem * DragElem_Free( - DragImage *dragImage, /* Drag image record. */ + TreeDragImage dragImage, /* Drag image record. */ DragElem *elem /* Drag element to free. */ ) { @@ -134,16 +134,16 @@ TreeDragImage_Init( TreeCtrl *tree /* Widget info. */ ) { - DragImage *dragImage; + TreeDragImage dragImage; - dragImage = (DragImage *) ckalloc(sizeof(DragImage)); - memset(dragImage, '\0', sizeof(DragImage)); + dragImage = (TreeDragImage) ckalloc(sizeof(TreeDragImage_)); + memset(dragImage, '\0', sizeof(TreeDragImage_)); dragImage->tree = tree; dragImage->optionTable = Tk_CreateOptionTable(tree->interp, optionSpecs); if (Tk_InitOptions(tree->interp, (char *) dragImage, dragImage->optionTable, tree->tkwin) != TCL_OK) { - WFREE(dragImage, DragImage); + WFREE(dragImage, TreeDragImage_); return TCL_ERROR; } tree->dragImage = (TreeDragImage) dragImage; @@ -168,17 +168,16 @@ TreeDragImage_Init( void TreeDragImage_Free( - TreeDragImage dragImage_ /* Drag image token. */ + TreeDragImage dragImage /* Drag image token. */ ) { - DragImage *dragImage = (DragImage *) dragImage_; DragElem *elem = dragImage->elem; while (elem != NULL) elem = DragElem_Free(dragImage, elem); Tk_FreeConfigOptions((char *) dragImage, dragImage->optionTable, dragImage->tree->tkwin); - WFREE(dragImage, DragImage); + WFREE(dragImage, TreeDragImage_); } /* @@ -200,17 +199,16 @@ TreeDragImage_Free( void TreeDragImage_Display( - TreeDragImage dragImage_ /* Drag image token. */ + TreeDragImage dragImage /* Drag image token. */ ) { - DragImage *dragImage = (DragImage *) dragImage_; TreeCtrl *tree = dragImage->tree; if (!dragImage->onScreen && dragImage->visible) { dragImage->sx = 0 - tree->xOrigin; dragImage->sy = 0 - tree->yOrigin; - TreeDragImage_Draw(dragImage_, Tk_WindowId(tree->tkwin), dragImage->sx, dragImage->sy); + TreeDragImage_Draw(dragImage, Tk_WindowId(tree->tkwin), dragImage->sx, dragImage->sy); dragImage->onScreen = TRUE; } } @@ -233,15 +231,14 @@ TreeDragImage_Display( void TreeDragImage_Undisplay( - TreeDragImage dragImage_ /* Drag image token. */ + TreeDragImage dragImage /* Drag image token. */ ) { - DragImage *dragImage = (DragImage *) dragImage_; TreeCtrl *tree = dragImage->tree; if (dragImage->onScreen) { - TreeDragImage_Draw(dragImage_, Tk_WindowId(tree->tkwin), dragImage->sx, dragImage->sy); + TreeDragImage_Draw(dragImage, Tk_WindowId(tree->tkwin), dragImage->sx, dragImage->sy); dragImage->onScreen = FALSE; } } @@ -268,7 +265,7 @@ TreeDragImage_Undisplay( static int DragImage_Config( - DragImage *dragImage, /* Drag image record. */ + TreeDragImage dragImage, /* Drag image record. */ int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[] /* Argument values. */ ) @@ -334,9 +331,8 @@ DragImage_Config( *---------------------------------------------------------------------- */ -void TreeDragImage_Draw(TreeDragImage dragImage_, Drawable drawable, int x, int y) +void TreeDragImage_Draw(TreeDragImage dragImage, Drawable drawable, int x, int y) { - DragImage *dragImage = (DragImage *) dragImage_; TreeCtrl *tree = dragImage->tree; DragElem *elem = dragImage->elem; DotState dotState; @@ -387,7 +383,7 @@ DragImageCmd( ) { TreeCtrl *tree = (TreeCtrl *) clientData; - DragImage *dragImage = (DragImage *) tree->dragImage; + TreeDragImage dragImage = tree->dragImage; static CONST char *commandNames[] = { "add", "cget", "clear", "configure", "offset", (char *) NULL }; enum { COMMAND_ADD, COMMAND_CGET, COMMAND_CLEAR, COMMAND_CONFIGURE, diff --git a/generic/tkTreeItem.c b/generic/tkTreeItem.c index 79d6eda..27ba935 100644 --- a/generic/tkTreeItem.c +++ b/generic/tkTreeItem.c @@ -5,13 +5,13 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeItem.c,v 1.84 2006/11/08 04:45:20 treectrl Exp $ + * RCS: @(#) $Id: tkTreeItem.c,v 1.85 2006/11/08 07:07:19 treectrl Exp $ */ #include "tkTreeCtrl.h" +typedef struct TreeItem_ TreeItem_; typedef struct Column Column; -typedef struct Item Item; /* * A data structure of the following type is kept for a single column in a @@ -28,7 +28,7 @@ struct Column { /* * A data structure of the following type is kept for each item. */ -struct Item { +struct TreeItem_ { int id; /* unique id */ int depth; /* tree depth (-1 for the unique root item) */ int fixedHeight; /* -height: desired height of this item (0 for @@ -39,11 +39,11 @@ struct Item { int state; /* STATE_xxx flags */ int isVisible; /* -visible option */ int hasButton; /* -button option */ - Item *parent; - Item *firstChild; - Item *lastChild; - Item *prevSibling; - Item *nextSibling; + TreeItem parent; + TreeItem firstChild; + TreeItem lastChild; + TreeItem prevSibling; + TreeItem nextSibling; TreeItemDInfo dInfo; /* display info, or NULL */ TreeItemRInfo rInfo; /* range info, or NULL */ Column *columns; @@ -70,9 +70,9 @@ static CONST char *ItemUid = "Item", *ItemColumnUid = "ItemColumn"; */ #define IS_ROOT(i) ((i)->depth == -1) -#define IS_ALL(i) (((TreeItem) i) == ITEM_ALL) +#define IS_ALL(i) ((i) == ITEM_ALL) -#define IS_DELETED(i) ((((Item *) i)->flags & ITEM_FLAG_DELETED) != 0) +#define IS_DELETED(i) (((i)->flags & ITEM_FLAG_DELETED) != 0) /* * Flags returned by Tk_SetOptions() (see itemOptionSpecs below). @@ -86,16 +86,16 @@ static CONST char *ItemUid = "Item", *ItemColumnUid = "ItemColumn"; */ static Tk_OptionSpec itemOptionSpecs[] = { {TK_OPTION_BOOLEAN, "-button", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(Item, hasButton), + "0", -1, Tk_Offset(TreeItem_, hasButton), 0, (ClientData) NULL, ITEM_CONF_BUTTON}, {TK_OPTION_PIXELS, "-height", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Item, fixedHeight), + (char *) NULL, -1, Tk_Offset(TreeItem_, fixedHeight), TK_OPTION_NULL_OK, (ClientData) NULL, ITEM_CONF_SIZE}, {TK_OPTION_CUSTOM, "-tags", (char *) NULL, (char *) NULL, - (char *) NULL, -1, Tk_Offset(Item, tagInfo), + (char *) NULL, -1, Tk_Offset(TreeItem_, tagInfo), TK_OPTION_NULL_OK, (ClientData) &TagInfoCO, 0}, {TK_OPTION_BOOLEAN, "-visible", (char *) NULL, (char *) NULL, - "1", -1, Tk_Offset(Item, isVisible), + "1", -1, Tk_Offset(TreeItem_, isVisible), 0, (ClientData) NULL, ITEM_CONF_VISIBLE}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, 0, 0} @@ -177,11 +177,10 @@ TreeItemColumn_InvalidateSize( int TreeItemColumn_NeededWidth( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeItemColumn column_ /* Column token. */ ) { - Item *item = (Item *) item_; Column *self = (Column *) column_; if (self->style != NULL) @@ -208,11 +207,10 @@ TreeItemColumn_NeededWidth( int TreeItem_NeededWidthOfColumn( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int _columnIndex /* Column index. */ ) { - Item *item = (Item *) item_; TreeColumn treeColumn = tree->columns; Column *column = item->columns; int columnIndex = 0, itemColumnIndex = 0, span = 1; @@ -350,11 +348,10 @@ TreeItemColumn_GetStyle( int TreeItemColumn_Index( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeItemColumn column_ /* Column token. */ ) { - Item *item = (Item *) item_; Column *column; int i = 0; @@ -477,7 +474,7 @@ Column_FreeResources( static void Item_UpdateIndex(TreeCtrl *tree, - Item *item, /* Item to update. */ + TreeItem item, /* Item to update. */ int *index, /* New Item.index value for the item. * Value is incremented. */ int *indexVis /* New Item.indexVis value for the item if @@ -486,7 +483,7 @@ Item_UpdateIndex(TreeCtrl *tree, * ReallyVisible(). */ ) { - Item *child; + TreeItem child; int parentVis, parentOpen; /* Also track max depth */ @@ -543,7 +540,7 @@ Tree_UpdateItemIndex( TreeCtrl *tree /* Widget info. */ ) { - Item *item = (Item *) tree->root; + TreeItem item = tree->root; int index = 1, indexVis = 0; if (tree->debug.enable && tree->debug.data) @@ -581,17 +578,17 @@ Tree_UpdateItemIndex( *---------------------------------------------------------------------- */ -static Item * +static TreeItem Item_Alloc( TreeCtrl *tree /* Widget info. */ ) { #ifdef ALLOC_HAX - Item *item = (Item *) AllocHax_Alloc(tree->allocData, ItemUid, sizeof(Item)); + TreeItem item = (TreeItem) AllocHax_Alloc(tree->allocData, ItemUid, sizeof(TreeItem_)); #else - Item *item = (Item *) ckalloc(sizeof(Item)); + TreeItem item = (TreeItem) ckalloc(sizeof(TreeItem_)); #endif - memset(item, '\0', sizeof(Item)); + memset(item, '\0', sizeof(TreeItem_)); if (Tk_InitOptions(tree->interp, (char *) item, tree->itemOptionTable, tree->tkwin) != TCL_OK) panic("Tk_InitOptions() failed in Item_Alloc()"); @@ -603,7 +600,7 @@ Item_Alloc( item->indexVis = -1; /* In the typical case all spans are 1. */ item->flags |= ITEM_FLAG_SPANS_SIMPLE; - Tree_AddItem(tree, (TreeItem) item); + Tree_AddItem(tree, item); return item; } @@ -623,12 +620,12 @@ Item_Alloc( *---------------------------------------------------------------------- */ -static Item * +static TreeItem Item_AllocRoot( TreeCtrl *tree /* Widget info. */ ) { - Item *item; + TreeItem item; item = Item_Alloc(tree); item->depth = -1; @@ -658,7 +655,7 @@ TreeItem_GetFirstColumn( TreeItem item /* Item token. */ ) { - return (TreeItemColumn) ((Item *) item)->columns; + return (TreeItemColumn) item->columns; } /* @@ -680,10 +677,10 @@ TreeItem_GetFirstColumn( int TreeItem_GetState( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - return ((Item *) item_)->state; + return item->state; } /* @@ -707,7 +704,7 @@ TreeItem_GetState( static int Column_ChangeState( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item containing the column. */ + TreeItem item, /* Item containing the column. */ Column *column, /* Column to modify the state of. */ TreeColumn treeColumn, /* Tree column. */ int stateOff, /* STATE_xxx flags to turn off. */ @@ -738,12 +735,12 @@ Column_ChangeState( } if (iMask & CS_LAYOUT) { - TreeItem_InvalidateHeight(tree, (TreeItem) item); + TreeItem_InvalidateHeight(tree, item); TreeItemColumn_InvalidateSize(tree, (TreeItemColumn) column); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + Tree_FreeItemDInfo(tree, item, NULL); Tree_DInfoChanged(tree, DINFO_REDO_RANGES); } else if (iMask & CS_DISPLAY) { - Tree_InvalidateItemDInfo(tree, treeColumn, (TreeItem) item, NULL); + Tree_InvalidateItemDInfo(tree, treeColumn, item, NULL); } } @@ -773,12 +770,11 @@ Column_ChangeState( int TreeItem_ChangeState( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int stateOff, /* STATE_xxx flags to turn off. */ int stateOn /* STATE_xxx flags to turn on. */ ) { - Item *item = (Item *) item_; Column *column; TreeColumn treeColumn; int columnIndex = 0, state, cstate; @@ -805,7 +801,7 @@ TreeItem_ChangeState( Tree_InvalidateColumnWidth(tree, treeColumn); TreeItemColumn_InvalidateSize(tree, (TreeItemColumn) column); } else if (sMask & CS_DISPLAY) { - Tree_InvalidateItemDInfo(tree, treeColumn, item_, NULL); + Tree_InvalidateItemDInfo(tree, treeColumn, item, NULL); } iMask |= sMask; } @@ -887,13 +883,13 @@ TreeItem_ChangeState( } else if (ptr1 != ptr2) { iMask |= CS_DISPLAY; if (tree->columnTree != NULL) - Tree_InvalidateItemDInfo(tree, tree->columnTree, item_, NULL); + Tree_InvalidateItemDInfo(tree, tree->columnTree, item, NULL); } } if (iMask & CS_LAYOUT) { - TreeItem_InvalidateHeight(tree, item_); - Tree_FreeItemDInfo(tree, item_, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); Tree_DInfoChanged(tree, DINFO_REDO_RANGES); } @@ -923,11 +919,10 @@ TreeItem_ChangeState( void TreeItem_UndefineState( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int state /* STATE_xxx flag that is undefined. */ ) { - Item *item = (Item *) item_; Column *column = item->columns; while (column != NULL) { @@ -959,10 +954,9 @@ TreeItem_UndefineState( int TreeItem_GetButton( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return item->hasButton; } @@ -985,10 +979,9 @@ TreeItem_GetButton( int TreeItem_GetDepth( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; #if 0 if (tree->updateIndex) Tree_UpdateItemIndex(tree); @@ -1015,10 +1008,9 @@ TreeItem_GetDepth( int TreeItem_GetID( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return item->id; } @@ -1042,11 +1034,10 @@ TreeItem_GetID( int TreeItem_SetID( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int id /* Unique ID for the item. */ ) { - Item *item = (Item *) item_; return item->id = id; } @@ -1069,10 +1060,9 @@ TreeItem_SetID( int TreeItem_GetEnabled( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return (item->state & STATE_ENABLED) != 0; } @@ -1095,10 +1085,9 @@ TreeItem_GetEnabled( int TreeItem_GetSelected( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return (item->state & STATE_SELECTED) != 0; } @@ -1121,11 +1110,10 @@ TreeItem_GetSelected( TreeItem TreeItem_GetParent( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - return (TreeItem) item->parent; + return item->parent; } /* @@ -1147,11 +1135,10 @@ TreeItem_GetParent( TreeItem TreeItem_GetNextSibling( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - return (TreeItem) item->nextSibling; + return item->nextSibling; } /* @@ -1205,11 +1192,10 @@ TreeItem_NextSiblingVisible( void TreeItem_SetDInfo( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeItemDInfo dInfo /* Display-info token. */ ) { - Item *item = (Item *) item_; item->dInfo = dInfo; } @@ -1233,10 +1219,9 @@ TreeItem_SetDInfo( TreeItemDInfo TreeItem_GetDInfo( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return item->dInfo; } @@ -1260,11 +1245,10 @@ TreeItem_GetDInfo( void TreeItem_SetRInfo( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeItemRInfo rInfo /* Range-info token */ ) { - Item *item = (Item *) item_; item->rInfo = rInfo; } @@ -1288,10 +1272,9 @@ TreeItem_SetRInfo( TreeItemRInfo TreeItem_GetRInfo( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; return item->rInfo; } @@ -1318,21 +1301,19 @@ TreeItem_GetRInfo( TreeItem TreeItem_Next( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - if (item->firstChild != NULL) - return (TreeItem) item->firstChild; + return item->firstChild; if (item->nextSibling != NULL) - return (TreeItem) item->nextSibling; + return item->nextSibling; while (1) { item = item->parent; if (item == NULL) break; if (item->nextSibling != NULL) - return (TreeItem) item->nextSibling; + return item->nextSibling; } return NULL; } @@ -1394,11 +1375,10 @@ TreeItem_NextVisible( TreeItem TreeItem_Prev( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - Item *walk; + TreeItem walk; if (item->parent == NULL) /* root */ return NULL; @@ -1408,7 +1388,7 @@ TreeItem_Prev( while (walk->lastChild != NULL) walk = walk->lastChild; } - return (TreeItem) walk; + return walk; } /* @@ -1464,13 +1444,11 @@ TreeItem_PrevVisible( void TreeItem_ToIndex( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int *index, /* Returned Item.index, may be NULL */ int *indexVis /* Returned Item.indexVis, may be NULL */ ) { - Item *item = (Item *) item_; - if (tree->updateIndex) Tree_UpdateItemIndex(tree); if (index != NULL) (*index) = item->index; @@ -1632,7 +1610,7 @@ errorExit: static int Qualifies( Qualifiers *q, /* Qualifiers to check. */ - Item *item /* The item to test. May be NULL. */ + TreeItem item /* The item to test. May be NULL. */ ) { TreeCtrl *tree = q->tree; @@ -1641,7 +1619,7 @@ Qualifies( * out of items to check. */ if (item == NULL) return 1; - if ((q->visible == 1) && !TreeItem_ReallyVisible(tree, (TreeItem) item)) + if ((q->visible == 1) && !TreeItem_ReallyVisible(tree, item)) return 0; else if ((q->visible == 0) && TreeItem_ReallyVisible(tree, (TreeItem) item)) return 0; @@ -1767,7 +1745,7 @@ TreeItemList_FromObj( Tcl_HashEntry *hPtr; Tcl_HashSearch search; Tcl_Obj **objv, *elemPtr; - Item *item = NULL; + TreeItem item = NULL; Qualifiers q; int qualArgsTotal; @@ -1841,7 +1819,7 @@ TreeItemList_FromObj( switch ((enum indexEnum) index) { case INDEX_ACTIVE: { - item = (Item *) tree->activeItem; + item = tree->activeItem; break; } case INDEX_ALL: @@ -1849,7 +1827,7 @@ TreeItemList_FromObj( if (qualArgsTotal) { hPtr = Tcl_FirstHashEntry(&tree->itemHash, &search); while (hPtr != NULL) { - item = (Item *) Tcl_GetHashValue(hPtr); + item = (TreeItem) Tcl_GetHashValue(hPtr); if (Qualifies(&q, item)) { TreeItemList_Append(items, (TreeItem) item); } @@ -1859,37 +1837,37 @@ TreeItemList_FromObj( } else if (flags & IFO_LIST_ALL) { hPtr = Tcl_FirstHashEntry(&tree->itemHash, &search); while (hPtr != NULL) { - item = (Item *) Tcl_GetHashValue(hPtr); - TreeItemList_Append(items, (TreeItem) item); + item = (TreeItem) Tcl_GetHashValue(hPtr); + TreeItemList_Append(items, item); hPtr = Tcl_NextHashEntry(&search); } item = NULL; } else { - item = (Item *) ITEM_ALL; + item = ITEM_ALL; } break; } case INDEX_ANCHOR: { - item = (Item *) tree->anchorItem; + item = tree->anchorItem; break; } case INDEX_FIRST: { - item = (Item *) tree->root; + item = tree->root; while (!Qualifies(&q, item)) - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); break; } case INDEX_END: case INDEX_LAST: { - item = (Item *) tree->root; + item = tree->root; while (item->lastChild) { item = item->lastChild; } while (!Qualifies(&q, item)) - item = (Item *) TreeItem_Prev(tree, (TreeItem) item); + item = TreeItem_Prev(tree, item); break; } case INDEX_LIST: @@ -1920,7 +1898,7 @@ TreeItemList_FromObj( } if (i < count) { TreeItemList_Free(items); - item = (Item *) ITEM_ALL; + item = ITEM_ALL; } else item = NULL; break; @@ -1937,7 +1915,7 @@ TreeItemList_FromObj( objv[listIndex + 2], &y) != TCL_OK) { goto errorExit; } - item = (Item *) Tree_ItemUnderPoint(tree, &x, &y, TRUE); + item = Tree_ItemUnderPoint(tree, &x, &y, TRUE); break; } case INDEX_RANGE: @@ -1953,7 +1931,7 @@ TreeItemList_FromObj( if (TreeItem_FirstAndLast(tree, &itemFirst, &itemLast) == 0) goto errorExit; while (1) { - if (Qualifies(&q, (Item *) itemFirst)) { + if (Qualifies(&q, itemFirst)) { TreeItemList_Append(items, itemFirst); } if (itemFirst == itemLast) @@ -1971,12 +1949,12 @@ TreeItemList_FromObj( goto errorExit; if (Tcl_GetIntFromObj(interp, objv[listIndex + 2], &col) != TCL_OK) goto errorExit; - item = (Item *) Tree_RNCToItem(tree, row, col); + item = Tree_RNCToItem(tree, row, col); break; } case INDEX_ROOT: { - item = (Item *) tree->root; + item = tree->root; break; } } @@ -2005,7 +1983,7 @@ TreeItemList_FromObj( if (gotId) { hPtr = Tcl_FindHashEntry(&tree->itemHash, (char *) id); if (hPtr != NULL) { - item = (Item *) Tcl_GetHashValue(hPtr); + item = (TreeItem) Tcl_GetHashValue(hPtr); } else { item = NULL; } @@ -2022,9 +2000,9 @@ TreeItemList_FromObj( if (qualArgsTotal) { hPtr = Tcl_FirstHashEntry(&tree->itemHash, &search); while (hPtr != NULL) { - item = (Item *) Tcl_GetHashValue(hPtr); + item = (TreeItem) Tcl_GetHashValue(hPtr); if (Qualifies(&q, item)) { - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } hPtr = Tcl_NextHashEntry(&search); } @@ -2044,9 +2022,9 @@ TreeItemList_FromObj( goto errorExit; hPtr = Tcl_FirstHashEntry(&tree->itemHash, &search); while (hPtr != NULL) { - item = (Item *) Tcl_GetHashValue(hPtr); + item = (TreeItem) Tcl_GetHashValue(hPtr); if (TagExpr_Eval(&expr, item->tagInfo) && Qualifies(&q, item)) { - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } hPtr = Tcl_NextHashEntry(&search); } @@ -2058,13 +2036,13 @@ TreeItemList_FromObj( gotFirstPart: /* If 1 item, use it and clear the list. */ if (TreeItemList_Count(items) == 1) { - item = (Item *) TreeItemList_Nth(items, 0); + item = TreeItemList_Nth(items, 0); items->count = 0; } /* If "all" but only root exists, use it. */ if (IS_ALL(item) && (tree->itemCount == 1) && !(flags & IFO_NOT_ROOT)) { - item = (Item *) tree->root; + item = tree->root; } /* If > 1 item, no modifiers may follow. */ @@ -2117,7 +2095,7 @@ gotFirstPart: switch ((enum modEnum) index) { case TMOD_ABOVE: { - item = (Item *) Tree_ItemAbove(tree, (TreeItem) item); + item = Tree_ItemAbove(tree, item); break; } case TMOD_ANCESTORS: @@ -2125,7 +2103,7 @@ gotFirstPart: item = item->parent; while (item != NULL) { if (Qualifies(&q, item)) { - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } item = item->parent; } @@ -2134,12 +2112,12 @@ gotFirstPart: } case TMOD_BELOW: { - item = (Item *) Tree_ItemBelow(tree, (TreeItem) item); + item = Tree_ItemBelow(tree, item); break; } case TMOD_BOTTOM: { - item = (Item *) Tree_ItemBottom(tree, (TreeItem) item); + item = Tree_ItemBottom(tree, item); break; } case TMOD_CHILD: @@ -2164,7 +2142,7 @@ gotFirstPart: item = item->firstChild; while (item != NULL) { if (Qualifies(&q, item)) { - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } item = item->nextSibling; } @@ -2173,18 +2151,18 @@ gotFirstPart: } case TMOD_DESCENDANTS: { - Item *last = item; + TreeItem last = item; while (last->lastChild != NULL) last = last->lastChild; item = item->firstChild; while (item != NULL) { if (Qualifies(&q, item)) { - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } if (item == last) break; - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); } item = NULL; break; @@ -2205,19 +2183,19 @@ gotFirstPart: } case TMOD_LEFT: { - item = (Item *) Tree_ItemLeft(tree, (TreeItem) item); + item = Tree_ItemLeft(tree, item); break; } case TMOD_LEFTMOST: { - item = (Item *) Tree_ItemLeftMost(tree, (TreeItem) item); + item = Tree_ItemLeftMost(tree, item); break; } case TMOD_NEXT: { - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); while (!Qualifies(&q, item)) - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); break; } case TMOD_NEXTSIBLING: @@ -2234,9 +2212,9 @@ gotFirstPart: } case TMOD_PREV: { - item = (Item *) TreeItem_Prev(tree, (TreeItem) item); + item = TreeItem_Prev(tree, item); while (!Qualifies(&q, item)) - item = (Item *) TreeItem_Prev(tree, (TreeItem) item); + item = TreeItem_Prev(tree, item); break; } case TMOD_PREVSIBLING: @@ -2248,12 +2226,12 @@ gotFirstPart: } case TMOD_RIGHT: { - item = (Item *) Tree_ItemRight(tree, (TreeItem) item); + item = Tree_ItemRight(tree, item); break; } case TMOD_RIGHTMOST: { - item = (Item *) Tree_ItemRightMost(tree, (TreeItem) item); + item = Tree_ItemRightMost(tree, item); break; } case TMOD_SIBLING: @@ -2277,7 +2255,7 @@ gotFirstPart: } case TMOD_TOP: { - item = (Item *) Tree_ItemTop(tree, (TreeItem) item); + item = Tree_ItemTop(tree, item); break; } } @@ -2312,7 +2290,7 @@ gotFirstPart: if (flags & (IFO_NOT_ROOT | IFO_NOT_ORPHAN)) { int i; for (i = 0; i < TreeItemList_Count(items); i++) { - item = (Item *) TreeItemList_Nth(items, i); + item = TreeItemList_Nth(items, i); if (IS_ROOT(item) && (flags & IFO_NOT_ROOT)) goto notRoot; if ((item->parent == NULL) && (flags & IFO_NOT_ORPHAN)) @@ -2333,7 +2311,7 @@ notOrphan: Tcl_GetString(objPtr)); goto errorExit; } - TreeItemList_Append(items, (TreeItem) item); + TreeItemList_Append(items, item); } goodExit: Qualifiers_Free(&q); @@ -2509,25 +2487,25 @@ ItemForEach_Next( static void Item_ToggleOpen( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item record. */ + TreeItem item, /* Item record. */ int stateOff, /* STATE_OPEN or 0 */ int stateOn /* STATE_OPEN or 0 */ ) { int mask; - mask = TreeItem_ChangeState(tree, (TreeItem) item, stateOff, stateOn); + mask = TreeItem_ChangeState(tree, item, stateOff, stateOn); if (IS_ROOT(item) && !tree->showRoot) return; #if 0 /* Don't affect display if we weren't visible */ - if (!TreeItem_ReallyVisible(tree, (TreeItem) item)) + if (!TreeItem_ReallyVisible(tree, item)) return; /* Invalidate display info for this item, so it is redrawn later. */ - Tree_InvalidateItemDInfo(tree, (TreeItem) item, NULL); + Tree_InvalidateItemDInfo(tree, item, NULL); #endif if (item->numChildren > 0) { @@ -2564,18 +2542,17 @@ Item_ToggleOpen( void TreeItem_OpenClose( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int mode /* -1: toggle * 0: close * 1: open */ ) { - Item *item = (Item *) item_; int stateOff = 0, stateOn = 0; /* When processing a list of items, any or event * may result in items being deleted. */ - if (IS_DELETED(item_)) return; + if (IS_DELETED(item)) return; if (mode == -1) { if (item->state & STATE_OPEN) @@ -2588,10 +2565,10 @@ TreeItem_OpenClose( stateOn = STATE_OPEN; if (stateOff != stateOn) { - TreeNotify_OpenClose(tree, item_, stateOn, TRUE); - if (IS_DELETED(item_)) return; + TreeNotify_OpenClose(tree, item, stateOn, TRUE); + if (IS_DELETED(item)) return; Item_ToggleOpen(tree, item, stateOff, stateOn); - TreeNotify_OpenClose(tree, item_, stateOn, FALSE); + TreeNotify_OpenClose(tree, item, stateOn, FALSE); } } @@ -2617,26 +2594,24 @@ TreeItem_OpenClose( void TreeItem_Delete( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - - if (TreeItem_ReallyVisible(tree, item_)) + if (TreeItem_ReallyVisible(tree, item)) Tree_InvalidateColumnWidth(tree, NULL); - while (self->numChildren > 0) - TreeItem_Delete(tree, (TreeItem) self->firstChild); + while (item->numChildren > 0) + TreeItem_Delete(tree, item->firstChild); - TreeItem_RemoveFromParent(tree, item_); - TreeDisplay_ItemDeleted(tree, item_); - Tree_RemoveItem(tree, item_); - TreeItem_FreeResources(tree, item_); - if (tree->activeItem == item_) { + TreeItem_RemoveFromParent(tree, item); + TreeDisplay_ItemDeleted(tree, item); + Tree_RemoveItem(tree, item); + TreeItem_FreeResources(tree, item); + if (tree->activeItem == item) { tree->activeItem = tree->root; TreeItem_ChangeState(tree, tree->activeItem, 0, STATE_ACTIVE); } - if (tree->anchorItem == item_) + if (tree->anchorItem == item) tree->anchorItem = tree->root; if (tree->debug.enable && tree->debug.data) Tree_Debug(tree); @@ -2661,10 +2636,10 @@ TreeItem_Delete( int TreeItem_Deleted( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - return IS_DELETED(item_); + return IS_DELETED(item); } /* @@ -2736,24 +2711,23 @@ TreeItem_FirstAndLast( void TreeItem_ListDescendants( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeItemList *items /* List of items to append descendants to. */ ) { - Item *item = (Item *) item_; - Item *last; + TreeItem last; if (item->firstChild == NULL) return; last = item; while (last->lastChild != NULL) last = last->lastChild; - item_ = (TreeItem) item->firstChild; + item = item->firstChild; while (1) { - TreeItemList_Append(items, item_); - if (item_ == (TreeItem) last) + TreeItemList_Append(items, item); + if (item == last) break; - item_ = TreeItem_Next(tree, item_); + item = TreeItem_Next(tree, item); } } @@ -2778,21 +2752,20 @@ TreeItem_ListDescendants( void TreeItem_UpdateDepth( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - Item *child; + TreeItem child; - if (IS_ROOT(self)) + if (IS_ROOT(item)) return; - if (self->parent != NULL) - self->depth = self->parent->depth + 1; + if (item->parent != NULL) + item->depth = item->parent->depth + 1; else - self->depth = 0; - child = self->firstChild; + item->depth = 0; + child = item->firstChild; while (child != NULL) { - TreeItem_UpdateDepth(tree, (TreeItem) child); + TreeItem_UpdateDepth(tree, child); child = child->nextSibling; } } @@ -2816,23 +2789,22 @@ TreeItem_UpdateDepth( void TreeItem_AddToParent( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - Item *last; + TreeItem last; /* If this is the new last child, redraw the lines of the previous * sibling and all of its descendants so the line from the previous * sibling reaches this item */ - if ((self->prevSibling != NULL) && - (self->nextSibling == NULL) && + if ((item->prevSibling != NULL) && + (item->nextSibling == NULL) && tree->showLines && (tree->columnTree != NULL)) { - last = self->prevSibling; + last = item->prevSibling; while (last->lastChild != NULL) last = last->lastChild; Tree_InvalidateItemDInfo(tree, tree->columnTree, - (TreeItem) self->prevSibling, (TreeItem) last); + item->prevSibling, last); } tree->updateIndex = 1; @@ -2841,7 +2813,7 @@ TreeItem_AddToParent( /* Tree_UpdateItemIndex() also recalcs depth, but in one of my demos * I retrieve item depth during list creation. Since Tree_UpdateItemIndex() * is slow I will keep depth up-to-date here. */ - TreeItem_UpdateDepth(tree, item_); + TreeItem_UpdateDepth(tree, item); Tree_InvalidateColumnWidth(tree, NULL); @@ -2868,25 +2840,25 @@ TreeItem_AddToParent( static void RemoveFromParentAux( TreeCtrl *tree, /* Widget info. */ - Item *self, /* Item being removed. */ + TreeItem item, /* Item being removed. */ int *index /* New value of Item.index. Is incremented. */ ) { - Item *child; + TreeItem child; /* Invalidate display info. Don't free it because we may just be * moving the item to a new parent. FIXME: if it is being moved, * it might not actually need to be redrawn (just copied) */ - if (self->dInfo != NULL) - Tree_InvalidateItemDInfo(tree, NULL, (TreeItem) self, NULL); + if (item->dInfo != NULL) + Tree_InvalidateItemDInfo(tree, NULL, item, NULL); - if (self->parent != NULL) - self->depth = self->parent->depth + 1; + if (item->parent != NULL) + item->depth = item->parent->depth + 1; else - self->depth = 0; - self->index = (*index)++; - self->indexVis = -1; - child = self->firstChild; + item->depth = 0; + item->index = (*index)++; + item->indexVis = -1; + child = item->firstChild; while (child != NULL) { RemoveFromParentAux(tree, child, index); child = child->nextSibling; @@ -2912,12 +2884,11 @@ RemoveFromParentAux( void TreeItem_RemoveFromParent( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - Item *parent = self->parent; - Item *last; + TreeItem parent = item->parent; + TreeItem last; int index = 0; if (parent == NULL) @@ -2926,14 +2897,14 @@ TreeItem_RemoveFromParent( /* If this is the last child, redraw the lines of the previous * sibling and all of its descendants because the line from * the previous sibling to us is now gone */ - if ((self->prevSibling != NULL) && - (self->nextSibling == NULL) && + if ((item->prevSibling != NULL) && + (item->nextSibling == NULL) && tree->showLines && (tree->columnTree != NULL)) { - last = self->prevSibling; + last = item->prevSibling; while (last->lastChild != NULL) last = last->lastChild; Tree_InvalidateItemDInfo(tree, tree->columnTree, - (TreeItem) self->prevSibling, (TreeItem) last); + item->prevSibling, last); } /* @@ -2943,19 +2914,19 @@ TreeItem_RemoveFromParent( tree->updateIndex = 1; Tree_DInfoChanged(tree, DINFO_REDO_RANGES); - if (self->prevSibling) - self->prevSibling->nextSibling = self->nextSibling; - if (self->nextSibling) - self->nextSibling->prevSibling = self->prevSibling; - if (parent->firstChild == self) { - parent->firstChild = self->nextSibling; + if (item->prevSibling) + item->prevSibling->nextSibling = item->nextSibling; + if (item->nextSibling) + item->nextSibling->prevSibling = item->prevSibling; + if (parent->firstChild == item) { + parent->firstChild = item->nextSibling; if (!parent->firstChild) parent->lastChild = NULL; } - if (parent->lastChild == self) - parent->lastChild = self->prevSibling; - self->prevSibling = self->nextSibling = NULL; - self->parent = NULL; + if (parent->lastChild == item) + parent->lastChild = item->prevSibling; + item->prevSibling = item->nextSibling = NULL; + item->parent = NULL; parent->numChildren--; /* @@ -2963,7 +2934,7 @@ TreeItem_RemoveFromParent( * descendants. An up-to-date Item.index is needed for some operations that * use a range of items, such as [item delete]. */ - RemoveFromParentAux(tree, self, &index); + RemoveFromParentAux(tree, item, &index); } /* @@ -2985,15 +2956,14 @@ TreeItem_RemoveFromParent( void TreeItem_RemoveColumns( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int first, /* 0-based column index at start of * the range. Must be <= last */ int last /* 0-based column index at end of * the range. Must be >= first */ ) { - Item *self = (Item *) item_; - Column *column = self->columns; + Column *column = item->columns; Column *prev = NULL, *next = NULL; int i = 0; @@ -3011,7 +2981,7 @@ TreeItem_RemoveColumns( if (prev != NULL) prev->next = next; else - self->columns = next; + item->columns = next; } /* @@ -3032,18 +3002,17 @@ TreeItem_RemoveColumns( void TreeItem_RemoveAllColumns( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - Column *column = self->columns; + Column *column = item->columns; while (column != NULL) { Column *next = column->next; Column_FreeResources(tree, column); column = next; } - self->columns = NULL; + item->columns = NULL; } /* @@ -3067,7 +3036,7 @@ void TreeItem_RemoveAllColumns( static Column * Item_CreateColumn( TreeCtrl *tree, /* Widget info. */ - Item *self, /* Item to contain the column. */ + TreeItem item, /* Item to contain the column. */ int columnIndex, /* 0-based index of new column. */ int *isNew /* May be NULL. Set to TRUE if the * column record was created. */ @@ -3077,10 +3046,10 @@ Item_CreateColumn( int i; if (isNew != NULL) (*isNew) = FALSE; - column = self->columns; + column = item->columns; if (column == NULL) { column = Column_Alloc(tree); - self->columns = column; + item->columns = column; if (isNew != NULL) (*isNew) = TRUE; } for (i = 0; i < columnIndex; i++) { @@ -3123,14 +3092,13 @@ TreeItem_MoveColumn( * the first column to the left of. */ ) { - Item *self = (Item *) item; Column *before = NULL, *move = NULL; Column *prevM = NULL, *prevB = NULL; Column *last = NULL, *prev, *walk; int index = 0; prev = NULL; - walk = self->columns; + walk = item->columns; while (walk != NULL) { if (index == columnIndex) { prevM = prev; @@ -3153,11 +3121,11 @@ TreeItem_MoveColumn( move = Column_Alloc(tree); else { if (before == NULL) { - prevB = Item_CreateColumn(tree, self, beforeIndex - 1, NULL); + prevB = Item_CreateColumn(tree, item, beforeIndex - 1, NULL); last = prevB; } if (prevM == NULL) - self->columns = move->next; + item->columns = move->next; else prevM->next = move->next; } @@ -3166,7 +3134,7 @@ TreeItem_MoveColumn( move->next = NULL; } else { if (prevB == NULL) - self->columns = move; + item->columns = move; else prevB->next = move; move->next = before; @@ -3192,25 +3160,24 @@ TreeItem_MoveColumn( void TreeItem_FreeResources( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; Column *column; - column = self->columns; + column = item->columns; while (column != NULL) column = Column_FreeResources(tree, column); - if (self->dInfo != NULL) - Tree_FreeItemDInfo(tree, item_, NULL); - if (self->rInfo != NULL) - Tree_FreeItemRInfo(tree, item_); - if (self->spans != NULL) - ckfree((char *) self->spans); - Tk_FreeConfigOptions((char *) self, tree->itemOptionTable, tree->tkwin); + if (item->dInfo != NULL) + Tree_FreeItemDInfo(tree, item, NULL); + if (item->rInfo != NULL) + Tree_FreeItemRInfo(tree, item); + if (item->spans != NULL) + ckfree((char *) item->spans); + Tk_FreeConfigOptions((char *) item, tree->itemOptionTable, tree->tkwin); /* Add the item record to the "preserved" list. It will be freed later. */ - TreeItemList_Append(&tree->preserveItemList, item_); + TreeItemList_Append(&tree->preserveItemList, item); } /* @@ -3232,13 +3199,13 @@ TreeItem_FreeResources( void TreeItem_Release( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { #ifdef ALLOC_HAX - AllocHax_Free(tree->allocData, ItemUid, (char *) item_, sizeof(Item)); + AllocHax_Free(tree->allocData, ItemUid, (char *) item, sizeof(TreeItem_)); #else - WFREE(item_, Item); + WFREE(item, TreeItem_); #endif } @@ -3261,7 +3228,7 @@ TreeItem_Release( static int Item_HeightOfStyles( TreeCtrl *tree, /* Widget info. */ - Item *item /* Item record. */ + TreeItem item /* Item record. */ ) { Column *column = item->columns; @@ -3276,7 +3243,7 @@ Item_HeightOfStyles( drawArgs.state = item->state | column->cstate; drawArgs.style = column->style; drawArgs.indent = (treeColumn == tree->columnTree) ? - TreeItem_Indent(tree, (TreeItem) item) : 0; + TreeItem_Indent(tree, item) : 0; if ((TreeColumn_FixedWidth(treeColumn) != -1) || TreeColumn_Squeeze(treeColumn)) { drawArgs.width = TreeColumn_UseWidth(treeColumn); @@ -3317,27 +3284,26 @@ Item_HeightOfStyles( int TreeItem_Height( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; int buttonHeight = 0; int useHeight; - if (!self->isVisible || (IS_ROOT(self) && !tree->showRoot)) + if (!item->isVisible || (IS_ROOT(item) && !tree->showRoot)) return 0; /* Get requested height of the style in each column */ - useHeight = Item_HeightOfStyles(tree, self); + useHeight = Item_HeightOfStyles(tree, item); /* Can't have less height than our button */ - if (tree->showButtons && self->hasButton && (!IS_ROOT(self) || tree->showRootButton)) { - buttonHeight = ButtonHeight(tree, self->state); + if (tree->showButtons && item->hasButton && (!IS_ROOT(item) || tree->showRootButton)) { + buttonHeight = ButtonHeight(tree, item->state); } /* User specified a fixed height for this item */ - if (self->fixedHeight > 0) - return MAX(self->fixedHeight, buttonHeight); + if (item->fixedHeight > 0) + return MAX(item->fixedHeight, buttonHeight); /* Fixed height of all items */ if (tree->itemHeight > 0) @@ -3371,7 +3337,7 @@ int TreeItem_Height( void TreeItem_InvalidateHeight( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { } @@ -3395,14 +3361,14 @@ TreeItem_InvalidateHeight( static Column * Item_FindColumn( TreeCtrl *tree, /* Widget info. */ - Item *self, /* Item record. */ + TreeItem item, /* Item record. */ int columnIndex /* 0-based index of column to find. */ ) { Column *column; int i = 0; - column = self->columns; + column = item->columns; if (!column) return NULL; while (column != NULL && i < columnIndex) { @@ -3431,7 +3397,7 @@ Item_FindColumn( static int Item_FindColumnFromObj( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item record. */ + TreeItem item, /* Item record. */ Tcl_Obj *obj, /* Column description. */ Column **columnPtr, /* Returned column, or NULL. */ int *indexPtr /* May be NULL. Returned 0-based index of @@ -3473,7 +3439,7 @@ TreeItem_FindColumn( int columnIndex /* 0-based index of column to find. */ ) { - return (TreeItemColumn) Item_FindColumn(tree, (Item *) item, columnIndex); + return (TreeItemColumn) Item_FindColumn(tree, item, columnIndex); } /* @@ -3502,7 +3468,7 @@ TreeItem_ColumnFromObj( * the column. */ ) { - return Item_FindColumnFromObj(tree, (Item *) item, obj, (Column **) columnPtr, indexPtr); + return Item_FindColumnFromObj(tree, item, obj, (Column **) columnPtr, indexPtr); } #if 0 @@ -3526,7 +3492,7 @@ TreeItem_ColumnFromObj( static int Item_CreateColumnFromObj( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item record. */ + TreeItem item, /* Item record. */ Tcl_Obj *obj, /* Column description. */ Column **column, /* Returned column. */ int *indexPtr, /* May be NULL. Returned 0-based index of @@ -3567,19 +3533,18 @@ Item_CreateColumnFromObj( int TreeItem_Indent( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; int indent; - if (IS_ROOT(self)) + if (IS_ROOT(item)) return (tree->showRoot && tree->showButtons && tree->showRootButton) ? tree->useIndent : 0; if (tree->updateIndex) Tree_UpdateItemIndex(tree); - indent = tree->useIndent * self->depth; + indent = tree->useIndent * item->depth; if (tree->showRoot || tree->showButtons || tree->showLines) indent += tree->useIndent; if (tree->showRoot && tree->showButtons && tree->showRootButton) @@ -3610,7 +3575,7 @@ static void ItemDrawBackground( TreeCtrl *tree, /* Widget info. */ TreeColumn treeColumn, /* Tree-column token. */ - Item *item, /* Item record. */ + TreeItem item, /* Item record. */ Column *column, /* First column. */ Drawable drawable, /* Where to draw. */ int x, int y, /* Area of the item to draw. */ @@ -3656,10 +3621,9 @@ ItemDrawBackground( void TreeItem_SpansInvalidate( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. NULL for all items. */ + TreeItem item /* Item token. NULL for all items. */ ) { - Item *item = (Item *) item_; Tcl_HashEntry *hPtr; Tcl_HashSearch search; int count = 0; @@ -3667,7 +3631,7 @@ TreeItem_SpansInvalidate( if (item == NULL) { hPtr = Tcl_FirstHashEntry(&tree->itemSpansHash, &search); while (hPtr != NULL) { - item = (Item *) Tcl_GetHashKey(&tree->itemSpansHash, hPtr); + item = (TreeItem) Tcl_GetHashKey(&tree->itemSpansHash, hPtr); item->flags &= ~ITEM_FLAG_SPANS_VALID; count++; hPtr = Tcl_NextHashEntry(&search); @@ -3710,25 +3674,24 @@ TreeItem_SpansInvalidate( int TreeItem_SpansRedo( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; TreeColumn treeColumn = tree->columns; - Column *itemColumn = self->columns; + Column *itemColumn = item->columns; int columnIndex = 0, spanner = 0, span = 1, simple = TRUE; int lock = TreeColumn_Lock(treeColumn); if (tree->debug.enable && tree->debug.display) - dbwin("TreeItem_SpansRedo item %d\n", self->id); + dbwin("TreeItem_SpansRedo item %d\n", item->id); - if (self->spans == NULL) { - self->spans = (int *) ckalloc(sizeof(int) * tree->columnCount); - self->spanAlloc = tree->columnCount; - } else if (self->spanAlloc < tree->columnCount) { - self->spans = (int *) ckrealloc((char *) self->spans, + if (item->spans == NULL) { + item->spans = (int *) ckalloc(sizeof(int) * tree->columnCount); + item->spanAlloc = tree->columnCount; + } else if (item->spanAlloc < tree->columnCount) { + item->spans = (int *) ckrealloc((char *) item->spans, sizeof(int) * tree->columnCount); - self->spanAlloc = tree->columnCount; + item->spanAlloc = tree->columnCount; } while (treeColumn != NULL) { @@ -3746,7 +3709,7 @@ TreeItem_SpansRedo( simple = FALSE; spanner = columnIndex; } - self->spans[columnIndex] = spanner; + item->spans[columnIndex] = spanner; columnIndex++; treeColumn = TreeColumn_Next(treeColumn); if (itemColumn != NULL) @@ -3778,11 +3741,9 @@ TreeItem_SpansRedo( void TreeItem_SpansRedoIfNeeded( TreeCtrl *tree, - TreeItem item_ + TreeItem item ) { - Item *item = (Item *) item_; - /* All the spans are 1. */ if (item->flags & ITEM_FLAG_SPANS_SIMPLE) return; @@ -3791,7 +3752,7 @@ TreeItem_SpansRedoIfNeeded( if (item->flags & ITEM_FLAG_SPANS_VALID) return; - if (TreeItem_SpansRedo(tree, item_)) { + if (TreeItem_SpansRedo(tree, item)) { /* Reverted to all spans=1. */ item->flags |= ITEM_FLAG_SPANS_SIMPLE; } else { @@ -3824,15 +3785,13 @@ TreeItem_SpansRedoIfNeeded( int * TreeItem_GetSpans( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; - - TreeItem_SpansRedoIfNeeded(tree, item_); - if (self->flags & ITEM_FLAG_SPANS_SIMPLE) + TreeItem_SpansRedoIfNeeded(tree, item); + if (item->flags & ITEM_FLAG_SPANS_SIMPLE) return NULL; - return self->spans; + return item->spans; } /* @@ -3865,15 +3824,14 @@ typedef struct SpanInfo { static int Item_GetSpans( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeColumn firstColumn, /* Which columns. */ SpanInfo spans[] /* Returned span records. */ ) { - Item *self = (Item *) item_; TreeColumn treeColumn = firstColumn; int columnIndex = TreeColumn_Index(firstColumn); - Column *column = Item_FindColumn(tree, self, columnIndex); + Column *column = Item_FindColumn(tree, item, columnIndex); int spanCount = 0, span = 1; SpanInfo *spanPtr = NULL; @@ -3910,7 +3868,7 @@ next: typedef int (*TreeItemWalkSpansProc)( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -3937,7 +3895,7 @@ typedef int (*TreeItemWalkSpansProc)( void TreeItem_WalkSpans( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int lock, /* Which columns. */ int x, int y, /* Drawable coordinates of the item. */ int width, int height, /* Total size of the item. */ @@ -3945,7 +3903,6 @@ TreeItem_WalkSpans( ClientData clientData /* Data passed to callback routine. */ ) { - Item *self = (Item *) item_; int columnWidth, totalWidth; Column *itemColumn; StyleDrawArgs drawArgs; @@ -3975,7 +3932,7 @@ TreeItem_WalkSpans( } STATIC_ALLOC(spans, SpanInfo, columnCount); - spanCount = Item_GetSpans(tree, item_, treeColumn, spans); + spanCount = Item_GetSpans(tree, item, treeColumn, spans); drawArgs.tree = tree; drawArgs.drawable = None; @@ -3999,14 +3956,14 @@ TreeItem_WalkSpans( continue; if (itemColumn != NULL) { - drawArgs.state = self->state | itemColumn->cstate; + drawArgs.state = item->state | itemColumn->cstate; drawArgs.style = itemColumn->style; /* may be NULL */ } else { - drawArgs.state = self->state; + drawArgs.state = item->state; drawArgs.style = NULL; } if (treeColumn == tree->columnTree) - drawArgs.indent = TreeItem_Indent(tree, item_); + drawArgs.indent = TreeItem_Indent(tree, item); else drawArgs.indent = 0; drawArgs.x = x + totalWidth; @@ -4014,7 +3971,7 @@ TreeItem_WalkSpans( drawArgs.width = columnWidth; drawArgs.height = height; drawArgs.justify = TreeColumn_Justify(treeColumn); - if ((*proc)(tree, item_, &spans[spanIndex], &drawArgs, clientData)) + if ((*proc)(tree, item, &spans[spanIndex], &drawArgs, clientData)) break; totalWidth += columnWidth; @@ -4042,7 +3999,7 @@ TreeItem_WalkSpans( static int SpanWalkProc_Draw( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -4069,7 +4026,7 @@ SpanWalkProc_Draw( if (spanPtr->span == 1) { /* Important point: use drawArgs->width since an item's width may * be totally different than tree->columnVis' width. */ - ItemDrawBackground(tree, treeColumn, (Item *) item_, itemColumn, + ItemDrawBackground(tree, treeColumn, item, itemColumn, drawArgs->drawable, drawArgs->x, drawArgs->y, drawArgs->width, drawArgs->height, data->index); } else { @@ -4078,7 +4035,7 @@ SpanWalkProc_Draw( int columnWidth = TreeColumn_UseWidth(treeColumn); if ((columnWidth > 0) && (x < data->maxX) && (x + columnWidth > data->minX)) { - ItemDrawBackground(tree, treeColumn, (Item *) item_, itemColumn, + ItemDrawBackground(tree, treeColumn, item, itemColumn, drawArgs->drawable, x, drawArgs->y, columnWidth, drawArgs->height, data->index); } @@ -4093,10 +4050,10 @@ SpanWalkProc_Draw( if (spanPtr->treeColumn == tree->columnTree) { if (tree->showLines) - TreeItem_DrawLines(tree, item_, drawArgs->x, drawArgs->y, + TreeItem_DrawLines(tree, item, drawArgs->x, drawArgs->y, drawArgs->width, drawArgs->height, data->drawable); if (tree->showButtons) - TreeItem_DrawButton(tree, item_, drawArgs->x, drawArgs->y, + TreeItem_DrawButton(tree, item, drawArgs->x, drawArgs->y, drawArgs->width, drawArgs->height, data->drawable); } @@ -4123,7 +4080,7 @@ SpanWalkProc_Draw( void TreeItem_Draw( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int lock, /* Which columns. */ int x, int y, /* Drawable coordinates of the item. */ int width, int height, /* Total size of the item. */ @@ -4145,7 +4102,7 @@ TreeItem_Draw( clientData.maxX = maxX; clientData.index = index; - TreeItem_WalkSpans(tree, item_, lock, + TreeItem_WalkSpans(tree, item, lock, x, y, width, height, SpanWalkProc_Draw, (ClientData) &clientData); } @@ -4170,19 +4127,18 @@ TreeItem_Draw( void TreeItem_DrawLines( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int x, int y, /* Drawable coordinates of columnTree. */ int width, int height, /* Total size of columnTree. */ Drawable drawable /* Where to draw. */ ) { - Item *self = (Item *) item_; - Item *item, *parent; + TreeItem parent, walk; int indent, left, lineLeft, lineTop; int hasPrev, hasNext; int i, vert = 0; - indent = TreeItem_Indent(tree, item_); + indent = TreeItem_Indent(tree, item); /* Left edge of button/line area */ left = x /* + tree->columnTreeLeft */ + indent - tree->useIndent; @@ -4194,26 +4150,26 @@ TreeItem_DrawLines( lineTop = y + (height - tree->lineThickness) / 2; /* NOTE: The next three checks do not call TreeItem_ReallyVisible() - * since 'self' is ReallyVisible */ + * since 'item' is ReallyVisible */ /* Check for ReallyVisible previous sibling */ - item = self->prevSibling; - while ((item != NULL) && !item->isVisible) - item = item->prevSibling; - hasPrev = (item != NULL); + walk = item->prevSibling; + while ((walk != NULL) && !walk->isVisible) + walk = walk->prevSibling; + hasPrev = (walk != NULL); /* Check for ReallyVisible parent */ - if ((self->parent != NULL) && (!IS_ROOT(self->parent) || tree->showRoot)) + if ((item->parent != NULL) && (!IS_ROOT(item->parent) || tree->showRoot)) hasPrev = TRUE; /* Check for ReallyVisible next sibling */ - item = self->nextSibling; - while ((item != NULL) && !item->isVisible) - item = item->nextSibling; - hasNext = (item != NULL); + walk = item->nextSibling; + while ((walk != NULL) && !walk->isVisible) + walk = walk->nextSibling; + hasNext = (walk != NULL); /* Option: Don't connect children of root item */ - if ((self->parent != NULL) && IS_ROOT(self->parent) && !tree->showRootLines) + if ((item->parent != NULL) && IS_ROOT(item->parent) && !tree->showRootLines) hasPrev = hasNext = FALSE; /* Vertical line to parent and/or previous/next sibling */ @@ -4259,7 +4215,7 @@ TreeItem_DrawLines( } /* Vertical lines from ancestors to their next siblings */ - for (parent = self->parent; + for (parent = item->parent; parent != NULL; parent = parent->parent) { lineLeft -= tree->useIndent; @@ -4309,22 +4265,21 @@ TreeItem_DrawLines( void TreeItem_DrawButton( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int x, int y, /* Drawable coordinates of columnTree. */ int width, int height, /* Total size of columnTree. */ Drawable drawable /* Where to draw. */ ) { - Item *self = (Item *) item_; int indent, left, lineLeft, lineTop; int buttonLeft, buttonTop, w1; int macoffset = 0; Tk_Image image; Pixmap bitmap; - if (!self->hasButton) + if (!item->hasButton) return; - if (IS_ROOT(self) && !tree->showRootButton) + if (IS_ROOT(item) && !tree->showRootButton) return; #if defined(MAC_TCL) || defined(MAC_OSX_TK) @@ -4332,12 +4287,12 @@ TreeItem_DrawButton( macoffset = 1; #endif - indent = TreeItem_Indent(tree, item_); + indent = TreeItem_Indent(tree, item); /* Left edge of button/line area */ left = x /* + tree->columnTreeLeft */ + indent - tree->useIndent; - image = PerStateImage_ForState(tree, &tree->buttonImage, self->state, NULL); + image = PerStateImage_ForState(tree, &tree->buttonImage, item->state, NULL); if (image != NULL) { int imgW, imgH; Tk_SizeOfImage(image, &imgW, &imgH); @@ -4347,7 +4302,7 @@ TreeItem_DrawButton( return; } - bitmap = PerStateBitmap_ForState(tree, &tree->buttonBitmap, self->state, NULL); + bitmap = PerStateBitmap_ForState(tree, &tree->buttonBitmap, item->state, NULL); if (bitmap != None) { int bmpW, bmpH; int bx, by; @@ -4362,9 +4317,9 @@ TreeItem_DrawButton( if (tree->useTheme) { int bw, bh; - if (TreeTheme_GetButtonSize(tree, drawable, self->state & STATE_OPEN, + if (TreeTheme_GetButtonSize(tree, drawable, item->state & STATE_OPEN, &bw, &bh) == TCL_OK) { - if (TreeTheme_DrawButton(tree, drawable, self->state & STATE_OPEN, + if (TreeTheme_DrawButton(tree, drawable, item->state & STATE_OPEN, left + (tree->useIndent - bw) / 2, y + (height - bh) / 2, bw, bh) == TCL_OK) { return; @@ -4407,7 +4362,7 @@ TreeItem_DrawButton( tree->buttonSize - tree->buttonThickness * 4, tree->buttonThickness); - if (!(self->state & STATE_OPEN)) { + if (!(item->state & STATE_OPEN)) { /* Finish '+' */ XFillRectangle(tree->display, drawable, tree->buttonGC, lineLeft, @@ -4437,7 +4392,7 @@ TreeItem_DrawButton( static int SpanWalkProc_UpdateWindowPositions( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -4474,13 +4429,13 @@ SpanWalkProc_UpdateWindowPositions( void TreeItem_UpdateWindowPositions( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int lock, /* Columns we care about. */ int x, int y, /* Window coordinates of the item. */ int width, int height /* Total size of the item. */ ) { - TreeItem_WalkSpans(tree, item_, lock, + TreeItem_WalkSpans(tree, item, lock, x, y, width, height, SpanWalkProc_UpdateWindowPositions, (ClientData) NULL); } @@ -4505,13 +4460,12 @@ TreeItem_UpdateWindowPositions( void TreeItem_OnScreen( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int onScreen /* TRUE if item is displayed. */ ) { #if 0 - Item *self = (Item *) item_; - Column *column = self->columns; + Column *column = item->columns; while (column != NULL) { if (column->style != NULL) { @@ -4541,33 +4495,32 @@ TreeItem_OnScreen( int TreeItem_ReallyVisible( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *self = (Item *) item_; #if 0 if (tree->updateIndex) Tree_UpdateItemIndex(tree); - return self->indexVis != -1; + return item->indexVis != -1; #else if (!tree->updateIndex) - return self->indexVis != -1; + return item->indexVis != -1; - if (!self->isVisible) + if (!item->isVisible) return 0; - if (self->parent == NULL) - return IS_ROOT(self) ? tree->showRoot : 0; - if (IS_ROOT(self->parent)) { - if (!self->parent->isVisible) + if (item->parent == NULL) + return IS_ROOT(item) ? tree->showRoot : 0; + if (IS_ROOT(item->parent)) { + if (!item->parent->isVisible) return 0; if (!tree->showRoot) return 1; - if (!(self->parent->state & STATE_OPEN)) + if (!(item->parent->state & STATE_OPEN)) return 0; } - if (!self->parent->isVisible || !(self->parent->state & STATE_OPEN)) + if (!item->parent->isVisible || !(item->parent->state & STATE_OPEN)) return 0; - return TreeItem_ReallyVisible(tree, (TreeItem) self->parent); + return TreeItem_ReallyVisible(tree, item->parent); #endif } @@ -4589,14 +4542,12 @@ int TreeItem_ReallyVisible( TreeItem TreeItem_RootAncestor( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - while (item->parent != NULL) item = item->parent; - return (TreeItem) item; + return item; } /* @@ -4625,7 +4576,7 @@ TreeItem_IsAncestor( if (item1 == item2) return 0; while (item2 && item2 != item1) - item2 = (TreeItem) ((Item *) item2)->parent; + item2 = item2->parent; return item2 != NULL; } @@ -4647,15 +4598,15 @@ TreeItem_IsAncestor( Tcl_Obj *TreeItem_ToObj( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { if (tree->itemPrefixLen) { char buf[100 + TCL_INTEGER_SPACE]; - (void) sprintf(buf, "%s%d", tree->itemPrefix, ((Item *) item_)->id); + (void) sprintf(buf, "%s%d", tree->itemPrefix, item->id); return Tcl_NewStringObj(buf, -1); } - return Tcl_NewIntObj(((Item *) item_)->id); + return Tcl_NewIntObj(item->id); } /* @@ -4680,7 +4631,7 @@ Tcl_Obj *TreeItem_ToObj( static int Item_Configure( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item to configure. */ + TreeItem item, /* Item to configure. */ int objc, /* Number of arguments */ Tcl_Obj *CONST objv[] /* Array of arguments */ ) @@ -4717,13 +4668,13 @@ static int Item_Configure( } if (mask & ITEM_CONF_SIZE) { - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + Tree_FreeItemDInfo(tree, item, NULL); Tree_DInfoChanged(tree, DINFO_REDO_RANGES); } if (mask & ITEM_CONF_BUTTON) if (tree->columnTree != NULL) - Tree_InvalidateItemDInfo(tree, tree->columnTree, (TreeItem) item, NULL); + Tree_InvalidateItemDInfo(tree, tree->columnTree, item, NULL); if ((mask & ITEM_CONF_VISIBLE) && (item->isVisible != lastVisible)) { /* May change the width of any column */ @@ -4735,12 +4686,12 @@ static int Item_Configure( if ((item->prevSibling != NULL) && (item->nextSibling == NULL) && tree->showLines && (tree->columnTree != NULL)) { - Item *last = item->prevSibling; + TreeItem last = item->prevSibling; while (last->lastChild != NULL) last = last->lastChild; Tree_InvalidateItemDInfo(tree, tree->columnTree, - (TreeItem) item->prevSibling, - (TreeItem) last); + item->prevSibling, + last); } tree->updateIndex = 1; @@ -4786,9 +4737,8 @@ ItemCreateCmd( OPT_VISIBLE }; int index, i, count = 1, button = 0, returnId = 1, open = 1, visible = 1; int height = 0; - TreeItem _item; - Item *item, *parent = NULL, *prevSibling = NULL, *nextSibling = NULL; - Item *head = NULL, *tail = NULL; + TreeItem item, parent = NULL, prevSibling = NULL, nextSibling = NULL; + TreeItem head = NULL, tail = NULL; Tcl_Obj *listObj = NULL, *tagsObj = NULL; TagInfo *tagInfo = NULL; TreeColumn treeColumn; @@ -4828,11 +4778,10 @@ ItemCreateCmd( } break; case OPT_NEXTSIBLING: - if (TreeItem_FromObj(tree, objv[i + 1], &_item, + if (TreeItem_FromObj(tree, objv[i + 1], &nextSibling, IFO_NOT_NULL | IFO_NOT_ROOT | IFO_NOT_ORPHAN) != TCL_OK) { return TCL_ERROR; } - nextSibling = (Item *) _item; parent = prevSibling = NULL; break; case OPT_OPEN: @@ -4842,18 +4791,16 @@ ItemCreateCmd( } break; case OPT_PARENT: - if (TreeItem_FromObj(tree, objv[i + 1], &_item, IFO_NOT_NULL) != TCL_OK) { + if (TreeItem_FromObj(tree, objv[i + 1], &parent, IFO_NOT_NULL) != TCL_OK) { return TCL_ERROR; } - parent = (Item *) _item; prevSibling = nextSibling = NULL; break; case OPT_PREVSIBLING: - if (TreeItem_FromObj(tree, objv[i + 1], &_item, + if (TreeItem_FromObj(tree, objv[i + 1], &prevSibling, IFO_NOT_NULL | IFO_NOT_ROOT | IFO_NOT_ORPHAN) != TCL_OK) { return TCL_ERROR; } - prevSibling = (Item *) _item; parent = nextSibling = NULL; break; case OPT_RETURNID: @@ -4947,7 +4894,7 @@ ItemCreateCmd( if (returnId) Tcl_ListObjAppendElement(interp, listObj, TreeItem_ToObj(tree, - (TreeItem) item)); + item)); } if (parent != NULL) { @@ -4983,7 +4930,7 @@ ItemCreateCmd( item->depth = parent->depth + 1; } parent->numChildren += count; - TreeItem_AddToParent(tree, (TreeItem) head); + TreeItem_AddToParent(tree, head); } TagInfo_Free(tree, tagInfo); @@ -5014,7 +4961,7 @@ ItemCreateCmd( static void NoStyleMsg( TreeCtrl *tree, /* Widget info. */ - Item *item, /* Item record. */ + TreeItem item, /* Item record. */ int columnIndex /* 0-based index of the column that * has no style. */ ) @@ -5068,8 +5015,7 @@ ItemElementCmd( int columnIndex; Column *column; TreeItemList itemList; - TreeItem _item; - Item *item; + TreeItem item; int flags = IFO_NOT_NULL; int result = TCL_OK; @@ -5091,8 +5037,7 @@ ItemElementCmd( if (TreeItemList_FromObj(tree, objv[4], &itemList, flags) != TCL_OK) return TCL_ERROR; - _item = TreeItemList_Nth(&itemList, 0); - item = (Item *) _item; + item = TreeItemList_Nth(&itemList, 0); switch (index) { /* T item element perstate I C E option ?stateList? */ @@ -5154,7 +5099,7 @@ ItemElementCmd( result = TCL_ERROR; break; } - result = TreeStyle_ElementCget(tree, (TreeItem) item, + result = TreeStyle_ElementCget(tree, item, (TreeItemColumn) column, column->style, objv[6], objv[7]); break; } @@ -5264,13 +5209,11 @@ ItemElementCmd( } co[prevColumn].numArgs = index - prevColumn; - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { /* T item element configure I C E option value \ * + E option value , C E option value */ int iMask = 0; - item = (Item *) _item; - /* co[index].numArgs is the number of arguments from the C * to the next separator (but not including that separator). */ for (index = 5; index < objc; index += co[index].numArgs + 1) { @@ -5297,7 +5240,7 @@ if (!co[index].isColumn) panic("isColumn == FALSE"); int eMask, index2; if (co[indexElem].numArgs == -1) panic("indexElem=%d (%s) objc=%d numArgs == -1", indexElem, Tcl_GetString(objv[indexElem]), objc); - result = TreeStyle_ElementConfigure(tree, (TreeItem) item, + result = TreeStyle_ElementConfigure(tree, item, (TreeItemColumn) column, column->style, objv[indexElem], co[indexElem].numArgs, (Tcl_Obj **) objv + indexElem + 1, &eMask); if (result != TCL_OK) @@ -5324,7 +5267,7 @@ if (co[indexElem].numArgs == -1) panic("indexElem=%d (%s) objc=%d numArgs == -1" TreeItemColumn_InvalidateSize(tree, (TreeItemColumn) column); Tree_InvalidateColumnWidth(tree, treeColumn); } else if (cMask & CS_DISPLAY) { - Tree_InvalidateItemDInfo(tree, treeColumn, (TreeItem) item, NULL); + Tree_InvalidateItemDInfo(tree, treeColumn, item, NULL); } iMask |= cMask; if (result != TCL_OK) @@ -5334,8 +5277,8 @@ if (co[indexElem].numArgs == -1) panic("indexElem=%d (%s) objc=%d numArgs == -1" break; } if (iMask & CS_LAYOUT) { - TreeItem_InvalidateHeight(tree, (TreeItem) item); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); Tree_DInfoChanged(tree, DINFO_REDO_RANGES); } else if (iMask & CS_DISPLAY) { } @@ -5387,8 +5330,7 @@ ItemStyleCmd( enum { COMMAND_ELEMENTS, COMMAND_MAP, COMMAND_SET }; int index; TreeItemList itemList; - TreeItem _item; - Item *item; + TreeItem item; int flags = IFO_NOT_NULL; int result = TCL_OK; @@ -5409,8 +5351,7 @@ ItemStyleCmd( if (TreeItemList_FromObj(tree, objv[4], &itemList, flags) != TCL_OK) { return TCL_ERROR; } - _item = TreeItemList_Nth(&itemList, 0); - item = (Item *) _item; + item = TreeItemList_Nth(&itemList, 0); switch (index) { /* T item style elements I C */ @@ -5474,8 +5415,7 @@ ItemStyleCmd( result = TCL_ERROR; goto doneMAP; } - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { COLUMN_FOR_EACH(treeColumn, &columns, NULL, &citer) { columnIndex = TreeColumn_Index(treeColumn); column = Item_CreateColumn(tree, item, columnIndex, NULL); @@ -5491,8 +5431,8 @@ ItemStyleCmd( TreeItemColumn_InvalidateSize(tree, (TreeItemColumn) column); Tree_InvalidateColumnWidth(tree, treeColumn); } - TreeItem_InvalidateHeight(tree, (TreeItem) item); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); if (result != TCL_OK) break; } @@ -5575,8 +5515,7 @@ doneMAP: } count++; } - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { changedI = FALSE; for (i = 0; i < count; i++) { COLUMN_FOR_EACH(treeColumn, &cs[i].columns, NULL, &citer) { @@ -5606,8 +5545,8 @@ doneMAP: changedI = TRUE; } if (changedI) { - TreeItem_InvalidateHeight(tree, (TreeItem) item); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); changed = TRUE; } } @@ -5638,7 +5577,7 @@ struct SortItem1 /* one per Item */ struct SortItem { - Item *item; + TreeItem item; struct SortItem1 *item1; Tcl_Obj *obj; /* TreeItem_ToObj() */ }; @@ -6108,8 +6047,7 @@ ItemSortCmd( ) { TreeCtrl *tree = (TreeCtrl *) clientData; - TreeItem _item; - Item *item, *first, *last, *walk, *lastChild; + TreeItem item, first, last, walk, lastChild; Column *column; int i, j, count, elemIndex, index, indexF = 0, indexL = 0; int sawColumn = FALSE, sawCmd = FALSE; @@ -6126,9 +6064,8 @@ ItemSortCmd( return TCL_ERROR; } - if (TreeItem_FromObj(tree, objv[3], &_item, IFO_NOT_NULL) != TCL_OK) + if (TreeItem_FromObj(tree, objv[3], &item, IFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - item = (Item *) _item; /* If the item has no children, then nothing is done and no error * is generated. */ @@ -6263,9 +6200,8 @@ ItemSortCmd( break; } case OPT_FIRST: - if (TreeItem_FromObj(tree, objv[i + 1], &_item, IFO_NOT_NULL) != TCL_OK) + if (TreeItem_FromObj(tree, objv[i + 1], &first, IFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - first = (Item *) _item; if (first->parent != item) { FormatResult(interp, "item %s%d is not a child of item %s%d", @@ -6280,9 +6216,8 @@ ItemSortCmd( sortData.columns[sortData.columnCount - 1].sortBy = SORT_LONG; break; case OPT_LAST: - if (TreeItem_FromObj(tree, objv[i + 1], &_item, IFO_NOT_NULL) != TCL_OK) + if (TreeItem_FromObj(tree, objv[i + 1], &last, IFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - last = (Item *) _item; if (last->parent != item) { FormatResult(interp, "item %s%d is not a child of item %s%d", @@ -6310,7 +6245,7 @@ ItemSortCmd( /* If there is only one item to sort, then return early. */ if (first == last) { if (notReally) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) first)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, first)); return TCL_OK; } @@ -6379,7 +6314,7 @@ ItemSortCmd( sortItem->item = walk; if (sawCmd) { - Tcl_Obj *obj = TreeItem_ToObj(tree, (TreeItem) walk); + Tcl_Obj *obj = TreeItem_ToObj(tree, walk); Tcl_IncrRefCount(obj); sortData.items[index].obj = obj; } @@ -6460,7 +6395,7 @@ ItemSortCmd( itemObj = sortData.items[i].obj; if (itemObj == NULL) itemObj = TreeItem_ToObj(tree, - (TreeItem) sortData.items[i].item); + sortData.items[i].item); Tcl_ListObjAppendElement(interp, listObj, itemObj); } } @@ -6471,7 +6406,7 @@ ItemSortCmd( itemObj = sortData.items[i].obj; if (itemObj == NULL) itemObj = TreeItem_ToObj(tree, - (TreeItem) sortData.items[i].item); + sortData.items[i].item); Tcl_ListObjAppendElement(interp, listObj, itemObj); } } @@ -6521,12 +6456,12 @@ ItemSortCmd( if ((item->lastChild != lastChild) && tree->showLines && (tree->columnTree != NULL)) { if (lastChild->dInfo != NULL) Tree_InvalidateItemDInfo(tree, tree->columnTree, - (TreeItem) lastChild, - (TreeItem) NULL); + lastChild, + NULL); if (item->lastChild->dInfo != NULL) Tree_InvalidateItemDInfo(tree, tree->columnTree, - (TreeItem) item->lastChild, - (TreeItem) NULL); + item->lastChild, + NULL); } tree->updateIndex = 1; @@ -6587,8 +6522,7 @@ ItemStateCmd( COMMAND_FORCOLUMN, COMMAND_GET, COMMAND_SET }; int index; - TreeItem _item; - Item *item; + TreeItem item; if (objc < 5) { Tcl_WrongNumArgs(interp, 3, objv, "command item ?arg ...?"); @@ -6627,7 +6561,7 @@ ItemStateCmd( return TCL_ERROR; TreeColumnList_Init(tree, &columns, 0); if (objc == 6) { - item = (Item *) TreeItemList_Nth(&itemList, 0); + item = TreeItemList_Nth(&itemList, 0); if (Item_FindColumnFromObj(tree, item, objv[5], &column, &columnIndex) != TCL_OK) { result = TCL_ERROR; @@ -6658,8 +6592,7 @@ ItemStateCmd( } if ((states[0] | states[1] | states[2]) == 0) goto doneFORC; - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { COLUMN_FOR_EACH(treeColumn, &columns, NULL, &citer) { columnIndex = TreeColumn_Index(treeColumn); column = Item_CreateColumn(tree, item, columnIndex, NULL); @@ -6687,9 +6620,8 @@ doneFORC: Tcl_WrongNumArgs(interp, 5, objv, "?state?"); return TCL_ERROR; } - if (TreeItem_FromObj(tree, objv[4], &_item, IFO_NOT_NULL) != TCL_OK) + if (TreeItem_FromObj(tree, objv[4], &item, IFO_NOT_NULL) != TCL_OK) return TCL_ERROR; - item = (Item *) _item; if (objc == 6) { states[STATE_OP_ON] = 0; if (Tree_StateFromObj(tree, objv[5], states, NULL, @@ -6746,8 +6678,8 @@ doneFORC: ITEM_FOR_EACH(item, &itemList, &item2List, &iter) { stateOn = states[STATE_OP_ON]; stateOff = states[STATE_OP_OFF]; - stateOn |= ~((Item *) item)->state & states[STATE_OP_TOGGLE]; - stateOff |= ((Item *) item)->state & states[STATE_OP_TOGGLE]; + stateOn |= ~item->state & states[STATE_OP_TOGGLE]; + stateOff |= item->state & states[STATE_OP_TOGGLE]; TreeItem_ChangeState(tree, item, stateOff, stateOn); } if (iter.error) @@ -6798,8 +6730,7 @@ ItemTagCmd( int index; ItemForEach iter; TreeItemList items; - TreeItem _item; - Item *item; + TreeItem item; int result = TCL_OK; if (objc < 4) @@ -6839,8 +6770,7 @@ ItemTagCmd( for (i = 0; i < numTags; i++) { tags[i] = Tk_GetUid(Tcl_GetString(listObjv[i])); } - ITEM_FOR_EACH(_item, &items, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &items, NULL, &iter) { item->tagInfo = TagInfo_Add(tree, item->tagInfo, tags, numTags); } STATIC_FREE(tags, Tk_Uid, numTags); @@ -6865,8 +6795,7 @@ ItemTagCmd( result = TCL_ERROR; break; } - ITEM_FOR_EACH(_item, &items, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &items, NULL, &iter) { if (!TagExpr_Eval(&expr, item->tagInfo)) { ok = FALSE; break; @@ -6892,8 +6821,7 @@ ItemTagCmd( if (TreeItemList_FromObj(tree, objv[4], &items, IFO_NOT_NULL) != TCL_OK) { return TCL_ERROR; } - ITEM_FOR_EACH(_item, &items, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &items, NULL, &iter) { tags = TagInfo_Names(tree, item->tagInfo, tags, &numTags, &tagSpace); } if (numTags) { @@ -6931,8 +6859,7 @@ ItemTagCmd( for (i = 0; i < numTags; i++) { tags[i] = Tk_GetUid(Tcl_GetString(listObjv[i])); } - ITEM_FOR_EACH(_item, &items, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &items, NULL, &iter) { item->tagInfo = TagInfo_Remove(tree, item->tagInfo, tags, numTags); } STATIC_FREE(tags, Tk_Uid, numTags); @@ -7172,8 +7099,7 @@ TreeItemCmd( int index; int numArgs = objc - 3; TreeItemList itemList, item2List; - TreeItem _item = NULL, _item2 = NULL; - Item *item = NULL, *item2 = NULL, *child; + TreeItem item = NULL, item2 = NULL, child; int result = TCL_OK; if (objc < 3) { @@ -7203,8 +7129,7 @@ TreeItemCmd( argInfo[index].flags & 0xFFFF) != TCL_OK) { goto errorExit; } - _item = TreeItemList_Nth(&itemList, 0); /* May be NULL. */ - item = (Item *) _item; + item = TreeItemList_Nth(&itemList, 0); /* May be NULL. */ } if (((numArgs >= 2) && !(argInfo[index].flags2 & AF_NOT_ITEM)) || ((numArgs >= 3) && !(argInfo[index].flags3 & AF_NOT_ITEM))) { @@ -7220,28 +7145,27 @@ TreeItemCmd( flags & 0xFFFF) != TCL_OK) { goto errorExit; } - _item2 = TreeItemList_Nth(&item2List, 0); /* May be NULL. */ - item2 = (Item *) _item2; + item2 = TreeItemList_Nth(&item2List, 0); /* May be NULL. */ if ((flags & AF_NOT_EQUAL) && (item == item2)) { FormatResult(interp, "item %s%d same as second item", tree->itemPrefix, item->id); goto errorExit; } if ((argInfo[index].flags & AF_NOT_ANCESTOR) && - TreeItem_IsAncestor(tree, (TreeItem) item, (TreeItem) item2)) { + TreeItem_IsAncestor(tree, item, item2)) { FormatResult(interp, "item %s%d is ancestor of item %s%d", tree->itemPrefix, item->id, tree->itemPrefix, item2->id); goto errorExit; } if ((flags & AF_NOT_ANCESTOR) && - TreeItem_IsAncestor(tree, (TreeItem) item2, (TreeItem) item)) { + TreeItem_IsAncestor(tree, item2, item)) { FormatResult(interp, "item %s%d is ancestor of item %s%d", tree->itemPrefix, item2->id, tree->itemPrefix, item->id); goto errorExit; } if ((flags & AF_SAMEROOT) && - TreeItem_RootAncestor(tree, (TreeItem) item) != - TreeItem_RootAncestor(tree, (TreeItem) item2)) { + TreeItem_RootAncestor(tree, item) != + TreeItem_RootAncestor(tree, item2)) { FormatResult(interp, "item %s%d and item %s%d don't share a common ancestor", tree->itemPrefix, item->id, tree->itemPrefix, item2->id); @@ -7253,12 +7177,12 @@ TreeItemCmd( case COMMAND_ANCESTORS: { Tcl_Obj *listObj; - Item *parent = item->parent; + TreeItem parent = item->parent; listObj = Tcl_NewListObj(0, NULL); while (parent != NULL) { Tcl_ListObjAppendElement(interp, listObj, - TreeItem_ToObj(tree, (TreeItem) parent)); + TreeItem_ToObj(tree, parent)); parent = parent->parent; } Tcl_SetObjResult(interp, listObj); @@ -7269,11 +7193,11 @@ TreeItemCmd( { int x, y, w, h; TreeColumn treeColumn; - TreeItem item_ = (TreeItem) item; + TreeItem item = item; XRectangle rect; if (objc == 4) { - if (Tree_ItemBbox(tree, item_, COLUMN_LOCK_NONE, &x, &y, &w, &h) < 0) + if (Tree_ItemBbox(tree, item, COLUMN_LOCK_NONE, &x, &y, &w, &h) < 0) break; } else { if (TreeColumn_FromObj(tree, objv[4], &treeColumn, @@ -7290,7 +7214,7 @@ TreeItemCmd( objc -= 5; objv += 5; } - if (TreeItem_GetRects(tree, item_, treeColumn, + if (TreeItem_GetRects(tree, item, treeColumn, objc, objv, &rect) == 0) break; x = rect.x; @@ -7325,7 +7249,7 @@ TreeItemCmd( child = item->firstChild; while (child != NULL) { Tcl_ListObjAppendElement(interp, listObj, - TreeItem_ToObj(tree, (TreeItem) child)); + TreeItem_ToObj(tree, child)); child = child->nextSibling; } Tcl_SetObjResult(interp, listObj); @@ -7364,16 +7288,16 @@ TreeItemCmd( break; } TreeItemList_Init(tree, &items, 0); - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - TreeItemList_Append(&items, _item); + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { + TreeItemList_Append(&items, item); if (!iter.all && recurse) { - TreeItem_ListDescendants(tree, _item, &items); + TreeItem_ListDescendants(tree, item, &items); } } count = TreeItemList_Count(&items); for (i = 0; i < count; i++) { - _item = TreeItemList_Nth(&items, i); - TreeItem_OpenClose(tree, _item, mode); + item = TreeItemList_Nth(&items, i); + TreeItem_OpenClose(tree, item, mode); } TreeItemList_Free(&items); #ifdef SELECTION_VISIBLE @@ -7390,8 +7314,8 @@ TreeItemCmd( if (Tcl_GetIndexFromObj(interp, objv[4], opName, "comparison operator", 0, &op) != TCL_OK) goto errorExit; - TreeItem_ToIndex(tree, _item, &index1, NULL); - TreeItem_ToIndex(tree, _item2, &index2, NULL); + TreeItem_ToIndex(tree, item, &index1, NULL); + TreeItem_ToIndex(tree, item2, &index2, NULL); switch (op) { case 0: compare = index1 < index2; break; case 1: compare = index1 <= index2; break; @@ -7462,7 +7386,7 @@ TreeItemCmd( result = TCL_ERROR; goto doneComplex; } - if (TreeStyle_ElementConfigure(tree, (TreeItem) item, + if (TreeStyle_ElementConfigure(tree, item, (TreeItemColumn) column, column->style, objv2[0], objc2 - 1, objv2 + 1, &eMask) != TCL_OK) { result = TCL_ERROR; @@ -7476,11 +7400,11 @@ TreeItemCmd( } doneComplex: if (iMask & CS_DISPLAY) - Tree_InvalidateItemDInfo(tree, NULL, (TreeItem) item, NULL); + Tree_InvalidateItemDInfo(tree, NULL, item, NULL); if (iMask & CS_LAYOUT) { Tree_InvalidateColumnWidth(tree, NULL); - TreeItem_InvalidateHeight(tree, (TreeItem) item); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); Tree_DInfoChanged(tree, DINFO_REDO_RANGES); } break; @@ -7495,7 +7419,7 @@ TreeItemCmd( if (objc <= 5) { Tcl_Obj *resultObjPtr; - if (IS_ALL(_item) || (TreeItemList_Count(&itemList) > 1)) { + if (IS_ALL(item) || (TreeItemList_Count(&itemList) > 1)) { FormatResult(interp, "can't specify > 1 item for this command"); goto errorExit; } @@ -7508,8 +7432,8 @@ TreeItemCmd( Tcl_SetObjResult(interp, resultObjPtr); break; } - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - result = Item_Configure(tree, (Item *) _item, objc - 4, objv + 4); + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { + result = Item_Configure(tree, item, objc - 4, objv + 4); if (result != TCL_OK) break; } @@ -7566,16 +7490,15 @@ TreeItemCmd( TreeItemList_Init(tree, &deleted, tree->itemCount - 1); TreeItemList_Init(tree, &selected, tree->selectCount); - ITEM_FOR_EACH(_item, &itemList, &item2List, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &itemList, &item2List, &iter) { if (IS_ROOT(item)) continue; if (IS_DELETED(item)) continue; item->flags |= ITEM_FLAG_DELETED; - TreeItemList_Append(&deleted, _item); - if (TreeItem_GetSelected(tree, _item)) - TreeItemList_Append(&selected, _item); + TreeItemList_Append(&deleted, item); + if (TreeItem_GetSelected(tree, item)) + TreeItemList_Append(&selected, item); if (iter.all) continue; /* Check every descendant. */ @@ -7586,28 +7509,27 @@ TreeItemCmd( item2 = item2->lastChild; item = item->firstChild; while (1) { - _item = (TreeItem) item; if (IS_DELETED(item)) { /* Skip all descendants (they are already flagged). */ while (item->lastChild != NULL) item = item->lastChild; } else { item->flags |= ITEM_FLAG_DELETED; - TreeItemList_Append(&deleted, _item); - if (TreeItem_GetSelected(tree, _item)) - TreeItemList_Append(&selected, _item); + TreeItemList_Append(&deleted, item); + if (TreeItem_GetSelected(tree, item)) + TreeItemList_Append(&selected, item); } if (item == item2) break; - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); } } count = TreeItemList_Count(&selected); if (count) { for (i = 0; i < count; i++) { - _item = TreeItemList_Nth(&selected, i); - Tree_RemoveFromSelection(tree, _item); + item = TreeItemList_Nth(&selected, i); + Tree_RemoveFromSelection(tree, item); } /* Generate event for selected items being deleted. */ TreeNotify_Selection(tree, NULL, &selected); @@ -7621,16 +7543,16 @@ TreeItemCmd( /* Remove every item from its parent. Needed because items * are deleted recursively. */ for (i = 0; i < count; i++) { - _item = TreeItemList_Nth(&deleted, i); - TreeItem_RemoveFromParent(tree, _item); + item = TreeItemList_Nth(&deleted, i); + TreeItem_RemoveFromParent(tree, item); } /* Delete the items. The item record will be freed when no * longer in use; however, the item cannot be referred to * by commands from this point on. */ for (i = 0; i < count; i++) { - _item = TreeItemList_Nth(&deleted, i); - TreeItem_Delete(tree, _item); + item = TreeItemList_Nth(&deleted, i); + TreeItem_Delete(tree, item); } } @@ -7651,10 +7573,10 @@ TreeItemCmd( listObj = Tcl_NewListObj(0, NULL); while (1) { Tcl_ListObjAppendElement(interp, listObj, - TreeItem_ToObj(tree, (TreeItem) item)); + TreeItem_ToObj(tree, item)); if (item == item2) break; - item = (Item *) TreeItem_Next(tree, (TreeItem) item); + item = TreeItem_Next(tree, item); } Tcl_SetObjResult(interp, listObj); break; @@ -7676,7 +7598,7 @@ TreeItemCmd( ItemForEach iter; if (objc == 4) { - if (IS_ALL(_item) || (TreeItemList_Count(&itemList) > 1)) { + if (IS_ALL(item) || (TreeItemList_Count(&itemList) > 1)) { FormatResult(interp, "can't specify > 1 item for this command"); goto errorExit; } @@ -7689,13 +7611,13 @@ TreeItemCmd( stateOff = enabled ? 0 : STATE_ENABLED; stateOn = enabled ? STATE_ENABLED : 0; TreeItemList_Init(tree, &newD, tree->selectCount); - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - if (enabled != TreeItem_GetEnabled(tree, _item)) { - TreeItem_ChangeState(tree, _item, stateOff, stateOn); + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { + if (enabled != TreeItem_GetEnabled(tree, item)) { + TreeItem_ChangeState(tree, item, stateOff, stateOn); /* Disabled items cannot be selected. */ - if (!enabled && TreeItem_GetSelected(tree, _item)) { - Tree_RemoveFromSelection(tree, _item); - TreeItemList_Append(&newD, _item); + if (!enabled && TreeItem_GetSelected(tree, item)) { + Tree_RemoveFromSelection(tree, item); + TreeItemList_Append(&newD, item); } } } @@ -7711,7 +7633,7 @@ TreeItemCmd( * deleted item. */ if (item2 != NULL && item2 != item->firstChild && (!IS_DELETED(item) || IS_DELETED(item2))) { - TreeItem_RemoveFromParent(tree, (TreeItem) item2); + TreeItem_RemoveFromParent(tree, item2); item2->nextSibling = item->firstChild; if (item->firstChild != NULL) item->firstChild->prevSibling = item2; @@ -7720,13 +7642,13 @@ TreeItemCmd( item->firstChild = item2; item2->parent = item; item->numChildren++; - TreeItem_AddToParent(tree, (TreeItem) item2); + TreeItem_AddToParent(tree, item2); #ifdef SELECTION_VISIBLE Tree_DeselectHidden(tree); #endif } if (item->firstChild != NULL) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) item->firstChild)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, item->firstChild)); break; } /* T item id I */ @@ -7736,9 +7658,9 @@ TreeItemCmd( ItemForEach iter; listObj = Tcl_NewListObj(0, NULL); - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { Tcl_ListObjAppendElement(interp, listObj, - TreeItem_ToObj(tree, _item)); + TreeItem_ToObj(tree, item)); } Tcl_SetObjResult(interp, listObj); break; @@ -7746,7 +7668,7 @@ TreeItemCmd( case COMMAND_ISANCESTOR: { Tcl_SetObjResult(interp, Tcl_NewBooleanObj( - TreeItem_IsAncestor(tree, (TreeItem) item, (TreeItem) item2))); + TreeItem_IsAncestor(tree, item, item2))); break; } case COMMAND_ISOPEN: @@ -7760,7 +7682,7 @@ TreeItemCmd( * deleted item. */ if (item2 != NULL && item2 != item->lastChild && (!IS_DELETED(item) || IS_DELETED(item2))) { - TreeItem_RemoveFromParent(tree, (TreeItem) item2); + TreeItem_RemoveFromParent(tree, item2); item2->prevSibling = item->lastChild; if (item->lastChild != NULL) item->lastChild->nextSibling = item2; @@ -7769,19 +7691,19 @@ TreeItemCmd( item->lastChild = item2; item2->parent = item; item->numChildren++; - TreeItem_AddToParent(tree, (TreeItem) item2); + TreeItem_AddToParent(tree, item2); #ifdef SELECTION_VISIBLE Tree_DeselectHidden(tree); #endif } if (item->lastChild != NULL) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) item->lastChild)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, item->lastChild)); break; } case COMMAND_NEXTSIBLING: { if (item2 != NULL && item2 != item->nextSibling) { - TreeItem_RemoveFromParent(tree, (TreeItem) item2); + TreeItem_RemoveFromParent(tree, item2); item2->prevSibling = item; if (item->nextSibling != NULL) { item->nextSibling->prevSibling = item2; @@ -7791,13 +7713,13 @@ TreeItemCmd( item->nextSibling = item2; item2->parent = item->parent; item->parent->numChildren++; - TreeItem_AddToParent(tree, (TreeItem) item2); + TreeItem_AddToParent(tree, item2); #ifdef SELECTION_VISIBLE Tree_DeselectHidden(tree); #endif } if (item->nextSibling != NULL) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) item->nextSibling)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, item->nextSibling)); break; } case COMMAND_NUMCHILDREN: @@ -7829,8 +7751,8 @@ TreeItemCmd( /* T item range I I */ case COMMAND_RANGE: { - TreeItem itemFirst = (TreeItem) item; - TreeItem itemLast = (TreeItem) item2; + TreeItem itemFirst = item; + TreeItem itemLast = item2; Tcl_Obj *listObj; if (itemFirst == itemLast) { @@ -7852,13 +7774,13 @@ TreeItemCmd( case COMMAND_PARENT: { if (item->parent != NULL) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) item->parent)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, item->parent)); break; } case COMMAND_PREVSIBLING: { if (item2 != NULL && item2 != item->prevSibling) { - TreeItem_RemoveFromParent(tree, (TreeItem) item2); + TreeItem_RemoveFromParent(tree, item2); item2->nextSibling = item; if (item->prevSibling != NULL) { item->prevSibling->nextSibling = item2; @@ -7868,13 +7790,13 @@ TreeItemCmd( item->prevSibling = item2; item2->parent = item->parent; item->parent->numChildren++; - TreeItem_AddToParent(tree, (TreeItem) item2); + TreeItem_AddToParent(tree, item2); #ifdef SELECTION_VISIBLE Tree_DeselectHidden(tree); #endif } if (item->prevSibling != NULL) - Tcl_SetObjResult(interp, TreeItem_ToObj(tree, (TreeItem) item->prevSibling)); + Tcl_SetObjResult(interp, TreeItem_ToObj(tree, item->prevSibling)); break; } case COMMAND_REMOVE: @@ -7882,11 +7804,10 @@ TreeItemCmd( ItemForEach iter; int removed = FALSE; - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { - item = (Item *) _item; + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { if (item->parent != NULL) { - TreeItem_RemoveFromParent(tree, (TreeItem) item); - Tree_FreeItemDInfo(tree, (TreeItem) item, NULL); + TreeItem_RemoveFromParent(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); removed = TRUE; } } @@ -7904,7 +7825,7 @@ TreeItemCmd( { int row,col; - if (Tree_ItemToRNC(tree, (TreeItem) item, &row, &col) == TCL_OK) + if (Tree_ItemToRNC(tree, item, &row, &col) == TCL_OK) FormatResult(interp, "%d %d", row, col); break; } @@ -7923,7 +7844,7 @@ TreeItemCmd( ItemForEach iter; ColumnForEach citer; - if ((objc < 6) && (IS_ALL(_item) || + if ((objc < 6) && (IS_ALL(item) || (TreeItemList_Count(&itemList) > 1))) { FormatResult(interp, "can't specify > 1 item for this command"); goto errorExit; @@ -7972,9 +7893,8 @@ TreeItemCmd( cs[count].span = span; count++; } - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { int changedI = FALSE; - item = (Item *) _item; for (i = 0; i < count; i++) { COLUMN_FOR_EACH(treeColumn, &cs[i].columns, NULL, &citer) { column = Item_CreateColumn(tree, item, @@ -7983,7 +7903,7 @@ TreeItemCmd( if (cs[i].span > 1) { item->flags &= ~ITEM_FLAG_SPANS_SIMPLE; } - TreeItem_SpansInvalidate(tree, _item); + TreeItem_SpansInvalidate(tree, item); column->span = cs[i].span; TreeItemColumn_InvalidateSize(tree, (TreeItemColumn) column); @@ -7993,8 +7913,8 @@ TreeItemCmd( } } if (changedI) { - TreeItem_InvalidateHeight(tree, _item); - Tree_FreeItemDInfo(tree, _item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); changed = TRUE; } } @@ -8025,7 +7945,7 @@ doneSPAN: ItemForEach iter; ColumnForEach citer; - if ((objc < 6) && (IS_ALL(_item) || + if ((objc < 6) && (IS_ALL(item) || (TreeItemList_Count(&itemList) > 1))) { FormatResult(interp, "can't specify > 1 item for this command"); goto errorExit; @@ -8079,9 +7999,8 @@ doneSPAN: co[count].obj = objv[i + 1]; count++; } - ITEM_FOR_EACH(_item, &itemList, NULL, &iter) { + ITEM_FOR_EACH(item, &itemList, NULL, &iter) { int changedI = FALSE; - item = (Item *) _item; for (i = 0; i < count; i++) { COLUMN_FOR_EACH(treeColumn, &co[i].columns, NULL, &citer) { columnIndex = TreeColumn_Index(treeColumn); @@ -8092,9 +8011,9 @@ doneSPAN: goto doneTEXT; } result = isImage ? - TreeStyle_SetImage(tree, _item, + TreeStyle_SetImage(tree, item, (TreeItemColumn) column, column->style, co[i].obj) : - TreeStyle_SetText(tree, _item, + TreeStyle_SetText(tree, item, (TreeItemColumn) column, column->style, co[i].obj); if (result != TCL_OK) goto doneTEXT; @@ -8104,8 +8023,8 @@ doneSPAN: } } if (changedI) { - TreeItem_InvalidateHeight(tree, _item); - Tree_FreeItemDInfo(tree, _item, NULL); + TreeItem_InvalidateHeight(tree, item); + Tree_FreeItemDInfo(tree, item, NULL); changed = TRUE; } } @@ -8148,11 +8067,10 @@ errorExit: int TreeItem_Debug( TreeCtrl *tree, /* Widget info. */ - TreeItem item_ /* Item token. */ + TreeItem item /* Item token. */ ) { - Item *item = (Item *) item_; - Item *child; + TreeItem child; Tcl_Interp *interp = tree->interp; int count; @@ -8303,7 +8221,7 @@ int TreeItem_Debug( item->id); return TCL_ERROR; } - if (TreeItem_Debug(tree, (TreeItem) child) != TCL_OK) + if (TreeItem_Debug(tree, child) != TCL_OK) return TCL_ERROR; child = child->nextSibling; } @@ -8330,7 +8248,7 @@ int TreeItem_Debug( static int SpanWalkProc_Identify( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -8380,7 +8298,7 @@ SpanWalkProc_Identify( void TreeItem_Identify( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int lock, /* Columns to hit-test. */ int x, int y, /* Item coords to hit-test with. */ char *buf /* NULL-terminated string which may be @@ -8394,7 +8312,7 @@ TreeItem_Identify( char *buf; } clientData; - if (Tree_ItemBbox(tree, item_, lock, + if (Tree_ItemBbox(tree, item, lock, &left, &top, &width, &height) < 0) return; @@ -8403,7 +8321,7 @@ TreeItem_Identify( clientData.y = y; clientData.buf = buf; - TreeItem_WalkSpans(tree, item_, lock, + TreeItem_WalkSpans(tree, item, lock, 0, 0, width, height, SpanWalkProc_Identify, (ClientData) &clientData); } @@ -8427,7 +8345,7 @@ TreeItem_Identify( static int SpanWalkProc_Identify2( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -8477,7 +8395,7 @@ SpanWalkProc_Identify2( void TreeItem_Identify2( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ int x1, int y1, /* Top-left of area to hit-test. */ int x2, int y2, /* Bottom-right of area to hit-test. */ Tcl_Obj *listObj /* Initialized list object. */ @@ -8490,7 +8408,7 @@ TreeItem_Identify2( Tcl_Obj *listObj; } clientData; - if (Tree_ItemBbox(tree, item_, COLUMN_LOCK_NONE, + if (Tree_ItemBbox(tree, item, COLUMN_LOCK_NONE, &left, &top, &width, &height) < 0) return; @@ -8501,7 +8419,7 @@ TreeItem_Identify2( clientData.y2 = y2; clientData.listObj = listObj; - TreeItem_WalkSpans(tree, item_, COLUMN_LOCK_NONE, + TreeItem_WalkSpans(tree, item, COLUMN_LOCK_NONE, left, top, width, height, SpanWalkProc_Identify2, (ClientData) &clientData); } @@ -8525,7 +8443,7 @@ TreeItem_Identify2( static int SpanWalkProc_GetRects( TreeCtrl *tree, - TreeItem item_, + TreeItem item, SpanInfo *spanPtr, StyleDrawArgs *drawArgs, ClientData clientData @@ -8557,7 +8475,7 @@ SpanWalkProc_GetRects( } if (drawArgs->style == NULL) { - NoStyleMsg(tree, (Item *) item_, TreeColumn_Index(spanPtr->treeColumn)); + NoStyleMsg(tree, item, TreeColumn_Index(spanPtr->treeColumn)); data->result = -1; /* error */ return 1; /* stop */ } @@ -8611,7 +8529,7 @@ SpanWalkProc_GetRects( int TreeItem_GetRects( TreeCtrl *tree, /* Widget info. */ - TreeItem item_, /* Item token. */ + TreeItem item, /* Item token. */ TreeColumn treeColumn, /* The column to get rects for. */ int count, /* -1 means get rects for all elements. * 0 means get bounds of the span. @@ -8631,7 +8549,7 @@ TreeItem_GetRects( int result; } clientData; - if (Tree_ItemBbox(tree, item_, lock, + if (Tree_ItemBbox(tree, item, lock, &left, &top, &width, &height) < 0) return 0; @@ -8641,7 +8559,7 @@ TreeItem_GetRects( clientData.rects = rects; clientData.result = 0; /* -1 error, 0 no rects, 1+ success */ - TreeItem_WalkSpans(tree, item_, lock, + TreeItem_WalkSpans(tree, item, lock, left, top, width, height, SpanWalkProc_GetRects, (ClientData) &clientData); @@ -8672,7 +8590,7 @@ TreeItem_Init( { tree->itemOptionTable = Tk_CreateOptionTable(tree->interp, itemOptionSpecs); - tree->root = (TreeItem) Item_AllocRoot(tree); + tree->root = Item_AllocRoot(tree); tree->activeItem = tree->root; /* always non-null */ tree->anchorItem = tree->root; /* always non-null */ diff --git a/generic/tkTreeMarquee.c b/generic/tkTreeMarquee.c index 6dd12fb..a43de92 100644 --- a/generic/tkTreeMarquee.c +++ b/generic/tkTreeMarquee.c @@ -5,18 +5,18 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeMarquee.c,v 1.10 2006/10/14 20:04:15 treectrl Exp $ + * RCS: @(#) $Id: tkTreeMarquee.c,v 1.11 2006/11/08 07:07:19 treectrl Exp $ */ #include "tkTreeCtrl.h" -typedef struct Marquee Marquee; +typedef struct TreeMarquee_ TreeMarquee_; /* * The following structure holds info about the selection rectangle. * There is one of these per TreeCtrl. */ -struct Marquee +struct TreeMarquee_ { TreeCtrl *tree; Tk_OptionTable optionTable; @@ -32,7 +32,7 @@ struct Marquee static Tk_OptionSpec optionSpecs[] = { {TK_OPTION_BOOLEAN, "-visible", (char *) NULL, (char *) NULL, - "0", -1, Tk_Offset(Marquee, visible), + "0", -1, Tk_Offset(TreeMarquee_, visible), 0, (ClientData) NULL, MARQ_CONF_VISIBLE}, {TK_OPTION_END, (char *) NULL, (char *) NULL, (char *) NULL, (char *) NULL, 0, -1, 0, 0, 0} @@ -60,19 +60,19 @@ TreeMarquee_Init( TreeCtrl *tree /* Widget info. */ ) { - Marquee *marquee; + TreeMarquee marquee; - marquee = (Marquee *) ckalloc(sizeof(Marquee)); - memset(marquee, '\0', sizeof(Marquee)); + marquee = (TreeMarquee) ckalloc(sizeof(TreeMarquee_)); + memset(marquee, '\0', sizeof(TreeMarquee_)); marquee->tree = tree; marquee->optionTable = Tk_CreateOptionTable(tree->interp, optionSpecs); if (Tk_InitOptions(tree->interp, (char *) marquee, marquee->optionTable, tree->tkwin) != TCL_OK) { - WFREE(marquee, Marquee); + WFREE(marquee, TreeMarquee_); return TCL_ERROR; } - tree->marquee = (TreeMarquee) marquee; + tree->marquee = marquee; return TCL_OK; } @@ -94,14 +94,12 @@ TreeMarquee_Init( void TreeMarquee_Free( - TreeMarquee marquee_ /* Marquee token. */ + TreeMarquee marquee /* Marquee token. */ ) { - Marquee *marquee = (Marquee *) marquee_; - Tk_FreeConfigOptions((char *) marquee, marquee->optionTable, marquee->tree->tkwin); - WFREE(marquee, Marquee); + WFREE(marquee, TreeMarquee_); } /* @@ -123,17 +121,16 @@ TreeMarquee_Free( void TreeMarquee_Display( - TreeMarquee marquee_ /* Marquee token. */ + TreeMarquee marquee /* Marquee token. */ ) { - Marquee *marquee = (Marquee *) marquee_; TreeCtrl *tree = marquee->tree; if (!marquee->onScreen && marquee->visible) { marquee->sx = 0 - tree->xOrigin; marquee->sy = 0 - tree->yOrigin; - TreeMarquee_Draw(marquee_, Tk_WindowId(tree->tkwin), marquee->sx, marquee->sy); + TreeMarquee_Draw(marquee, Tk_WindowId(tree->tkwin), marquee->sx, marquee->sy); marquee->onScreen = TRUE; } } @@ -156,15 +153,14 @@ TreeMarquee_Display( void TreeMarquee_Undisplay( - TreeMarquee marquee_ /* Marquee token. */ + TreeMarquee marquee /* Marquee token. */ ) { - Marquee *marquee = (Marquee *) marquee_; TreeCtrl *tree = marquee->tree; if (marquee->onScreen) { - TreeMarquee_Draw(marquee_, Tk_WindowId(tree->tkwin), marquee->sx, marquee->sy); + TreeMarquee_Draw(marquee, Tk_WindowId(tree->tkwin), marquee->sx, marquee->sy); marquee->onScreen = FALSE; } } @@ -187,13 +183,12 @@ TreeMarquee_Undisplay( void TreeMarquee_Draw( - TreeMarquee marquee_, /* Marquee token. */ + TreeMarquee marquee, /* Marquee token. */ Drawable drawable, /* Where to draw. */ int x1, int y1 /* Offset of canvas from top-left corner * of the window. */ ) { - Marquee *marquee = (Marquee *) marquee_; TreeCtrl *tree = marquee->tree; int x, y, w, h; DotState dotState; @@ -230,7 +225,7 @@ TreeMarquee_Draw( static int Marquee_Config( - Marquee *marquee, /* Marquee record. */ + TreeMarquee marquee, /* Marquee record. */ int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[] /* Argument values. */ ) @@ -273,8 +268,8 @@ Marquee_Config( if (mask & MARQ_CONF_VISIBLE) { - TreeMarquee_Undisplay((TreeMarquee) marquee); - TreeMarquee_Display((TreeMarquee) marquee); + TreeMarquee_Undisplay(marquee); + TreeMarquee_Display(marquee); } return TCL_OK; @@ -307,7 +302,7 @@ TreeMarqueeCmd( ) { TreeCtrl *tree = (TreeCtrl *) clientData; - Marquee *marquee = (Marquee *) tree->marquee; + TreeMarquee marquee = tree->marquee; static CONST char *commandNames[] = { "anchor", "cget", "configure", "coords", "corner", "identify", (char *) NULL }; enum { COMMAND_ANCHOR, COMMAND_CGET, COMMAND_CONFIGURE, COMMAND_COORDS, -- cgit v0.12