From 89188be968ac39e0e12077e6b596efaf00d06986 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sun, 8 Mar 2026 10:12:57 -0700 Subject: Store strings inside table cells for simplicity --- src/widget/table.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/widget/table.c') diff --git a/src/widget/table.c b/src/widget/table.c index 7a0ea03..dfb2e69 100644 --- a/src/widget/table.c +++ b/src/widget/table.c @@ -33,7 +33,7 @@ uiTable* uiMakeTable(int rows, int cols, const char** header) { if (header) { for (int col = 0; col < cols; ++col) { - table->header[col].child = (uiWidget*)uiMakeLabel(header[col]); + table->header[col].text = string_new(header[col]); } } @@ -47,7 +47,7 @@ void uiTableClear(uiTable* table) { if (table->cells) { for (int row = 0; row < table->rows; ++row) { for (int col = 0; col < table->cols; ++col) { - DestroyWidget(&table->cells[row][col].child); + string_del(&table->cells[row][col].text); } free(table->cells[row]); } @@ -81,23 +81,17 @@ void uiTableAddRow(uiTable* table, const char** row) { uiCell* lastRow = *pLastRow; for (int col = 0; col < table->cols; ++col) { - lastRow[col].child = (uiWidget*)uiMakeLabel(row[col]); + lastRow[col].text = string_new(row[col]); } } -void uiTableSet(uiTable* table, int row, int col, uiPtr child) { +void uiTableSet(uiTable* table, int row, int col, const char* text) { assert(table); - assert(child.widget); - - GetCellMut(table, row, col)->child = child.widget; -} - -const uiWidget* uiTableGet(const uiTable* table, int row, int col) { - assert(table); - return GetCell(table, row, col)->child; + assert(text); + GetCellMut(table, row, col)->text = string_new(text); } -uiWidget* uiTableGetMut(uiTable* table, int row, int col) { +const char* uiTableGet(const uiTable* table, int row, int col) { assert(table); - return GetCellMut(table, row, col)->child; + return string_data(GetCell(table, row, col)->text); } -- cgit v1.2.3