Mercurial > projects > qtd
view generator/typesystem_svg-java.xml @ 248:7664de4a55e5
Fixed #23.
QtD_QObjectEntity is not created dynamically for shell classes any more.
Class initialization is now performed by static constructors.
When wrapping QObjects returned from functions, their run-time types are now taken into account.
QObjects are allocated on GC heap, a doubly-linked list is used to prevent them from been collected (arguably a better solution than allocating on C heap and adding GC ranges)
Minor changes (including unnecessary).
author | maxter |
---|---|
date | Thu, 20 Aug 2009 14:47:17 +0000 |
parents | 8022ef40f110 |
children | 37eed70de029 |
line wrap: on
line source
<typesystem package="qt.svg" default-superclass="QtdObject"> <inject-code> qt.Utilities.loadQtLibrary("QtXml"); qt.Utilities.loadQtLibrary("QtGui"); qt.Utilities.loadQtLibrary("QtSvg"); </inject-code> <object-type name="QGraphicsSvgItem" delete-in-main-thread="yes"> <modify-function signature="setGroup(QGraphicsItemGroup*)"> <modify-argument index="1"> <!-- Handled by injected code in QGraphicsItem --> <reference-count action="ignore" /> </modify-argument> </modify-function> <modify-function signature="setParentItem(QGraphicsItem*)"> <modify-argument index="1"> <!-- Handled by injected code in QGraphicsItem --> <reference-count action="ignore" /> </modify-argument> </modify-function> <modify-function signature="setSharedRenderer(QSvgRenderer*)"> <modify-argument index="1"> <define-ownership class="java" owner="c++" /> </modify-argument> <inject-code position="beginning"> QSvgRenderer oldRenderer = renderer(); </inject-code> <inject-code position="end"> if (oldRenderer != null) oldRenderer.reenableGarbageCollection(); </inject-code> </modify-function> <modify-function signature="QGraphicsSvgItem(QGraphicsItem*)"> <inject-code position="end"> <argument-map index="1" meta-name="%1" /> if (%1 != null) disableGarbageCollection(); </inject-code> </modify-function> <modify-function signature="QGraphicsSvgItem(const QString &,QGraphicsItem*)"> <inject-code position="end"> <argument-map index="2" meta-name="%2" /> if (%2 != null) disableGarbageCollection(); </inject-code> </modify-function> </object-type> <suppress-warning text="WARNING(CppImplGenerator) :: protected function '*' in final class '*'" /> <suppress-warning text="WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'" /> <suppress-warning text="WARNING(MetaJavaBuilder) :: hiding of function '*' in class '*'" /> </typesystem>