[Kde-bindings] KDE/kdebindings/csharp/qyoto
Arno Rehn
kde at arnorehn.de
Sat Aug 11 21:59:31 UTC 2007
SVN commit 699047 by arnorehn:
* Improved Qyoto.GetPrimitiveString()
CCMAIL: kde-bindings at kde.org
M +1 -0 ChangeLog
M +32 -40 src/Qyoto.cs
--- trunk/KDE/kdebindings/csharp/qyoto/ChangeLog #699046:699047
@@ -5,6 +5,7 @@
* Added implicit type conversions for QUrl.
* Fixed generation of ToolBarArea and DockWidgetArea related stuff in
uics.
+ * Improved Qyoto.GetPrimitiveString()
2007-08-09 Richard Dale <rdale at foton.es>
--- trunk/KDE/kdebindings/csharp/qyoto/src/Qyoto.cs #699046:699047
@@ -143,62 +143,54 @@
public static string GetPrimitiveString(Type type) {
string typeString = type.ToString();
- string ret = type.ToString();
-
- if (type.IsGenericType) {
- return "FIXME: <generic type here>";
- }
-
- if (typeString.StartsWith("Qyoto.")) {
- return typeString.Replace("Qyoto.", "");
- }
-
- switch (type.ToString()) {
+ switch (typeString) {
case "System.Void":
- ret = "";
- break;
+ return "";
case "System.Boolean":
- ret = "bool";
- break;
+ return "bool";
case "System.Int32":
- ret = "int";
- break;
+ return "int";
case "System.Int64":
- ret = "long";
- break;
+ return "long";
case "System.UInt32":
- ret = "uint";
- break;
+ return "uint";
case "System.UInt64":
- ret = "ulong";
- break;
+ return "ulong";
case "System.Int16":
- ret = "short";
- break;
+ return "short";
case "System.UInt16":
- ret = "ushort";
- break;
+ return "ushort";
case "System.Byte":
- ret = "uchar";
- break;
+ return "uchar";
case "System.SByte":
- ret = "sbyte";
- break;
+ return "sbyte";
case "System.String":
- ret = "QString";
- break;
+ return "QString";
case "System.Double":
- ret = "double";
- break;
+ return "double";
case "System.Single":
- ret = "float";
- break;
+ return "float";
case "System.Char":
- ret = "char";
- break;
+ return "char";
}
+
+ if (type.IsGenericType) {
+ return "FIXME: <generic type here>";
+ }
+
+ if (typeString.StartsWith("Qyoto.")) {
+ typeString = typeString.Replace("Qyoto.", "");
+ }
- return ret;
+ // pointer types
+ if ( type.IsSubclassOf(typeof(QObject))
+ || typeString == "QListWidgetItem"
+ || typeString == "QTreeWidgetItem"
+ || typeString == "QTableWidgetItem"
+ || typeString == "QStandardItem")
+ typeString += "*";
+
+ return typeString;
}
public static string SignatureFromMethodInfo(MethodInfo mi) {
More information about the Kde-bindings
mailing list