Laid the foundation for uiTable: common code and a test. Now to start actually implementing it.
This commit is contained in:
parent
aa2e8cf4f5
commit
b21ec6cf6b
|
@ -6,6 +6,7 @@ list(APPEND _LIBUI_SOURCES
|
||||||
common/debug.c
|
common/debug.c
|
||||||
common/matrix.c
|
common/matrix.c
|
||||||
common/shouldquit.c
|
common/shouldquit.c
|
||||||
|
common/table.c
|
||||||
common/userbugs.c
|
common/userbugs.c
|
||||||
)
|
)
|
||||||
set(_LIBUI_SOURCES ${_LIBUI_SOURCES} PARENT_SCOPE)
|
set(_LIBUI_SOURCES ${_LIBUI_SOURCES} PARENT_SCOPE)
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
// 21 june 2016
|
||||||
|
#include "uipriv.h"
|
||||||
|
|
||||||
|
uiTableColumn *uiTableAppendTextColumn(uiTable *t, const char *name, int modelColumn)
|
||||||
|
{
|
||||||
|
uiTableColumn *tc;
|
||||||
|
uiTableCellPart *part;
|
||||||
|
|
||||||
|
part = uiNewTableTextPart(modelColumn);
|
||||||
|
tc = uiTableAppendColumn(t, name);
|
||||||
|
uiTableColumnAppend(tc, part, 1);
|
||||||
|
return tc;
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ _add_exec(tester
|
||||||
page13.c
|
page13.c
|
||||||
page14.c
|
page14.c
|
||||||
page15.c
|
page15.c
|
||||||
|
page16.c
|
||||||
spaced.c
|
spaced.c
|
||||||
${_TEST_RESOURCES_RC}
|
${_TEST_RESOURCES_RC}
|
||||||
)
|
)
|
||||||
|
|
|
@ -50,6 +50,7 @@ int main(int argc, char *argv[])
|
||||||
uiBox *page11, *page12, *page13;
|
uiBox *page11, *page12, *page13;
|
||||||
uiTab *page14;
|
uiTab *page14;
|
||||||
uiBox *page15;
|
uiBox *page15;
|
||||||
|
uiBox *page16;
|
||||||
uiTab *outerTab;
|
uiTab *outerTab;
|
||||||
uiTab *innerTab;
|
uiTab *innerTab;
|
||||||
int nomenus = 0;
|
int nomenus = 0;
|
||||||
|
@ -138,7 +139,7 @@ int main(int argc, char *argv[])
|
||||||
uiTabAppend(innerTab, "Page 10", uiControl(page10));
|
uiTabAppend(innerTab, "Page 10", uiControl(page10));
|
||||||
|
|
||||||
innerTab = newTab();
|
innerTab = newTab();
|
||||||
uiTabAppend(outerTab, "Pages 11-?", uiControl(innerTab));
|
uiTabAppend(outerTab, "Pages 11-15", uiControl(innerTab));
|
||||||
|
|
||||||
// page11 = makePage11();
|
// page11 = makePage11();
|
||||||
// uiTabAppend(innerTab, "Page 11", uiControl(page11));
|
// uiTabAppend(innerTab, "Page 11", uiControl(page11));
|
||||||
|
@ -155,6 +156,12 @@ int main(int argc, char *argv[])
|
||||||
page15 = makePage15(w);
|
page15 = makePage15(w);
|
||||||
uiTabAppend(innerTab, "Page 15", uiControl(page15));
|
uiTabAppend(innerTab, "Page 15", uiControl(page15));
|
||||||
|
|
||||||
|
innerTab = newTab();
|
||||||
|
uiTabAppend(outerTab, "Pages 16-?", uiControl(innerTab));
|
||||||
|
|
||||||
|
page16 = makePage16();
|
||||||
|
uiTabAppend(innerTab, "Page 16", uiControl(page16));
|
||||||
|
|
||||||
if (startspaced)
|
if (startspaced)
|
||||||
setSpaced(1);
|
setSpaced(1);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
// 21 june 2016
|
||||||
|
#include "test.h"
|
||||||
|
|
||||||
|
static uiTableModelHandler mh;
|
||||||
|
|
||||||
|
static nt modelNumColumns(uiTableModel *m)
|
||||||
|
{
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
static uiTableModelColumnType modelColumnType(uiTableModel *m, int column)
|
||||||
|
{
|
||||||
|
return uiTableModelColumnString;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int modelNumRows(uiTableModel *m)
|
||||||
|
{
|
||||||
|
return 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *modelCellValue(uiTableModel *m, int row, int col)
|
||||||
|
{
|
||||||
|
char buf[256];
|
||||||
|
|
||||||
|
switch (col) {
|
||||||
|
case 0:
|
||||||
|
sprintf(buf, "Row %d", row);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
strcpy(buf, "Part");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return uiTableModelStrdup(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void modelSetCellValue(uiTableModel *m, int row, int col, void *val)
|
||||||
|
{
|
||||||
|
// not implemented yet
|
||||||
|
}
|
||||||
|
|
||||||
|
uiBox *makePage16(void)
|
||||||
|
{
|
||||||
|
uiBox *page16;
|
||||||
|
uiTableModel *m;
|
||||||
|
uiTable *t;
|
||||||
|
uiTableColumn *tc;
|
||||||
|
|
||||||
|
page16 = newVerticalBox();
|
||||||
|
|
||||||
|
mh.NumColumns = modelNumColumns;
|
||||||
|
mh.ColumnType = modelColumnType;
|
||||||
|
mh.NumRows = modelNumRows;
|
||||||
|
mh.CellValue = modelCellValue;
|
||||||
|
mh.SetCellValue = modelSetCellValue;
|
||||||
|
m = uiNewTableModel(&mh);
|
||||||
|
|
||||||
|
t = uiNewTable(m);
|
||||||
|
uiBoxAppend(page16, uiControl(t), 1);
|
||||||
|
|
||||||
|
uiTableAppendTextColumn(t, "Column 1", 0);
|
||||||
|
|
||||||
|
tc = uiTableAppendColumn(t, "Column 2");
|
||||||
|
uiTableColumnAppend(tc, uiNewTableTextPart(1), 0);
|
||||||
|
uiTableColumnAppend(tc, uiNewTableTextPart(2), 1);
|
||||||
|
|
||||||
|
return page16;
|
||||||
|
}
|
|
@ -89,3 +89,6 @@ extern uiTab *makePage14(void);
|
||||||
|
|
||||||
// page15.c
|
// page15.c
|
||||||
extern uiBox *makePage15(uiWindow *);
|
extern uiBox *makePage15(uiWindow *);
|
||||||
|
|
||||||
|
// page16.c
|
||||||
|
extern uiBox *makePage16(void);
|
||||||
|
|
Loading…
Reference in New Issue