public static void InitRuntime() { if (runtimeInitialized) { return; } Qyoto.Init_qyoto_qtcore(); SmokeMarshallers.SetUp(); QMetaType.RegisterType <object>(); // not set when mono is embedded if (AppDomain.CurrentDomain.SetupInformation.ConfigurationFile == null) { PropertyInfo pi = typeof(AppDomain).GetProperty("SetupInformationNoCopy", BindingFlags.NonPublic | BindingFlags.Instance); AppDomainSetup setup = (AppDomainSetup)pi.GetValue(AppDomain.CurrentDomain, null); setup.ConfigurationFile = Assembly.GetExecutingAssembly().Location + ".config"; } foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies()) { TryInitialize(a); } runtimeInitialized = true; }
static public QVariant FromValue(object value, System.Type valueType) { if (valueType == typeof(bool)) { return(new QVariant((bool)value)); } else if (valueType == typeof(double)) { return(new QVariant((double)value)); } else if (valueType == typeof(QBitArray)) { return(new QVariant((QBitArray)value)); } else if (valueType == typeof(QByteArray)) { return(new QVariant((QByteArray)value)); } else if (valueType == typeof(char)) { return(new QVariant(new QChar((char)value))); } else if (valueType == typeof(QDate)) { return(new QVariant((QDate)value)); } else if (valueType == typeof(QDateTime)) { return(new QVariant((QDateTime)value)); } else if (valueType == typeof(int)) { return(new QVariant((int)value)); } else if (valueType == typeof(QLine)) { return(new QVariant((QLine)value)); } else if (valueType == typeof(QLineF)) { return(new QVariant((QLineF)value)); } else if (valueType == typeof(QLocale)) { return(new QVariant((QLocale)value)); } else if (valueType == typeof(QPoint)) { return(new QVariant((QPoint)value)); } else if (valueType == typeof(QPointF)) { return(new QVariant((QPointF)value)); } else if (valueType == typeof(QRect)) { return(new QVariant((QRect)value)); } else if (valueType == typeof(QRectF)) { return(new QVariant((QRectF)value)); } else if (valueType == typeof(QRegExp)) { return(new QVariant((QRegExp)value)); } else if (valueType == typeof(QSize)) { return(new QVariant((QSize)value)); } else if (valueType == typeof(QSizeF)) { return(new QVariant((QSizeF)value)); } else if (valueType == typeof(string)) { return(new QVariant((string)value)); } else if (valueType == typeof(List <string>)) { return(new QVariant((List <string>)value)); } else if (valueType == typeof(List <QVariant>)) { return(new QVariant((List <QVariant>)value)); } else if (valueType == typeof(Dictionary <string, QVariant>)) { return(new QVariant((Dictionary <string, QVariant>)value)); } else if (valueType == typeof(QTime)) { return(new QVariant((QTime)value)); } else if (valueType == typeof(uint)) { return(new QVariant((uint)value)); } else if (valueType == typeof(QUrl)) { return(new QVariant((QUrl)value)); } else if (valueType == typeof(QVariant)) { return(new QVariant((QVariant)value)); } else if (valueType.IsEnum) { return(new QVariant((int)value)); } else { string typeName; if (SmokeMarshallers.IsSmokeClass(valueType)) { typeName = SmokeMarshallers.SmokeClassName(valueType); } else { typeName = valueType.ToString(); } Type type = NameToType(typeName); if (type == Type.Invalid) { return(FromValue <object>(value)); } else if (type > Type.LastCoreType) { IntPtr valueHandle = IntPtr.Zero; if (value != null) { valueHandle = (IntPtr)GCHandle.Alloc(value); } GCHandle handle = (GCHandle)QVariantFromValue(QMetaType.type(typeName), valueHandle); QVariant v = (QVariant)handle.Target; handle.Free(); return(v); } return(new QVariant()); } }
static QVariant() { QMetaType.RegisterType <object>(); }