diff options
Diffstat (limited to 'generic/tkTreeItem.c')
-rw-r--r-- | generic/tkTreeItem.c | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/generic/tkTreeItem.c b/generic/tkTreeItem.c index 75300af..c23649d 100644 --- a/generic/tkTreeItem.c +++ b/generic/tkTreeItem.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002-2006 Tim Baker * - * RCS: @(#) $Id: tkTreeItem.c,v 1.90 2006/11/18 04:35:55 treectrl Exp $ + * RCS: @(#) $Id: tkTreeItem.c,v 1.91 2006/11/19 00:48:14 treectrl Exp $ */ #include "tkTreeCtrl.h" @@ -6491,6 +6491,48 @@ ItemSortCmd( /* *---------------------------------------------------------------------- * + * TreeItemList_Sort -- + * + * Sorts a list of items. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------- + */ + +static int +TILSCompare( + CONST VOID *first_, + CONST VOID *second_ + ) +{ + TreeItem first = *(TreeItem *) first_; + TreeItem second = *(TreeItem *) second_; + + return first->index - second->index; +} + +void +TreeItemList_Sort( + TreeItemList *items + ) +{ + Tree_UpdateItemIndex(items->tree); + + /* TkTable uses this, but mentions possible lack of thread-safety. */ + qsort((VOID *) TreeItemList_Items(items), + (size_t) TreeItemList_Count(items), + sizeof(TreeItem), + TILSCompare); +} + +/* + *---------------------------------------------------------------------- + * * ItemStateCmd -- * * This procedure is invoked to process the [item state] widget |