# HG changeset patch # User eldar # Date 1244901932 0 # Node ID ae34188ddd84b18fc1745dca67f96a6d85dc42b6 # Parent 4b423949c8939fb6dadc5c1280ca45b474eee7ce private signals of QAbstractItemModel are now accessible diff -r 4b423949c893 -r ae34188ddd84 Makefile --- a/Makefile Fri Jun 12 22:21:33 2009 +0000 +++ b/Makefile Sat Jun 13 14:05:32 2009 +0000 @@ -27,7 +27,7 @@ ## Main settings. ## D compiler. ifndef $(DC) -DC = ldmd +DC = dmd endif ## C++ compiler. ifndef $(CC) diff -r 4b423949c893 -r ae34188ddd84 changelog.txt --- a/changelog.txt Fri Jun 12 22:21:33 2009 +0000 +++ b/changelog.txt Sat Jun 13 14:05:32 2009 +0000 @@ -9,4 +9,9 @@ * building system is now based on CMake to be crossplatform and more flexible * all classes from Gui, OpenGL, Xml, Svg, Network and Webkit packages are wrapped * ported duic, the tool for generating code out from xml representation - * ported drcc, the resources compiler \ No newline at end of file + * ported drcc, the resources compiler + + changes since 0.2 + + * new CMake module for D + * support for MSVC \ No newline at end of file diff -r 4b423949c893 -r ae34188ddd84 examples/layouts/dynamiclayouts/build.sh --- a/examples/layouts/dynamiclayouts/build.sh Fri Jun 12 22:21:33 2009 +0000 +++ b/examples/layouts/dynamiclayouts/build.sh Sat Jun 13 14:05:32 2009 +0000 @@ -1,3 +1,4 @@ #! /bin/bash -dmd main.d dialog.d -I../../../ -I../../../qt/d1 -L-L../../../lib -L-lqtdgui -L-lqtdcore -L-lQtCore -L-lQtGui -ofdynamiclayouts \ No newline at end of file +ldmd main.d dialog.d -I../../../ -I../../../qt/d1 -L-L../../../lib -L-lqtdgui -L-lqtdcore -L-lQtCore -L-lQtGui -ofdynamiclayouts + diff -r 4b423949c893 -r ae34188ddd84 generator/abstractmetabuilder.cpp --- a/generator/abstractmetabuilder.cpp Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/abstractmetabuilder.cpp Sat Jun 13 14:05:32 2009 +0000 @@ -1246,6 +1246,14 @@ AbstractMetaFunction *meta_function = traverseFunction(function); if (meta_function) { + + QList mods = meta_function->modifications(meta_class); + for (int i=0; isetFunctionType(AbstractMetaFunction::SignalFunction); + } + } + meta_function->setOriginalAttributes(meta_function->attributes()); if (meta_class->isNamespace()) *meta_function += AbstractMetaAttributes::Static; diff -r 4b423949c893 -r ae34188ddd84 generator/cppimplgenerator.cpp --- a/generator/cppimplgenerator.cpp Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/cppimplgenerator.cpp Sat Jun 13 14:05:32 2009 +0000 @@ -747,8 +747,7 @@ s << "typedef " << return_type << " " << "(*pf" << f_name << ")"; writeVirtualDispatchArguments(s, function, false); s << ";" << endl - << "pf" << function->marshalledName() << "_dispatch " - << function->marshalledName() << "_dispatch;"; + << "pf" << f_name << " " << f_name << ";"; } s << endl; diff -r 4b423949c893 -r ae34188ddd84 generator/generator.cpp --- a/generator/generator.cpp Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/generator.cpp Sat Jun 13 14:05:32 2009 +0000 @@ -207,7 +207,7 @@ if (!f->isSignal() || cls != f->implementingClass() || notWrappedYet(f) - || f->isPrivate() +// qtd2 || f->isPrivate() // we want private signals to be accessible as well || f->isModifiedRemoved(TypeSystem::TargetLangCode)) continue; diff -r 4b423949c893 -r ae34188ddd84 generator/typesystem.cpp --- a/generator/typesystem.cpp Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/typesystem.cpp Sat Jun 13 14:05:32 2009 +0000 @@ -107,6 +107,7 @@ Removal = 0x020000, Rename = 0x040000, ModifyArgument = 0x080000, + PrivateSignal = 0x100000, FunctionModifiers = 0xff0000, StoreResult = 0x110000, @@ -752,6 +753,8 @@ attributes["deprecated"] = QString("no"); attributes["associated-to"] = QString(); attributes["virtual-slot"] = QString("no"); + attributes["allow-as-slot"] = QString("no"); + attributes["private-signal"] = QString("no"); break; case StackElement::ModifyArgument: attributes["index"] = QString(); @@ -1237,6 +1240,8 @@ mod.association = association; mod.modifiers |= (convertBoolean(attributes["virtual-slot"], "virtual-slot", false) ? Modification::VirtualSlot : 0); + mod.modifiers |= (convertBoolean(attributes["allow-as-slot"], "allow-as-slot", false) ? Modification::AllowAsSlot : 0); + mod.modifiers |= (convertBoolean(attributes["private-signal"], "private-signal", false) ? Modification::PrivateSignal : 0); m_function_mods << mod; } diff -r 4b423949c893 -r ae34188ddd84 generator/typesystem.h --- a/generator/typesystem.h Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/typesystem.h Sat Jun 13 14:05:32 2009 +0000 @@ -329,7 +329,10 @@ Rename = 0x2000, Deprecated = 0x4000, ReplaceExpression = 0x8000, - VirtualSlot = 0x10000 | NonFinal + VirtualSlot = 0x10000 | NonFinal, + AllowAsSlot = 0x00020000, + PrivateSignal = 0x00040000 + }; Modification() : modifiers(0) { } @@ -343,6 +346,8 @@ bool isFinal() const { return modifiers & Final; } bool isNonFinal() const { return modifiers & NonFinal; } bool isVirtualSlot() const { return (modifiers & VirtualSlot) == VirtualSlot; } + bool isAllowedAsSlot() const { return (modifiers & AllowAsSlot) == AllowAsSlot; } + bool isPrivateSignal() const { return (modifiers & PrivateSignal) == PrivateSignal; } QString accessModifierString() const; bool isDeprecated() const { return modifiers & Deprecated; } diff -r 4b423949c893 -r ae34188ddd84 generator/typesystem_core.xml --- a/generator/typesystem_core.xml Fri Jun 12 22:21:33 2009 +0000 +++ b/generator/typesystem_core.xml Sat Jun 13 14:05:32 2009 +0000 @@ -1077,6 +1077,21 @@ + + + + + + + + + + + + + + + @@ -1116,12 +1131,12 @@ return qtjambi_from_qvariant(__jni_env, __qt_this->data(index, role)); } ---> + - + -->