aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/test/page3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libui_sdl/libui/test/page3.c')
-rw-r--r--src/libui_sdl/libui/test/page3.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/libui_sdl/libui/test/page3.c b/src/libui_sdl/libui/test/page3.c
new file mode 100644
index 0000000..1f229e9
--- /dev/null
+++ b/src/libui_sdl/libui/test/page3.c
@@ -0,0 +1,69 @@
+// 7 may 2015
+#include "test.h"
+
+static uiBox *makeSet(int omit, int hidden, int stretch)
+{
+ uiBox *hbox;
+ uiButton *buttons[4];
+
+ // don't use newHorizontalBox()
+ // the point of this test is to test hidden controls and padded
+ hbox = (*newhbox)();
+ uiBoxSetPadded(hbox, 1);
+ if (omit != 0) {
+ buttons[0] = uiNewButton("First");
+ uiBoxAppend(hbox, uiControl(buttons[0]), stretch);
+ }
+ if (omit != 1) {
+ buttons[1] = uiNewButton("Second");
+ uiBoxAppend(hbox, uiControl(buttons[1]), stretch);
+ }
+ if (omit != 2) {
+ buttons[2] = uiNewButton("Third");
+ uiBoxAppend(hbox, uiControl(buttons[2]), stretch);
+ }
+ if (omit != 3) {
+ buttons[3] = uiNewButton("Fourth");
+ uiBoxAppend(hbox, uiControl(buttons[3]), stretch);
+ }
+ if (hidden != -1)
+ uiControlHide(uiControl(buttons[hidden]));
+ return hbox;
+}
+
+uiBox *makePage3(void)
+{
+ uiBox *page3;
+ uiBox *hbox;
+ uiBox *hbox2;
+ uiBox *vbox;
+ int hidden;
+
+ page3 = newVerticalBox();
+
+ // first the non-stretchy type
+ for (hidden = 0; hidden < 4; hidden++) {
+ // these two must stay unpadded as well, otherwise the test isn't meaningful
+ hbox2 = (*newhbox)();
+ vbox = (*newvbox)();
+ // reference set
+ hbox = makeSet(hidden, -1, 0);
+ uiBoxAppend(vbox, uiControl(hbox), 0);
+ // real thing
+ hbox = makeSet(-1, hidden, 0);
+ uiBoxAppend(vbox, uiControl(hbox), 0);
+ // pack vbox in
+ uiBoxAppend(hbox2, uiControl(vbox), 0);
+ // and have a button in there for showing right margins
+ uiBoxAppend(hbox2, uiControl(uiNewButton("Right Margin Test")), 1);
+ uiBoxAppend(page3, uiControl(hbox2), 0);
+ }
+
+ // then the stretchy type
+ for (hidden = 0; hidden < 4; hidden++) {
+ hbox = makeSet(-1, hidden, 1);
+ uiBoxAppend(page3, uiControl(hbox), 0);
+ }
+
+ return page3;
+}