add resource wdw folder expanders, fix plugin close deadlock detect
[goodguy/history.git] / cinelerra-5.1 / guicast / bclistboxitem.C
index 0b0987db10046b3304589d04f1173cf26b18c762..c5d9d145638979080de61fdd04a913e1f10e213a 100644 (file)
@@ -2,21 +2,21 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
+ *
  */
 
 #include "bclistboxitem.h"
@@ -39,8 +39,8 @@ BC_ListBoxItem::BC_ListBoxItem()
        selectable = 1;
 }
 
-BC_ListBoxItem::BC_ListBoxItem(const char *text, 
-       BC_Pixmap *icon, 
+BC_ListBoxItem::BC_ListBoxItem(const char *text,
+       BC_Pixmap *icon,
        int color)
 {
        initialize();
@@ -72,7 +72,7 @@ BC_ListBoxItem::~BC_ListBoxItem()
        {
                for(int i = 0; i < columns; i++)
                        sublist[i].remove_all_objects();
-               delete sublist;
+               delete [] sublist;
        }
 }
 
@@ -157,4 +157,15 @@ ArrayList<BC_ListBoxItem*>* BC_ListBoxItem::new_sublist(int columns)
        return sublist;
 }
 
+int BC_ListBoxItem::compare_item_text(const void *a, const void *b)
+{
+       BC_ListBoxItem *ap = *(BC_ListBoxItem**)a, *bp = *(BC_ListBoxItem**)b;
+       return strcmp(ap->text, bp->text);
+}
+
+void BC_ListBoxItem::sort_items(ArrayList<BC_ListBoxItem*> &items)
+{
+       qsort(&items[0], items.size(), sizeof(items[0]), compare_item_text);
+}
+