Mercurial > dwib
changeset 377:cee40d69f4e3
Android: Work around layout issues on Android...
Really next to fix these issues in the library, but for now this gets things
to look correct in Interface Builder. Non-expanding boxes seem to size to
the minimum size of an item in the box instead of the maximum size.
author | Brian Smith <brian@dbsoft.org> |
---|---|
date | Tue, 26 Jul 2022 04:34:21 -0500 |
parents | 5dea885c321d |
children | b01d35837e12 |
files | dwib.c |
diffstat | 1 files changed, 55 insertions(+), 39 deletions(-) [+] |
line wrap: on
line diff
--- a/dwib.c Sun Jul 24 18:27:58 2022 -0500 +++ b/dwib.c Tue Jul 26 04:34:21 2022 -0500 @@ -1494,7 +1494,7 @@ HWND item, button, tmp, localebutton = 0, hbox, vbox = (HWND)dw_window_get_data(hwndProperties, "box"); char *thisval, *val = defvalstr; xmlNodePtr this; - int x, width = 0; + int x, width = 0, height = 0; #ifdef __OS2__ char *sysfont = "os2font"; char *sysfonttext = "OS/2 Font"; @@ -1593,7 +1593,6 @@ dw_window_set_data(vbox, "hexpand", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "vexpand"))) { @@ -1604,6 +1603,8 @@ } } item = dw_checkbox_new("Vertically", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_checkbox_set(item, atoi(val)); dw_window_set_data(vbox, "vexpand", DW_POINTER(item)); @@ -1668,7 +1669,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "tooltip", DW_POINTER(item)); } /* Foreground Color */ @@ -1701,7 +1702,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_signal_connect(button, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(color_clicked), DW_POINTER(tmp)); /* Background Color */ hbox = dw_box_new(DW_HORZ, 0); @@ -1732,7 +1733,7 @@ dw_window_set_data(vbox, "bcolor", DW_POINTER(item)); item = dw_bitmapbutton_new("Color chooser", ICON_COLOR); dw_window_set_style(item, DW_BS_NOBORDER, DW_BS_NOBORDER); - dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_signal_connect(item, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(color_clicked), DW_POINTER(tmp)); /* Font */ hbox = dw_box_new(DW_HORZ, 0); @@ -1755,7 +1756,7 @@ dw_window_set_data(vbox, "font", DW_POINTER(item)); item = dw_bitmapbutton_new("Font chooser", ICON_FONT); dw_window_set_style(item, DW_BS_NOBORDER, DW_BS_NOBORDER); - dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_signal_connect(item, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(font_clicked), DW_POINTER(tmp)); if(sysfont) { @@ -1779,7 +1780,7 @@ dw_window_set_data(vbox, sysfont, DW_POINTER(item)); item = dw_bitmapbutton_new("Font chooser", ICON_FONT); dw_window_set_style(item, DW_BS_NOBORDER, DW_BS_NOBORDER); - dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, item, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_signal_connect(item, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(font_clicked), DW_POINTER(tmp)); } return localebutton; @@ -1925,7 +1926,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "label", DW_POINTER(item)); /* Alignment */ hbox = dw_box_new(DW_HORZ, 0); @@ -2136,7 +2137,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "deftext", DW_POINTER(item)); /* Click default */ hbox = dw_box_new(DW_HORZ, 0); @@ -2378,7 +2379,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "deftext", DW_POINTER(item)); /* Click default */ hbox = dw_box_new(DW_HORZ, 0); @@ -2634,7 +2635,7 @@ snprintf(buf, 50, "entryfield%d", count); dw_window_set_data(vbox, buf, DW_POINTER(item)); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - (BUTTON_ICON_WIDTH + width), PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); if(node) dw_signal_connect(button, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(locale_manager_clicked), node); else @@ -2840,7 +2841,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_tooltip(item, "Title for the main filesytem column."); dw_window_set_data(vbox, "coltitle", DW_POINTER(item)); /* Multiple select */ @@ -2915,7 +2916,7 @@ else if(x == DW_CLR_DEFAULT) dw_listbox_select(item, 1, TRUE); dw_window_set_data(vbox, "oddcolor", DW_POINTER(item)); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_signal_connect(button, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(color_clicked), DW_POINTER(tmp)); /* Even Color */ hbox = dw_box_new(DW_HORZ, 0); @@ -3165,7 +3166,7 @@ dw_window_set_style(localebutton, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(localebutton, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, localebutton, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, localebutton, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_style(item, DW_DT_VCENTER, DW_DT_VCENTER); val = defvalstr; if((this = _dwib_find_child(node, "deftext"))) @@ -3450,7 +3451,7 @@ dw_window_set_style(localebutton, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(localebutton, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, localebutton, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, localebutton, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "setting", DW_POINTER(item)); /* Add possible images to the list */ populateImageList(item); @@ -3773,7 +3774,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "setting", DW_POINTER(item)); /* Add possible images to the list */ populateImageList(item); @@ -3881,7 +3882,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "URL", DW_POINTER(item)); /* If it is a new window add button */ @@ -4092,7 +4093,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "title", DW_POINTER(item)); localetooltipbutton = properties_item(node, scrollbox, FALSE, FALSE); @@ -4101,7 +4102,7 @@ hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); item = dw_text_new("Status Text", 0); - dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); + dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, TRUE, 0); dw_window_set_style(item, DW_DT_VCENTER, DW_DT_VCENTER); val = defvalstr; if((this = _dwib_find_child(node, "statustext"))) @@ -4117,7 +4118,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "statustext", DW_POINTER(item)); /* Orientation */ hbox = dw_box_new(DW_HORZ, 0); @@ -4388,7 +4389,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "title", DW_POINTER(item)); /* Split % */ hbox = dw_box_new(DW_HORZ, 0); @@ -4477,6 +4478,7 @@ HWND item, scrollbox, hbox, vbox = (HWND)dw_window_get_data(hwndProperties, "box"); char *thisval, *val = defvalstr; xmlNodePtr this; + int height = 0; destroy_properties_box(vbox); vbox = dw_box_new(DW_VERT, 0); @@ -4544,7 +4546,6 @@ dw_window_set_data(vbox, "hexpand", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "vexpand"))) { @@ -4555,6 +4556,8 @@ } } item = dw_checkbox_new("Vertically", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_checkbox_set(item, atoi(val)); dw_window_set_data(vbox, "vexpand", DW_POINTER(item)); @@ -4635,7 +4638,7 @@ HWND button, item, checkable, scrollbox, hbox, localebutton, vbox = (HWND)dw_window_get_data(hwndProperties, "box"); char *thisval, *val = defvalstr; xmlNodePtr this; - int width; + int width = 0, height = 0; destroy_properties_box(vbox); vbox = dw_box_new(DW_VERT, 0); @@ -4667,7 +4670,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "title", DW_POINTER(item)); /* Data name*/ hbox = dw_box_new(DW_HORZ, 0); @@ -4730,7 +4733,6 @@ dw_window_set_data(vbox, "checkable", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); val = defvalstr; if((this = _dwib_find_child(node, "checked"))) { @@ -4741,6 +4743,8 @@ } } item = dw_checkbox_new("Checked", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_checkbox_set(item, atoi(val)); dw_window_set_data(vbox, "checked", DW_POINTER(item)); @@ -4748,7 +4752,6 @@ dw_signal_connect(checkable, DW_SIGNAL_CLICKED, DW_SIGNAL_FUNC(toggle_clicked), DW_POINTER(vbox)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "enabled"))) { @@ -4759,6 +4762,8 @@ } } item = dw_checkbox_new("Enabled", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_checkbox_set(item, atoi(val)); dw_window_set_data(vbox, "enabled", DW_POINTER(item)); @@ -4822,7 +4827,7 @@ HWND button, item, scrollbox, localebutton, hbox, vbox = (HWND)dw_window_get_data(hwndProperties, "box"); char *thisval, *val = defvalstr; xmlNodePtr this; - int width; + int width = 0, height = 0; destroy_properties_box(vbox); vbox = dw_box_new(DW_VERT, 0); @@ -4854,7 +4859,7 @@ dw_window_set_style(button, DW_BS_NOBORDER, DW_BS_NOBORDER); dw_window_get_preferred_size(button, &width, NULL); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH - width, PROPERTIES_HEIGHT, TRUE, TRUE, 0); - dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, FALSE, 0); + dw_box_pack_start(hbox, button, DW_SIZE_AUTO, DW_SIZE_AUTO, FALSE, TRUE, 0); dw_window_set_data(vbox, "title", DW_POINTER(item)); /* Size */ hbox = dw_box_new(DW_HORZ, 0); @@ -4995,8 +5000,9 @@ dw_window_set_data(vbox, "hobstacles", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Vertical", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); if((this = _dwib_find_child(node, "vobstacles"))) { @@ -5051,8 +5057,9 @@ dw_window_set_data(vbox, "close", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Minimize", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "minimize"))) @@ -5067,8 +5074,9 @@ dw_window_set_data(vbox, "minimize", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Maximize", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "maximize"))) @@ -5083,8 +5091,9 @@ dw_window_set_data(vbox, "maximize", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Hide", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvalstr; if((this = _dwib_find_child(node, "hide"))) @@ -5118,8 +5127,9 @@ dw_window_set_data(vbox, "titlebar", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Resize", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvalstr; if((this = _dwib_find_child(node, "resize"))) @@ -5134,8 +5144,9 @@ dw_window_set_data(vbox, "resize", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Dialog", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvalstr; if((this = _dwib_find_child(node, "dialog"))) @@ -5150,8 +5161,9 @@ dw_window_set_data(vbox, "dialog", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Border", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvalstr; if((this = _dwib_find_child(node, "border"))) @@ -5166,8 +5178,9 @@ dw_window_set_data(vbox, "border", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("System Menu", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_window_set_tooltip(item, "Adding this flag will also add a close button"); val = defvaltrue; @@ -5183,8 +5196,9 @@ dw_window_set_data(vbox, "sysmenu", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Task List", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); val = defvaltrue; if((this = _dwib_find_child(node, "tasklist"))) @@ -5199,8 +5213,9 @@ dw_window_set_data(vbox, "tasklist", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Composited", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_window_set_tooltip(item, "Enables translucent windows on supported platforms"); val = defvalstr; @@ -5216,8 +5231,9 @@ dw_window_set_data(vbox, "composited", DW_POINTER(item)); hbox = dw_box_new(DW_HORZ, 0); dw_box_pack_start(scrollbox, hbox, 0, 0, TRUE, FALSE, 0); - dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, FALSE, FALSE, 0); item = dw_checkbox_new("Textured", 0); + dw_window_get_preferred_size(item, NULL, &height); + dw_box_pack_start(hbox, 0, PROPERTIES_WIDTH, height, FALSE, TRUE, 0); dw_box_pack_start(hbox, item, PROPERTIES_WIDTH, PROPERTIES_HEIGHT, TRUE, TRUE, 0); dw_window_set_tooltip(item, "Enables textured window backgrounds on supported platforms"); val = defvalstr;