Started uiGrid.
This commit is contained in:
parent
04b83a2680
commit
075eae15e5
|
@ -9,10 +9,6 @@ _add_exec(tester
|
||||||
main.c
|
main.c
|
||||||
menus.c
|
menus.c
|
||||||
page1.c
|
page1.c
|
||||||
page10.c
|
|
||||||
page11.c
|
|
||||||
page12.c
|
|
||||||
page13.c
|
|
||||||
page2.c
|
page2.c
|
||||||
page3.c
|
page3.c
|
||||||
page4.c
|
page4.c
|
||||||
|
@ -24,6 +20,11 @@ _add_exec(tester
|
||||||
page7c.c
|
page7c.c
|
||||||
page8.c
|
page8.c
|
||||||
page9.c
|
page9.c
|
||||||
|
page10.c
|
||||||
|
page11.c
|
||||||
|
page12.c
|
||||||
|
page13.c
|
||||||
|
page14.c
|
||||||
spaced.c
|
spaced.c
|
||||||
${_TEST_RESOURCES_RC}
|
${_TEST_RESOURCES_RC}
|
||||||
)
|
)
|
||||||
|
|
|
@ -48,6 +48,7 @@ int main(int argc, char *argv[])
|
||||||
uiBox *page2, *page3, *page4, *page5;
|
uiBox *page2, *page3, *page4, *page5;
|
||||||
uiBox *page6, *page7, *page8, *page9, *page10;
|
uiBox *page6, *page7, *page8, *page9, *page10;
|
||||||
uiBox *page11, *page12, *page13;
|
uiBox *page11, *page12, *page13;
|
||||||
|
uiTab *page14;
|
||||||
uiTab *outerTab;
|
uiTab *outerTab;
|
||||||
uiTab *innerTab;
|
uiTab *innerTab;
|
||||||
int nomenus = 0;
|
int nomenus = 0;
|
||||||
|
@ -144,6 +145,9 @@ int main(int argc, char *argv[])
|
||||||
page13 = makePage13();
|
page13 = makePage13();
|
||||||
uiTabAppend(innerTab, "Page 13", uiControl(page13));
|
uiTabAppend(innerTab, "Page 13", uiControl(page13));
|
||||||
|
|
||||||
|
page14 = makePage14();
|
||||||
|
uiTabAppend(innerTab, "Page 14", uiControl(page14));
|
||||||
|
|
||||||
if (startspaced)
|
if (startspaced)
|
||||||
setSpaced(1);
|
setSpaced(1);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
// 9 june 2016
|
||||||
|
#include "test.h"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
red,
|
||||||
|
green,
|
||||||
|
blue,
|
||||||
|
yellow,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
double r;
|
||||||
|
double g;
|
||||||
|
double b;
|
||||||
|
} colors[] = {
|
||||||
|
{ 1, 0, 0 },
|
||||||
|
{ 0, 0.5, 0 },
|
||||||
|
{ 0, 0, 1 },
|
||||||
|
{ 1, 1, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
static uiControl *testControl(const char *label, int color)
|
||||||
|
{
|
||||||
|
uiColorButton *b;
|
||||||
|
|
||||||
|
b = uiNewColorButton();
|
||||||
|
uiColorButtonSetColor(b, colors[color].r, colors[color].g, colors[color].b, 1.0);
|
||||||
|
return uiControl(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static uiControl *simpleGrid(void)
|
||||||
|
{
|
||||||
|
uiGrid *g;
|
||||||
|
uiControl *t4;
|
||||||
|
|
||||||
|
g = newGrid();
|
||||||
|
|
||||||
|
uiGridAppend(g, testControl("1", red),
|
||||||
|
0, 0, 1, 1,
|
||||||
|
0, uiAlignFill, 0, uiAlignFill);
|
||||||
|
uiGridAppend(g, testControl("2", green),
|
||||||
|
1, 0, 1, 1,
|
||||||
|
0, uiAlignFill, 0, uiAlignFill);
|
||||||
|
uiGridAppend(g, testControl("3", blue),
|
||||||
|
2, 0, 1, 1,
|
||||||
|
0, uiAlignFill, 0, uiAlignFill);
|
||||||
|
t4 = testControl("4", green);
|
||||||
|
uiGridAppend(g, t4,
|
||||||
|
0, 1, 1, 1,
|
||||||
|
0, uiAreaFill, 1, uiAreaFill);
|
||||||
|
uiGridInsertAt(g, testControl("5", blue),
|
||||||
|
t4, uiAtTrailing, 2, 1,
|
||||||
|
0, uiAreaFill, 0, uiAreaFill);
|
||||||
|
uiGridAppend(g, testControl("6", yellow),
|
||||||
|
-1, 0, 1, 2,
|
||||||
|
1, uiAreaFill, 0, uiAreaFill);
|
||||||
|
|
||||||
|
return uiControl(g);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct {
|
||||||
|
const char *name;
|
||||||
|
uiControl *(*f)(void);
|
||||||
|
} pages[] = {
|
||||||
|
{ "Simple Grid", simpleGrid }, // from GTK+ test/testgrid.c
|
||||||
|
{ NULL, NULL },
|
||||||
|
}
|
||||||
|
|
||||||
|
uiTab *makePage14(void)
|
||||||
|
{
|
||||||
|
uiTab *page14;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
page14 = newTab();
|
||||||
|
|
||||||
|
for (i = 0; pages[i].name != NULL; i++)
|
||||||
|
uiTabAppend(page14,
|
||||||
|
pages[i].name,
|
||||||
|
(*(pages[i].f))());
|
||||||
|
|
||||||
|
return page14;
|
||||||
|
}
|
|
@ -32,6 +32,7 @@ enum types {
|
||||||
tab,
|
tab,
|
||||||
group,
|
group,
|
||||||
form,
|
form,
|
||||||
|
grid,
|
||||||
};
|
};
|
||||||
|
|
||||||
void setSpaced(int spaced)
|
void setSpaced(int spaced)
|
||||||
|
@ -60,6 +61,9 @@ void setSpaced(int spaced)
|
||||||
case form:
|
case form:
|
||||||
uiFormSetPadded(uiForm(p), spaced);
|
uiFormSetPadded(uiForm(p), spaced);
|
||||||
break;
|
break;
|
||||||
|
case grid:
|
||||||
|
uiGridSetPadded(uiGrid(p), spaced);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -93,6 +97,7 @@ void querySpaced(char out[12]) // more than enough
|
||||||
m++;
|
m++;
|
||||||
break;
|
break;
|
||||||
// TODO form
|
// TODO form
|
||||||
|
// TODO grid
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,3 +166,12 @@ uiForm *newForm(void)
|
||||||
append(f, form);
|
append(f, form);
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uiGrid *newGrid(void)
|
||||||
|
{
|
||||||
|
uiGrid *g;
|
||||||
|
|
||||||
|
g = uiNewGrid();
|
||||||
|
append(g, grid);
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ extern uiBox *newVerticalBox(void);
|
||||||
extern uiTab *newTab(void);
|
extern uiTab *newTab(void);
|
||||||
extern uiGroup *newGroup(const char *);
|
extern uiGroup *newGroup(const char *);
|
||||||
extern uiForm *newForm(void);
|
extern uiForm *newForm(void);
|
||||||
|
extern uiGrid *newGrid(void);
|
||||||
|
|
||||||
// menus.c
|
// menus.c
|
||||||
extern uiMenuItem *shouldQuitItem;
|
extern uiMenuItem *shouldQuitItem;
|
||||||
|
@ -81,3 +82,6 @@ extern uiBox *makePage12(void);
|
||||||
|
|
||||||
// page13.c
|
// page13.c
|
||||||
extern uiBox *makePage13(void);
|
extern uiBox *makePage13(void);
|
||||||
|
|
||||||
|
// page14.c
|
||||||
|
extern uiTab *makePage14(void);
|
||||||
|
|
22
ui.h
22
ui.h
|
@ -627,6 +627,28 @@ _UI_EXTERN int uiFormPadded(uiForm *f);
|
||||||
_UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
|
_UI_EXTERN void uiFormSetPadded(uiForm *f, int padded);
|
||||||
_UI_EXTERN uiForm *uiNewForm(void);
|
_UI_EXTERN uiForm *uiNewForm(void);
|
||||||
|
|
||||||
|
_UI_ENUM(uiAlign) {
|
||||||
|
uiAlignFill,
|
||||||
|
uiAlignStart,
|
||||||
|
uiAlignCenter,
|
||||||
|
uiAlignEnd,
|
||||||
|
};
|
||||||
|
|
||||||
|
_UI_ENUM(uiAt) {
|
||||||
|
uiAtLeading,
|
||||||
|
uiAtTop,
|
||||||
|
uiAtTrailing,
|
||||||
|
uiAtBottom,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct uiGrid uiGrid;
|
||||||
|
#define uiGrid(this) ((uiGrid *) (this))
|
||||||
|
_UI_EXTERN void uiGridAppend(uiGrid *g, uiControl *c, intmax_t left, intmax_t top, intmax_t xspan, intmax_t yspan, int hexpand, uiAlign halign, int vexpand, uiAlign valign);
|
||||||
|
_UI_EXTERN void uiGridInsertAt(uiGrid *g, uiControl *c, uiControl *existing, uiAt at, intmax_t xspan, intmax_t yspan, int hexpand, uiAlign halign, int vexpand, uiAlign valign);
|
||||||
|
_UI_EXTERN int uiGridPadded(uiGrid *g);
|
||||||
|
_UI_EXTERN void uiGridSetPadded(uiGrid *g, int padded);
|
||||||
|
_UI_EXTERN uiGrid *uiNewGrid(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue