static void updateThemeList(_Panel *panel) { WMClearList(panel->list); }
static void removeColumn(WMBrowser * bPtr, int column) { int i, clearEnd, destroyEnd; WMList **clist; char **tlist; assert(bPtr != NULL); column = (column < 0) ? 0 : column; if (column >= bPtr->columnCount) { return; } if (column < bPtr->maxVisibleColumns) { clearEnd = bPtr->maxVisibleColumns; destroyEnd = bPtr->columnCount; bPtr->columnCount = bPtr->maxVisibleColumns; } else { clearEnd = column; destroyEnd = bPtr->columnCount; bPtr->columnCount = column; } if (column < bPtr->usedColumnCount) { bPtr->usedColumnCount = column; } for (i = column; i < clearEnd; i++) { if (bPtr->titles[i]) { wfree(bPtr->titles[i]); bPtr->titles[i] = NULL; } WMClearList(bPtr->columns[i]); } for (; i < destroyEnd; i++) { if (bPtr->titles[i]) { wfree(bPtr->titles[i]); bPtr->titles[i] = NULL; } WMRemoveNotificationObserverWithName(bPtr, WMListSelectionDidChangeNotification, bPtr->columns[i]); WMDestroyWidget(bPtr->columns[i]); bPtr->columns[i] = NULL; } clist = wmalloc(sizeof(WMList *) * (bPtr->columnCount)); tlist = wmalloc(sizeof(char *) * (bPtr->columnCount)); memcpy(clist, bPtr->columns, sizeof(WMList *) * (bPtr->columnCount)); memcpy(tlist, bPtr->titles, sizeof(char *) * (bPtr->columnCount)); wfree(bPtr->titles); wfree(bPtr->columns); bPtr->titles = tlist; bPtr->columns = clist; }