void structStringsEditor :: v_createChildren () { list = GuiList_create (d_windowForm, 1, 0, Machine_getMenuBarHeight (), -70, true, NULL); //GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiObject_show (list); text = GuiText_createShown (d_windowForm, 0, 0, Gui_AUTOMATIC, -40, 0); GuiButton_createShown (d_windowForm, 10, 100, Gui_AUTOMATIC, -10, L"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); GuiButton_createShown (d_windowForm, 110, 200, Gui_AUTOMATIC, -10, L"Append", gui_button_cb_append, this, 0); GuiButton_createShown (d_windowForm, 210, 300, Gui_AUTOMATIC, -10, L"Replace", gui_button_cb_replace, this, 0); GuiButton_createShown (d_windowForm, 310, 400, Gui_AUTOMATIC, -10, L"Remove", gui_button_cb_remove, this, 0); }
void structStringsEditor :: v_createChildren () { list = GuiList_create (d_windowForm, 1, 0, Machine_getMenuBarHeight (), -70, true, nullptr); GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiThing_show (list); text = GuiText_createShown (d_windowForm, 0, 0, -40 - Gui_TEXTFIELD_HEIGHT, -40, 0); GuiButton_createShown (d_windowForm, 10, 100, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); GuiButton_createShown (d_windowForm, 110, 200, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Append", gui_button_cb_append, this, 0); GuiButton_createShown (d_windowForm, 210, 300, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Replace", gui_button_cb_replace, this, 0); GuiButton_createShown (d_windowForm, 310, 400, -10 - Gui_PUSHBUTTON_HEIGHT, -10, U"Remove", gui_button_cb_remove, this, 0); }
// origin is at top left. void structCategoriesEditor :: v_createChildren () { constexpr int menuBarOffset { 40 }; constexpr int button_width { 130 }, button_height { menuBarOffset }, list_width { 260 }, list_height { 420 }; constexpr int delta_x { 15 }, delta_y { menuBarOffset / 2 }, text_button_height { button_height / 2 }; int left, right, top, bottom, buttons_left, buttons_top, list_bottom; left = 5; right = left + button_width; top = 3 + menuBarOffset; bottom = top + text_button_height; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Positions:", 0); left = right + delta_x ; right = left + button_width; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Values:", 0); left = 0; right = left + list_width; buttons_top = (top = bottom + delta_y); list_bottom = bottom = top + list_height; list = GuiList_create (d_windowForm, left, right, top, bottom, true, 0); GuiList_setSelectionChangedCallback (list, gui_list_cb_selectionChanged, this); GuiList_setDoubleClickCallback (list, gui_list_cb_doubleClick, this); GuiList_setScrollCallback (list, gui_list_cb_scroll, this); GuiThing_show (list); buttons_left = left = right + 2 * delta_x; right = left + button_width; bottom = top + button_height; GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"Value:", 0); left = right + delta_x; right = left + button_width; text = GuiText_createShown (d_windowForm, left, right, top, bottom, 0); GuiText_setString (text, CategoriesEditor_EMPTYLABEL); left = buttons_left; right = left + button_width; top = bottom + delta_y; bottom = top + button_height; insert = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Insert", gui_button_cb_insert, this, GuiButton_DEFAULT); left = right + delta_x; right = left + button_width; replace = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Replace", gui_button_cb_replace, this, 0); left = buttons_left; right = left + int (1.5 * button_width); top = bottom + delta_y; bottom = top + button_height; insertAtEnd = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Insert at end", gui_button_cb_insertAtEnd, this, 0); top = bottom + delta_y; bottom = top + button_height; undo = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Undo", gui_button_cb_undo, this, 0); top = bottom + delta_y; bottom = top + button_height; redo = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Redo", gui_button_cb_redo, this, 0); top = bottom + delta_y; bottom = top + button_height; remove = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Remove", gui_button_cb_remove, this, 0); top = bottom + delta_y; bottom = top + button_height; moveUp = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Move selection up", gui_button_cb_moveUp, this, 0); top = bottom + delta_y; bottom = top + button_height; moveDown = GuiButton_createShown (d_windowForm, left, right, top, bottom, U"Move selection down", gui_button_cb_moveDown, this, 0); top = list_bottom + delta_y; bottom = top + button_height; left = 5; right = left + 200; outOfView = GuiLabel_createShown (d_windowForm, left, right, top, bottom, U"", 0); }