From 4fc345077b6634c2b8a9571427aebfc29cb3e608 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Wed, 2 Sep 2015 21:12:24 -0400 Subject: [PATCH] Added a control gallery example. --- examples/controlgallery/GNUmakefile | 29 ++++ examples/controlgallery/main.c | 218 ++++++++++++++++++++++++++++ examples/controlgallery/unix.png | Bin 0 -> 40108 bytes 3 files changed, 247 insertions(+) create mode 100644 examples/controlgallery/GNUmakefile create mode 100644 examples/controlgallery/main.c create mode 100644 examples/controlgallery/unix.png diff --git a/examples/controlgallery/GNUmakefile b/examples/controlgallery/GNUmakefile new file mode 100644 index 00000000..32017fbc --- /dev/null +++ b/examples/controlgallery/GNUmakefile @@ -0,0 +1,29 @@ +# 2 september 2015 + +OUT = controlgallery + +ifeq ($(OS),windows) +linkto = ../../out/new.dll +CC = i686-w64-mingw32-gcc +OUT = controlgallery.exe +else +ifeq ($(OS),darwin) +linkto = ../../out/new.dylib +else +linkto = ../../out/new.so +endif +endif + +CFILES = \ + main.c + +OFILES = $(CFILES:%.c=%.o) + +controlgallery: $(OFILES) + $(CC) -g -o $(OUT) $(OFILES) $(linkto) + +%.o: %.c + $(CC) -c -g -o $@ $< + +clean: + rm -f $(OUT) $(OFILES) diff --git a/examples/controlgallery/main.c b/examples/controlgallery/main.c new file mode 100644 index 00000000..d45d5a3d --- /dev/null +++ b/examples/controlgallery/main.c @@ -0,0 +1,218 @@ +// 2 september 2015 +#include +#include +#include "../../ui.h" + +static uiWindow *mainwin; + +static int onClosing(uiWindow *w, void *data) +{ + uiControlDestroy(uiControl(mainwin)); + uiQuit(); + return 0; +} + +static int shouldQuit(void *data) +{ + uiControlDestroy(uiControl(mainwin)); + return 1; +} + +static void openClicked(uiMenuItem *item, uiWindow *w, void *data) +{ + char *filename; + + filename = uiOpenFile(); + if (filename == NULL) { + uiMsgBoxError("No file selected", "Don't be alarmed!"); + return; + } + uiMsgBox("File selected", filename); + uiFreeText(filename); +} + +static void saveClicked(uiMenuItem *item, uiWindow *w, void *data) +{ + char *filename; + + filename = uiSaveFile(); + if (filename == NULL) { + uiMsgBoxError("No file selected", "Don't be alarmed!"); + return; + } + uiMsgBox("File selected (don't worry, it's still there)", filename); + uiFreeText(filename); +} + +static uiSpinbox *spinbox; +static uiSlider *slider; +static uiProgressBar *progressbar; + +static void update(intmax_t value) +{ + uiSpinboxSetValue(spinbox, value); + uiSliderSetValue(slider, value); + uiProgressBarSetValue(progressbar, value); +} + +static void onSpinboxChanged(uiSpinbox *s, void *data) +{ + update(uiSpinboxValue(spinbox)); +} + +static void onSliderChanged(uiSlider *s, void *data) +{ + update(uiSliderValue(slider)); +} + +int main(void) +{ + uiInitOptions o; + const char *err; + uiMenu *menu; + uiMenuItem *item; + uiBox *box; + uiGroup *group; + uiBox *inner; + uiBox *inner2; + uiEntry *entry; + uiCombobox *cbox; + uiRadioButtons *rb; + uiTab *tab; + + memset(&o, 0, sizeof (uiInitOptions)); + err = uiInit(&o); + if (err != NULL) { + fprintf(stderr, "error initializing ui: %s\n", err); + uiFreeInitError(err); + return 1; + } + + menu = uiNewMenu("File"); + item = uiMenuAppendItem(menu, "Open"); + uiMenuItemOnClicked(item, openClicked, NULL); + item = uiMenuAppendItem(menu, "Save"); + uiMenuItemOnClicked(item, saveClicked, NULL); + item = uiMenuAppendQuitItem(menu); + uiOnShouldQuit(shouldQuit, NULL); + + menu = uiNewMenu("Edit"); + item = uiMenuAppendCheckItem(menu, "Checkable Item"); + uiMenuAppendSeparator(menu); + item = uiMenuAppendItem(menu, "Disabled Item"); + uiMenuItemDisable(item); + item = uiMenuAppendPreferencesItem(menu); + + menu = uiNewMenu("Help"); + item = uiMenuAppendItem(menu, "Help"); + item = uiMenuAppendAboutItem(menu); + + mainwin = uiNewWindow("libui Control Gallery", 640, 480, 1); + uiWindowSetMargined(mainwin, 1); + uiWindowOnClosing(mainwin, onClosing, NULL); + + box = uiNewVerticalBox(); + uiBoxSetPadded(box, 1); + uiWindowSetChild(mainwin, uiControl(box)); + + group = uiNewGroup("Buttons and Text"); + uiGroupSetMargined(group, 1); + uiBoxAppend(box, uiControl(group), 0); + + inner = uiNewHorizontalBox(); + uiBoxSetPadded(inner, 1); + uiGroupSetChild(group, uiControl(inner)); + + inner2 = uiNewVerticalBox(); + uiBoxSetPadded(inner2, 1); + uiBoxAppend(inner, uiControl(inner2), 1); + + uiBoxAppend(inner2, + uiControl(uiNewButton("Button")), + 0); + uiBoxAppend(inner2, + uiControl(uiNewCheckbox("Checkbox")), + 0); + entry = uiNewEntry(); + uiEntrySetText(entry, "Entry"); + uiBoxAppend(inner2, + uiControl(entry), + 0); + uiBoxAppend(inner2, + uiControl(uiNewLabel("Label")), + 0); + + inner2 = uiNewVerticalBox(); + uiBoxSetPadded(inner2, 1); + uiBoxAppend(inner, uiControl(inner2), 1); + + uiBoxAppend(inner2, + uiControl(uiNewDatePicker()), + 0); + uiBoxAppend(inner2, + uiControl(uiNewTimePicker()), + 0); + uiBoxAppend(inner2, + uiControl(uiNewDateTimePicker()), + 0); + + group = uiNewGroup("Numbers"); + uiGroupSetMargined(group, 1); + uiBoxAppend(box, uiControl(group), 0); + + inner = uiNewVerticalBox(); + uiBoxSetPadded(inner, 1); + uiGroupSetChild(group, uiControl(inner)); + + spinbox = uiNewSpinbox(0, 100); + uiSpinboxOnChanged(spinbox, onSpinboxChanged, NULL); + uiBoxAppend(inner, uiControl(spinbox), 0); + + slider = uiNewSlider(0, 100); + uiSliderOnChanged(slider, onSliderChanged, NULL); + uiBoxAppend(inner, uiControl(slider), 0); + + progressbar = uiNewProgressBar(); + uiBoxAppend(inner, uiControl(progressbar), 0); + + group = uiNewGroup("Lists"); + uiGroupSetMargined(group, 1); + uiBoxAppend(box, uiControl(group), 0); + + inner = uiNewHorizontalBox(); + uiBoxSetPadded(inner, 1); + uiGroupSetChild(group, uiControl(inner)); + + inner2 = uiNewVerticalBox(); + uiBoxSetPadded(inner2, 1); + uiBoxAppend(inner, uiControl(inner2), 1); + + cbox = uiNewCombobox(); + uiComboboxAppend(cbox, "Combobox Item 1"); + uiComboboxAppend(cbox, "Combobox Item 2"); + uiComboboxAppend(cbox, "Combobox Item 3"); + uiBoxAppend(inner2, uiControl(cbox), 0); + + cbox = uiNewEditableCombobox(); + uiComboboxAppend(cbox, "Editable Item 1"); + uiComboboxAppend(cbox, "Editable Item 2"); + uiComboboxAppend(cbox, "Editable Item 3"); + uiBoxAppend(inner2, uiControl(cbox), 0); + + rb = uiNewRadioButtons(); + uiRadioButtonsAppend(rb, "Radio Button 1"); + uiRadioButtonsAppend(rb, "Radio Button 2"); + uiRadioButtonsAppend(rb, "Radio Button 3"); + uiBoxAppend(inner, uiControl(rb), 1); + + tab = uiNewTab(); + uiTabAppend(tab, "Page 1", uiControl(uiNewHorizontalBox())); + uiTabAppend(tab, "Page 2", uiControl(uiNewHorizontalBox())); + uiTabAppend(tab, "Page 3", uiControl(uiNewHorizontalBox())); + uiBoxAppend(box, uiControl(tab), 1); + + uiControlShow(uiControl(mainwin)); + uiMain(); + uiUninit(); + return 0; +} diff --git a/examples/controlgallery/unix.png b/examples/controlgallery/unix.png new file mode 100644 index 0000000000000000000000000000000000000000..cb10525e2f0cfbd800174e509eacfefcab09de54 GIT binary patch literal 40108 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

SWq>l$zkAoQc7*hTghbZD;+=*HUCwe+l7J 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 literal 0 HcmV?d00001