Skip to content

Commit 0435fe0

Browse files
committed
Wrapped QtSvg.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
1 parent 5ade339 commit 0435fe0

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

QtSharp.CLI/Program.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ public static int Main(string[] args)
108108
"Qt5OpenGL",
109109
"Qt5ScriptTools",
110110
"Qt5Sensors",
111-
"Qt5SerialPort"
111+
"Qt5SerialPort",
112+
"Qt5Svg"
112113
};
113114
if (debug)
114115
{

QtSharp/QtSharp.cs

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -63,24 +63,28 @@ public void Preprocess(Driver driver, ASTContext lib)
6363
lib.SetClassAsValueType("QVariant");
6464
lib.IgnoreClassMethodWithName("QString", "fromStdWString");
6565
lib.IgnoreClassMethodWithName("QString", "toStdWString");
66-
if (this.module == "Widgets")
66+
string[] classesWithTypeEnums = { };
67+
switch (this.module)
6768
{
68-
// HACK: work around https://llvm.org/bugs/show_bug.cgi?id=24655
69-
foreach (var method in lib.FindCompleteClass("QAbstractSlider").Methods.Where(m => m.Access == AccessSpecifier.Protected))
70-
{
71-
method.AccessDecl.PreprocessedEntities.Clear();
72-
}
73-
string[] classesWithTypeEnums =
74-
{
75-
"QGraphicsEllipseItem", "QGraphicsItemGroup", "QGraphicsLineItem",
76-
"QGraphicsPathItem", "QGraphicsPixmapItem", "QGraphicsPolygonItem", "QGraphicsProxyWidget",
77-
"QGraphicsRectItem", "QGraphicsSimpleTextItem", "QGraphicsTextItem", "QGraphicsWidget"
78-
};
79-
foreach (var enumeration in classesWithTypeEnums.Select(c => lib.FindCompleteClass(c)).SelectMany(
80-
@class => @class.Enums.Where(e => string.IsNullOrEmpty(e.Name))))
81-
{
82-
enumeration.Name = "TypeEnum";
83-
}
69+
case "Widgets":
70+
classesWithTypeEnums = new[]
71+
{
72+
"QGraphicsEllipseItem", "QGraphicsItemGroup", "QGraphicsLineItem",
73+
"QGraphicsPathItem", "QGraphicsPixmapItem", "QGraphicsPolygonItem",
74+
"QGraphicsProxyWidget", "QGraphicsRectItem", "QGraphicsSimpleTextItem",
75+
"QGraphicsTextItem", "QGraphicsWidget"
76+
};
77+
break;
78+
case "Svg":
79+
classesWithTypeEnums = new[] { "QGraphicsSvgItem" };
80+
break;
81+
}
82+
foreach (var enumeration in from @class in classesWithTypeEnums
83+
from @enum in lib.FindCompleteClass(@class).Enums
84+
where string.IsNullOrEmpty(@enum.Name)
85+
select @enum)
86+
{
87+
enumeration.Name = "TypeEnum";
8488
}
8589
}
8690

0 commit comments

Comments
 (0)