libui/redo/test/page5.c

96 lines
1.9 KiB
C

// 22 may 2015
#include "test.h"
static void openFile(uiButton *b, void *data)
{
char *fn;
fn = uiOpenFile();
if (fn == NULL)
uiLabelSetText(uiLabel(data), "(cancelled)");
else {
uiLabelSetText(uiLabel(data), fn);
uiFreeText(fn);
}
}
static void saveFile(uiButton *b, void *data)
{
char *fn;
fn = uiSaveFile();
if (fn == NULL)
uiLabelSetText(uiLabel(data), "(cancelled)");
else {
uiLabelSetText(uiLabel(data), fn);
uiFreeText(fn);
}
}
static uiEntry *title, *description;
static void msgBox(uiButton *b, void *data)
{
char *t, *d;
t = uiEntryText(title);
d = uiEntryText(description);
uiMsgBox(t, d);
uiFreeText(d);
uiFreeText(t);
}
static void msgBoxError(uiButton *b, void *data)
{
char *t, *d;
t = uiEntryText(title);
d = uiEntryText(description);
uiMsgBoxError(t, d);
uiFreeText(d);
uiFreeText(t);
}
uiBox *makePage5(void)
{
uiBox *page5;
uiBox *hbox;
uiButton *button;
uiLabel *label;
page5 = newVerticalBox();
#define D(n, f) \
hbox = newHorizontalBox(); \
button = uiNewButton(n); \
label = uiNewLabel(""); \
uiButtonOnClicked(button, f, label); \
uiBoxAppend(hbox, uiControl(button), 0); \
uiBoxAppend(hbox, uiControl(label), 0); \
uiBoxAppend(page5, uiControl(hbox), 0);
D("Open File", openFile);
D("Save File", saveFile);
title = uiNewEntry();
uiEntrySetText(title, "Title");
description = uiNewEntry();
uiEntrySetText(description, "Description");
hbox = newHorizontalBox();
button = uiNewButton("Message Box");
uiButtonOnClicked(button, msgBox, NULL);
uiBoxAppend(hbox, uiControl(button), 0);
uiBoxAppend(hbox, uiControl(title), 0);
uiBoxAppend(page5, uiControl(hbox), 0);
hbox = newHorizontalBox();
button = uiNewButton("Error Box");
uiButtonOnClicked(button, msgBoxError, NULL);
uiBoxAppend(hbox, uiControl(button), 0);
uiBoxAppend(hbox, uiControl(description), 0);
uiBoxAppend(page5, uiControl(hbox), 0);
return page5;
}