Mercurial > projects > qtd
diff qt/d2/qt/Signal.d @ 322:7c2cf27391c4 signals
A slight change of the connect syntax. More sofisticated signals/slots lookup. Some fixes in examples.
author | eldar_ins@eldar-laptop |
---|---|
date | Sun, 27 Dec 2009 21:13:38 +0500 |
parents | d458ed66e871 |
children | 7a3c43424dca |
line wrap: on
line diff
--- a/qt/d2/qt/Signal.d Sat Dec 26 05:10:16 2009 +0500 +++ b/qt/d2/qt/Signal.d Sun Dec 27 21:13:38 2009 +0500 @@ -186,7 +186,7 @@ NewSlot } -string signature_impl(T...)(string name) +string signature(T...)(string name) { string res = name ~ "("; foreach(i, _; T) @@ -202,27 +202,6 @@ return res; } -template signature(string name, T...) -{ - enum signature = signature_impl!(T)(name); -} - -template lastSignalIndex(T) -{ - static if (T.stringof == "QObject") - enum lastSignalIndex = lastSignalIndexImpl!(T, 0); - else - mixin ("enum lastSignalIndex = lastSignalIndexImpl!(T, " ~ "T.lastSignalIndex_" ~ (BaseClassesTuple!(T)[0]).stringof ~ ");"); -} - -template lastSignalIndexImpl(T, int index) -{ - static if (is(typeof(mixin("T." ~ signalPrefix ~ toStringNow!(index))))) - enum lastSignalIndexImpl = lastSignalIndexImpl!(T, index + 1); - else - enum lastSignalIndexImpl = index - 1; -} - // ------------------------------------------------------------------ string[] getSymbols(C)(string prefix)