static uiBox *half(uiMultilineEntry *(*mk)(void), const char *which) { uiBox *vbox, *hbox; uiMultilineEntry *me; uiButton *button; vbox = newVerticalBox(); me = (*mk)(); uiMultilineEntryOnChanged(me, meChanged, (void *) which); uiBoxAppend(vbox, uiControl(me), 1); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); button = uiNewButton("Set"); uiButtonOnClicked(button, setClicked, me); uiBoxAppend(hbox, uiControl(button), 0); button = uiNewButton("Append"); uiButtonOnClicked(button, appendClicked, me); uiBoxAppend(hbox, uiControl(button), 0); return vbox; }
int main(void) { uiInitOptions o; uiWindow *w; uiBox *b; uiButton *btn; memset(&o, 0, sizeof (uiInitOptions)); if (uiInit(&o) != NULL) abort(); w = uiNewWindow("Hello", 320, 240, 0); uiWindowSetMargined(w, 1); b = uiNewVerticalBox(); uiBoxSetPadded(b, 1); uiWindowSetChild(w, uiControl(b)); e = uiNewMultilineEntry(); uiMultilineEntrySetReadOnly(e, 1); btn = uiNewButton("Say Something"); uiButtonOnClicked(btn, saySomething, NULL); uiBoxAppend(b, uiControl(btn), 0); uiBoxAppend(b, uiControl(e), 1); uiTimer(1000, sayTime, NULL); uiWindowOnClosing(w, onClosing, NULL); uiControlShow(uiControl(w)); uiMain(); return 0; }
uiBox *makePage13(void) { uiBox *page13; uiRadioButtons *rb; uiButton *b; uiForm *f; uiEntry *e; uiProgressBar *p; page13 = newVerticalBox(); rb = uiNewRadioButtons(); uiRadioButtonsAppend(rb, "Item 1"); uiRadioButtonsAppend(rb, "Item 2"); uiRadioButtonsAppend(rb, "Item 3"); uiBoxAppend(page13, uiControl(rb), 0); rb = uiNewRadioButtons(); uiRadioButtonsAppend(rb, "Item A"); uiRadioButtonsAppend(rb, "Item B"); uiBoxAppend(page13, uiControl(rb), 0); b = uiNewButton("Horizontal"); uiButtonOnClicked(b, buttonClicked, uiNewHorizontalBox); uiBoxAppend(page13, uiControl(b), 0); b = uiNewButton("Vertical"); uiButtonOnClicked(b, buttonClicked, uiNewVerticalBox); uiBoxAppend(page13, uiControl(b), 0); f = newForm(); e = uiNewPasswordEntry(); uiEntryOnChanged(e, entryChanged, "password"); uiFormAppend(f, "Password Entry", uiControl(e), 0); e = uiNewSearchEntry(); uiEntryOnChanged(e, entryChanged, "search"); uiFormAppend(f, "Search Box", uiControl(e), 0); uiFormAppend(f, "MLE", uiControl(uiNewMultilineEntry()), 1); p = uiNewProgressBar(); uiProgressBarSetValue(p, 50); uiBoxAppend(page13, uiControl(p), 0); b = uiNewButton("Toggle Indeterminate"); uiButtonOnClicked(b, setIndeterminate, p); uiBoxAppend(page13, uiControl(b), 0); b = uiNewButton("Show/Hide"); uiButtonOnClicked(b, showHide, e); uiBoxAppend(page13, uiControl(b), 0); b = uiNewButton("Delete First"); uiButtonOnClicked(b, deleteFirst, f); uiBoxAppend(page13, uiControl(b), 0); uiBoxAppend(page13, uiControl(f), 1); return page13; }
uiBox *makePage12(void) { uiBox *page12; uiBox *b; page12 = newHorizontalBox(); b = half(uiNewMultilineEntry, "wrap"); uiBoxAppend(page12, uiControl(b), 1); b = half(uiNewNonWrappingMultilineEntry, "no wrap"); uiBoxAppend(page12, uiControl(b), 1); return page12; }
uiBox *makePage10(void) { uiBox *page10; uiBox *vbox; uiBox *hbox; page10 = newVerticalBox(); vbox = page10; hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textString = uiNewEntry(); // TODO make it placeholder uiEntrySetText(textString, "Enter text here"); uiBoxAppend(hbox, uiControl(textString), 1); textFontButton = uiNewFontButton(); uiBoxAppend(hbox, uiControl(textFontButton), 1); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textApply = uiNewButton("Apply"); uiButtonOnClicked(textApply, onTextApply, NULL); uiBoxAppend(hbox, uiControl(textApply), 1); textWidth = uiNewEntry(); uiEntrySetText(textWidth, "-1"); uiBoxAppend(hbox, uiControl(textWidth), 1); addLeading = uiNewCheckbox("Add Leading"); uiCheckboxSetChecked(addLeading, 1); uiBoxAppend(hbox, uiControl(addLeading), 0); textAreaHandler.Draw = handlerDraw; textAreaHandler.MouseEvent = handlerMouseEvent; textAreaHandler.MouseCrossed = handlerMouseCrossed; textAreaHandler.DragBroken = handlerDragBroken; textAreaHandler.KeyEvent = handlerKeyEvent; textArea = uiNewArea(&textAreaHandler); uiBoxAppend(vbox, uiControl(textArea), 1); // dummy objects to test single-activation hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); uiBoxAppend(hbox, uiControl(uiNewFontButton()), 1); return page10; }
static void borderWindowOpen(uiButton *b, void *data) { uiWindow *w; uiArea *a; if (!borderAHInit) { borderAH.Draw = handlerDraw; borderAH.MouseEvent = handlerMouseEvent; borderAH.MouseCrossed = handlerMouseCrossed; borderAH.DragBroken = handlerDragBroken; borderAH.KeyEvent = handlerKeyEvent; borderAHInit = 1; } w = uiNewWindow("Border Resize Test", 300, 500, 0); uiWindowSetBorderless(w, 1); a = uiNewArea(&borderAH); // uiWindowSetChild(w, uiControl(a)); {uiBox *b; b=uiNewHorizontalBox(); uiBoxAppend(b,uiControl(a),1); uiWindowSetChild(w,uiControl(b));} //TODO why is this hack needed? GTK+ issue uiControlShow(uiControl(w)); }
uiBox *makePage9(void) { uiBox *page9; uiTable *table; uiTableModel *model; uiTableColumnParams p; intmax_t i; page9 = newVerticalBox(); table = uiNewTable(); uiBoxAppend(page9, uiControl(table), 1); spec.NumRows = modelNumRows; spec.CellValue = modelCellValue; spec.SetCellValue = modelSetCellValue; model = uiNewTableModel(nColumns, coltypes, &spec, NULL); uiTableSetModel(table, model); for (i = 0; i < nColumns; i++) { p.Name = "Column"; p.Type = coltypes[i]; p.Mutable = i % 2 == 1; p.ValueColumn = i; uiTableAppendColumn(table, &p); } return page9; }
static int l_uiBoxAppend( lua_State* L ) { uiBox* b = (uiBox*) check_object( L, 1, uiBoxSignature ); uiControl* o = (uiControl*) check_control( L, 2, 0 ); uiBoxAppend( b, o, lua_toboolean( L, 3 ) ); lua_pushvalue( L, 1 ); return 1; }
static Janet janet_ui_box_append(int32_t argc, Janet *argv) { int stretchy = 0; janet_arity(argc, 2, 3); uiBox *box = janet_getuitype(argv, 0, &box_td); uiControl *c = janet_getcontrol(argv, 1); if (argc == 3) stretchy = janet_getboolean(argv, 2); uiBoxAppend(box, c, stretchy); return argv[0]; }
uiBox *makePage13(void) { uiBox *page13; uiRadioButtons *rb; uiButton *b; uiForm *f; uiEntry *e; page13 = newVerticalBox(); rb = uiNewRadioButtons(); uiRadioButtonsAppend(rb, "Item 1"); uiRadioButtonsAppend(rb, "Item 2"); uiRadioButtonsAppend(rb, "Item 3"); uiBoxAppend(page13, uiControl(rb), 0); rb = uiNewRadioButtons(); uiRadioButtonsAppend(rb, "Item A"); uiRadioButtonsAppend(rb, "Item B"); uiBoxAppend(page13, uiControl(rb), 0); b = uiNewButton("Horizontal"); uiButtonOnClicked(b, buttonClicked, uiNewHorizontalBox); uiBoxAppend(page13, uiControl(b), 0); b = uiNewButton("Vertical"); uiButtonOnClicked(b, buttonClicked, uiNewVerticalBox); uiBoxAppend(page13, uiControl(b), 0); f = newForm(); uiBoxAppend(page13, uiControl(f), 1); e = uiNewPasswordEntry(); uiEntryOnChanged(e, entryChanged, "password"); uiFormAppend(f, "Password Entry", uiControl(e), 0); e = uiNewSearchEntry(); uiEntryOnChanged(e, entryChanged, "search"); uiFormAppend(f, "Search Box", uiControl(e), 0); uiFormAppend(f, "MLE", uiControl(uiNewMultilineEntry()), 1); return page13; }
uiGroup *makePage7a(void) { uiGroup *group; uiBox *box, *box2; handler.ah.Draw = handlerDraw; handler.ah.MouseEvent = handlerMouseEvent; handler.ah.MouseCrossed = handlerMouseCrossed; handler.ah.DragBroken = handlerDragBroken; handler.ah.KeyEvent = handlerKeyEvent; group = newGroup("Arc Test"); box = newVerticalBox(); uiGroupSetChild(group, uiControl(box)); area = uiNewArea((uiAreaHandler *) (&handler)); uiBoxAppend(box, uiControl(area), 1); box2 = newHorizontalBox(); uiBoxAppend(box, uiControl(box2), 0); uiBoxAppend(box2, uiControl(uiNewLabel("Start Angle")), 0); startAngle = uiNewEntry(); uiEntryOnChanged(startAngle, entryChanged, NULL); uiBoxAppend(box2, uiControl(startAngle), 1); box2 = newHorizontalBox(); uiBoxAppend(box, uiControl(box2), 0); uiBoxAppend(box2, uiControl(uiNewLabel("Sweep")), 0); sweep = uiNewEntry(); uiEntryOnChanged(sweep, entryChanged, NULL); uiBoxAppend(box2, uiControl(sweep), 1); negative = uiNewCheckbox("Negative"); uiCheckboxOnToggled(negative, checkboxToggled, NULL); uiBoxAppend(box, uiControl(negative), 0); radians = uiNewCheckbox("Radians"); uiCheckboxOnToggled(radians, checkboxToggled, NULL); uiBoxAppend(box, uiControl(radians), 0); return group; }
uiBox *makePage16(void) { uiBox *page16; uiTableModel *m; uiTable *t; uiTableColumn *tc; img[0] = uiNewImage(16, 16); appendImageNamed(img[0], "andlabs_16x16test_24june2016.png"); appendImageNamed(img[0], "andlabs_32x32test_24june2016.png"); img[1] = uiNewImage(16, 16); appendImageNamed(img[1], "tango-icon-theme-0.8.90_16x16_x-office-spreadsheet.png"); appendImageNamed(img[1], "tango-icon-theme-0.8.90_32x32_x-office-spreadsheet.png"); strcpy(row9text, "Part"); memset(checkStates, 0, 15 * sizeof (int)); 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"); uiTableColumnAppendImagePart(tc, 5, 0); uiTableColumnAppendTextPart(tc, 1, 0); uiTableColumnAppendTextPart(tc, 2, 1); uiTableColumnPartSetTextColor(tc, 1, 4); uiTableColumnPartSetEditable(tc, 2, 1); uiTableSetRowBackgroundColorModelColumn(t, 3); tc = uiTableAppendColumn(t, "Buttons"); uiTableColumnAppendCheckboxPart(tc, 7, 0); uiTableColumnAppendButtonPart(tc, 6, 1); tc = uiTableAppendColumn(t, "Progress Bar"); uiTableColumnAppendProgressBarPart(tc, 8, 0); return page16; }
uiBox *makePage15(uiWindow *w) { uiBox *page15; uiBox *hbox; uiButton *button; uiCheckbox *checkbox; page15 = newVerticalBox(); hbox = newHorizontalBox(); uiBoxAppend(page15, uiControl(hbox), 0); uiBoxAppend(hbox, uiControl(uiNewLabel("Size")), 0); width = uiNewSpinbox(INT_MIN, INT_MAX); uiBoxAppend(hbox, uiControl(width), 1); height = uiNewSpinbox(INT_MIN, INT_MAX); uiBoxAppend(hbox, uiControl(height), 1); fullscreen = uiNewCheckbox("Fullscreen"); uiBoxAppend(hbox, uiControl(fullscreen), 0); uiSpinboxOnChanged(width, sizeWidth, w); uiSpinboxOnChanged(height, sizeHeight, w); uiCheckboxOnToggled(fullscreen, setFullscreen, w); uiWindowOnContentSizeChanged(w, onSize, NULL); updatesize(w); checkbox = uiNewCheckbox("Borderless"); uiCheckboxOnToggled(checkbox, borderless, w); uiBoxAppend(page15, uiControl(checkbox), 0); button = uiNewButton("Borderless Resizes"); uiButtonOnClicked(button, borderWindowOpen, NULL); uiBoxAppend(page15, uiControl(button), 0); hbox = newHorizontalBox(); uiBoxAppend(page15, uiControl(hbox), 1); uiBoxAppend(hbox, uiControl(uiNewVerticalSeparator()), 0); return page15; }
uiBox *makePage9(void) { uiBox *page9; uiBox *vbox; uiBox *hbox; page9 = newVerticalBox(); vbox = page9; hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textString = uiNewEntry(); // TODO make it placeholder uiEntrySetText(textString, "Enter text here"); uiBoxAppend(hbox, uiControl(textString), 1); textFont = uiNewEntry(); uiEntrySetText(textFont, "Arial"); uiBoxAppend(hbox, uiControl(textFont), 1); textSize = uiNewEntry(); uiEntrySetText(textSize, "10"); uiBoxAppend(hbox, uiControl(textSize), 1); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textWeight = uiNewCombobox(); uiComboboxAppend(textWeight, "Thin"); uiComboboxAppend(textWeight, "Ultra Light"); uiComboboxAppend(textWeight, "Light"); uiComboboxAppend(textWeight, "Book"); uiComboboxAppend(textWeight, "Normal"); uiComboboxAppend(textWeight, "Medium"); uiComboboxAppend(textWeight, "Semi Bold"); uiComboboxAppend(textWeight, "Bold"); uiComboboxAppend(textWeight, "Utra Bold"); uiComboboxAppend(textWeight, "Heavy"); uiComboboxAppend(textWeight, "Ultra Heavy"); uiComboboxSetSelected(textWeight, uiDrawTextWeightNormal); uiBoxAppend(hbox, uiControl(textWeight), 1); textItalic = uiNewCombobox(); uiComboboxAppend(textItalic, "Normal"); uiComboboxAppend(textItalic, "Oblique"); uiComboboxAppend(textItalic, "Italic"); uiComboboxSetSelected(textItalic, uiDrawTextItalicNormal); uiBoxAppend(hbox, uiControl(textItalic), 1); textSmallCaps = uiNewCheckbox("Small Caps"); uiBoxAppend(hbox, uiControl(textSmallCaps), 1); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textStretch = uiNewCombobox(); uiComboboxAppend(textStretch, "Ultra Condensed"); uiComboboxAppend(textStretch, "Extra Condensed"); uiComboboxAppend(textStretch, "Condensed"); uiComboboxAppend(textStretch, "Semi Condensed"); uiComboboxAppend(textStretch, "Normal"); uiComboboxAppend(textStretch, "Semi Expanded"); uiComboboxAppend(textStretch, "Expanded"); uiComboboxAppend(textStretch, "Extra Expanded"); uiComboboxAppend(textStretch, "Ultra Expanded"); uiComboboxSetSelected(textStretch, uiDrawTextStretchNormal); uiBoxAppend(hbox, uiControl(textStretch), 1); textWidth = uiNewEntry(); uiEntrySetText(textWidth, "-1"); uiBoxAppend(hbox, uiControl(textWidth), 1); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); textApply = uiNewButton("Apply"); uiButtonOnClicked(textApply, onTextApply, NULL); uiBoxAppend(hbox, uiControl(textApply), 1); addLeading = uiNewCheckbox("Add Leading"); uiCheckboxSetChecked(addLeading, 1); uiBoxAppend(hbox, uiControl(addLeading), 0); textAreaHandler.Draw = handlerDraw; textAreaHandler.MouseEvent = handlerMouseEvent; textAreaHandler.MouseCrossed = handlerMouseCrossed; textAreaHandler.DragBroken = handlerDragBroken; textAreaHandler.KeyEvent = handlerKeyEvent; textArea = uiNewArea(&textAreaHandler); uiBoxAppend(vbox, uiControl(textArea), 1); return page9; }
uiBox *makePage4(void) { uiBox *page4; uiBox *hbox; uiSpinbox *xsb; uiButton *b; uiSlider *xsl; page4 = newVerticalBox(); spinbox = uiNewSpinbox(0, 100); uiSpinboxOnChanged(spinbox, onSpinboxChanged, NULL); uiBoxAppend(page4, uiControl(spinbox), 0); slider = uiNewSlider(0, 100); uiSliderOnChanged(slider, onSliderChanged, NULL); uiBoxAppend(page4, uiControl(slider), 0); pbar = uiNewProgressBar(); uiBoxAppend(page4, uiControl(pbar), 0); uiBoxAppend(page4, uiControl(uiNewHorizontalSeparator()), 0); hbox = newHorizontalBox(); xsb = uiNewSpinbox(-40, 40); uiBoxAppend(hbox, uiControl(xsb), 0); b = uiNewButton("Bad Low"); uiButtonOnClicked(b, setSpinboxTooLow, xsb); uiBoxAppend(hbox, uiControl(b), 0); b = uiNewButton("Bad High"); uiButtonOnClicked(b, setSpinboxTooHigh, xsb); uiBoxAppend(hbox, uiControl(b), 0); uiBoxAppend(page4, uiControl(hbox), 0); hbox = newHorizontalBox(); xsl = uiNewSlider(-40, 40); uiBoxAppend(hbox, uiControl(xsl), 0); b = uiNewButton("Bad Low"); uiButtonOnClicked(b, setSliderTooLow, xsl); uiBoxAppend(hbox, uiControl(b), 0); b = uiNewButton("Bad High"); uiButtonOnClicked(b, setSliderTooHigh, xsl); uiBoxAppend(hbox, uiControl(b), 0); uiBoxAppend(page4, uiControl(hbox), 0); uiBoxAppend(page4, uiControl(uiNewHorizontalSeparator()), 0); cbox = uiNewCombobox(); uiComboboxAppend(cbox, "Item 1"); uiComboboxAppend(cbox, "Item 2"); uiComboboxAppend(cbox, "Item 3"); uiComboboxOnSelected(cbox, onCBChanged, "noneditable"); uiBoxAppend(page4, uiControl(cbox), 0); editable = uiNewEditableCombobox(); uiComboboxAppend(editable, "Editable Item 1"); uiComboboxAppend(editable, "Editable Item 2"); uiComboboxAppend(editable, "Editable Item 3"); uiComboboxOnSelected(editable, onCBChanged, "editable"); uiBoxAppend(page4, uiControl(editable), 0); rb = uiNewRadioButtons(); uiRadioButtonsAppend(rb, "Item 1"); uiRadioButtonsAppend(rb, "Item 2"); uiRadioButtonsAppend(rb, "Item 3"); uiBoxAppend(page4, uiControl(rb), 0); hbox = newHorizontalBox(); b = uiNewButton("Append"); uiButtonOnClicked(b, appendCBRB, NULL); uiBoxAppend(hbox, uiControl(b), 0); uiBoxAppend(page4, uiControl(hbox), 0); uiBoxAppend(page4, uiControl(uiNewHorizontalSeparator()), 0); uiBoxAppend(page4, uiControl(uiNewDateTimePicker()), 0); uiBoxAppend(page4, uiControl(uiNewDatePicker()), 0); uiBoxAppend(page4, uiControl(uiNewTimePicker()), 0); return page4; }
int main(int argc, char *argv[]) { uiInitOptions o; int i; const char *err; uiWindow *w; uiBox *page2, *page3, *page4, *page5; int nomenus = 0; int startspaced = 0; newhbox = uiNewHorizontalBox; newvbox = uiNewVerticalBox; memset(&o, 0, sizeof (uiInitOptions)); for (i = 1; i < argc; i++) if (strcmp(argv[i], "nomenus") == 0) nomenus = 1; else if (strcmp(argv[i], "startspaced") == 0) startspaced = 1; else if (strcmp(argv[i], "swaphv") == 0) { newhbox = uiNewVerticalBox; newvbox = uiNewHorizontalBox; } else { fprintf(stderr, "%s: unrecognized option %s\n", argv[0], argv[i]); return 1; } err = uiInit(&o); if (err != NULL) { fprintf(stderr, "error initializing ui: %s\n", err); uiFreeInitError(err); return 1; } if (!nomenus) initMenus(); w = newWindow("Main Window", 320, 240, 1); uiWindowOnClosing(w, onClosing, NULL); printf("main window %p\n", w); uiOnShouldQuit(onShouldQuit, w); mainBox = newHorizontalBox(); uiWindowSetChild(w, uiControl(mainBox)); mainTab = newTab(); uiBoxAppend(mainBox, uiControl(mainTab), 1); // page 1 uses page 2's uiGroup page2 = makePage2(); makePage1(w); uiTabAppend(mainTab, "Page 1", uiControl(page1)); uiTabAppend(mainTab, "Page 2", uiControl(page2)); uiTabAppend(mainTab, "Empty Page", uiControl(uiNewHorizontalBox())); page3 = makePage3(); uiTabAppend(mainTab, "Page 3", uiControl(page3)); page4 = makePage4(); uiTabAppend(mainTab, "Page 4", uiControl(page4)); page5 = makePage5(); uiTabAppend(mainTab, "Page 5", uiControl(page5)); if (startspaced) setSpaced(1); uiControlShow(uiControl(w)); uiMain(); printf("after uiMain()\n"); uiUninit(); printf("after uiUninit()\n"); return 0; }
int main(int argc, char *argv[]) { uiInitOptions o; int i; const char *err; uiWindow *w; uiBox *page2, *page3, *page4, *page5; uiBox *page6, *page7, *page8, *page9, *page10; uiBox *page11, *page12, *page13; uiTab *page14; uiBox *page15; uiBox *page16; uiTab *outerTab; uiTab *innerTab; int nomenus = 0; int startspaced = 0; int steps = 0; newhbox = uiNewHorizontalBox; newvbox = uiNewVerticalBox; memset(&o, 0, sizeof (uiInitOptions)); for (i = 1; i < argc; i++) if (strcmp(argv[i], "nomenus") == 0) nomenus = 1; else if (strcmp(argv[i], "startspaced") == 0) startspaced = 1; else if (strcmp(argv[i], "swaphv") == 0) { newhbox = uiNewVerticalBox; newvbox = uiNewHorizontalBox; } else if (strcmp(argv[i], "steps") == 0) steps = 1; else { fprintf(stderr, "%s: unrecognized option %s\n", argv[0], argv[i]); return 1; } err = uiInit(&o); if (err != NULL) { fprintf(stderr, "error initializing ui: %s\n", err); uiFreeInitError(err); return 1; } if (!nomenus) initMenus(); w = newWindow("Main Window", 320, 240, 1); uiWindowOnClosing(w, onClosing, NULL); printf("main window %p\n", (void *) w); uiOnShouldQuit(onShouldQuit, w); mainBox = newHorizontalBox(); uiWindowSetChild(w, uiControl(mainBox)); outerTab = newTab(); uiBoxAppend(mainBox, uiControl(outerTab), 1); mainTab = newTab(); uiTabAppend(outerTab, "Pages 1-5", uiControl(mainTab)); // page 1 uses page 2's uiGroup page2 = makePage2(); makePage1(w); uiTabAppend(mainTab, "Page 1", uiControl(page1)); uiTabAppend(mainTab, "Page 2", uiControl(page2)); uiTabAppend(mainTab, "Empty Page", uiControl(uiNewHorizontalBox())); page3 = makePage3(); uiTabAppend(mainTab, "Page 3", uiControl(page3)); page4 = makePage4(); uiTabAppend(mainTab, "Page 4", uiControl(page4)); page5 = makePage5(w); uiTabAppend(mainTab, "Page 5", uiControl(page5)); innerTab = newTab(); uiTabAppend(outerTab, "Pages 6-10", uiControl(innerTab)); page6 = makePage6(); uiTabAppend(innerTab, "Page 6", uiControl(page6)); page7 = makePage7(); uiTabAppend(innerTab, "Page 7", uiControl(page7)); /* page8 = makePage8(); uiTabAppend(innerTab, "Page 8", uiControl(page8)); page9 = makePage9(); uiTabAppend(innerTab, "Page 9", uiControl(page9)); page10 = makePage10(); uiTabAppend(innerTab, "Page 10", uiControl(page10)); */ innerTab = newTab(); uiTabAppend(outerTab, "Pages 11-15", uiControl(innerTab)); // page11 = makePage11(); // uiTabAppend(innerTab, "Page 11", uiControl(page11)); page12 = makePage12(); uiTabAppend(innerTab, "Page 12", uiControl(page12)); page13 = makePage13(); uiTabAppend(innerTab, "Page 13", uiControl(page13)); page14 = makePage14(); uiTabAppend(innerTab, "Page 14", uiControl(page14)); page15 = makePage15(w); uiTabAppend(innerTab, "Page 15", uiControl(page15)); innerTab = newTab(); uiTabAppend(outerTab, "Pages 16-?", uiControl(innerTab)); page16 = makePage16(); uiTabAppend(innerTab, "Page 16", uiControl(page16)); if (startspaced) setSpaced(1); uiControlShow(uiControl(w)); if (!steps) uiMain(); else { uiMainSteps(); while (uiMainStep(1)) ; } printf("after uiMain()\n"); freePage16(); uiUninit(); printf("after uiUninit()\n"); return 0; }
int main(void) { uiInitOptions o; const char *err; uiMenu *menu; uiMenuItem *item; uiBox *box; uiBox *hbox; 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)); hbox = uiNewHorizontalBox(); uiBoxSetPadded(hbox, 1); uiBoxAppend(box, uiControl(hbox), 1); group = uiNewGroup("Basic Controls"); uiGroupSetMargined(group, 1); uiBoxAppend(hbox, uiControl(group), 0); inner = uiNewVerticalBox(); uiBoxSetPadded(inner, 1); uiGroupSetChild(group, uiControl(inner)); uiBoxAppend(inner, uiControl(uiNewButton("Button")), 0); uiBoxAppend(inner, uiControl(uiNewCheckbox("Checkbox")), 0); entry = uiNewEntry(); uiEntrySetText(entry, "Entry"); uiBoxAppend(inner, uiControl(entry), 0); uiBoxAppend(inner, uiControl(uiNewLabel("Label")), 0); uiBoxAppend(inner, uiControl(uiNewHorizontalSeparator()), 0); uiBoxAppend(inner, uiControl(uiNewDatePicker()), 0); uiBoxAppend(inner, uiControl(uiNewTimePicker()), 0); uiBoxAppend(inner, uiControl(uiNewDateTimePicker()), 0); uiBoxAppend(inner, uiControl(uiNewFontButton()), 0); uiBoxAppend(inner, uiControl(uiNewColorButton()), 0); inner2 = uiNewVerticalBox(); uiBoxSetPadded(inner2, 1); uiBoxAppend(hbox, uiControl(inner2), 1); group = uiNewGroup("Numbers"); uiGroupSetMargined(group, 1); uiBoxAppend(inner2, 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(inner2, uiControl(group), 0); inner = uiNewVerticalBox(); uiBoxSetPadded(inner, 1); uiGroupSetChild(group, uiControl(inner)); cbox = uiNewCombobox(); uiComboboxAppend(cbox, "Combobox Item 1"); uiComboboxAppend(cbox, "Combobox Item 2"); uiComboboxAppend(cbox, "Combobox Item 3"); uiBoxAppend(inner, uiControl(cbox), 0); cbox = uiNewEditableCombobox(); uiComboboxAppend(cbox, "Editable Item 1"); uiComboboxAppend(cbox, "Editable Item 2"); uiComboboxAppend(cbox, "Editable Item 3"); uiBoxAppend(inner, 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(inner2, uiControl(tab), 1); uiControlShow(uiControl(mainwin)); uiMain(); uiUninit(); return 0; }
static uiControl *boxComparison(void) { uiBox *vbox; uiGrid *g; uiBox *hbox; vbox = newVerticalBox(); uiBoxAppend(vbox, uiControl(uiNewLabel("Above")), 0); uiBoxAppend(vbox, uiControl(uiNewHorizontalSeparator()), 0); hbox = newHorizontalBox(); uiBoxAppend(vbox, uiControl(hbox), 0); uiBoxAppend(hbox, testControl("1", white), 0); uiBoxAppend(hbox, uiControl(uiNewLabel("A label")), 1); uiBoxAppend(hbox, testControl("2", green), 0); uiBoxAppend(hbox, uiControl(uiNewLabel("Another label")), 1); uiBoxAppend(hbox, testControl("3", red), 0); uiBoxAppend(vbox, uiControl(uiNewHorizontalSeparator()), 0); g = newGrid(); uiBoxAppend(vbox, uiControl(g), 0); uiGridAppend(g, testControl("1", white), 0, 0, 1, 1, 0, uiAlignFill, 0, uiAlignFill); uiGridAppend(g, uiControl(uiNewLabel("A label")), 1, 0, 1, 1, 1, uiAlignFill, 0, uiAlignFill); uiGridAppend(g, testControl("2", green), 2, 0, 1, 1, 0, uiAlignFill, 0, uiAlignFill); uiGridAppend(g, uiControl(uiNewLabel("Another label")), 3, 0, 1, 1, 1, uiAlignFill, 0, uiAlignFill); uiGridAppend(g, testControl("3", red), 4, 0, 1, 1, 0, uiAlignFill, 0, uiAlignFill); uiBoxAppend(vbox, uiControl(uiNewHorizontalSeparator()), 0); uiBoxAppend(vbox, uiControl(uiNewLabel("Below")), 0); return uiControl(vbox); }