X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=plugins%2Fdali-swig%2FSWIG%2Fdali.i;h=09963f4bad1e283b39a8fee1b2cd89cda889ca5b;hp=4a612e9000eddb681f2464fc4ce854b52800a979;hb=26368c0d3d953dd805bf0b2370be88a03608133e;hpb=aaf4d0fc389f5dea68d99ce68413c18a472f7e4e diff --git a/plugins/dali-swig/SWIG/dali.i b/plugins/dali-swig/SWIG/dali.i index 4a612e9..09963f4 100755 --- a/plugins/dali-swig/SWIG/dali.i +++ b/plugins/dali-swig/SWIG/dali.i @@ -53,6 +53,8 @@ #include #include #include +#include +#include #include #include @@ -165,8 +167,67 @@ return $null; %} + + + +// Type registry type maps +%typemap(cstype) Dali::TypeInfo::CreateFunction "System.Delegate" +%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ") + Dali::TypeInfo::CreateFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this + +%typemap(cstype) Dali::CSharpTypeInfo::CreateFunction "System.Delegate" +%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ") + Dali::CSharpTypeInfo::CreateFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this + + + +%typemap(cstype) Dali::CSharpTypeInfo::SetPropertyFunction "System.Delegate" +%typemap(csin, pre ="System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ") + Dali::CSharpTypeInfo::SetPropertyFunction "new System.Runtime.InteropServices.HandleRef(null, ip)" // null was this + + + +%typemap(cstype) Dali::CSharpTypeInfo::GetPropertyFunction "System.Delegate" +%typemap(csin, pre ="System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate($csinput); ") + Dali::CSharpTypeInfo::GetPropertyFunction "new System.Runtime.InteropServices.HandleRef(null, ip2)" // null was this + + + + + + + #endif + + +/** + * Extend the type registry to allow for registering of C# controls and custom properties + */ +%extend Dali::TypeRegistration { + + + static void RegisterControl( const std::string& controlName, Dali::CSharpTypeInfo::CreateFunction createFunc ) + { + Dali::CSharpTypeRegistry::RegisterType( controlName, typeid( Dali::Toolkit::Control), createFunc ); + }; + + + static void RegisterProperty( const std::string& controlName, + const std::string& propertyName, + int index, + Property::Type type, + Dali::CSharpTypeInfo::SetPropertyFunction setFunc, + Dali::CSharpTypeInfo::GetPropertyFunction getFunc ) + { + Dali::CSharpTypeRegistry::RegisterProperty( controlName, propertyName, index, type, setFunc, getFunc ); + }; + +}; + + + + %ignore operator<<; %ignore *::GetImplementation(); %ignore *::GetImplementation(Dali::BaseHandle&); @@ -196,7 +257,6 @@ using namespace Dali::Toolkit; %include events/gaussian-blur-view-event.i %include events/image-event.i %include events/itemview-event.i -%include events/keyboardFocusManager-event.i %include events/objectregistry-event.i %include events/popup-event.i %include events/pinchgesture-event.i @@ -219,8 +279,11 @@ using namespace Dali::Toolkit; %include events/videoview-event.i %include alphafunction.i - +%include name-changed.i +%include property-value.i %include dali-operator.i +%include devel-properties.i + %include dali-core.i %include dali-adaptor.i %include dali-toolkit.i