static Janet janet_ui_combobox_on_selected(int32_t argc, Janet *argv) { janet_fixarity(argc, 2); uiCombobox *cbox = janet_getuitype(argv, 0, &combobox_td); assert_callable(argv, 1); void *handle = janet_ui_to_handler_data(argv[1]); uiComboboxOnSelected(cbox, combobox_on_selected, handle); return argv[0]; }
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; }