mirror of https://github.com/adamdruppe/arsd.git
make it compile again but it prolly won't work too great
This commit is contained in:
parent
716301f01a
commit
235907bab3
|
|
@ -207,7 +207,7 @@ void initMinigui(Modules...)()
|
|||
|
||||
static foreach (alias Module; Modules)
|
||||
{
|
||||
pragma(msg, Module.stringof);
|
||||
//pragma(msg, Module.stringof);
|
||||
appendMiniguiModule!Module;
|
||||
}
|
||||
}
|
||||
|
|
@ -215,27 +215,38 @@ void initMinigui(Modules...)()
|
|||
void appendMiniguiModule(alias Module, string prefix = null)()
|
||||
{
|
||||
foreach(memberName; __traits(allMembers, Module)) static if(!__traits(isDeprecated, __traits(getMember, Module, memberName)))
|
||||
static if(memberName != "seperator")
|
||||
{
|
||||
alias Member = ident!(__traits(getMember, Module, memberName));
|
||||
static if(is(Member == class) && !isAbstractClass!Member && is(Member : Widget) && __traits(getProtection, Member) != "private")
|
||||
{
|
||||
widgetFactoryFunctions[prefix ~ memberName] = (Widget parent, Element element, out Widget widget)
|
||||
{
|
||||
static if(is(Member : Dialog))
|
||||
static if(is(Member : MessageBox))
|
||||
{
|
||||
widget = new Member();
|
||||
widget = new MessageBox("");
|
||||
}
|
||||
else static if(is(Member : Dialog))
|
||||
{
|
||||
widget = new Member(null, 0, 0); // FIXME
|
||||
}
|
||||
else static if(is(Member : Menu))
|
||||
{
|
||||
widget = new Menu(null, null);
|
||||
}
|
||||
else static if(is(Member : TooltipWindow))
|
||||
{
|
||||
widget = null;
|
||||
}
|
||||
else static if(is(Member : Window))
|
||||
{
|
||||
widget = new Member("test");
|
||||
}
|
||||
else
|
||||
{
|
||||
string[string] args = element.attributes;
|
||||
string[string] args;
|
||||
foreach(k, v; element.attributes)
|
||||
args[k] = v;
|
||||
|
||||
enum paramNames = ParameterIdentifierTuple!(__traits(getMember, Member, "__ctor"));
|
||||
Parameters!(__traits(getMember, Member, "__ctor")) params;
|
||||
|
|
@ -259,6 +270,10 @@ void appendMiniguiModule(alias Module, string prefix = null)()
|
|||
}
|
||||
else static if(is(typeof(param) == TextLayouter))
|
||||
params[idx] = null;
|
||||
else static if(is(typeof(param) == class))
|
||||
params[idx] = null;
|
||||
else static if(is(typeof(param) == delegate))
|
||||
params[idx] = null;
|
||||
else
|
||||
params[idx] = to!(typeof(param))(*arg);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue