Hey @ECHekman,
well, I was talking about User Data, as they can be a nice way to inspect what data types and their custom GUIs can do.
[image: 1748609113792-c72e5dab-e512-48cb-8333-95ccee722325-image.png]
For what you want to do, this will however not help, as there are only the description settings listed, which necessarily do not have to be all settings there are. To start with an expanded GUI, you must set LAYOUTMODE_MAXIMIZED. I think the little toggle arrows are not supported in dialogs, but I might be wrong. When you want to know more about the little toggle arrow, I would suggest to write us a mail, so that I can forward it to a GUI specialist, as I do not know if and how you could make the arrow work.
This is one of the cases how we internally setup such GUI in a dialog, maybe this already helps (but there are many, and they are not all the same). The a bit odd looking SetInt32('abcd', value)` thing, where we express an Int32 ID as four chars is something we sometimes do internally. Some people find it apparently easier to read/handle than symbols. It often also means that there is no proper integer value and symbol for that ID.
void MyDialog::AddColorAlphaChooser(Int32 id, Int32 flags, Int32 layoutFlags)
{
BaseContainer colorUISettings = GetCustomDataTypeDefault(DTYPE_COLORA);
colorUISettings.SetInt32(CUSTOMGUI_LAYOUTMODE, LAYOUTMODE_MAXIMIZED);
colorUISettings.SetInt32('iccc', layoutFlags & (DR_COLORFIELD_ICC_BPTEX | DR_COLORFIELD_ICC_BASEDOC));
colorUISettings.SetInt32('cfld', layoutFlags);
AddCustomGui(id, CUSTOMGUI_COLOR, String(), flags, 0, 0, colorUISettings);
}
Cheers,
Ferdinand