AT
Size: a a a
AT
DK
m
AT
AT
g
ee
МВ
@GResourcePath(ui_config.RESOURCE_PATH ~ "main.ui")вот сделай такую хрень на C++
private struct UI {
Window main_window;
Stack left_menu;
Stack main_stack;
}
private UI ui;
this() {
ui.load_ui();
}
МВ
void load_ui(UIStruct)(ref UIStruct ui) if (__traits(isPOD, UIStruct))
{
auto attributes = __traits(getAttributes, UIStruct);
static assert(attributes.length > 0 , "UIStruct must have path attribute");
static if (is(typeof (attributes[0]) == GResourcePath)) {
Builder builder = new Builder;
builder.addFromResource(attributes[0].path);
foreach (string id; FieldNameTuple!UIStruct)
{
auto temp = builder.getObject( id );
if (temp is null) throw new BadGobjectIdException (id);
mixin("ui." ~ id) = cast(typeof (mixin("ui." ~ id))) temp;
}
}
}
Т8
@GResourcePath(ui_config.RESOURCE_PATH ~ "main.ui")вот сделай такую хрень на C++
private struct UI {
Window main_window;
Stack left_menu;
Stack main_stack;
}
private UI ui;
this() {
ui.load_ui();
}
МВ
Т8
МВ
Т8
МВ
МВ
Т8
МВ
Т8
МВ