changeset 71:9071511f7a5b

nicer API for QInput dialog
author eldar
date Wed, 20 May 2009 21:06:33 +0000
parents f1d6b8f559e6
children b149ef2cb18b
files generator/typesystem_gui-java.java generator/typesystem_gui.xml
diffstat 2 files changed, 9802 insertions(+), 9802 deletions(-) [+]
line wrap: on
line diff
--- a/generator/typesystem_gui-java.java	Wed May 20 13:24:34 2009 +0000
+++ b/generator/typesystem_gui-java.java	Wed May 20 21:06:33 2009 +0000
@@ -1,1729 +1,1729 @@
-/****************************************************************************
-**
-** Copyright (C) 1992-2008 Nokia. All rights reserved.
-**
-** This file is part of Qt Jambi.
-**
-** * Commercial Usage
-* Licensees holding valid Qt Commercial licenses may use this file in
-* accordance with the Qt Commercial License Agreement provided with the
-* Software or, alternatively, in accordance with the terms contained in
-* a written agreement between you and Nokia.
-*
-*
-* GNU General Public License Usage
-* Alternatively, this file may be used under the terms of the GNU
-* General Public License versions 2.0 or 3.0 as published by the Free
-* Software Foundation and appearing in the file LICENSE.GPL included in
-* the packaging of this file.  Please review the following information
-* to ensure GNU General Public Licensing requirements will be met:
-* http://www.fsf.org/licensing/licenses/info/GPLv2.html and
-* http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
-* exception, Nokia gives you certain additional rights. These rights
-* are described in the Nokia Qt GPL Exception version 1.2, included in
-* the file GPL_EXCEPTION.txt in this package.
-* 
-* Qt for Windows(R) Licensees
-* As a special exception, Nokia, as the sole copyright holder for Qt
-* Designer, grants users of the Qt/Eclipse Integration plug-in the
-* right for the Qt/Eclipse Integration to link to functionality
-* provided by Qt Designer and its related libraries.
-*
-*
-* If you are unsure which license is appropriate for your use, please
-* contact the sales department at qt-sales@nokia.com.
-
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-****************************************************************************/
-
-package generator;
-
-import qt.QNativePointer;
-import qt.QtBlockedSlot;
-import qt.core.QPoint;
-import qt.core.QPointF;
-import qt.gui.*;
-
-class QIconEngineV2___ extends QIconEngineV2 {
-    public QIconEngineV2 clone() {
-        return null;
-    }
-}// class
-
-class QTransform___ extends QTransform {
-
-    public final QTransform multiply(double d) {
-        operator_multiply_assign(d);
-        return this;
-    }
-
-    public final QTransform multiply(QTransform matrix) {
-        operator_multiply_assign(matrix);
-        return this;
-    }
-
-    public final QTransform add(double d) {
-        operator_add_assign(d);
-        return this;
-    }
-
-    public final QTransform divide(double d) {
-        operator_divide_assign(d);
-        return this;
-    }
-
-    public final QTransform subtract(double d) {
-        operator_subtract_assign(d);
-        return this;
-    }
-
-    /**
-     * Returns an inverted copy of this transformation.
-     *
-     * @return The inverse of the transformation.
-     * @throws IllegalArgumentException
-     *             If this transformation is not invertible.
-     */
-/*    public final QTransform inverted() {
-        QNativePointer ok = new QNativePointer(QNativePointer.Type.Boolean);
-        QTransform returned = inverted(ok);
-        if (!ok.booleanValue())
-            throw new IllegalArgumentException("Transformation is not invertible");
-        return returned;
-    }
-*/
-    /**
-     * Creates a transformation mapping one arbitrary quad into another.
-     *
-     * @return The transformation.
-     * @throws IllegalArgumentException
-     *             If this transformation is not possible.
-     */
-  /*  public static final QTransform quadToQuad(QPolygonF from, QPolygonF to) {
-        QTransform res = new QTransform();
-        QNativePointer resPointer = res.nativePointer();
-        if (quadToQuadPrivate(from, to, resPointer)) {
-            return res;
-        } else
-            throw new IllegalArgumentException("Transformation is not possible");
-    }
-*/
-    /**
-     * Creates a transformation that maps a quad to a unit square.
-     *
-     * @return The transformation.
-     * @throws IllegalArgumentException If this transformation is not possible.
-     */
-/*    public static final QTransform quadToSquare(QPolygonF quad) {
-        QTransform res = new QTransform();
-        QNativePointer resPointer = res.nativePointer();
-        if (quadToSquarePrivate(quad, resPointer)) {
-            return res;
-        } else
-            throw new IllegalArgumentException("Transformation is not possible");
-    }
-*/
-    /**
-     * Creates a transformation that maps a unit square to a the given quad.
-     *
-     * @return The transformation.
-     * @throws IllegalArgumentException
-     *             If this transformation is not possible.
-     */
-/*    public static final QTransform squareToQuad(QPolygonF quad) {
-        QTransform res = new QTransform();
-        QNativePointer resPointer = res.nativePointer();
-        if (squareToQuadPrivate(quad, resPointer)) {
-            return res;
-        } else
-            throw new IllegalArgumentException("Transformation is not possible");
-    }
-*/
-}// class
-
-class QBitmap___ extends QBitmap {
-/*
-    public QBitmap(String fileName, String format) {
-        this(fileName, format == null ? null : qt.QNativePointer.createCharPointer(format));
-    }
-
-    public QBitmap(String fileName) {
-        this(fileName, (String) null);
-    }
-
-    public static QBitmap fromData(qt.core.QSize size, byte bits[], QImage.Format monoFormat) {
-        return fromData(size, qt.internal.QtJambiInternal.byteArrayToNativePointer(bits), monoFormat);
-    }
-
-    public static QBitmap fromData(qt.core.QSize size, byte bits[]) {
-        return fromData(size, bits, QImage.Format.Format_MonoLSB);
-    }
-	*/
-}// class
-
-class QPolygon___ extends QPolygon {
-/*
-    private native void add_private(long nid, int x, int y);
-
-    @QtBlockedSlot
-    public final QPolygon add(int x, int y) {
-        add_private(nativeId(), x, y);
-        return this;
-    }
-
-    @QtBlockedSlot
-    public final QPolygon add(QPoint pt) {
-        add_private(nativeId(), pt.x(), pt.y());
-        return this;
-    }
-
-    @QtBlockedSlot
-    public final QPolygon add(QPolygon p) {
-        int size = p.size();
-        long nid = nativeId();
-        for (int i = 0; i < size; ++i) {
-            QPoint pt = p.at(i);
-            add_private(nid, pt.x(), pt.y());
-        }
-        return this;
-    }
-*/
-}// class
-
-class QPolygonF___ extends QPolygonF {
-  /*
-    private native void add_private(long nid, double x, double y);
-
-    @QtBlockedSlot
-    public final QPolygonF add(double x, double y) {
-        add_private(nativeId(), x, y);
-        return this;
-    }
-
-    @QtBlockedSlot
-    public final QPolygonF add(QPointF pt) {
-        add_private(nativeId(), pt.x(), pt.y());
-        return this;
-    }
-
-    @QtBlockedSlot
-    public final QPolygonF add(QPolygonF p) {
-        int size = p.size();
-        long nid = nativeId();
-        for (int i = 0; i < size; ++i) {
-            QPointF pt = p.at(i);
-            add_private(nid, pt.x(), pt.y());
-        }
-        return this;
-    }
-	*/
-}// class
-
-class QTreeWidgetItemIterator___ extends QTreeWidgetItemIterator {
-    public final QTreeWidgetItemIterator opAddAssign(int i) {
-        return operator_add_assign(i);
-    }
-
-    public final QTreeWidgetItemIterator opSubAssign(int i) {
-        return operator_subtract_assign(i);
-    }
-
-    public final QTreeWidgetItemIterator next() {
-        return operator_increment();
-    }
-
-    public final QTreeWidgetItemIterator previous() {
-        return operator_decrement();
-    }
-
-    public final QTreeWidgetItem current() {
-        return operator_multiply();
-    }
-}// class
-
-class QTextCursor___ extends QTextCursor {
-/*    public final QTableArea selectedTableCells() {
-        QNativePointer firstRow = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer numRows = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer firstColumn = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer numColumns = new QNativePointer(QNativePointer.Type.Int);
-
-        selectedTableCells(firstRow, numRows, firstColumn, numColumns);
-
-        return new QTableArea(firstRow.intValue(), firstColumn.intValue(), numRows.intValue(), numColumns.intValue());
-    }*/
-}// class
-
-class QComboBox___ extends QComboBox {
-
-}// class
-
-class QMatrix___ extends QMatrix {
-    /**
-     * Returns an inverted copy of this matrix.
-     *
-     * @return The inverse of the matrix.
-     * @throws IllegalArgumentException
-     *             If this matrix is not invertible.
-     */
-/*    public final QMatrix inverted() {
-        QNativePointer ok = new QNativePointer(QNativePointer.Type.Boolean);
-        QMatrix returned = inverted(ok);
-        if (!ok.booleanValue())
-            throw new IllegalArgumentException("Matrix is not invertible");
-        return returned;
-    }
-
-    @QtBlockedSlot
-    public final QMatrix multiply(QMatrix other) {
-        operator_multiply_assign(other);
-        return this;
-    }
-
-    @QtBlockedSlot
-    public final QMatrix multiplied(QMatrix other) {
-        return operator_multiply(other);
-    }
-*/
-}// class
-
-class QImage___ extends QImage {
-    private import qt.qtd.Str;
-
-    public this(in string[] xpm) {
-        this(toStringzArray(xpm));
-    }
-/*
-    public final byte[] copyOfBytes() {
-        QNativePointer bits = bits();
-        byte bytes[] = new byte[numBytes()];
-        for (int i = 0; i < bytes.length; ++i)
-            bytes[i] = bits.byteAt(i);
-        return bytes;
-    }
-*/
-    public this(ubyte[] data, int width, int height, Format format) {
-        this(data.ptr, width, height, format);
-    }
-
-    public this(string fileName, string format = null) {
-        this(fileName, format == null ? null : toStringz(format));
-    }
-}// class
-
-class QPen___ extends QPen {
-  /*
-    public QPen(QColor color, double width, qt.core.Qt.PenStyle s, qt.core.Qt.PenCapStyle c, qt.core.Qt.PenJoinStyle j) {
-        this(new QBrush(color), width, s, c, j);
-    }
-
-    public QPen(QColor color, double width, qt.core.Qt.PenStyle s, qt.core.Qt.PenCapStyle c) {
-        this(new QBrush(color), width, s, c);
-    }
-
-    public QPen(QColor color, double width, qt.core.Qt.PenStyle s) {
-        this(new QBrush(color), width, s);
-    }
-
-    public QPen(QColor color, double width) {
-        this(new QBrush(color), width);
-    }
-
-    public static final QPen NoPen = new QPen(qt.core.Qt.PenStyle.NoPen);
-	*/
-}// class
-
-class QColor___ extends QColor {
-	static this() {
-		White = new QColor(Qt.GlobalColor.white);
-		Black = new QColor(Qt.GlobalColor.black);
-		Red = new QColor(Qt.GlobalColor.red);
-		DarkRed = new QColor(Qt.GlobalColor.darkRed);
-		Green = new QColor(Qt.GlobalColor.green);
-		DarkGreen = new QColor(Qt.GlobalColor.darkGreen);
-		Blue = new QColor(Qt.GlobalColor.blue);
-		DarkBlue = new QColor(Qt.GlobalColor.darkBlue);
-		Cyan = new QColor(Qt.GlobalColor.cyan);
-		DarkCyan = new QColor(Qt.GlobalColor.darkCyan);
-		Magenta = new QColor(Qt.GlobalColor.magenta);
-		DarkMagenta = new QColor(Qt.GlobalColor.darkMagenta);
-		Yellow = new QColor(Qt.GlobalColor.yellow);
-		DarkYellow = new QColor(Qt.GlobalColor.darkYellow);
-		Gray = new QColor(Qt.GlobalColor.gray);
-		DarkGray = new QColor(Qt.GlobalColor.darkGray);
-		LightGray = new QColor(Qt.GlobalColor.lightGray);
-		Transparent = new QColor(Qt.GlobalColor.transparent);
-		Color0 = new QColor(Qt.GlobalColor.color0);
-		Color1 = new QColor(Qt.GlobalColor.color1);    
-	}
-	
-    public static const QColor White;
-    public static const QColor Black;
-    public static const QColor Red;
-    public static const QColor DarkRed;
-    public static const QColor Green;
-    public static const QColor DarkGreen;
-    public static const QColor Blue;
-    public static const QColor DarkBlue;
-    public static const QColor Cyan;
-    public static const QColor DarkCyan;
-    public static const QColor Magenta;
-    public static const QColor DarkMagenta;
-    public static const QColor Yellow;
-    public static const QColor DarkYellow;
-    public static const QColor Gray;
-    public static const QColor DarkGray;
-    public static const QColor LightGray;
-    public static const QColor Transparent;
-    public static const QColor Color0;
-    public static const QColor Color1;
-
-}// class
-
-class QTextLine___ extends QTextLine {
-
-    public final void draw(QPainter painter, QPointF position) {
-        draw(painter, position, null);
-    }
-
-}// class
-
-class QKeySequence___ extends QKeySequence {
-/*
-    @QtBlockedSlot
-    public final int toInt() {
-        return operator_cast_int();
-    }
-
-    @QtBlockedSlot
-    public final int at(int i) {
-        return operator_subscript(i);
-    }
-*/
-}// class
-
-class QPicture___ extends QPicture {
-/*
-    public final boolean load(QIODevice dev) {
-        return load(dev, (QNativePointer) null);
-    }
-
-    public final boolean load(String fileName) {
-        return load(fileName, (qt.QNativePointer) null);
-    }
-
-    public final boolean save(QIODevice dev) {
-        return save(dev, (qt.QNativePointer) null);
-    }
-
-    public final boolean save(String fileName) {
-        return save(fileName, (qt.QNativePointer) null);
-    }
-
-    public final byte[] data() {
-        QNativePointer npData = data_private();
-        if (npData == null)
-            return null;
-        byte returned[] = new byte[size()];
-        for (int i = 0; i < returned.length; ++i)
-            returned[i] = npData.byteAt(i);
-        return returned;
-    }
-*/
-}// class
-
-class QRegion___ extends QRegion {
-/*
-    public void setRects(qt.core.QRect[] rects) {
-        setRects(qt.core.QRect.nativePointerArray(rects), rects.length);
-    }
-*/
-}// class
-
-class QPolygon___ extends QPolygon {
-
-}// class
-
-class QPolygonF___ extends QPolygonF {
-
-}// class
-
-class QTextFrame_iterator___ extends QTextFrame_iterator {
-
-    public final void opPostInc() {
-        operator_increment();
-    }
-
-    public final void opPostDec() {
-        operator_decrement();
-    }
-
-}// class
-
-class QTextBlock_iterator___ extends QTextBlock_iterator {
-
-    public final void opPostInc() {
-        operator_increment();
-    }
-
-    public final void opPostDec() {
-        operator_decrement();
-    }
-
-}// class
-
-class QPixmap___ extends QPixmap {
-
-	private import qt.qtd.Str;
-
-        public this(in string[] xpm) {
-		this(toStringzArray(xpm));
-	}
-	
-    public this(string fileName, string format = null, int flags = Qt.ImageConversionFlag.AutoColor) {
-        this(fileName, toStringz(format), flags);
-    }
-	
-/*
-        public this(string fileName, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
-        this(fileName, toStringz(format), flags);
-    }
-*/
-
-        public final bool load(string fileName, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
-        return load(fileName, toStringz(format), flags);
-    }
-/*
-        public final bool load(string fileName, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
-        return load(fileName, toStringz(format), flags);
-    }
-*/
-/*
-    public final bool loadFromData(ubyte[] data, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
-        return loadFromData(data.ptr, data.length, toStringz(format), flags);
-    }
-
-    public final bool loadFromData(ubyte[] data, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
-        return loadFromData(qdata.ptr, data.length, toStringz(format), flags);
-    }
-*/
-
-    public final bool loadFromData(QByteArray data, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
-        return loadFromData(data, toStringz(format), flags);
-    }
-    
-/*	public final bool loadFromData(QByteArray data, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
-        return loadFromData(data, toStringz(format), flags);
-    }
-*/
-
-    public final bool save(string fileName, string format, int quality = -1) {
-        return private_save(fileName, toStringz(format), quality);
-    }
-
-    public final bool save(QIODevice dev, string format, int quality = -1) {
-        return private_save(dev, toStringz(format), quality);
-    }
-}// class
-
-class QItemSelection___ extends QItemSelection {
-
-    public static void split(QItemSelectionRange range, QItemSelectionRange other, QItemSelection result) {
-        qt.QNativePointer np = result.nativePointer();
-        split(range, other, np);
-    }
-
-}// class
-
-class QPainterPath_Element___ extends QPainterPath_Element {
-/*
-    @QtBlockedSlot
-    public final qt.core.QPointF toPoint() {
-        return operator_cast_QPointF();
-    }
-*/
-}// class
-
-class QBrush___ extends QBrush {
-/*
-    public static final QBrush NoBrush = new QBrush(qt.core.Qt.BrushStyle.NoBrush);
-*/
-}// class
-
-class QAbstractItemView___ extends QAbstractItemView {
-
-    private QAbstractItemDelegate[int] __rcDelegatesForColumns;
-    private QAbstractItemDelegate[int] __rcDelegatesForRows;
-
-}// class
-
-class QAccessibleTableInterface___ extends QAccessibleTableInterface {
-
-    public static class CellAtIndex extends QTableArea {
-        public CellAtIndex(int row, int column, int rowSpan, int columnSpan, boolean isSelected) {
-            super(row, column, rowSpan, columnSpan);
-            this.isSelected = isSelected;
-        }
-
-        public boolean isSelected;
-    }
-
-}// class
-
-class QAccessibleInterface___ extends QAccessibleInterface {
-
-    public static class Target {
-        public Target(int childIndex, QAccessibleInterface target) {
-            this.childIndex = childIndex;
-            this.target = target;
-        }
-
-        public QAccessibleInterface target;
-        public int childIndex;
-    }
-
-}// class
-
-class QDesktopServices___ extends QDesktopServices {
-/*
-    private static java.util.Hashtable<String, InternalUrlHandler> __rcUrlHandlers = new java.util.Hashtable<String, InternalUrlHandler>();
-
-    public static interface UrlHandler {
-        public void handleUrl(qt.core.QUrl url);
-    }
-
-    private static class InternalUrlHandler extends qt.core.QObject {
-
-        private UrlHandler urlHandler;
-
-        private InternalUrlHandler(UrlHandler urlHandler) {
-            this.urlHandler = urlHandler;
-        }
-
-        private void handleUrl(qt.core.QUrl url) {
-            urlHandler.handleUrl(url);
-        }
-
-    }
-
-    public static void setUrlHandler(String scheme, UrlHandler urlHandler) {
-        InternalUrlHandler receiver = urlHandler != null ? new InternalUrlHandler(urlHandler) : null;
-
-        if (receiver == null)
-            __rcUrlHandlers.remove(scheme);
-        else
-            __rcUrlHandlers.put(scheme, receiver);
-        setUrlHandler(scheme, receiver, QNativePointer.createCharPointer("handleUrl"));
-    }
-*/
-}// class
-
-class QWizardPage___ extends QWizardPage {
-
-    protected final void registerField(string name, QWidget widget, string property = null) {
-        registerField(name, widget, property is null ? null : toStringz(property), null);
-    }
-
-    /**
-     * Creates a field called <code>name</code> associated with the given
-     * property of the given widget. From then on, that property becomes
-     * accessible using <code>field()</code> and <code>setField()</code>.
-     * Fields are global to the entire wizard and make it easy for any single
-     * page to access information stored by another page, without having to put
-     * all the logic in <code>QWizard</code> or having the pages know
-     * explicitly about each other. If name ends with an asterisk (*), the field
-     * is a mandatory field. When a page has mandatory fields, the Next and/or
-     * Finish buttons are enabled only when all mandatory fields are filled.
-     * This requires a <code>changedSignal</code> to be specified, to tell
-     * QWizard to recheck the value stored by the mandatory field.
-     *
-     * QWizard knows the most common Qt widgets. For these (or their
-     * subclasses), you don't need to specify a <code>property</code> or a
-     * <code>changedSignal</code>. The table below lists these widgets:
-     *
-     * <code>QAbstractButton</code> (for which the relevant property is the
-     * <code>checked</code> property), <code>QAbstractSlider</code> (the
-     * <code>value</code> property), <code>QComboBox</code> (<code>currentIndex</code>
-     * property), <code>QDateTimeEdit</code>(<code>dateTime</code>
-     * property), <code>QLineEdit</code>(<code>text</code> property),
-     * <code>QListWidget</code>(<code>currentRow</code> property), or
-     * <code>QSpinBox</code>(<code>value</code> property).
-     *
-     * @param name
-     *            The name which will be used to access the field. Names ending
-     *            with an asterisk signify mandatory fields.
-     * @param widget
-     *            The widget whose property will be accessed using this field.
-     * @param property
-     *            The name of the property associated with the field.
-     * @param changedSignal
-     *            The name of a signal which is emitted when the associated
-     *            property's value changes.
-     *
-     * @see qt.gui.QWizardPage#field
-     * @see qt.gui.QWizardPage#setField
-     */
-/*    protected final void registerField(String name, QWidget widget, String property, String changedSignal) {
-        String signalSignature = qt.internal.MetaObjectTools.cppSignalSignature(widget, changedSignal);
-        if (signalSignature.length() == 0)
-            throw new QNoSuchSignalException("Signal '" + changedSignal
-                    + "' does not exist or has argument types that cannot be converted to Qt Jambi or java.lang types.");
-        registerField(name, widget, qt.QNativePointer.createCharPointer(property), qt.QNativePointer
-                .createCharPointer(qt.internal.QtJambiInternal.SignalPrefix + signalSignature));
-    }
-*/
-}// class
-
-class QFontDialog___ extends QFontDialog {
-
-    public static final class Result {
-        public Result(QFont font, boolean ok) {
-            this.font = font;
-            this.ok = ok;
-        }
-
-        public QFont font;
-        public boolean ok;
-    }
-
-}// class
-
-class QMenu___ extends QMenu {
-/*
-    protected final void initStyleOption(qt.gui.QStyleOptionMenuItem option, QAction action) {
-        initStyleOption(option.nativePointer(), action);
-    }
-*/
-    alias QWidget.addAction addAction;
-}// class
-
-class QMenuBar___ extends QMenuBar {
-    alias QWidget.addAction addAction;
-
-}// class
-
-class QToolBar___ extends QToolBar {
-	/*
-	protected final void initStyleOption(qt.gui.QStyleOptionMenuItem option, QAction action) {
-   initStyleOption(option.nativePointer(), action);
-}
-*/
-	alias QWidget.addAction addAction;
-}// class
-
-class QPixmapCache___ extends QPixmapCache {
-
-    public static boolean find(String key, QPixmap pm) {
-        return find(key, pm.nativePointer());
-    }
-
-}// class
-
-class QShortcut___ extends QShortcut {
-
-    public this(QKeySequence key, QWidget parent, Qt.ShortcutContext context = Qt.WindowShortcut) {
-        this(key, parent, null, null, context);
-    }
-
-}// class
-
-class QValidator___ extends QValidator {
-
-    public static class QValidationData {
-        public QValidationData(String input, int pos) {
-            string = input;
-            position = pos;
-        }
-
-        public String string;
-        public int position;
-    }
-
-}// class
-
-class QAbstractButton___ extends QAbstractButton {
-
-    /**
-     * Sets the shortcut to the key sequence for the given key string. For
-     * example "Ctrl+O" gives CTRL+'O'. The strings "Ctrl", "Shift", "Alt" and
-     * "Meta" are recognized, as well as their translated equivalents in the
-     * "QShortcut" context (using QObject::tr()). Up to four key codes may be
-     * entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".
-     *
-     * @param key
-     *            The description of the key sequence. Typically used with tr()
-     *            so key sequences can be locale aware.
-     */
-    public final void setShortcut(string key) {
-        setShortcut(new QKeySequence(key));
-    }
-
-    /**
-     * Sets the shortcut to the key sequence for the given key. The result will
-     * depend on the currently running platform. The key sequence will be based
-     * on the first element in the list of key bindings for the key.
-     *
-     * @param key
-     *            The key for which to select a key sequence
-     */
-    public final void setShortcut(QKeySequence.StandardKey key) {
-        setShortcut(new QKeySequence(key));
-    }
-
-}// class
-
-class QStyle___ extends QStyle {
-/*
-    @QtBlockedSlot
-    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
-            qt.core.Qt.Orientation orientation, QStyleOption option, QWidget widget) {
-        return combinedLayoutSpacing(controls1, controls2, orientation, option == null ? null : option.nativePointer(), widget);
-    }
-
-    @QtBlockedSlot
-    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
-            qt.core.Qt.Orientation orientation, QStyleOption option) {
-        return combinedLayoutSpacing(controls1, controls2, orientation, option, null);
-    }
-
-    @QtBlockedSlot
-    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
-            qt.core.Qt.Orientation orientation) {
-        return combinedLayoutSpacing(controls1, controls2, orientation, null);
-    }
-
-    @QtBlockedSlot
-    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation,
-            QStyleOption option, QWidget widget) {
-        return layoutSpacing(control1, control2, orientation, option == null ? null : option.nativePointer(), widget);
-    }
-
-    @QtBlockedSlot
-    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation,
-            QStyleOption option) {
-        return layoutSpacing(control1, control2, orientation, option, null);
-    }
-
-    @QtBlockedSlot
-    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation) {
-        return layoutSpacing(control1, control2, orientation, null);
-    }
-*/
-}// class
-
-class QLayout___ extends QLayout {
-/*
-    @QtBlockedSlot
-    public final QContentsMargins getContentsMargins() {
-        QNativePointer left = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer top = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer right = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Int);
-
-        getContentsMargins(left, top, right, bottom);
-        return new QContentsMargins(left.intValue(), top.intValue(), right.intValue(), bottom.intValue());
-    }
-
-    @QtBlockedSlot
-    public final void setContentsMargins(QContentsMargins margins) {
-        setContentsMargins(margins.left, margins.top, margins.right, margins.bottom);
-    }
-*/
-}// class
-
-class QGridLayout___ extends QGridLayout {
-/*
-    public final QTableArea getItemPosition(int index) {
-        QNativePointer row = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer column = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer rowSpan = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer columnSpan = new QNativePointer(QNativePointer.Type.Int);
-
-        getItemPosition(index, row, column, rowSpan, columnSpan);
-
-        return new QTableArea(row.intValue(), column.intValue(), rowSpan.intValue(), columnSpan.intValue());
-    }
-*/
-}// class
-
-class QWidget___ extends QWidget {
-/*
-    private native static void __qt_QMessageBox_setWindowTitle(long native_id, String windowTitle);
-
-    private native static void __qt_QMessageBox_setWindowModality(long native_id, int modality);
-
-    @QtBlockedSlot
-    public final QContentsMargins getContentsMargins() {
-        QNativePointer left = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer top = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer right = new QNativePointer(QNativePointer.Type.Int);
-        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Int);
-
-        getContentsMargins(left, top, right, bottom);
-        return new QContentsMargins(left.intValue(), top.intValue(), right.intValue(), bottom.intValue());
-    }
-
-    @QtBlockedSlot
-    public final void setContentsMargins(QContentsMargins margins) {
-        setContentsMargins(margins.left, margins.top, margins.right, margins.bottom);
-    }
-*/
-}// class
-
-class QFileDialog___ extends QFileDialog {
-    
-    public static string getOpenFileName(QWidget _parent, string caption = null, string dir = null, string filter = null) {
-        string res;
-        string _selectedFilter = "";
-        qtd_QFileDialog_getOpenFileName_QWidget_string_string_string_nativepointerstring_Options(&res, _parent is null ? null : _parent.nativeId, caption, dir, filter, _selectedFilter, 0);
-        return res;
-    }
-    
-    public static string getSaveFileName(QWidget _parent, string caption = null, string dir = null, string filter = null) {
-        string res;
-        string _selectedFilter = "";
-        qtd_QFileDialog_getSaveFileName_QWidget_string_string_string_nativepointerstring_Options(&res, _parent is null ? null : _parent.nativeId, caption, dir, filter, _selectedFilter, 0);
-        return res;
-    }
-    
-    public static class Filter {
-        public this(string filter) {
-            this.filter = filter;
-        }
-
-        public string filter;
-        public string selectedFilter = "";
-    }
-
-}// class
-
-class QTabBar___ extends QTabBar {
-
-    public final void initStyleOption(QStyleOptionTab option, int tabIndex) {
-        initStyleOption(option.nativePointer(), tabIndex);
-    }
-
-}// class
-
-class QClipboard___ extends QClipboard {
-/*
-    public static class Text {
-        public String text;
-        public String subtype;
-    }
-
-    public final Text text(String subtype, Mode mode) {
-        QNativePointer np = new QNativePointer(QNativePointer.Type.String);
-        np.setStringValue(subtype != null ? subtype : "");
-
-        Text returned = new Text();
-        returned.text = text(np, mode);
-        returned.subtype = np.stringValue();
-        return returned;
-    }
-
-    public final Text text(String subtype) {
-        return text(subtype, Mode.Clipboard);
-    }
-*/
-}// class
-
-class QAbstractScrollArea___ extends QAbstractScrollArea {
-/*
-    public QPaintEngine paintEngine() {
-        throw new RuntimeException("Cannot open a painter directly on a QAbstractScrollArea, open QPainter on its viewport instead...");
-    }
-*/
-}// class
-
-class QTextDocument___ extends QTextDocument {
-
-    public final void redo(QTextCursor cursor) {
-        redo(cursor.nativePointer());
-    }
-
-    public final void undo(QTextCursor cursor) {
-        undo(cursor.nativePointer());
-    }
-
-}// class
-
-class QSplitter___ extends QSplitter {
-
-    public struct Range {
-		public static Range opCall(int min, int max) {
-            Range rng;
-			rng.minimum = min;
-            rng.maximum = max;
-			return rng;
-        }
-
-        public int minimum;
-        public int maximum;
-    }
-
-    public final Range getRange(int index) {
-        int* min;
-        int* max;
-
-        getRange(index, min, max);
-
-        return Range(*min, *max);
-    }
-
-}// class
-
-class QAction___ extends QAction {
-	
-        public final void setShortcut(string key) {
-		setShortcut(new QKeySequence(key));
-	}
-/*
-    private QActionGroup __rcActionGroup = null;
-*/
-    /**
-     * Sets the shortcut to the key sequence for the given key string. For
-     * example "Ctrl+O" gives CTRL+'O'. The strings "Ctrl", "Shift", "Alt" and
-     * "Meta" are recognized, as well as their translated equivalents in the
-     * "QShortcut" context (using QObject::tr()). Up to four key codes may be
-     * entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".
-     *
-     * @param key
-     *            The description of the key sequence. Typically used with tr()
-     *            so key sequences can be locale aware.
-     */
-/*    public final void setShortcut(String key) {
-        setShortcut(new QKeySequence(key));
-    }
-*/
-    /**
-     * Sets the shortcut to the key sequence for the given key. The result will
-     * depend on the currently running platform. The key sequence will be based
-     * on the first element in the list of key bindings for the key.
-     *
-     * @param key
-     *            The key for which to select a key sequence
-     */
-/*    public final void setShortcut(QKeySequence.StandardKey key) {
-        setShortcut(new QKeySequence(key));
-    }
-
-    public final void setIcon(QPixmap pm) {
-        setIcon(new QIcon(pm));
-    }
-*/
-}// class
-
-class QPainter___ extends QPainter {
-
-    public final void setBrush(QColor color) {
-        setBrush(new QBrush(color));
-    }
-
-    public final void setBrush(QGradient gradient) {
-        setBrush(new QBrush(gradient));
-    }
-
-    public final void setBrush(QPixmap pm) {
-        setBrush(new QBrush(pm));
-    }
-    
-    public final void drawConvexPolygon(QPoint[] points) {
-        qtd_QPainter_drawConvexPolygon_nativepointerQPoint_int(nativeId, points.ptr, points.length);
-    }
-    
-    public final void drawConvexPolygon(QPointF[] points) {
-        qtd_QPainter_drawConvexPolygon_nativepointerQPointF_int(nativeId, points.ptr, points.length);
-    }
-    
-    public final void drawLines(QLine[] lines) {
-        qtd_QPainter_drawLines_nativepointerQLine_int(nativeId, lines.ptr, lines.length);
-    }
-
-    public final void drawLines(QLineF[] lines) {
-        qtd_QPainter_drawLines_nativepointerQLineF_int(nativeId, lines.ptr, lines.length);
-    }
-    
-    public final void drawPolygon(QPoint[] points, Qt_FillRule fillRule = Qt_FillRule.OddEvenFill) {
-        qtd_QPainter_drawPolygon_nativepointerQPoint_int_FillRule(nativeId, points.ptr, points.length, fillRule);
-    }
-
-    public final void drawPolygon(QPointF[] points, Qt_FillRule fillRule = Qt_FillRule.OddEvenFill) {
-        qtd_QPainter_drawPolygon_nativepointerQPointF_int_FillRule(nativeId, points.ptr, points.length, fillRule);
-    }
-
-    public final void drawPolyline(QPoint[] points) {
-        qtd_QPainter_drawPolyline_nativepointerQPoint_int(nativeId, points.ptr, points.length);
-    }
-
-    public final void drawPolyline(QPointF[] points) {
-        qtd_QPainter_drawPolyline_nativepointerQPointF_int(nativeId, points.ptr, points.length);
-    }
-    
-    public final void drawPoints(QPoint[] points) {
-        qtd_QPainter_drawPoints_nativepointerQPoint_int(nativeId, points.ptr, points.length);
-    }
-
-    public final void drawPoints(QPointF[] points) {
-        qtd_QPainter_drawPoints_nativepointerQPointF_int(nativeId, points.ptr, points.length);
-    }
-    
-    public final void drawRects(QRect[] rects) {
-        qtd_QPainter_drawRects_nativepointerQRect_int(nativeId, rects.ptr, rects.length);
-    }
-
-    public final void drawRects(QRectF[] rects) {
-        qtd_QPainter_drawRects_nativepointerQRectF_int(nativeId, rects.ptr, rects.length);
-    }
-/*
-    public static QPaintDeviceInterface redirected(QPaintDeviceInterface device, qt.core.QPoint offset) {
-        return redirected(device, offset == null ? null : offset.nativePointer());
-    }
-
-    public QPainter(QWidget widget) {
-        this();
-        begin(widget);
-    }
-
-    public boolean begin(QWidget widget) { // can't be final because of QStylePainter
-        return qt.QtJambiGuiInternal.beginPaint(widget, this);
-    }
-
-    private static java.util.Stack<QPaintDeviceInterface> __rcRedirections = new java.util.Stack<QPaintDeviceInterface>();
-*/
-}// class
-
-class QApplication___ extends QApplication {
-
-        this(in string[] args)
-	{
-//        if (m_instance != null)
-//            throw new RuntimeException("QCoreApplication can only be initialized once");
-            
-		argc = args.length;
-		argv = toStringzArray(args);
-		this(&argc, argv);
-
-//        m_instance.aboutToQuit.connect(m_instance, "disposeOfMyself()");
-	}
-	
-	private int argc;
-	private char **argv;
-
-	/*    public static QApplication instance() {
-        if (type() != Type.Tty)
-            return (QApplication) qt.core.QCoreApplication.instance();
-        return null;
-    }
-
-    public QApplication(String args[]) {
-        this(argc(args), argv(args));
-    }
-
-    public static void setFont(QFont font) {
-        setFont(font, null);
-    }
-
-    public static void setPalette(QPalette palette) {
-        setPalette(palette, null);
-    }
-
-    public static QCursor overrideCursor() {
-        QNativePointer np = overrideCursor_private();
-        return np == null ? null : QCursor.fromNativePointer(np);
-    }
-*/
-}// class
-
-class QFormLayout___ extends QFormLayout {
-
-    /**
-     * Retrieves the row and role (column) of the item at the specified index.
-     * If index is out of bounds, -1 is returned in place of the row.
-     *
-     * @param index The index of the item for which to retrieve the position.
-     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
-     **/
-/*    @QtBlockedSlot
-    public final qt.QPair<Integer, ItemRole> getItemPosition(int index) {
-       qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-       qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-
-       getItemPosition(index, row, role);
-
-       return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
-    }
-*/
-    /**
-     * Retrieves the row and role (column) of the specified child layout.
-     * If the layout is not in the form layout, -1 is returned in place of the row.
-     *
-     * @param layout The layout for which to retrieve the position.
-     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
-     */
-/*    @QtBlockedSlot
-    public final qt.QPair<Integer, ItemRole> getLayoutPosition(QLayout layout) {
-        qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-        qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-
-        getLayoutPosition(layout, row, role);
-
-        return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
-    }
-*/
-    /**
-     * Retrieves the row and role (column) of the specified widget in the layout.
-     * If the widget is not in the form layout, -1 is returned in place of the row.
-     *
-     * @param widget The widget for which to retrieve the position.
-     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
-     */
-/*    @QtBlockedSlot
-    public final qt.QPair<Integer, ItemRole> getWidgetPosition(QWidget widget) {
-        qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-        qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
-
-        getWidgetPosition(widget, row, role);
-
-        return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
-    }
-*/
-    /**
-     * Sets the item in the given row for the given role to item, extending the layout with empty rows if necessary.
-     * If the cell is already occupied, the item is not inserted and a IllegalArgumentException is thrown.
-     */
-/*    @QtBlockedSlot
-    public final void setItem(int row, ItemRole role, QLayoutItem item) {
-        if (itemAt(row, role) == null)
-            setItem_private(row, role, item);
-        else
-            throw new IllegalArgumentException("Cell in form layout is already occupied");
-    }
-*/
-}// class
-
-class Subclass_of_QGraphicsLayoutItem___ extends QGraphicsLayoutItem {
-    /*
-    @QtBlockedSlot
-    public final QMarginsF getContentsMargins() {
-        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
-
-        getContentsMargins(left, top, right, bottom);
-        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
-    }*/
-}// class
-
-class QGraphicsWidget___ extends QGraphicsWidget {
-
-    /*
-     * Gets the widget's window frame margins.
-     *
-     * @returns An object containing the margins in left, right, top and bottom coordinates.
-     
-    @QtBlockedSlot
-    public final QMarginsF getWindowFrameMargins() {
-        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
-
-        getWindowFrameMargins(left, top, right, bottom);
-        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
-    }
-    */
-
-}// class
-
-class QPrinter___ extends QPrinter {
-
-    /**
-     * Returns the page margins for this printer.
-     * The unit of the returned margins are specified with the unit parameter.
-     * This function was introduced in Qt 4.4.
-     *
-     * @param unit Specifies the unit of the returned margins.
-     * @return The page margins for this printer.
-     */
-/*    public final QMarginsF getPageMargins(QPrinter.Unit unit) {
-        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
-        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
-
-        getPageMargins(left, top, right, bottom, unit);
-        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
-    }*/
-
-}// class
-
-class QListWidget___ extends QListWidget {
-
-    /**
-     * Inserts items with the text labels at the end of the list widget.
-     *
-     * @param labels The collection of labels for the new items.
-     */
-    public final void addItems(string[] labels) {
-        foreach (label; labels)
-            addItem(label);
-    }
-
-    /**
-     * This is an overloaded member function, provided for convenience.
-     * Inserts an item with the text label in the list widget at the position given by row.
-     *
-     * @param row The position in which to insert the new item.
-     * @param label The text of the new item.
-     */
-    public final void insertItem(int row, string label) {
-        insertItem(row, new QListWidgetItem(label, this));
-    }
-
-    /**
-     * Inserts items from the list of labels into the list, starting at the given row.
-     *
-     * @param row The position in which to insert the new items.
-     * @param labels The collection of labels for the new items.
-     */
-    public final void insertItems(int row, string[] labels) {
-		foreach (label; labels)
-            insertItem(row++, label);
-    }
-}// class
-
-
-class QGraphicsScene___ extends QGraphicsScene {
-    /**
-     * Equivalent to addEllipse(rect, null, null)
-     */
-    /*public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect)
-    {
-        return addEllipse(rect, null);
-    }*/
-
-    /**
-     * Equivalent to addEllipse(rect, pen, null)
-     */
-   /* public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect, QPen pen)
-    {
-        return addEllipse(rect, pen, null);
-    }*/
-
-
-    /**
-     * Creates and adds an ellipse item to the scene, and returns the item
-     * reference. The geometry of the ellipse is defined by rect, and its pen
-     * and brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem::isVisible() returns true),
-     * QGraphicsScene will emit changed() once control goes back to the event
-     * loop.
-     *
-     * @param rect The bounding rectangle of the ellipse.
-     * @param pen The pen for the resulting QGraphicsEllipseItem.
-     * @param brush The brush for the resulting QGraphicsEllipseItem.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect, QPen pen, QBrush brush)
-    {
-        return addEllipse(rect.x(), rect.y(), rect.width(), rect.height(), pen, brush);
-    }*/
-
-    /**
-     * Equivalent to addEllipse(x, y, w, h, null, null)
-     */
-   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h) {
-        return addEllipse(x, y, w, h, null);
-    }*/
-
-    /**
-     * Equivalent to addEllipse(x, y, w, h, pen, null)
-     */
-   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h, QPen pen)
-    {
-        return addEllipse(x, y, w, h, pen, null);
-    }*/
-
-    /**
-     * Creates and adds an ellipse item to the scene, and returns the item
-     * reference. The geometry of the ellipse is defined by x, y, w, h, and its pen
-     * and brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param x The left horizontal coordinate of the ellipse's bounding rectangle.
-     * @param y The top vertical coordinate of the ellipse's bounding rectangle.
-     * @param w The width of the ellipse's bounding rectangle.
-     * @param h The height of the ellipse's bounding rectangle.
-     * @param pen The pen for the resulting QGraphicsEllipseItem.
-     * @param brush The brush for the resulting QGraphicsEllipseItem.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h, QPen pen, QBrush brush)
-    {
-        QGraphicsEllipseItem item = new QGraphicsEllipseItem(x, y, w, h);
-        item.setPen(pen);
-        item.setBrush(brush);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Equivalent to addLine(line, null)
-     */
-   /* public final QGraphicsLineItem addLine(QLineF line) {
-        return addLine(line, null);
-    }*/
-
-    /**
-     * Creates and adds a line item to the scene, and returns the item
-     * reference. The geometry of the line is defined by line, and its pen
-     * is initialized to pen.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param line The definition of the line.
-     * @param pen The pen with which to draw the line.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsLineItem addLine(QLineF line, QPen pen)
-    {
-        return addLine(line.x1(), line.y1(), line.x2(), line.y2(), pen);
-    }*/
-
-    /**
-     * Equivalent to addLine(x1, y1, x2, y2, null)
-     */
-  /*  public final QGraphicsLineItem addLine(double x1, double y1, double x2, double y2) {
-        return addLine(x1, y1, x2, y2, null);
-    }*/
-
-    /**
-     * Creates and adds a line item to the scene, and returns the item
-     * reference. The geometry of the line is defined by x1, y1, x2, y2, and its pen
-     * is initialized to pen.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param x1 The first horizontal coordinate of the line.
-     * @param y1 The first vertical coordinate of the line.
-     * @param x2 The second horizontal coordinate of the line.
-     * @param y2 The second vertical coordinate of the line.
-     * @param pen The pen with which to draw the line.
-     * @return The resulting item.
-     */
-  /*  public final QGraphicsLineItem addLine(double x1, double y1, double x2, double y2, QPen pen)
-    {
-        QGraphicsLineItem item = new QGraphicsLineItem(x1, y1, x2, y2);
-        item.setPen(pen);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-
-    /**
-     * Equivalent to addPath(path, null, null)
-     */
-    /*public final QGraphicsPathItem addPath(QPainterPath path) {
-        return addPath(path, null);
-    }*/
-
-    /**
-     * Equivalent to addPath(path, pen, null)
-     */
-    /*public final QGraphicsPathItem addPath(QPainterPath path, QPen pen)
-    {
-        return addPath(path, pen, null);
-    }*/
-    /**
-     * Creates and adds a path item to the scene, and returns the item
-     * reference. The geometry of the path is defined by path, and its pen and
-     * brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param path The definition of the path.
-     * @param pen The pen for drawing the path.
-     * @param brush The brush for drawing the path.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsPathItem addPath(QPainterPath path, QPen pen, QBrush brush)
-    {
-        QGraphicsPathItem item = new QGraphicsPathItem(path);
-        item.setPen(pen);
-        item.setBrush(brush);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Creates and adds a pixmap item to the scene, and returns the item
-     * reference. The pixmap is defined by pixmap.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param pixmap The pixmap for which to create a graphics item.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsPixmapItem addPixmap(QPixmap pixmap)
-    {
-        QGraphicsPixmapItem item = new QGraphicsPixmapItem(pixmap);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Equivalent to addPolygon(polygon, null, null)
-     */
-  /*  public final QGraphicsPolygonItem addPolygon(QPolygonF polygon) {
-        return addPolygon(polygon, null);
-    }*/
-
-    /**
-     * Equivalent to addPolygon(polygon, pen, null)
-     */
-   /* public final QGraphicsPolygonItem addPolygon(QPolygonF polygon, QPen pen) {
-        return addPolygon(polygon, pen, null);
-    }*/
-
-    /**
-     * Creates and adds a polygon item to the scene, and returns the item
-     * reference. The polygon is defined by polygon, and its pen and
-     * brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param polygon The definition of the polygon.
-     * @param pen The pen with which to draw the polygon.
-     * @param brush The brush with which to draw the polygon.
-     * @return The resulting item.
-     */
-  /*  public final QGraphicsPolygonItem addPolygon(QPolygonF polygon, QPen pen, QBrush brush)
-    {
-        QGraphicsPolygonItem item = new QGraphicsPolygonItem(polygon);
-        item.setPen(pen);
-        item.setBrush(brush);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Equivalent to addRect(rect, null, null)
-     */
-  /*  public final QGraphicsRectItem addRect(qt.core.QRectF rect) {
-        return addRect(rect, null);
-    }*/
-
-    /**
-     * Equivalent to addRect(rect, pen, null)
-     */
-   /* public final QGraphicsRectItem addRect(qt.core.QRectF rect, QPen pen)
-    {
-        return addRect(rect, pen, null);
-    }*/
-
-    /**
-     * Creates and adds a rectangle item to the scene, and returns the item
-     * reference. The geometry of the rectangle is defined by rect, and its pen
-     * and brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0). For example, if a QRect(50, 50, 100,
-     * 100) is added, its top-left corner will be at (50, 50) relative to the
-     * origin in the item's coordinate system.
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param rect The definition of the rectangle.
-     * @param pen The pen with which to draw the rectangle.
-     * @param brush The brush with which to draw the rectangle.
-     * @return The resulting item.
-     */
-  /*  public final QGraphicsRectItem addRect(qt.core.QRectF rect, QPen pen, QBrush brush)
-    {
-        return addRect(rect.x(), rect.y(), rect.width(), rect.height(), pen, brush);
-    }*/
-
-    /**
-     * Equivalent to addRect(x, y, w, h, null, null)
-     */
-  /*  public final QGraphicsRectItem addRect(double x, double y, double w, double h) {
-        return addRect(x, y, w, h, null);
-    }*/
-
-    /**
-     * Equivalent to addRect(x, y, w, h, pen, null)
-     */
-   /* public final QGraphicsRectItem addRect(double x, double y, double w, double h, QPen pen) {
-        return addRect(x, y, w, h, pen, null);
-    }*/
-
-    /**
-     * Creates and adds a rectangle item to the scene, and returns the item
-     * reference. The geometry of the rectangle is defined by x, y, w, h, and its pen
-     * and brush are initialized to pen and brush.
-     *
-     * Note that the item's geometry is provided in item coordinates, and its
-     * position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param x The left horizontal coordinate of the rectangle.
-     * @param y The top vertical coordinate of the rectangle.
-     * @param w The width of the rectangle.
-     * @param h The height of the rectangle.
-     * @param pen The pen with which to draw the rectangle.
-     * @param brush The brush with which to draw the rectangle.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsRectItem addRect(double x, double y, double w, double h, QPen pen, QBrush brush)
-    {
-        QGraphicsRectItem item = new QGraphicsRectItem(x, y, w, h);
-        item.setPen(pen);
-        item.setBrush(brush);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Equivalent to addSimpleText(text, null)
-     */
-    /*public final QGraphicsSimpleTextItem addSimpleText(String text) {
-        return addSimpleText(text, null);
-    }*/
-
-    /**
-     * Creates and adds a QGraphicsSimpleTextItem to the scene, and returns the
-     * item reference. The text string is initialized to text, and its font is
-     * initialized to font.
-     *
-     * The item's position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param text The text to add to the scene.
-     * @param font The font to use for displaying the text.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsSimpleTextItem addSimpleText(String text, QFont font)
-    {
-        QGraphicsSimpleTextItem item = new QGraphicsSimpleTextItem(text);
-        item.setFont(font);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-    /**
-     * Equivalent to addText(text, null)
-     */
-   /* public final QGraphicsTextItem addText(String text) {
-        return addText(text, null);
-    }*/
-
-    /**
-     * Creates and adds a text item to the scene, and returns the item
-     * reference. The text string is initialized to text, and its font
-     * is initialized to font.
-     *
-     * The item's position is initialized to (0, 0).
-     *
-     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
-     * QGraphicsScene will emit changed once control goes back to the event
-     * loop.
-     *
-     * @param text The text to add to the scene.
-     * @param font The font to use for displaying the text.
-     * @return The resulting item.
-     */
-   /* public final QGraphicsTextItem addText(String text, QFont font)
-    {
-        QGraphicsTextItem item = new QGraphicsTextItem(text);
-        item.setFont(font);
-
-        addItem(item);
-
-        return item;
-    }*/
-
-}// class
-
-class QInputDialog___ extends QInputDialog {
-    private static double getDouble(QWidget _parent, string title, string label, double value = 0, double minValue = -2147483647, double maxValue = 2147483647, int decimals = 1, ref bool ok = false, int flags = 0) {
-        return qtd_QInputDialog_getDouble_private_QWidget_string_string_double_double_double_int_nativepointerbool_WindowFlags(_parent is null ? null : _parent.nativeId, title, label, value, minValue, maxValue, decimals, &ok, flags);
-    }
-
-    private static int getInt(QWidget _parent, string title, string label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, ref bool ok = false, int flags = 0) {
-        return qtd_QInputDialog_getInt_private_QWidget_string_string_int_int_int_int_nativepointerbool_WindowFlags(_parent is null ? null : _parent.nativeId, title, label, value, minValue, maxValue, step, &ok, flags);
-    }
-
-    private static string getItem(QWidget _parent, string title, string label, string[] items, int current = 0, bool editable = true, ref bool ok = false, int flags = 0) {
-        string res;
-        qtd_QInputDialog_getItem_private_QWidget_string_string_List_int_bool_nativepointerbool_WindowFlags(&res, _parent is null ? null : _parent.nativeId, title, label, items.ptr, items.length, current, editable, &ok, flags);
-        return res;
-    }
-
-    private static string getText(QWidget _parent, string title, string label, QLineEdit_EchoMode echo = QLineEdit_EchoMode.Normal, string text = null, ref bool ok = false, int flags = 0) {
-        string res;
-        qtd_QInputDialog_getText_private_QWidget_string_string_EchoMode_string_nativepointerbool_WindowFlags(&res, _parent is null ? null : _parent.nativeId, title, label, echo, text, &ok, flags);
-        return res;
-    }
-}// class
+/****************************************************************************
+**
+** Copyright (C) 1992-2008 Nokia. All rights reserved.
+**
+** This file is part of Qt Jambi.
+**
+** * Commercial Usage
+* Licensees holding valid Qt Commercial licenses may use this file in
+* accordance with the Qt Commercial License Agreement provided with the
+* Software or, alternatively, in accordance with the terms contained in
+* a written agreement between you and Nokia.
+*
+*
+* GNU General Public License Usage
+* Alternatively, this file may be used under the terms of the GNU
+* General Public License versions 2.0 or 3.0 as published by the Free
+* Software Foundation and appearing in the file LICENSE.GPL included in
+* the packaging of this file.  Please review the following information
+* to ensure GNU General Public Licensing requirements will be met:
+* http://www.fsf.org/licensing/licenses/info/GPLv2.html and
+* http://www.gnu.org/copyleft/gpl.html.  In addition, as a special
+* exception, Nokia gives you certain additional rights. These rights
+* are described in the Nokia Qt GPL Exception version 1.2, included in
+* the file GPL_EXCEPTION.txt in this package.
+* 
+* Qt for Windows(R) Licensees
+* As a special exception, Nokia, as the sole copyright holder for Qt
+* Designer, grants users of the Qt/Eclipse Integration plug-in the
+* right for the Qt/Eclipse Integration to link to functionality
+* provided by Qt Designer and its related libraries.
+*
+*
+* If you are unsure which license is appropriate for your use, please
+* contact the sales department at qt-sales@nokia.com.
+
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+package generator;
+
+import qt.QNativePointer;
+import qt.QtBlockedSlot;
+import qt.core.QPoint;
+import qt.core.QPointF;
+import qt.gui.*;
+
+class QIconEngineV2___ extends QIconEngineV2 {
+    public QIconEngineV2 clone() {
+        return null;
+    }
+}// class
+
+class QTransform___ extends QTransform {
+
+    public final QTransform multiply(double d) {
+        operator_multiply_assign(d);
+        return this;
+    }
+
+    public final QTransform multiply(QTransform matrix) {
+        operator_multiply_assign(matrix);
+        return this;
+    }
+
+    public final QTransform add(double d) {
+        operator_add_assign(d);
+        return this;
+    }
+
+    public final QTransform divide(double d) {
+        operator_divide_assign(d);
+        return this;
+    }
+
+    public final QTransform subtract(double d) {
+        operator_subtract_assign(d);
+        return this;
+    }
+
+    /**
+     * Returns an inverted copy of this transformation.
+     *
+     * @return The inverse of the transformation.
+     * @throws IllegalArgumentException
+     *             If this transformation is not invertible.
+     */
+/*    public final QTransform inverted() {
+        QNativePointer ok = new QNativePointer(QNativePointer.Type.Boolean);
+        QTransform returned = inverted(ok);
+        if (!ok.booleanValue())
+            throw new IllegalArgumentException("Transformation is not invertible");
+        return returned;
+    }
+*/
+    /**
+     * Creates a transformation mapping one arbitrary quad into another.
+     *
+     * @return The transformation.
+     * @throws IllegalArgumentException
+     *             If this transformation is not possible.
+     */
+  /*  public static final QTransform quadToQuad(QPolygonF from, QPolygonF to) {
+        QTransform res = new QTransform();
+        QNativePointer resPointer = res.nativePointer();
+        if (quadToQuadPrivate(from, to, resPointer)) {
+            return res;
+        } else
+            throw new IllegalArgumentException("Transformation is not possible");
+    }
+*/
+    /**
+     * Creates a transformation that maps a quad to a unit square.
+     *
+     * @return The transformation.
+     * @throws IllegalArgumentException If this transformation is not possible.
+     */
+/*    public static final QTransform quadToSquare(QPolygonF quad) {
+        QTransform res = new QTransform();
+        QNativePointer resPointer = res.nativePointer();
+        if (quadToSquarePrivate(quad, resPointer)) {
+            return res;
+        } else
+            throw new IllegalArgumentException("Transformation is not possible");
+    }
+*/
+    /**
+     * Creates a transformation that maps a unit square to a the given quad.
+     *
+     * @return The transformation.
+     * @throws IllegalArgumentException
+     *             If this transformation is not possible.
+     */
+/*    public static final QTransform squareToQuad(QPolygonF quad) {
+        QTransform res = new QTransform();
+        QNativePointer resPointer = res.nativePointer();
+        if (squareToQuadPrivate(quad, resPointer)) {
+            return res;
+        } else
+            throw new IllegalArgumentException("Transformation is not possible");
+    }
+*/
+}// class
+
+class QBitmap___ extends QBitmap {
+/*
+    public QBitmap(String fileName, String format) {
+        this(fileName, format == null ? null : qt.QNativePointer.createCharPointer(format));
+    }
+
+    public QBitmap(String fileName) {
+        this(fileName, (String) null);
+    }
+
+    public static QBitmap fromData(qt.core.QSize size, byte bits[], QImage.Format monoFormat) {
+        return fromData(size, qt.internal.QtJambiInternal.byteArrayToNativePointer(bits), monoFormat);
+    }
+
+    public static QBitmap fromData(qt.core.QSize size, byte bits[]) {
+        return fromData(size, bits, QImage.Format.Format_MonoLSB);
+    }
+	*/
+}// class
+
+class QPolygon___ extends QPolygon {
+/*
+    private native void add_private(long nid, int x, int y);
+
+    @QtBlockedSlot
+    public final QPolygon add(int x, int y) {
+        add_private(nativeId(), x, y);
+        return this;
+    }
+
+    @QtBlockedSlot
+    public final QPolygon add(QPoint pt) {
+        add_private(nativeId(), pt.x(), pt.y());
+        return this;
+    }
+
+    @QtBlockedSlot
+    public final QPolygon add(QPolygon p) {
+        int size = p.size();
+        long nid = nativeId();
+        for (int i = 0; i < size; ++i) {
+            QPoint pt = p.at(i);
+            add_private(nid, pt.x(), pt.y());
+        }
+        return this;
+    }
+*/
+}// class
+
+class QPolygonF___ extends QPolygonF {
+  /*
+    private native void add_private(long nid, double x, double y);
+
+    @QtBlockedSlot
+    public final QPolygonF add(double x, double y) {
+        add_private(nativeId(), x, y);
+        return this;
+    }
+
+    @QtBlockedSlot
+    public final QPolygonF add(QPointF pt) {
+        add_private(nativeId(), pt.x(), pt.y());
+        return this;
+    }
+
+    @QtBlockedSlot
+    public final QPolygonF add(QPolygonF p) {
+        int size = p.size();
+        long nid = nativeId();
+        for (int i = 0; i < size; ++i) {
+            QPointF pt = p.at(i);
+            add_private(nid, pt.x(), pt.y());
+        }
+        return this;
+    }
+	*/
+}// class
+
+class QTreeWidgetItemIterator___ extends QTreeWidgetItemIterator {
+    public final QTreeWidgetItemIterator opAddAssign(int i) {
+        return operator_add_assign(i);
+    }
+
+    public final QTreeWidgetItemIterator opSubAssign(int i) {
+        return operator_subtract_assign(i);
+    }
+
+    public final QTreeWidgetItemIterator next() {
+        return operator_increment();
+    }
+
+    public final QTreeWidgetItemIterator previous() {
+        return operator_decrement();
+    }
+
+    public final QTreeWidgetItem current() {
+        return operator_multiply();
+    }
+}// class
+
+class QTextCursor___ extends QTextCursor {
+/*    public final QTableArea selectedTableCells() {
+        QNativePointer firstRow = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer numRows = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer firstColumn = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer numColumns = new QNativePointer(QNativePointer.Type.Int);
+
+        selectedTableCells(firstRow, numRows, firstColumn, numColumns);
+
+        return new QTableArea(firstRow.intValue(), firstColumn.intValue(), numRows.intValue(), numColumns.intValue());
+    }*/
+}// class
+
+class QComboBox___ extends QComboBox {
+
+}// class
+
+class QMatrix___ extends QMatrix {
+    /**
+     * Returns an inverted copy of this matrix.
+     *
+     * @return The inverse of the matrix.
+     * @throws IllegalArgumentException
+     *             If this matrix is not invertible.
+     */
+/*    public final QMatrix inverted() {
+        QNativePointer ok = new QNativePointer(QNativePointer.Type.Boolean);
+        QMatrix returned = inverted(ok);
+        if (!ok.booleanValue())
+            throw new IllegalArgumentException("Matrix is not invertible");
+        return returned;
+    }
+
+    @QtBlockedSlot
+    public final QMatrix multiply(QMatrix other) {
+        operator_multiply_assign(other);
+        return this;
+    }
+
+    @QtBlockedSlot
+    public final QMatrix multiplied(QMatrix other) {
+        return operator_multiply(other);
+    }
+*/
+}// class
+
+class QImage___ extends QImage {
+    private import qt.qtd.Str;
+
+    public this(in string[] xpm) {
+        this(toStringzArray(xpm));
+    }
+/*
+    public final byte[] copyOfBytes() {
+        QNativePointer bits = bits();
+        byte bytes[] = new byte[numBytes()];
+        for (int i = 0; i < bytes.length; ++i)
+            bytes[i] = bits.byteAt(i);
+        return bytes;
+    }
+*/
+    public this(ubyte[] data, int width, int height, Format format) {
+        this(data.ptr, width, height, format);
+    }
+
+    public this(string fileName, string format = null) {
+        this(fileName, format == null ? null : toStringz(format));
+    }
+}// class
+
+class QPen___ extends QPen {
+  /*
+    public QPen(QColor color, double width, qt.core.Qt.PenStyle s, qt.core.Qt.PenCapStyle c, qt.core.Qt.PenJoinStyle j) {
+        this(new QBrush(color), width, s, c, j);
+    }
+
+    public QPen(QColor color, double width, qt.core.Qt.PenStyle s, qt.core.Qt.PenCapStyle c) {
+        this(new QBrush(color), width, s, c);
+    }
+
+    public QPen(QColor color, double width, qt.core.Qt.PenStyle s) {
+        this(new QBrush(color), width, s);
+    }
+
+    public QPen(QColor color, double width) {
+        this(new QBrush(color), width);
+    }
+
+    public static final QPen NoPen = new QPen(qt.core.Qt.PenStyle.NoPen);
+	*/
+}// class
+
+class QColor___ extends QColor {
+	static this() {
+		White = new QColor(Qt.GlobalColor.white);
+		Black = new QColor(Qt.GlobalColor.black);
+		Red = new QColor(Qt.GlobalColor.red);
+		DarkRed = new QColor(Qt.GlobalColor.darkRed);
+		Green = new QColor(Qt.GlobalColor.green);
+		DarkGreen = new QColor(Qt.GlobalColor.darkGreen);
+		Blue = new QColor(Qt.GlobalColor.blue);
+		DarkBlue = new QColor(Qt.GlobalColor.darkBlue);
+		Cyan = new QColor(Qt.GlobalColor.cyan);
+		DarkCyan = new QColor(Qt.GlobalColor.darkCyan);
+		Magenta = new QColor(Qt.GlobalColor.magenta);
+		DarkMagenta = new QColor(Qt.GlobalColor.darkMagenta);
+		Yellow = new QColor(Qt.GlobalColor.yellow);
+		DarkYellow = new QColor(Qt.GlobalColor.darkYellow);
+		Gray = new QColor(Qt.GlobalColor.gray);
+		DarkGray = new QColor(Qt.GlobalColor.darkGray);
+		LightGray = new QColor(Qt.GlobalColor.lightGray);
+		Transparent = new QColor(Qt.GlobalColor.transparent);
+		Color0 = new QColor(Qt.GlobalColor.color0);
+		Color1 = new QColor(Qt.GlobalColor.color1);    
+	}
+	
+    public static const QColor White;
+    public static const QColor Black;
+    public static const QColor Red;
+    public static const QColor DarkRed;
+    public static const QColor Green;
+    public static const QColor DarkGreen;
+    public static const QColor Blue;
+    public static const QColor DarkBlue;
+    public static const QColor Cyan;
+    public static const QColor DarkCyan;
+    public static const QColor Magenta;
+    public static const QColor DarkMagenta;
+    public static const QColor Yellow;
+    public static const QColor DarkYellow;
+    public static const QColor Gray;
+    public static const QColor DarkGray;
+    public static const QColor LightGray;
+    public static const QColor Transparent;
+    public static const QColor Color0;
+    public static const QColor Color1;
+
+}// class
+
+class QTextLine___ extends QTextLine {
+
+    public final void draw(QPainter painter, QPointF position) {
+        draw(painter, position, null);
+    }
+
+}// class
+
+class QKeySequence___ extends QKeySequence {
+/*
+    @QtBlockedSlot
+    public final int toInt() {
+        return operator_cast_int();
+    }
+
+    @QtBlockedSlot
+    public final int at(int i) {
+        return operator_subscript(i);
+    }
+*/
+}// class
+
+class QPicture___ extends QPicture {
+/*
+    public final boolean load(QIODevice dev) {
+        return load(dev, (QNativePointer) null);
+    }
+
+    public final boolean load(String fileName) {
+        return load(fileName, (qt.QNativePointer) null);
+    }
+
+    public final boolean save(QIODevice dev) {
+        return save(dev, (qt.QNativePointer) null);
+    }
+
+    public final boolean save(String fileName) {
+        return save(fileName, (qt.QNativePointer) null);
+    }
+
+    public final byte[] data() {
+        QNativePointer npData = data_private();
+        if (npData == null)
+            return null;
+        byte returned[] = new byte[size()];
+        for (int i = 0; i < returned.length; ++i)
+            returned[i] = npData.byteAt(i);
+        return returned;
+    }
+*/
+}// class
+
+class QRegion___ extends QRegion {
+/*
+    public void setRects(qt.core.QRect[] rects) {
+        setRects(qt.core.QRect.nativePointerArray(rects), rects.length);
+    }
+*/
+}// class
+
+class QPolygon___ extends QPolygon {
+
+}// class
+
+class QPolygonF___ extends QPolygonF {
+
+}// class
+
+class QTextFrame_iterator___ extends QTextFrame_iterator {
+
+    public final void opPostInc() {
+        operator_increment();
+    }
+
+    public final void opPostDec() {
+        operator_decrement();
+    }
+
+}// class
+
+class QTextBlock_iterator___ extends QTextBlock_iterator {
+
+    public final void opPostInc() {
+        operator_increment();
+    }
+
+    public final void opPostDec() {
+        operator_decrement();
+    }
+
+}// class
+
+class QPixmap___ extends QPixmap {
+
+	private import qt.qtd.Str;
+
+        public this(in string[] xpm) {
+		this(toStringzArray(xpm));
+	}
+	
+    public this(string fileName, string format = null, int flags = Qt.ImageConversionFlag.AutoColor) {
+        this(fileName, toStringz(format), flags);
+    }
+	
+/*
+        public this(string fileName, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
+        this(fileName, toStringz(format), flags);
+    }
+*/
+
+        public final bool load(string fileName, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
+        return load(fileName, toStringz(format), flags);
+    }
+/*
+        public final bool load(string fileName, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
+        return load(fileName, toStringz(format), flags);
+    }
+*/
+/*
+    public final bool loadFromData(ubyte[] data, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
+        return loadFromData(data.ptr, data.length, toStringz(format), flags);
+    }
+
+    public final bool loadFromData(ubyte[] data, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
+        return loadFromData(qdata.ptr, data.length, toStringz(format), flags);
+    }
+*/
+
+    public final bool loadFromData(QByteArray data, string format, int flags = Qt.ImageConversionFlag.AutoColor) {
+        return loadFromData(data, toStringz(format), flags);
+    }
+    
+/*	public final bool loadFromData(QByteArray data, string format = null, Qt.ImageConversionFlags flags = Qt.ImageConversionFlag.AutoColor) {
+        return loadFromData(data, toStringz(format), flags);
+    }
+*/
+
+    public final bool save(string fileName, string format, int quality = -1) {
+        return private_save(fileName, toStringz(format), quality);
+    }
+
+    public final bool save(QIODevice dev, string format, int quality = -1) {
+        return private_save(dev, toStringz(format), quality);
+    }
+}// class
+
+class QItemSelection___ extends QItemSelection {
+
+    public static void split(QItemSelectionRange range, QItemSelectionRange other, QItemSelection result) {
+        qt.QNativePointer np = result.nativePointer();
+        split(range, other, np);
+    }
+
+}// class
+
+class QPainterPath_Element___ extends QPainterPath_Element {
+/*
+    @QtBlockedSlot
+    public final qt.core.QPointF toPoint() {
+        return operator_cast_QPointF();
+    }
+*/
+}// class
+
+class QBrush___ extends QBrush {
+/*
+    public static final QBrush NoBrush = new QBrush(qt.core.Qt.BrushStyle.NoBrush);
+*/
+}// class
+
+class QAbstractItemView___ extends QAbstractItemView {
+
+    private QAbstractItemDelegate[int] __rcDelegatesForColumns;
+    private QAbstractItemDelegate[int] __rcDelegatesForRows;
+
+}// class
+
+class QAccessibleTableInterface___ extends QAccessibleTableInterface {
+
+    public static class CellAtIndex extends QTableArea {
+        public CellAtIndex(int row, int column, int rowSpan, int columnSpan, boolean isSelected) {
+            super(row, column, rowSpan, columnSpan);
+            this.isSelected = isSelected;
+        }
+
+        public boolean isSelected;
+    }
+
+}// class
+
+class QAccessibleInterface___ extends QAccessibleInterface {
+
+    public static class Target {
+        public Target(int childIndex, QAccessibleInterface target) {
+            this.childIndex = childIndex;
+            this.target = target;
+        }
+
+        public QAccessibleInterface target;
+        public int childIndex;
+    }
+
+}// class
+
+class QDesktopServices___ extends QDesktopServices {
+/*
+    private static java.util.Hashtable<String, InternalUrlHandler> __rcUrlHandlers = new java.util.Hashtable<String, InternalUrlHandler>();
+
+    public static interface UrlHandler {
+        public void handleUrl(qt.core.QUrl url);
+    }
+
+    private static class InternalUrlHandler extends qt.core.QObject {
+
+        private UrlHandler urlHandler;
+
+        private InternalUrlHandler(UrlHandler urlHandler) {
+            this.urlHandler = urlHandler;
+        }
+
+        private void handleUrl(qt.core.QUrl url) {
+            urlHandler.handleUrl(url);
+        }
+
+    }
+
+    public static void setUrlHandler(String scheme, UrlHandler urlHandler) {
+        InternalUrlHandler receiver = urlHandler != null ? new InternalUrlHandler(urlHandler) : null;
+
+        if (receiver == null)
+            __rcUrlHandlers.remove(scheme);
+        else
+            __rcUrlHandlers.put(scheme, receiver);
+        setUrlHandler(scheme, receiver, QNativePointer.createCharPointer("handleUrl"));
+    }
+*/
+}// class
+
+class QWizardPage___ extends QWizardPage {
+
+    protected final void registerField(string name, QWidget widget, string property = null) {
+        registerField(name, widget, property is null ? null : toStringz(property), null);
+    }
+
+    /**
+     * Creates a field called <code>name</code> associated with the given
+     * property of the given widget. From then on, that property becomes
+     * accessible using <code>field()</code> and <code>setField()</code>.
+     * Fields are global to the entire wizard and make it easy for any single
+     * page to access information stored by another page, without having to put
+     * all the logic in <code>QWizard</code> or having the pages know
+     * explicitly about each other. If name ends with an asterisk (*), the field
+     * is a mandatory field. When a page has mandatory fields, the Next and/or
+     * Finish buttons are enabled only when all mandatory fields are filled.
+     * This requires a <code>changedSignal</code> to be specified, to tell
+     * QWizard to recheck the value stored by the mandatory field.
+     *
+     * QWizard knows the most common Qt widgets. For these (or their
+     * subclasses), you don't need to specify a <code>property</code> or a
+     * <code>changedSignal</code>. The table below lists these widgets:
+     *
+     * <code>QAbstractButton</code> (for which the relevant property is the
+     * <code>checked</code> property), <code>QAbstractSlider</code> (the
+     * <code>value</code> property), <code>QComboBox</code> (<code>currentIndex</code>
+     * property), <code>QDateTimeEdit</code>(<code>dateTime</code>
+     * property), <code>QLineEdit</code>(<code>text</code> property),
+     * <code>QListWidget</code>(<code>currentRow</code> property), or
+     * <code>QSpinBox</code>(<code>value</code> property).
+     *
+     * @param name
+     *            The name which will be used to access the field. Names ending
+     *            with an asterisk signify mandatory fields.
+     * @param widget
+     *            The widget whose property will be accessed using this field.
+     * @param property
+     *            The name of the property associated with the field.
+     * @param changedSignal
+     *            The name of a signal which is emitted when the associated
+     *            property's value changes.
+     *
+     * @see qt.gui.QWizardPage#field
+     * @see qt.gui.QWizardPage#setField
+     */
+/*    protected final void registerField(String name, QWidget widget, String property, String changedSignal) {
+        String signalSignature = qt.internal.MetaObjectTools.cppSignalSignature(widget, changedSignal);
+        if (signalSignature.length() == 0)
+            throw new QNoSuchSignalException("Signal '" + changedSignal
+                    + "' does not exist or has argument types that cannot be converted to Qt Jambi or java.lang types.");
+        registerField(name, widget, qt.QNativePointer.createCharPointer(property), qt.QNativePointer
+                .createCharPointer(qt.internal.QtJambiInternal.SignalPrefix + signalSignature));
+    }
+*/
+}// class
+
+class QFontDialog___ extends QFontDialog {
+
+    public static final class Result {
+        public Result(QFont font, boolean ok) {
+            this.font = font;
+            this.ok = ok;
+        }
+
+        public QFont font;
+        public boolean ok;
+    }
+
+}// class
+
+class QMenu___ extends QMenu {
+/*
+    protected final void initStyleOption(qt.gui.QStyleOptionMenuItem option, QAction action) {
+        initStyleOption(option.nativePointer(), action);
+    }
+*/
+    alias QWidget.addAction addAction;
+}// class
+
+class QMenuBar___ extends QMenuBar {
+    alias QWidget.addAction addAction;
+
+}// class
+
+class QToolBar___ extends QToolBar {
+	/*
+	protected final void initStyleOption(qt.gui.QStyleOptionMenuItem option, QAction action) {
+   initStyleOption(option.nativePointer(), action);
+}
+*/
+	alias QWidget.addAction addAction;
+}// class
+
+class QPixmapCache___ extends QPixmapCache {
+
+    public static boolean find(String key, QPixmap pm) {
+        return find(key, pm.nativePointer());
+    }
+
+}// class
+
+class QShortcut___ extends QShortcut {
+
+    public this(QKeySequence key, QWidget parent, Qt.ShortcutContext context = Qt.WindowShortcut) {
+        this(key, parent, null, null, context);
+    }
+
+}// class
+
+class QValidator___ extends QValidator {
+
+    public static class QValidationData {
+        public QValidationData(String input, int pos) {
+            string = input;
+            position = pos;
+        }
+
+        public String string;
+        public int position;
+    }
+
+}// class
+
+class QAbstractButton___ extends QAbstractButton {
+
+    /**
+     * Sets the shortcut to the key sequence for the given key string. For
+     * example "Ctrl+O" gives CTRL+'O'. The strings "Ctrl", "Shift", "Alt" and
+     * "Meta" are recognized, as well as their translated equivalents in the
+     * "QShortcut" context (using QObject::tr()). Up to four key codes may be
+     * entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".
+     *
+     * @param key
+     *            The description of the key sequence. Typically used with tr()
+     *            so key sequences can be locale aware.
+     */
+    public final void setShortcut(string key) {
+        setShortcut(new QKeySequence(key));
+    }
+
+    /**
+     * Sets the shortcut to the key sequence for the given key. The result will
+     * depend on the currently running platform. The key sequence will be based
+     * on the first element in the list of key bindings for the key.
+     *
+     * @param key
+     *            The key for which to select a key sequence
+     */
+    public final void setShortcut(QKeySequence.StandardKey key) {
+        setShortcut(new QKeySequence(key));
+    }
+
+}// class
+
+class QStyle___ extends QStyle {
+/*
+    @QtBlockedSlot
+    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
+            qt.core.Qt.Orientation orientation, QStyleOption option, QWidget widget) {
+        return combinedLayoutSpacing(controls1, controls2, orientation, option == null ? null : option.nativePointer(), widget);
+    }
+
+    @QtBlockedSlot
+    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
+            qt.core.Qt.Orientation orientation, QStyleOption option) {
+        return combinedLayoutSpacing(controls1, controls2, orientation, option, null);
+    }
+
+    @QtBlockedSlot
+    public final int combinedLayoutSpacing(QSizePolicy.ControlTypes controls1, QSizePolicy.ControlTypes controls2,
+            qt.core.Qt.Orientation orientation) {
+        return combinedLayoutSpacing(controls1, controls2, orientation, null);
+    }
+
+    @QtBlockedSlot
+    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation,
+            QStyleOption option, QWidget widget) {
+        return layoutSpacing(control1, control2, orientation, option == null ? null : option.nativePointer(), widget);
+    }
+
+    @QtBlockedSlot
+    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation,
+            QStyleOption option) {
+        return layoutSpacing(control1, control2, orientation, option, null);
+    }
+
+    @QtBlockedSlot
+    public final int layoutSpacing(QSizePolicy.ControlType control1, QSizePolicy.ControlType control2, qt.core.Qt.Orientation orientation) {
+        return layoutSpacing(control1, control2, orientation, null);
+    }
+*/
+}// class
+
+class QLayout___ extends QLayout {
+/*
+    @QtBlockedSlot
+    public final QContentsMargins getContentsMargins() {
+        QNativePointer left = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer top = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer right = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Int);
+
+        getContentsMargins(left, top, right, bottom);
+        return new QContentsMargins(left.intValue(), top.intValue(), right.intValue(), bottom.intValue());
+    }
+
+    @QtBlockedSlot
+    public final void setContentsMargins(QContentsMargins margins) {
+        setContentsMargins(margins.left, margins.top, margins.right, margins.bottom);
+    }
+*/
+}// class
+
+class QGridLayout___ extends QGridLayout {
+/*
+    public final QTableArea getItemPosition(int index) {
+        QNativePointer row = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer column = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer rowSpan = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer columnSpan = new QNativePointer(QNativePointer.Type.Int);
+
+        getItemPosition(index, row, column, rowSpan, columnSpan);
+
+        return new QTableArea(row.intValue(), column.intValue(), rowSpan.intValue(), columnSpan.intValue());
+    }
+*/
+}// class
+
+class QWidget___ extends QWidget {
+/*
+    private native static void __qt_QMessageBox_setWindowTitle(long native_id, String windowTitle);
+
+    private native static void __qt_QMessageBox_setWindowModality(long native_id, int modality);
+
+    @QtBlockedSlot
+    public final QContentsMargins getContentsMargins() {
+        QNativePointer left = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer top = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer right = new QNativePointer(QNativePointer.Type.Int);
+        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Int);
+
+        getContentsMargins(left, top, right, bottom);
+        return new QContentsMargins(left.intValue(), top.intValue(), right.intValue(), bottom.intValue());
+    }
+
+    @QtBlockedSlot
+    public final void setContentsMargins(QContentsMargins margins) {
+        setContentsMargins(margins.left, margins.top, margins.right, margins.bottom);
+    }
+*/
+}// class
+
+class QFileDialog___ extends QFileDialog {
+    
+    public static string getOpenFileName(QWidget _parent, string caption = null, string dir = null, string filter = null) {
+        string res;
+        string _selectedFilter = "";
+        qtd_QFileDialog_getOpenFileName_QWidget_string_string_string_nativepointerstring_Options(&res, _parent is null ? null : _parent.nativeId, caption, dir, filter, _selectedFilter, 0);
+        return res;
+    }
+    
+    public static string getSaveFileName(QWidget _parent, string caption = null, string dir = null, string filter = null) {
+        string res;
+        string _selectedFilter = "";
+        qtd_QFileDialog_getSaveFileName_QWidget_string_string_string_nativepointerstring_Options(&res, _parent is null ? null : _parent.nativeId, caption, dir, filter, _selectedFilter, 0);
+        return res;
+    }
+    
+    public static class Filter {
+        public this(string filter) {
+            this.filter = filter;
+        }
+
+        public string filter;
+        public string selectedFilter = "";
+    }
+
+}// class
+
+class QTabBar___ extends QTabBar {
+
+    public final void initStyleOption(QStyleOptionTab option, int tabIndex) {
+        initStyleOption(option.nativePointer(), tabIndex);
+    }
+
+}// class
+
+class QClipboard___ extends QClipboard {
+/*
+    public static class Text {
+        public String text;
+        public String subtype;
+    }
+
+    public final Text text(String subtype, Mode mode) {
+        QNativePointer np = new QNativePointer(QNativePointer.Type.String);
+        np.setStringValue(subtype != null ? subtype : "");
+
+        Text returned = new Text();
+        returned.text = text(np, mode);
+        returned.subtype = np.stringValue();
+        return returned;
+    }
+
+    public final Text text(String subtype) {
+        return text(subtype, Mode.Clipboard);
+    }
+*/
+}// class
+
+class QAbstractScrollArea___ extends QAbstractScrollArea {
+/*
+    public QPaintEngine paintEngine() {
+        throw new RuntimeException("Cannot open a painter directly on a QAbstractScrollArea, open QPainter on its viewport instead...");
+    }
+*/
+}// class
+
+class QTextDocument___ extends QTextDocument {
+
+    public final void redo(QTextCursor cursor) {
+        redo(cursor.nativePointer());
+    }
+
+    public final void undo(QTextCursor cursor) {
+        undo(cursor.nativePointer());
+    }
+
+}// class
+
+class QSplitter___ extends QSplitter {
+
+    public struct Range {
+		public static Range opCall(int min, int max) {
+            Range rng;
+			rng.minimum = min;
+            rng.maximum = max;
+			return rng;
+        }
+
+        public int minimum;
+        public int maximum;
+    }
+
+    public final Range getRange(int index) {
+        int* min;
+        int* max;
+
+        getRange(index, min, max);
+
+        return Range(*min, *max);
+    }
+
+}// class
+
+class QAction___ extends QAction {
+	
+        public final void setShortcut(string key) {
+		setShortcut(new QKeySequence(key));
+	}
+/*
+    private QActionGroup __rcActionGroup = null;
+*/
+    /**
+     * Sets the shortcut to the key sequence for the given key string. For
+     * example "Ctrl+O" gives CTRL+'O'. The strings "Ctrl", "Shift", "Alt" and
+     * "Meta" are recognized, as well as their translated equivalents in the
+     * "QShortcut" context (using QObject::tr()). Up to four key codes may be
+     * entered by separating them with commas, e.g. "Alt+X,Ctrl+S,Q".
+     *
+     * @param key
+     *            The description of the key sequence. Typically used with tr()
+     *            so key sequences can be locale aware.
+     */
+/*    public final void setShortcut(String key) {
+        setShortcut(new QKeySequence(key));
+    }
+*/
+    /**
+     * Sets the shortcut to the key sequence for the given key. The result will
+     * depend on the currently running platform. The key sequence will be based
+     * on the first element in the list of key bindings for the key.
+     *
+     * @param key
+     *            The key for which to select a key sequence
+     */
+/*    public final void setShortcut(QKeySequence.StandardKey key) {
+        setShortcut(new QKeySequence(key));
+    }
+
+    public final void setIcon(QPixmap pm) {
+        setIcon(new QIcon(pm));
+    }
+*/
+}// class
+
+class QPainter___ extends QPainter {
+
+    public final void setBrush(QColor color) {
+        setBrush(new QBrush(color));
+    }
+
+    public final void setBrush(QGradient gradient) {
+        setBrush(new QBrush(gradient));
+    }
+
+    public final void setBrush(QPixmap pm) {
+        setBrush(new QBrush(pm));
+    }
+    
+    public final void drawConvexPolygon(QPoint[] points) {
+        qtd_QPainter_drawConvexPolygon_nativepointerQPoint_int(nativeId, points.ptr, points.length);
+    }
+    
+    public final void drawConvexPolygon(QPointF[] points) {
+        qtd_QPainter_drawConvexPolygon_nativepointerQPointF_int(nativeId, points.ptr, points.length);
+    }
+    
+    public final void drawLines(QLine[] lines) {
+        qtd_QPainter_drawLines_nativepointerQLine_int(nativeId, lines.ptr, lines.length);
+    }
+
+    public final void drawLines(QLineF[] lines) {
+        qtd_QPainter_drawLines_nativepointerQLineF_int(nativeId, lines.ptr, lines.length);
+    }
+    
+    public final void drawPolygon(QPoint[] points, Qt_FillRule fillRule = Qt_FillRule.OddEvenFill) {
+        qtd_QPainter_drawPolygon_nativepointerQPoint_int_FillRule(nativeId, points.ptr, points.length, fillRule);
+    }
+
+    public final void drawPolygon(QPointF[] points, Qt_FillRule fillRule = Qt_FillRule.OddEvenFill) {
+        qtd_QPainter_drawPolygon_nativepointerQPointF_int_FillRule(nativeId, points.ptr, points.length, fillRule);
+    }
+
+    public final void drawPolyline(QPoint[] points) {
+        qtd_QPainter_drawPolyline_nativepointerQPoint_int(nativeId, points.ptr, points.length);
+    }
+
+    public final void drawPolyline(QPointF[] points) {
+        qtd_QPainter_drawPolyline_nativepointerQPointF_int(nativeId, points.ptr, points.length);
+    }
+    
+    public final void drawPoints(QPoint[] points) {
+        qtd_QPainter_drawPoints_nativepointerQPoint_int(nativeId, points.ptr, points.length);
+    }
+
+    public final void drawPoints(QPointF[] points) {
+        qtd_QPainter_drawPoints_nativepointerQPointF_int(nativeId, points.ptr, points.length);
+    }
+    
+    public final void drawRects(QRect[] rects) {
+        qtd_QPainter_drawRects_nativepointerQRect_int(nativeId, rects.ptr, rects.length);
+    }
+
+    public final void drawRects(QRectF[] rects) {
+        qtd_QPainter_drawRects_nativepointerQRectF_int(nativeId, rects.ptr, rects.length);
+    }
+/*
+    public static QPaintDeviceInterface redirected(QPaintDeviceInterface device, qt.core.QPoint offset) {
+        return redirected(device, offset == null ? null : offset.nativePointer());
+    }
+
+    public QPainter(QWidget widget) {
+        this();
+        begin(widget);
+    }
+
+    public boolean begin(QWidget widget) { // can't be final because of QStylePainter
+        return qt.QtJambiGuiInternal.beginPaint(widget, this);
+    }
+
+    private static java.util.Stack<QPaintDeviceInterface> __rcRedirections = new java.util.Stack<QPaintDeviceInterface>();
+*/
+}// class
+
+class QApplication___ extends QApplication {
+
+        this(in string[] args)
+	{
+//        if (m_instance != null)
+//            throw new RuntimeException("QCoreApplication can only be initialized once");
+            
+		argc = args.length;
+		argv = toStringzArray(args);
+		this(&argc, argv);
+
+//        m_instance.aboutToQuit.connect(m_instance, "disposeOfMyself()");
+	}
+	
+	private int argc;
+	private char **argv;
+
+	/*    public static QApplication instance() {
+        if (type() != Type.Tty)
+            return (QApplication) qt.core.QCoreApplication.instance();
+        return null;
+    }
+
+    public QApplication(String args[]) {
+        this(argc(args), argv(args));
+    }
+
+    public static void setFont(QFont font) {
+        setFont(font, null);
+    }
+
+    public static void setPalette(QPalette palette) {
+        setPalette(palette, null);
+    }
+
+    public static QCursor overrideCursor() {
+        QNativePointer np = overrideCursor_private();
+        return np == null ? null : QCursor.fromNativePointer(np);
+    }
+*/
+}// class
+
+class QFormLayout___ extends QFormLayout {
+
+    /**
+     * Retrieves the row and role (column) of the item at the specified index.
+     * If index is out of bounds, -1 is returned in place of the row.
+     *
+     * @param index The index of the item for which to retrieve the position.
+     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
+     **/
+/*    @QtBlockedSlot
+    public final qt.QPair<Integer, ItemRole> getItemPosition(int index) {
+       qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+       qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+
+       getItemPosition(index, row, role);
+
+       return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
+    }
+*/
+    /**
+     * Retrieves the row and role (column) of the specified child layout.
+     * If the layout is not in the form layout, -1 is returned in place of the row.
+     *
+     * @param layout The layout for which to retrieve the position.
+     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
+     */
+/*    @QtBlockedSlot
+    public final qt.QPair<Integer, ItemRole> getLayoutPosition(QLayout layout) {
+        qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+        qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+
+        getLayoutPosition(layout, row, role);
+
+        return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
+    }
+*/
+    /**
+     * Retrieves the row and role (column) of the specified widget in the layout.
+     * If the widget is not in the form layout, -1 is returned in place of the row.
+     *
+     * @param widget The widget for which to retrieve the position.
+     * @return A pair of an int (row of item) and an ItemRole (role of the item.)
+     */
+/*    @QtBlockedSlot
+    public final qt.QPair<Integer, ItemRole> getWidgetPosition(QWidget widget) {
+        qt.QNativePointer row = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+        qt.QNativePointer role = new qt.QNativePointer(qt.QNativePointer.Type.Int);
+
+        getWidgetPosition(widget, row, role);
+
+        return new qt.QPair<Integer, ItemRole>(row.intValue(), ItemRole.resolve(role.intValue()));
+    }
+*/
+    /**
+     * Sets the item in the given row for the given role to item, extending the layout with empty rows if necessary.
+     * If the cell is already occupied, the item is not inserted and a IllegalArgumentException is thrown.
+     */
+/*    @QtBlockedSlot
+    public final void setItem(int row, ItemRole role, QLayoutItem item) {
+        if (itemAt(row, role) == null)
+            setItem_private(row, role, item);
+        else
+            throw new IllegalArgumentException("Cell in form layout is already occupied");
+    }
+*/
+}// class
+
+class Subclass_of_QGraphicsLayoutItem___ extends QGraphicsLayoutItem {
+    /*
+    @QtBlockedSlot
+    public final QMarginsF getContentsMargins() {
+        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
+
+        getContentsMargins(left, top, right, bottom);
+        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
+    }*/
+}// class
+
+class QGraphicsWidget___ extends QGraphicsWidget {
+
+    /*
+     * Gets the widget's window frame margins.
+     *
+     * @returns An object containing the margins in left, right, top and bottom coordinates.
+     
+    @QtBlockedSlot
+    public final QMarginsF getWindowFrameMargins() {
+        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
+
+        getWindowFrameMargins(left, top, right, bottom);
+        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
+    }
+    */
+
+}// class
+
+class QPrinter___ extends QPrinter {
+
+    /**
+     * Returns the page margins for this printer.
+     * The unit of the returned margins are specified with the unit parameter.
+     * This function was introduced in Qt 4.4.
+     *
+     * @param unit Specifies the unit of the returned margins.
+     * @return The page margins for this printer.
+     */
+/*    public final QMarginsF getPageMargins(QPrinter.Unit unit) {
+        QNativePointer left = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer top = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer right = new QNativePointer(QNativePointer.Type.Double);
+        QNativePointer bottom = new QNativePointer(QNativePointer.Type.Double);
+
+        getPageMargins(left, top, right, bottom, unit);
+        return new QMarginsF(left.doubleValue(), top.doubleValue(), right.doubleValue(), bottom.doubleValue());
+    }*/
+
+}// class
+
+class QListWidget___ extends QListWidget {
+
+    /**
+     * Inserts items with the text labels at the end of the list widget.
+     *
+     * @param labels The collection of labels for the new items.
+     */
+    public final void addItems(string[] labels) {
+        foreach (label; labels)
+            addItem(label);
+    }
+
+    /**
+     * This is an overloaded member function, provided for convenience.
+     * Inserts an item with the text label in the list widget at the position given by row.
+     *
+     * @param row The position in which to insert the new item.
+     * @param label The text of the new item.
+     */
+    public final void insertItem(int row, string label) {
+        insertItem(row, new QListWidgetItem(label, this));
+    }
+
+    /**
+     * Inserts items from the list of labels into the list, starting at the given row.
+     *
+     * @param row The position in which to insert the new items.
+     * @param labels The collection of labels for the new items.
+     */
+    public final void insertItems(int row, string[] labels) {
+		foreach (label; labels)
+            insertItem(row++, label);
+    }
+}// class
+
+
+class QGraphicsScene___ extends QGraphicsScene {
+    /**
+     * Equivalent to addEllipse(rect, null, null)
+     */
+    /*public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect)
+    {
+        return addEllipse(rect, null);
+    }*/
+
+    /**
+     * Equivalent to addEllipse(rect, pen, null)
+     */
+   /* public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect, QPen pen)
+    {
+        return addEllipse(rect, pen, null);
+    }*/
+
+
+    /**
+     * Creates and adds an ellipse item to the scene, and returns the item
+     * reference. The geometry of the ellipse is defined by rect, and its pen
+     * and brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem::isVisible() returns true),
+     * QGraphicsScene will emit changed() once control goes back to the event
+     * loop.
+     *
+     * @param rect The bounding rectangle of the ellipse.
+     * @param pen The pen for the resulting QGraphicsEllipseItem.
+     * @param brush The brush for the resulting QGraphicsEllipseItem.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsEllipseItem addEllipse(qt.core.QRectF rect, QPen pen, QBrush brush)
+    {
+        return addEllipse(rect.x(), rect.y(), rect.width(), rect.height(), pen, brush);
+    }*/
+
+    /**
+     * Equivalent to addEllipse(x, y, w, h, null, null)
+     */
+   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h) {
+        return addEllipse(x, y, w, h, null);
+    }*/
+
+    /**
+     * Equivalent to addEllipse(x, y, w, h, pen, null)
+     */
+   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h, QPen pen)
+    {
+        return addEllipse(x, y, w, h, pen, null);
+    }*/
+
+    /**
+     * Creates and adds an ellipse item to the scene, and returns the item
+     * reference. The geometry of the ellipse is defined by x, y, w, h, and its pen
+     * and brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param x The left horizontal coordinate of the ellipse's bounding rectangle.
+     * @param y The top vertical coordinate of the ellipse's bounding rectangle.
+     * @param w The width of the ellipse's bounding rectangle.
+     * @param h The height of the ellipse's bounding rectangle.
+     * @param pen The pen for the resulting QGraphicsEllipseItem.
+     * @param brush The brush for the resulting QGraphicsEllipseItem.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsEllipseItem addEllipse(double x, double y, double w, double h, QPen pen, QBrush brush)
+    {
+        QGraphicsEllipseItem item = new QGraphicsEllipseItem(x, y, w, h);
+        item.setPen(pen);
+        item.setBrush(brush);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Equivalent to addLine(line, null)
+     */
+   /* public final QGraphicsLineItem addLine(QLineF line) {
+        return addLine(line, null);
+    }*/
+
+    /**
+     * Creates and adds a line item to the scene, and returns the item
+     * reference. The geometry of the line is defined by line, and its pen
+     * is initialized to pen.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param line The definition of the line.
+     * @param pen The pen with which to draw the line.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsLineItem addLine(QLineF line, QPen pen)
+    {
+        return addLine(line.x1(), line.y1(), line.x2(), line.y2(), pen);
+    }*/
+
+    /**
+     * Equivalent to addLine(x1, y1, x2, y2, null)
+     */
+  /*  public final QGraphicsLineItem addLine(double x1, double y1, double x2, double y2) {
+        return addLine(x1, y1, x2, y2, null);
+    }*/
+
+    /**
+     * Creates and adds a line item to the scene, and returns the item
+     * reference. The geometry of the line is defined by x1, y1, x2, y2, and its pen
+     * is initialized to pen.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param x1 The first horizontal coordinate of the line.
+     * @param y1 The first vertical coordinate of the line.
+     * @param x2 The second horizontal coordinate of the line.
+     * @param y2 The second vertical coordinate of the line.
+     * @param pen The pen with which to draw the line.
+     * @return The resulting item.
+     */
+  /*  public final QGraphicsLineItem addLine(double x1, double y1, double x2, double y2, QPen pen)
+    {
+        QGraphicsLineItem item = new QGraphicsLineItem(x1, y1, x2, y2);
+        item.setPen(pen);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+
+    /**
+     * Equivalent to addPath(path, null, null)
+     */
+    /*public final QGraphicsPathItem addPath(QPainterPath path) {
+        return addPath(path, null);
+    }*/
+
+    /**
+     * Equivalent to addPath(path, pen, null)
+     */
+    /*public final QGraphicsPathItem addPath(QPainterPath path, QPen pen)
+    {
+        return addPath(path, pen, null);
+    }*/
+    /**
+     * Creates and adds a path item to the scene, and returns the item
+     * reference. The geometry of the path is defined by path, and its pen and
+     * brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param path The definition of the path.
+     * @param pen The pen for drawing the path.
+     * @param brush The brush for drawing the path.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsPathItem addPath(QPainterPath path, QPen pen, QBrush brush)
+    {
+        QGraphicsPathItem item = new QGraphicsPathItem(path);
+        item.setPen(pen);
+        item.setBrush(brush);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Creates and adds a pixmap item to the scene, and returns the item
+     * reference. The pixmap is defined by pixmap.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param pixmap The pixmap for which to create a graphics item.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsPixmapItem addPixmap(QPixmap pixmap)
+    {
+        QGraphicsPixmapItem item = new QGraphicsPixmapItem(pixmap);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Equivalent to addPolygon(polygon, null, null)
+     */
+  /*  public final QGraphicsPolygonItem addPolygon(QPolygonF polygon) {
+        return addPolygon(polygon, null);
+    }*/
+
+    /**
+     * Equivalent to addPolygon(polygon, pen, null)
+     */
+   /* public final QGraphicsPolygonItem addPolygon(QPolygonF polygon, QPen pen) {
+        return addPolygon(polygon, pen, null);
+    }*/
+
+    /**
+     * Creates and adds a polygon item to the scene, and returns the item
+     * reference. The polygon is defined by polygon, and its pen and
+     * brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param polygon The definition of the polygon.
+     * @param pen The pen with which to draw the polygon.
+     * @param brush The brush with which to draw the polygon.
+     * @return The resulting item.
+     */
+  /*  public final QGraphicsPolygonItem addPolygon(QPolygonF polygon, QPen pen, QBrush brush)
+    {
+        QGraphicsPolygonItem item = new QGraphicsPolygonItem(polygon);
+        item.setPen(pen);
+        item.setBrush(brush);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Equivalent to addRect(rect, null, null)
+     */
+  /*  public final QGraphicsRectItem addRect(qt.core.QRectF rect) {
+        return addRect(rect, null);
+    }*/
+
+    /**
+     * Equivalent to addRect(rect, pen, null)
+     */
+   /* public final QGraphicsRectItem addRect(qt.core.QRectF rect, QPen pen)
+    {
+        return addRect(rect, pen, null);
+    }*/
+
+    /**
+     * Creates and adds a rectangle item to the scene, and returns the item
+     * reference. The geometry of the rectangle is defined by rect, and its pen
+     * and brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0). For example, if a QRect(50, 50, 100,
+     * 100) is added, its top-left corner will be at (50, 50) relative to the
+     * origin in the item's coordinate system.
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param rect The definition of the rectangle.
+     * @param pen The pen with which to draw the rectangle.
+     * @param brush The brush with which to draw the rectangle.
+     * @return The resulting item.
+     */
+  /*  public final QGraphicsRectItem addRect(qt.core.QRectF rect, QPen pen, QBrush brush)
+    {
+        return addRect(rect.x(), rect.y(), rect.width(), rect.height(), pen, brush);
+    }*/
+
+    /**
+     * Equivalent to addRect(x, y, w, h, null, null)
+     */
+  /*  public final QGraphicsRectItem addRect(double x, double y, double w, double h) {
+        return addRect(x, y, w, h, null);
+    }*/
+
+    /**
+     * Equivalent to addRect(x, y, w, h, pen, null)
+     */
+   /* public final QGraphicsRectItem addRect(double x, double y, double w, double h, QPen pen) {
+        return addRect(x, y, w, h, pen, null);
+    }*/
+
+    /**
+     * Creates and adds a rectangle item to the scene, and returns the item
+     * reference. The geometry of the rectangle is defined by x, y, w, h, and its pen
+     * and brush are initialized to pen and brush.
+     *
+     * Note that the item's geometry is provided in item coordinates, and its
+     * position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param x The left horizontal coordinate of the rectangle.
+     * @param y The top vertical coordinate of the rectangle.
+     * @param w The width of the rectangle.
+     * @param h The height of the rectangle.
+     * @param pen The pen with which to draw the rectangle.
+     * @param brush The brush with which to draw the rectangle.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsRectItem addRect(double x, double y, double w, double h, QPen pen, QBrush brush)
+    {
+        QGraphicsRectItem item = new QGraphicsRectItem(x, y, w, h);
+        item.setPen(pen);
+        item.setBrush(brush);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Equivalent to addSimpleText(text, null)
+     */
+    /*public final QGraphicsSimpleTextItem addSimpleText(String text) {
+        return addSimpleText(text, null);
+    }*/
+
+    /**
+     * Creates and adds a QGraphicsSimpleTextItem to the scene, and returns the
+     * item reference. The text string is initialized to text, and its font is
+     * initialized to font.
+     *
+     * The item's position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param text The text to add to the scene.
+     * @param font The font to use for displaying the text.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsSimpleTextItem addSimpleText(String text, QFont font)
+    {
+        QGraphicsSimpleTextItem item = new QGraphicsSimpleTextItem(text);
+        item.setFont(font);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+    /**
+     * Equivalent to addText(text, null)
+     */
+   /* public final QGraphicsTextItem addText(String text) {
+        return addText(text, null);
+    }*/
+
+    /**
+     * Creates and adds a text item to the scene, and returns the item
+     * reference. The text string is initialized to text, and its font
+     * is initialized to font.
+     *
+     * The item's position is initialized to (0, 0).
+     *
+     * If the item is visible (i.e., QGraphicsItem.isVisible() returns true),
+     * QGraphicsScene will emit changed once control goes back to the event
+     * loop.
+     *
+     * @param text The text to add to the scene.
+     * @param font The font to use for displaying the text.
+     * @return The resulting item.
+     */
+   /* public final QGraphicsTextItem addText(String text, QFont font)
+    {
+        QGraphicsTextItem item = new QGraphicsTextItem(text);
+        item.setFont(font);
+
+        addItem(item);
+
+        return item;
+    }*/
+
+}// class
+
+class QInputDialog___ extends QInputDialog {
+    public static double getDouble(QWidget _parent, string title, string label, double value = 0, double minValue = -2147483647, double maxValue = 2147483647, int decimals = 1, ref bool ok = false, int flags = 0) {
+        return qtd_QInputDialog_getDouble_private_QWidget_string_string_double_double_double_int_nativepointerbool_WindowFlags(_parent is null ? null : _parent.nativeId, title, label, value, minValue, maxValue, decimals, &ok, flags);
+    }
+
+    public static int getInt(QWidget _parent, string title, string label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, ref bool ok = false, int flags = 0) {
+        return qtd_QInputDialog_getInt_private_QWidget_string_string_int_int_int_int_nativepointerbool_WindowFlags(_parent is null ? null : _parent.nativeId, title, label, value, minValue, maxValue, step, &ok, flags);
+    }
+
+    public static string getItem(QWidget _parent, string title, string label, string[] items, int current = 0, bool editable = true, ref bool ok = false, int flags = 0) {
+        string res;
+        qtd_QInputDialog_getItem_private_QWidget_string_string_List_int_bool_nativepointerbool_WindowFlags(&res, _parent is null ? null : _parent.nativeId, title, label, items.ptr, items.length, current, editable, &ok, flags);
+        return res;
+    }
+
+    public static string getText(QWidget _parent, string title, string label, QLineEdit_EchoMode echo = QLineEdit_EchoMode.Normal, string text = null, ref bool ok = false, int flags = 0) {
+        string res;
+        qtd_QInputDialog_getText_private_QWidget_string_string_EchoMode_string_nativepointerbool_WindowFlags(&res, _parent is null ? null : _parent.nativeId, title, label, echo, text, &ok, flags);
+        return res;
+    }
+}// class
--- a/generator/typesystem_gui.xml	Wed May 20 13:24:34 2009 +0000
+++ b/generator/typesystem_gui.xml	Wed May 20 21:06:33 2009 +0000
@@ -1,8073 +1,8073 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<typesystem package="qt.gui" default-superclass="QtDObject">
-<depend package="qt.core" />
-<inject-code>
-        qt.Utilities.loadQtLibrary("QtGui");
-</inject-code>
-
-<template name="gui.class_from_variant_java">
-    public this(QVariant arg__1) {
-        void* __qt_return_value = qtd_%CLASS_NAME_%CLASS_NAME_QVariant(cast(void*) this, arg__1 is null ? null : arg__1.nativeId);
-        super(__qt_return_value);
-    }
-</template>
-
-<template name="gui.class_from_variant_java_free">
-private extern (C) void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant(void *d_ptr,
- void* arg__1);
-</template>
-
-<template name="gui.class_from_variant_native">
-// %CLASS_NAME from QVariant
-extern "C" DLL_PUBLIC void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant
-(void *d_ptr,
- void* arg__1)
-{
-    const QVariant&amp;  __qt_arg__1 = (const QVariant&amp; ) *(QVariant *)arg__1;
-    %CLASS_NAME __qt_casted = qvariant_cast&lt;%CLASS_NAME&gt;(__qt_arg__1);
-    %CLASS_NAME *__qt_this = new %CLASS_NAME((const %CLASS_NAME&amp; )__qt_casted);
-    return (void *) __qt_this;
-}
-</template>
-
-<template name="gui.class_from_variant_native_shell">
-// %CLASS_NAME from QVariant
-extern "C" DLL_PUBLIC void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant
-(void *d_ptr,
- void* arg__1)
-{
-    const QVariant&amp;  __qt_arg__1 = (const QVariant&amp; ) *(QVariant *)arg__1;
-    %CLASS_NAME __qt_casted = qvariant_cast&lt;%CLASS_NAME&gt;(__qt_arg__1);
-    %CLASS_NAME_QtDShell *__qt_this = new %CLASS_NAME_QtDShell(d_ptr, (const %CLASS_NAME&amp; )__qt_casted);
-    return (void *) __qt_this;
-}
-</template>
-<!-- without shell
-    <inject-code class="java">
-        <insert-template name="gui.class_from_variant_java">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>   
-    <inject-code class="java-free">
-        <insert-template name="gui.class_from_variant_java_free">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>
-    <inject-code class="native">
-        <insert-template name="gui.class_from_variant_native">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>
-    
-  with shell
-    <inject-code class="java">
-        <insert-template name="gui.class_from_variant_java">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>   
-    <inject-code class="java-free">
-        <insert-template name="gui.class_from_variant_java_free">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>
-    <inject-code class="native">
-        <insert-template name="gui.class_from_variant_native_shell">
-            <replace from="%CLASS_NAME" to=""/>
-        </insert-template>
-    </inject-code>
--->
-
-        
-<template name="gui.getter_returning_nativepointer">
-        public final %RETURN_TYPE %FUNCTION_NAME() {
-            QNativePointer np = %FUNCTION_NAME_private();
-            %RETURN_TYPE tmp = np == null ? null : %RETURN_TYPE.fromNativePointer(np);
-            return tmp == null ? null : new %RETURN_TYPE(tmp);
-        }
-
-    </template>
-<template name="gui.init_style_option">
-        protected final void initStyleOption(%TYPE option) {
-            initStyleOption(option.nativePointer());
-        }
-    </template>
-<template name="gui.convert_validationdata_to_java">
-        StaticCache *sc = StaticCache::instance();
-        sc-&gt;resolveValidationData();
-        jstring __qt_converted_input = qtjambi_from_qstring(__jni_env, %STRING);
-        jobject %out = __jni_env-&gt;NewObject(sc-&gt;ValidationData.class_ref, sc-&gt;ValidationData.constructor, __qt_converted_input, %POS);
-        jobject __java_validation_data = %out;
-    </template>
-<template name="gui.cleanup_validationdata_from_java">
-        __jni_env-&gt;SetIntField(%1, sc-&gt;ValidationData.position, *__position_ptr);
-        __jni_env-&gt;SetObjectField(%1, sc-&gt;ValidationData.string, qtjambi_from_qstring(__jni_env, *__string_ptr));
-    </template>
-<template name="gui.convert_validationdata_to_string">
-        StaticCache *sc = StaticCache::instance();
-        sc-&gt;resolveValidationData();
-        jstring __java_string = (jstring) __jni_env-&gt;GetObjectField(%in, sc-&gt;ValidationData.string);
-        QString %out = __java_string == 0 ? QString() : qtjambi_to_qstring(__jni_env, __java_string);
-        QString *__string_ptr = &amp;%out;
-    </template>
-<template name="gui.convert_validationdata_to_pos">
-        int %out = __jni_env-&gt;GetIntField(%1, sc-&gt;ValidationData.position);
-        int *__position_ptr = &amp;%out;
-    </template>
-<template name="gui.cleanup_validationdata_to_java">
-        jstring __java_string = (jstring) __jni_env-&gt;GetObjectField(__java_validation_data, sc-&gt;ValidationData.string);
-        %STRING = __java_string == 0 ? QString() : qtjambi_to_qstring(__jni_env, __java_string);
-        %POS = __jni_env-&gt;GetIntField(__java_validation_data, sc-&gt;ValidationData.position);
-    </template>
-<template name="gui.convert_object_array_to_java">
-        jobjectArray %out = 0;
-
-        {
-            jclass __resolved_class = resolveClass(__jni_env, "%CLASSNAME_ARRAY", "%PACKAGE_ARRAY");
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            Q_ASSERT(__resolved_class != 0);
-
-            %out = %in == 0 ? 0 : __jni_env-&gt;NewObjectArray(%LENGTH, __resolved_class, 0);
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            if (%out != 0) {
-                for (int i=0; i&lt;%LENGTH; ++i) {
-                    __jni_env-&gt;SetObjectArrayElement(%out, i, qtjambi_from_object(__jni_env, %REFERENCE %in[i], "%CLASSNAME", "%PACKAGE", %LOOKUP true));
-                }
-            }
-       }
-    </template>
-<template name="gui.convert_graphicsitem_array_to_java">
-        <insert-template name="gui.convert_object_array_to_java">
-            <replace from="%CLASSNAME_ARRAY" to="QGraphicsItemInterface"/>
-            <replace from="%PACKAGE_ARRAY" to="com/trolltech/qt/gui/"/>
-            <replace from="%CLASSNAME" to="QGraphicsItem$ConcreteWrapper"/>
-            <replace from="%PACKAGE" to="com/trolltech/qt/gui/"/>
-            <replace from="%LOOKUP" to=""/>
-            <replace from="%REFERENCE" to=""/>
-        </insert-template>
-    </template>
-<template name="gui.convert_styleoptiongraphicsitem_array_to_java">
-        <insert-template name="gui.convert_object_array_to_java">
-            <replace from="%CLASSNAME_ARRAY" to="QStyleOptionGraphicsItem"/>
-            <replace from="%PACKAGE_ARRAY" to="com/trolltech/qt/gui/"/>
-            <replace from="%CLASSNAME" to="QStyleOptionGraphicsItem"/>
-            <replace from="%PACKAGE" to="com/trolltech/qt/gui/"/>
-            <replace from="%LOOKUP" to="&quot;Lcom_trolltech_qt_gui_QStyleOption_2&quot;,"/>
-            <replace from="%REFERENCE" to="&amp;"/>
-        </insert-template>
-    </template>
-<template name="gui.convert_interface_array_from_java">
-        %CLASSNAME *%out = 0;
-        QVarLengthArray&lt;%CLASSNAME, 256&gt; __interfaceArray(__length);
-        if (%in != 0) {
-            for (int i=0; i&lt;__length; ++i) {
-                __interfaceArray[i] = (%CLASSNAME) %CONVERSION_FUNCTION(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i) %EXTRA);
-            }
-        }
-        %out = %in == 0 ? 0 : __interfaceArray.data();
-    </template>
-<template name="gui.convert_object_array_from_java">
-        %CLASSNAME *%out = 0;
-        QVarLengthArray&lt;%CLASSNAME, 256&gt; __array(__length);
-        if (%in != 0) {
-            for (int i=0; i&lt;__length; ++i) {
-                __array[i] = *(%CLASSNAME *) %CONVERSION_FUNCTION(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i) %EXTRA);
-            }
-        }
-        %out = %in == 0 ? 0 : __array.data();
-    </template>
-<template name="gui.convert_graphicsitem_array_from_java">
-        <insert-template name="gui.convert_interface_array_from_java">
-            <replace from="%CLASSNAME" to="QGraphicsItem *"/>
-            <replace from="%EXTRA" to=", &quot;QGraphicsItemInterface&quot;, &quot;com/trolltech/qt/gui/&quot;, &quot;__qt_cast_to_QGraphicsItem&quot;"/>
-            <replace from="%CONVERSION_FUNCTION" to="qtjambi_to_interface"/>
-        </insert-template>
-    </template>
-<template name="gui.convert_styleoptiongraphicsitem_array_from_java">
-        <insert-template name="gui.convert_object_array_from_java">
-            <replace from="%CLASSNAME" to="QStyleOptionGraphicsItem"/>
-            <replace from="%EXTRA" to=""/>
-            <replace from="%CONVERSION_FUNCTION" to="qtjambi_to_object"/>
-        </insert-template>
-    </template>
-<template name="gui::qstyleoption_from_object">
-        jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOption", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
-    </template>
-<template name="gui::qstyleoptioncomplex_from_object">
-        jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionComplex", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
-    </template>
-<template name="gui::qstyleoption_to_object">
-        QStyleOption *%out = (QStyleOption *) qtjambi_to_object(__jni_env, %in);
-    </template>
-<template name="gui.inputDialog_get_input">
-    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA, qt.core.Qt.WindowFlags f) {
-        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
-        %RETURN_TYPE result = %FUNCTION_NAME_internal(parent, title, label, %CALL, ok, f);
-        return ok.booleanValue() ? result : null;
-    }
-
-    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA, qt.core.Qt.WindowType ... f) {
-        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
-        %RETURN_TYPE result = %FUNCTION_NAME_internal(parent, title, label, %CALL, ok, f);
-        return ok.booleanValue() ? result : null;
-    }
-
-    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA) {
-        return %FUNCTION_NAME(parent, title, label, %CALL, qt.core.Qt.WindowType.Widget);
-    }
-
-    </template>
-<suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcItems' in 'qt.gui.QGraphicsGridLayout' but not both"/>
-
-  <rejection class="*" function-name="d_func"/>
-
-  <rejection class="*" field-name="d_ptr"/>
-  <rejection class="*" field-name="d"/>
-  
-  <rejection class="QAccessibleTableInterface"/>
-  
-  <rejection class="QWindowsCEStyle"/>
-  <rejection class="QWindowsMobileStyle"/>
-  <rejection class="QAbstractUndoItem"/>
-  <rejection class="QAccessibleApplication"/>
-  <rejection class="QBrushData"/>
-  <rejection class="QImageTextKeyLang"/>
-  <rejection class="QItemEditorCreator"/>
-  <rejection class="QLibrary"/>
-  <rejection class="QLinkedList"/>
-  <rejection class="QLinkedListData"/>
-  <rejection class="QLinkedListIterator"/>
-  <rejection class="QLinkedListNode"/>
-  <rejection class="QMimeSource"/>
-  <rejection class="QPainterPathPrivate"/>
-  <rejection class="QRegionData"/>
-  <rejection class="QStandardItemEditorCreator"/>
-  <rejection class="QStyleOptionQ3DockWindow"/>
-  <rejection class="QStyleOptionQ3ListView"/>
-  <rejection class="QStyleOptionQ3ListViewItem"/>
-  <rejection class="QTextFrameLayoutData"/>
-  <rejection class="QUpdateLaterEvent"/>
-  <rejection class="QVFbHeader"/>
-  <rejection class="QWidgetData"/>
-  <rejection class="QWindowSurface"/>
-  <rejection class="QWindowsXPStyle"/>
-  <rejection class="QWindowsVistaStyle"/>
-  <rejection class="QWSEmbedWidget"/>
-  <rejection class="QRegion::QRegionData"/>
-  <rejection class="JObject_key"/>
-  <rejection class="QAccessibleEditableTextInterface"/>
-  <rejection class="QAccessibleSimpleEditableTextInterface"/>
-  <rejection class="QAccessibleTextInterface"/>
-  <rejection class="QAccessibleValueInterface"/>
-  <rejection class="QIconEngineFactoryInterface"/>
-  <rejection class="QIconEnginePlugin"/>
-  <rejection class="QWidgetItemV2"/>
-  <rejection class="QAbstractItemDelegate" function-name="operator="/>
-  <rejection class="QAccessible" function-name="installFactory"/>
-  <rejection class="QAccessible" function-name="installRootObjectHandler"/>
-  <rejection class="QAccessible" function-name="installUpdateHandler"/>
-  <rejection class="QAccessible" function-name="removeFactory"/>
-  <rejection class="QApplication" function-name="compressEvent"/>
-  <rejection class="QBrush" function-name="cleanUp"/>
-  <rejection class="QPictureIO" function-name="defineIOHandler"/>
-  <rejection class="QPolygon" function-name="putPoints"/>
-  <rejection class="QPolygon" function-name="setPoints"/>
-  <rejection class="QPolygon" function-name="setPoint"/>
-  <rejection class="QPolygon" function-name="points"/>
-  <rejection class="QPolygon" function-name="point"/>
-  <rejection class="QPrinter" function-name="printerSelectionOption"/>
-  <rejection class="QPrinter" function-name="setPrinterSelectionOption"/>
-  <rejection class="QWidget" function-name="create"/>
-  <rejection class="QWidget" function-name="find"/>
-  <rejection class="QWidget" function-name="handle"/>
-  <rejection class="QWidget" function-name="styleChange"/>
-  <rejection class="QWidget" function-name="internalWinId"/>
-  <rejection class="QActionGroup" function-name="selected"/>
-  <rejection class="QPaintEngine" function-name="fix_neg_rect"/>
-  <rejection class="QTreeModel" function-name="node"/>
-  <rejection class="QTreeModel" function-name="initializeNode"/>
-  <rejection class="QTreeModel" function-name="queryChildren"/>
-  <rejection class="QAccessible" function-name="cast_helper"/>
-  <rejection class="QAccessible2"/>
-  <rejection class="QAccessibleInterface" function-name="backgroundColor"/>
-  <rejection class="QAccessibleInterface" function-name="foregroundColor"/>
-  <rejection class="QAccessibleInterface" function-name="textInterface"/>
-  <rejection class="QAccessibleInterface" function-name="valueInterface"/>
-  <rejection class="QAccessibleInterface" function-name="tableInterface"/>
-  <rejection class="QAccessibleInterface" function-name="editableTextInterface"/>
-  <rejection class="QAccessibleInterface" function-name="cast_helper"/>
-  <rejection class="QAccessibleInterfaceEx" function-name="interface_cast"/>
-  <rejection class="QAccessibleBridgePlugin"/>
-  <rejection class="QAccessibleBridgeFactoryInterface"/>
-  <rejection class="QTabletEvent" field-name="mExtra"/>
-  <rejection class="QWidgetItem" field-name="wid"/>
-  <rejection class="QFont" enum-name="ResolveProperties"/>
-
-  <enum-type name="QAbstractItemDelegate::EndEditHint"/>
-  <enum-type name="QAbstractItemView::CursorAction"/>
-  <enum-type name="QAbstractItemView::DragDropMode"/>
-  <enum-type name="QAbstractItemView::DropIndicatorPosition"/>
-  <enum-type name="QAbstractItemView::EditTrigger" flags="QAbstractItemView::EditTriggers"/>
-  <enum-type name="QAbstractItemView::ScrollHint"/>
-  <enum-type name="QAbstractItemView::ScrollMode"/>
-  <enum-type name="QAbstractItemView::SelectionBehavior"/>
-  <enum-type name="QAbstractItemView::SelectionMode"/>
-  <enum-type name="QAbstractItemView::State"/>
-  <enum-type name="QAbstractPrintDialog::PrintDialogOption" flags="QAbstractPrintDialog::PrintDialogOptions"/>
-  <enum-type name="QAbstractPrintDialog::PrintRange"/>
-  <enum-type name="QAbstractSlider::SliderAction"/>
-  <enum-type name="QAbstractSlider::SliderChange"/>
-  <enum-type name="QAbstractSpinBox::ButtonSymbols"/>
-  <enum-type name="QAbstractSpinBox::CorrectionMode"/>
-  <enum-type name="QAbstractSpinBox::StepEnabledFlag" flags="QAbstractSpinBox::StepEnabled"/>
-  <enum-type name="QAccessible::Event"/>
-  <enum-type name="QAccessible::Method"/>
-  <enum-type name="QAccessible::RelationFlag" flags="QAccessible::Relation"/>
-  <enum-type name="QAccessible::Role"/>
-  <enum-type name="QAccessible::StateFlag" flags="QAccessible::State"/>
-  <enum-type name="QAccessible::Text"/>
-  <enum-type name="QDesktopServices::StandardLocation"/>
-  <enum-type name="QDirModel::Roles"/>
-  <enum-type name="QFont::Capitalization"/>
-  <enum-type name="QFont::SpacingType"/>
-  <enum-type name="QGraphicsItem::CacheMode"/>
-  <enum-type name="QMdiArea::AreaOption" flags="QMdiArea::AreaOptions"/>
-  <enum-type name="QMdiArea::WindowOrder"/>
-  <enum-type name="QMdiArea::ViewMode"/>
-  <enum-type name="QFileSystemModel::Roles"/>
-  <enum-type name="QFormLayout::FieldGrowthPolicy"/>
-  <enum-type name="QFormLayout::FormStyle"/>
-  <enum-type name="QFormLayout::ItemRole"/>
-  <enum-type name="QFormLayout::RowWrapPolicy"/>
-  <enum-type name="QGraphicsProxyWidget::enum_1"/>
-  <enum-type name="QGraphicsWidget::enum_1"/>
-  <enum-type name="QPlainTextEdit::LineWrapMode"/>
-  <enum-type name="QPrintPreviewWidget::ViewMode"/>
-  <enum-type name="QPrintPreviewWidget::ZoomMode"/>
-  <enum-type name="QStyleOptionViewItemV4::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionViewItemV4::ViewItemPosition"/>
-
-  <enum-type name="QMdiSubWindow::SubWindowOption" flags="QMdiSubWindow::SubWindowOptions"/>
-
-  <enum-type name="QAction::ActionEvent"/>
-  <enum-type name="QAction::MenuRole"/>
-  <enum-type name="QApplication::ColorSpec"/>
-  <enum-type name="QApplication::Type"/>
-  <enum-type name="QCalendarWidget::HorizontalHeaderFormat"/>
-  <enum-type name="QCalendarWidget::SelectionMode"/>
-  <enum-type name="QCalendarWidget::VerticalHeaderFormat"/>
-  <enum-type name="QColor::Spec"/>
-  <enum-type name="QColormap::Mode"/>
-  <enum-type name="QComboBox::InsertPolicy"/>
-  <enum-type name="QComboBox::SizeAdjustPolicy"/>
-  <enum-type name="QCompleter::CompletionMode"/>
-  <enum-type name="QCompleter::ModelSorting"/>
-  <enum-type name="QContextMenuEvent::Reason"/>
-  <enum-type name="QDataWidgetMapper::SubmitPolicy"/>
-  <enum-type name="QDateTimeEdit::Section" flags="QDateTimeEdit::Sections"/>
-  <enum-type name="QDialog::DialogCode"/>
-  <enum-type name="QDialogButtonBox::ButtonLayout"/>
-  <enum-type name="QDialogButtonBox::ButtonRole"/>
-  <enum-type name="QFileDialog::AcceptMode"/>
-  <enum-type name="QFileDialog::DialogLabel"/>
-  <enum-type name="QFileDialog::FileMode"/>
-  <enum-type name="QFileDialog::Option" flags="QFileDialog::Options"/>
-  <enum-type name="QFileDialog::ViewMode"/>
-  <enum-type name="QFileIconProvider::IconType"/>
-  <enum-type name="QFont::Stretch"/>
-  <enum-type name="QFont::Style"/>
-  <enum-type name="QFont::StyleStrategy"/>
-  <enum-type name="QFont::Weight"/>
-  <enum-type name="QFontComboBox::FontFilter" flags="QFontComboBox::FontFilters"/>
-  <enum-type name="QFrame::Shadow" extensible="yes"/>
-  <enum-type name="QFrame::Shape"/>
-  <enum-type name="QFrame::StyleMask"/>
-  <enum-type name="QGradient::CoordinateMode"/>
-  <enum-type name="QGradient::Spread" lower-bound="QGradient.PadSpread" upper-bound="QGradient.RepeatSpread"/>
-  <enum-type name="QGradient::Type"/>
-  <enum-type name="QGraphicsEllipseItem::enum_1"/>
-  <enum-type name="QGraphicsItem::Extension"/>
-  <enum-type name="QGraphicsItem::GraphicsItemChange"/>
-  <enum-type name="QGraphicsItem::GraphicsItemFlag" flags="QGraphicsItem::GraphicsItemFlags"/>
-  <enum-type name="QGraphicsItem::enum_1"/>
-  <enum-type name="QGraphicsItemGroup::enum_1"/>
-  <enum-type name="QGraphicsLineItem::enum_1"/>
-  <enum-type name="QGraphicsPathItem::enum_1"/>
-  <enum-type name="QGraphicsPixmapItem::ShapeMode"/>
-  <enum-type name="QGraphicsPixmapItem::enum_1"/>
-  <enum-type name="QGraphicsPolygonItem::enum_1"/>
-  <enum-type name="QGraphicsRectItem::enum_1"/>
-  <enum-type name="QGraphicsScene::ItemIndexMethod"/>
-  <enum-type name="QGraphicsSceneContextMenuEvent::Reason"/>
-  <enum-type name="QGraphicsSimpleTextItem::enum_1"/>
-  <enum-type name="QGraphicsTextItem::enum_1"/>
-  <enum-type name="QGraphicsView::CacheModeFlag" flags="QGraphicsView::CacheMode"/>
-  <enum-type name="QGraphicsView::DragMode"/>
-  <enum-type name="QGraphicsView::OptimizationFlag" flags="QGraphicsView::OptimizationFlags"/>
-  <enum-type name="QGraphicsView::ViewportAnchor"/>
-  <enum-type name="QGraphicsView::ViewportUpdateMode"/>
-  <enum-type name="QIcon::Mode"/>
-  <enum-type name="QIcon::State"/>
-  <enum-type name="QImage::Format"/>
-  <enum-type name="QImage::InvertMode"/>
-  <enum-type name="QImageIOHandler::ImageOption"/>
-  <enum-type name="QImageReader::ImageReaderError"/>
-  <enum-type name="QImageWriter::ImageWriterError"/>
-  <enum-type name="QInputContext::StandardFormat"/>
-  <enum-type name="QInputMethodEvent::AttributeType"/>
-  <enum-type name="QItemSelectionModel::SelectionFlag" flags="QItemSelectionModel::SelectionFlags"/>
-  <enum-type name="QKeySequence::SequenceFormat"/>
-  <enum-type name="QKeySequence::SequenceMatch"/>
-  <enum-type name="QKeySequence::StandardKey"/>
-  <enum-type name="QLCDNumber::Mode"/>
-  <enum-type name="QLCDNumber::SegmentStyle"/>
-  <enum-type name="QLayout::SizeConstraint"/>
-  <enum-type name="QLineEdit::EchoMode"/>
-  <enum-type name="QLineF::IntersectType"/>
-  <enum-type name="QListView::Flow"/>
-  <enum-type name="QListView::LayoutMode"/>
-  <enum-type name="QListView::Movement"/>
-  <enum-type name="QListView::ResizeMode"/>
-  <enum-type name="QListView::ViewMode"/>
-  <enum-type name="QListWidgetItem::ItemType"/>
-  <enum-type name="QMainWindow::DockOption" flags="QMainWindow::DockOptions"/>
-  <enum-type name="QMessageBox::ButtonRole"/>
-  <enum-type name="QMessageBox::Icon"/>
-  <enum-type name="QMovie::CacheMode"/>
-  <enum-type name="QMovie::MovieState"/>
-  <enum-type name="QPaintDevice::PaintDeviceMetric"/>
-  <enum-type name="QPaintEngine::DirtyFlag" flags="QPaintEngine::DirtyFlags"/>
-  <enum-type name="QPaintEngine::PaintEngineFeature" flags="QPaintEngine::PaintEngineFeatures"/>
-  <enum-type name="QPaintEngine::PolygonDrawMode"/>
-  <enum-type name="QPaintEngine::Type"/>
-  <enum-type name="QPageSetupDialog::PageSetupDialogOption" flags="QPageSetupDialog::PageSetupDialogOptions"/>
-  <enum-type name="QPainter::CompositionMode"/>
-  <enum-type name="QPainter::RenderHint" flags="QPainter::RenderHints"/>
-  <enum-type name="QPainterPath::ElementType"/>
-  <enum-type name="QPrintEngine::PrintEnginePropertyKey">
-    <reject-enum-value name="PPK_PaperSize"/>
-  </enum-type>
-  <enum-type name="QPrinter::ColorMode"/>
-  <enum-type name="QPrinter::Orientation"/>
-  <enum-type name="QPrinter::OutputFormat"/>
-  <enum-type name="QPrinter::PageOrder"/>
-  <enum-type name="QPrinter::PaperSource"/>
-  <enum-type name="QPrinter::PrintRange"/>
-  <enum-type name="QPrinter::PrinterMode"/>
-  <enum-type name="QPrinter::PrinterState"/>
-  <enum-type name="QPrinter::Unit"/>
-  <enum-type name="QPrinter::DuplexMode"/>
-  <enum-type name="QProgressBar::Direction"/>
-  <enum-type name="QRegion::RegionType"/>
-  <enum-type name="QRubberBand::Shape"/>
-  <enum-type name="QSessionManager::RestartHint"/>
-  <enum-type name="QSizePolicy::Policy"/>
-  <enum-type name="QSizePolicy::PolicyFlag"/>
-  <enum-type name="QSizePolicy::ControlType" flags="QSizePolicy::ControlTypes"/>
-  <enum-type name="QStandardItem::ItemType"/>
-  <enum-type name="QStyle::SubControl" flags="QStyle::SubControls" extensible="yes" force-integer="yes"/>
-  <enum-type name="QStyle::ComplexControl" extensible="yes"/>
-  <enum-type name="QStyle::ContentsType" extensible="yes"/>
-  <enum-type name="QStyle::ControlElement" extensible="yes"/>
-  <enum-type name="QStyle::PixelMetric" extensible="yes">
-    <reject-enum-value name="PM_MDIFrameWidth"/>
-    <reject-enum-value name="PM_MDIMinimizedWidth"/>
-  </enum-type>
-  <enum-type name="QStyle::PrimitiveElement" extensible="yes">
-    <reject-enum-value name="PE_IndicatorItemViewItemCheck"/>
-    <reject-enum-value name="PE_FrameStatusBarItem"/>
-  </enum-type>
-  <enum-type name="QStyle::StandardPixmap" extensible="yes"/>
-  <enum-type name="QStyle::StateFlag" flags="QStyle::State"/>
-  <enum-type name="QStyle::SubElement" extensible="yes">
-    <reject-enum-value name="SE_ItemViewItemCheckIndicator"/>
-  </enum-type>
-  <enum-type name="QStyleHintReturn::HintReturnType"/>
-  <enum-type name="QStyleHintReturn::StyleOptionType"/>
-  <enum-type name="QStyleHintReturn::StyleOptionVersion"/>
-  <enum-type name="QStyleHintReturnVariant::StyleOptionType"/>
-  <enum-type name="QStyleHintReturnVariant::StyleOptionVersion"/>
-
-  <enum-type name="QStyleHintReturnMask::StyleOptionType"/>
-  <enum-type name="QStyleHintReturnMask::StyleOptionVersion"/>
-  <enum-type name="QStyleOption::StyleOptionType"/>
-  <enum-type name="QStyleOption::OptionType" extensible="yes"/>
-  <enum-type name="QStyleOption::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionButton::ButtonFeature" flags="QStyleOptionButton::ButtonFeatures"/>
-  <enum-type name="QStyleOptionButton::StyleOptionType"/>
-  <enum-type name="QStyleOptionButton::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionComboBox::StyleOptionType"/>
-  <enum-type name="QStyleOptionComboBox::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionComplex::StyleOptionType"/>
-  <enum-type name="QStyleOptionComplex::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionDockWidget::StyleOptionType"/>
-  <enum-type name="QStyleOptionDockWidget::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionDockWidgetV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionFocusRect::StyleOptionType"/>
-  <enum-type name="QStyleOptionFocusRect::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionFrame::StyleOptionType"/>
-  <enum-type name="QStyleOptionFrame::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionFrameV2::FrameFeature" flags="QStyleOptionFrameV2::FrameFeatures"/>
-  <enum-type name="QStyleOptionFrameV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionGraphicsItem::StyleOptionType"/>
-  <enum-type name="QStyleOptionGraphicsItem::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionGroupBox::StyleOptionType"/>
-  <enum-type name="QStyleOptionGroupBox::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionHeader::SectionPosition"/>
-  <enum-type name="QStyleOptionHeader::SelectedPosition"/>
-  <enum-type name="QStyleOptionHeader::SortIndicator"/>
-  <enum-type name="QStyleOptionHeader::StyleOptionType"/>
-  <enum-type name="QStyleOptionHeader::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionMenuItem::CheckType"/>
-  <enum-type name="QStyleOptionMenuItem::MenuItemType"/>
-  <enum-type name="QStyleOptionMenuItem::StyleOptionType"/>
-  <enum-type name="QStyleOptionMenuItem::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionProgressBar::StyleOptionType"/>
-  <enum-type name="QStyleOptionProgressBar::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionProgressBarV2::StyleOptionType"/>
-  <enum-type name="QStyleOptionProgressBarV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionRubberBand::StyleOptionType"/>
-  <enum-type name="QStyleOptionRubberBand::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionSizeGrip::StyleOptionType"/>
-  <enum-type name="QStyleOptionSizeGrip::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionSlider::StyleOptionType"/>
-  <enum-type name="QStyleOptionSlider::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionSpinBox::StyleOptionType"/>
-  <enum-type name="QStyleOptionSpinBox::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionTab::CornerWidget" flags="QStyleOptionTab::CornerWidgets"/>
-  <enum-type name="QStyleOptionTab::SelectedPosition"/>
-  <enum-type name="QStyleOptionTab::StyleOptionType"/>
-  <enum-type name="QStyleOptionTab::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionTab::TabPosition"/>
-  <enum-type name="QStyleOptionTabBarBase::StyleOptionType"/>
-  <enum-type name="QStyleOptionTabBarBase::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionTabV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionTabWidgetFrame::StyleOptionType"/>
-  <enum-type name="QStyleOptionTabWidgetFrame::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionTitleBar::StyleOptionType"/>
-  <enum-type name="QStyleOptionTitleBar::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionToolBar::StyleOptionType"/>
-  <enum-type name="QStyleOptionToolBar::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionToolBar::ToolBarFeature" flags="QStyleOptionToolBar::ToolBarFeatures"/>
-  <enum-type name="QStyleOptionToolBar::ToolBarPosition"/>
-  <enum-type name="QStyleOptionToolBox::StyleOptionType"/>
-  <enum-type name="QStyleOptionToolBox::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionToolButton::StyleOptionType"/>
-  <enum-type name="QStyleOptionToolButton::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionToolButton::ToolButtonFeature" flags="QStyleOptionToolButton::ToolButtonFeatures">
-    <reject-enum-value name="MenuButtonPopup"/>
-  </enum-type>
-  <enum-type name="QStyleOptionViewItem::Position"/>
-  <enum-type name="QStyleOptionViewItem::StyleOptionType"/>
-  <enum-type name="QStyleOptionViewItem::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionViewItemV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionViewItemV2::ViewItemFeature" flags="QStyleOptionViewItemV2::ViewItemFeatures"/>
-  <enum-type name="QSystemTrayIcon::ActivationReason"/>
-  <enum-type name="QSystemTrayIcon::MessageIcon"/>
-  <enum-type name="QTabBar::Shape"/>
-  <enum-type name="QTabWidget::TabPosition"/>
-  <enum-type name="QTabWidget::TabShape"/>
-  <enum-type name="QTableWidgetItem::ItemType"/>
-  <enum-type name="QTabletEvent::PointerType"/>
-  <enum-type name="QTabletEvent::TabletDevice"/>
-  <enum-type name="QTextCharFormat::UnderlineStyle"/>
-  <enum-type name="QTextCharFormat::VerticalAlignment"/>
-  <enum-type name="QTextCursor::MoveMode"/>
-  <enum-type name="QTextCursor::MoveOperation"/>
-  <enum-type name="QTextCursor::SelectionType"/>
-  <enum-type name="QTextDocument::FindFlag" flags="QTextDocument::FindFlags"/>
-  <enum-type name="QTextDocument::MetaInformation"/>
-  <enum-type name="QTextDocument::ResourceType"/>
-  <enum-type name="QTextEdit::AutoFormattingFlag" flags="QTextEdit::AutoFormatting"/>
-  <enum-type name="QTextEdit::LineWrapMode"/>
-  <enum-type name="QTextFormat::ObjectTypes"/>
-  <enum-type name="QTextFormat::PageBreakFlag" flags="QTextFormat::PageBreakFlags"/>
-  <enum-type name="QTextFrameFormat::Position"/>
-  <enum-type name="QTextFrameFormat::BorderStyle"/>
-  <enum-type name="QTextItem::RenderFlag" flags="QTextItem::RenderFlags"/>
-  <enum-type name="QTextLayout::CursorMode"/>
-  <enum-type name="QTextLength::Type"/>
-  <enum-type name="QTextLine::CursorPosition"/>
-  <enum-type name="QTextLine::Edge"/>
-  <enum-type name="QTextListFormat::Style"/>
-  <enum-type name="QTextOption::Flag" flags="QTextOption::Flags"/>
-  <enum-type name="QTextOption::WrapMode"/>
-  <enum-type name="QTextOption::TabType"/>
-  <enum-type name="QToolButton::ToolButtonPopupMode"/>
-  <enum-type name="QTreeWidgetItem::ItemType"/>
-  <enum-type name="QTreeWidgetItemIterator::IteratorFlag" flags="QTreeWidgetItemIterator::IteratorFlags"/>
-  <enum-type name="QValidator::State"/>
-  <enum-type name="QWidget::RenderFlag" flags="QWidget::RenderFlags"/>
-  <enum-type name="QWorkspace::WindowOrder"/>
-  <enum-type name="QDoubleValidator::Notation"/>
-  <enum-type name="QGraphicsScene::SceneLayer" flags="QGraphicsScene::SceneLayers"/>
-  <enum-type name="QStyleOptionToolBoxV2::SelectedPosition"/>
-  <enum-type name="QStyleOptionToolBoxV2::StyleOptionVersion"/>
-  <enum-type name="QStyleOptionToolBoxV2::TabPosition"/>
-  <enum-type name="QStyleOptionViewItemV3::StyleOptionVersion"/>
-  <enum-type name="QTransform::TransformationType"/>
-  <enum-type name="QTreeWidgetItem::ChildIndicatorPolicy"/>
-  <enum-type name="QWizard::WizardOption" flags="QWizard::WizardOptions"/>
-  <enum-type name="QWizard::WizardPixmap"/>
-  <enum-type name="QWizard::WizardStyle"/>
-  <enum-type name="QImageIOPlugin::Capability" flags="QImageIOPlugin::Capabilities"/>
-  <enum-type name="QStackedLayout::StackingMode"/>
-
-  <enum-type name="QWizard::WizardButton">
-    <reject-enum-value name="NStandardButtons"/>
-    <reject-enum-value name="NButtons"/>
-  </enum-type>
-
-  <enum-type name="QAccessible::Action">
-    <reject-enum-value name="FirstStandardAction"/>
-    <reject-enum-value name="LastStandardAction"/>
-  </enum-type>
-
-  <enum-type name="QBoxLayout::Direction">
-    <reject-enum-value name="Down"/>
-    <reject-enum-value name="Up"/>
-  </enum-type>
-
-
-  <enum-type name="QClipboard::Mode">
-    <reject-enum-value name="LastMode"/>
-  </enum-type>
-
-  <enum-type name="QDialogButtonBox::StandardButton" flags="QDialogButtonBox::StandardButtons">
-    <reject-enum-value name="FirstButton"/>
-    <reject-enum-value name="LastButton"/>
-    <reject-enum-value name="YesAll"/>
-    <reject-enum-value name="NoAll"/>
-    <reject-enum-value name="Default"/>
-    <reject-enum-value name="Escape"/>
-    <reject-enum-value name="FlagMask"/>
-    <reject-enum-value name="ButtonMask"/>
-  </enum-type>
-
-  <enum-type name="QDockWidget::DockWidgetFeature" flags="QDockWidget::DockWidgetFeatures"/>
-
-  <enum-type name="QFont::StyleHint">
-    <reject-enum-value name="SansSerif"/>
-    <reject-enum-value name="Serif"/>
-    <reject-enum-value name="TypeWriter"/>
-    <reject-enum-value name="Decorative"/>
-  </enum-type>
-
-  <enum-type name="QFontDatabase::WritingSystem">
-    <reject-enum-value name="Other"/>
-  </enum-type>
-
-  <enum-type name="QHeaderView::ResizeMode">
-    <reject-enum-value name="Custom"/>
-  </enum-type>
-
-
-  <enum-type name="QMessageBox::StandardButton" flags="QMessageBox::StandardButtons">
-    <reject-enum-value name="FirstButton"/>
-    <reject-enum-value name="LastButton"/>
-    <reject-enum-value name="YesAll"/>
-    <reject-enum-value name="NoAll"/>
-  </enum-type>
-
-  <enum-type name="QPalette::ColorGroup">
-    <reject-enum-value name="Normal"/>
-  </enum-type>
-
-  <enum-type name="QPalette::ColorRole">
-    <reject-enum-value name="NColorRoles"/>
-    <reject-enum-value name="Foreground"/>
-    <reject-enum-value name="Background"/>
-  </enum-type>
-
-  <enum-type name="QPrinter::PageSize">
-    <reject-enum-value name="NPageSize"/>
-    <reject-enum-value name="NPaperSize"/>
-  </enum-type>
-
-  <enum-type name="QSlider::TickPosition">
-<!--    <reject-enum-value name="TicksLeft"/>
-    <reject-enum-value name="TicksRight"/>-->
-  </enum-type>
-
-  <enum-type name="QStyle::StyleHint" extensible="yes">
-    <reject-enum-value name="SH_ScrollBar_StopMouseOverSlider"/>
-  </enum-type>
-
-
-  <enum-type name="QTextFormat::FormatType"/>
-
-  <enum-type name="QTextFormat::Property">
-    <reject-enum-value name="FontSizeIncrement"/>
-    <reject-enum-value name="FirstFontProperty"/>
-    <reject-enum-value name="LastFontProperty"/>
-  </enum-type>
-
-  <value-type name="QTransform">
-    <modify-function signature="operator=(QTransform)" remove="all"/>
-    <modify-function signature="map(int,int,int*,int*)const" remove="all"/>
-    <modify-function signature="map(double,double,double*,double*)const" remove="all"/>
-
-    <modify-function signature="operator*=(double)" access="private"/>
-    <modify-function signature="operator+=(double)" access="private"/>
-    <modify-function signature="operator-=(double)" access="private"/>
-    <modify-function signature="operator/=(double)" access="private"/>
-    <modify-function signature="operator*(QTransform)const" rename="multiplied"/>
-    <modify-function signature="operator*=(QTransform)" access="private"/>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTransform___" quote-before-line="}// class"/>
-        </inject-code>
-
-        <modify-function signature="inverted(bool*)const">
-            <access modifier="private"/>
-            <modify-argument index="1">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="rotate(double,Qt::Axis)">
-            <modify-argument index="1">
-                <remove-default-expression/>
-            </modify-argument>
-            <access modifier="private"/>
-            <rename to="rotate_private"/>
-        </modify-function>
-        <inject-code>
-    /**
-     * Rotates the transformation around the given axis.
-     *
-     * @return The rotated transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="rotate"/>
-            <replace from="%ARGUMENTS" to="double angle, Qt.Axis axis"/>
-            <replace from="%ARGUMENT_NAMES" to="angle, axis"/>
-        </insert-template>
-
-    /**
-     * Rotates the transformation around the z-axis.
-     *
-     * @return The rotated transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="rotate"/>
-            <replace from="%ARGUMENTS" to="double angle"/>
-            <replace from="%ARGUMENT_NAMES" to="angle"/>
-        </insert-template>
-        </inject-code>
-
-        <modify-function signature="rotateRadians(double,Qt::Axis)">
-        <modify-argument index="1">
-            <remove-default-expression/>
-        </modify-argument>
-        <access modifier="private"/>
-        <rename to="rotateRadians_private"/>
-    </modify-function>
-    <inject-code>
-    /**
-     * Rotates the transformation around the given axis.
-     *
-     * @return The rotated transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="rotateRadians"/>
-            <replace from="%ARGUMENTS" to="double angle, Qt.Axis axis"/>
-            <replace from="%ARGUMENT_NAMES" to="angle, axis"/>
-        </insert-template>
-
-    /**
-     * Rotates the transformation around the z-axis.
-     *
-     * @return The rotated transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="rotateRadians"/>
-            <replace from="%ARGUMENTS" to="double angle"/>
-            <replace from="%ARGUMENT_NAMES" to="angle"/>
-        </insert-template>
-    </inject-code>
-
-    <modify-function signature="scale(double,double)">
-        <access modifier="private"/>
-        <rename to="scale_private"/>
-    </modify-function>
-    <inject-code>
-    /**
-     * Scales the transformation using x and y.
-     *
-     * @return The scaled transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="scale"/>
-            <replace from="%ARGUMENTS" to="double x, double y"/>
-            <replace from="%ARGUMENT_NAMES" to="x, y"/>
-        </insert-template>
-    </inject-code>
-
-    <modify-function signature="shear(double,double)">
-        <access modifier="private"/>
-        <rename to="shear_private"/>
-    </modify-function>
-    <inject-code>
-    /**
-      * Shears the transformation using x and y.
-      *
-      * @return The sheared transformation.
-      */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="shear"/>
-            <replace from="%ARGUMENTS" to="double x, double y"/>
-            <replace from="%ARGUMENT_NAMES" to="x, y"/>
-        </insert-template>
-    </inject-code>
-
-    <modify-function signature="translate(double,double)">
-        <access modifier="private"/>
-        <rename to="translate_private"/>
-    </modify-function>
-    <inject-code>
-    /**
-     * Translates the transformation using x and y.
-     *
-     * @return The translated transformation.
-     */
-        <insert-template name="core.private_function_return_self">
-            <replace from="%RETURN_TYPE" to="QTransform"/>
-            <replace from="%FUNCTION_NAME" to="translate"/>
-            <replace from="%ARGUMENTS" to="double x, double y"/>
-            <replace from="%ARGUMENT_NAMES" to="x, y"/>
-        </insert-template>
-    </inject-code>
-
-    <modify-function signature="quadToQuad(QPolygonF,QPolygonF,QTransform&amp;)">
-        <access modifier="private"/>
-        <rename to="quadToQuadPrivate"/>
-    </modify-function>
-
-    <modify-function signature="quadToSquare(QPolygonF,QTransform&amp;)">
-        <access modifier="private"/>
-        <rename to="quadToSquarePrivate"/>
-    </modify-function>
-
-    <modify-function signature="squareToQuad(QPolygonF,QTransform&amp;)">
-        <access modifier="private"/>
-        <rename to="squareToQuadPrivate"/>
-    </modify-function>
-
-    </value-type>
-
-  <value-type name="QStyleOption" delete-in-main-thread="yes" polymorphic-base="yes" polymorphic-id-expression="%1-&gt;type == QStyleOption::SO_Default">
-      <modify-function signature="operator=(QStyleOption)" remove="all"/>
-      <modify-function signature="init(const QWidget*)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-field name="version">
-          <rename to="version_"/>
-      </modify-field>
-  </value-type>
-  <value-type name="QStyleOptionGraphicsItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionGraphicsItem::Type &amp;&amp; %1-&gt;version == QStyleOptionGraphicsItem::Version"/>
-  <value-type name="QStyleOptionSizeGrip" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSizeGrip::Type &amp;&amp; %1-&gt;version == QStyleOptionSizeGrip::Version"/>
-  <value-type name="QStyleOptionButton" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionButton::Type &amp;&amp; %1-&gt;version == QStyleOptionButton::Version"/>
-  <value-type name="QStyleOptionComboBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionComboBox::Type &amp;&amp; %1-&gt;version == QStyleOptionComboBox::Version"/>
-  <value-type name="QStyleOptionComplex" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionComplex::Type &amp;&amp; %1-&gt;version == QStyleOptionComplex::Version"/>
-  <value-type name="QStyleOptionDockWidget" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionDockWidget::Type &amp;&amp; %1-&gt;version == QStyleOptionDockWidget::Version"/>
-  <value-type name="QStyleOptionDockWidgetV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionDockWidgetV2::Type &amp;&amp; %1-&gt;version == QStyleOptionDockWidgetV2::Version">
-      <modify-function signature="operator=(QStyleOptionDockWidget)" remove="all"/>
-  </value-type>
-  <value-type name="QStyleOptionFocusRect" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFocusRect::Type &amp;&amp; %1-&gt;version == QStyleOptionFocusRect::Version"/>
-  <value-type name="QStyleOptionFrame" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFrame::Type &amp;&amp; %1-&gt;version == QStyleOptionFrame::Version"/>
-
-  <value-type name="QStyleOptionFrameV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFrameV2::Type &amp;&amp; %1-&gt;version == QStyleOptionFrameV2::Version">
-    <modify-function signature="operator=(QStyleOptionFrame)" remove="all"/>
-  </value-type>
-
-  <value-type name="QStyleOptionGroupBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionGroupBox::Type &amp;&amp; %1-&gt;version == QStyleOptionGroupBox::Version"/>
-  <value-type name="QStyleOptionHeader" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionHeader::Type &amp;&amp; %1-&gt;version == QStyleOptionHeader::Version"/>
-  <value-type name="QStyleOptionMenuItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionMenuItem::Type &amp;&amp; %1-&gt;version == QStyleOptionMenuItem::Version"/>
-  <value-type name="QStyleOptionProgressBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionProgressBar::Type &amp;&amp; %1-&gt;version == QStyleOptionProgressBar::Version"/>
-
-  <value-type name="QStyleOptionProgressBarV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionProgressBarV2::Type &amp;&amp; %1-&gt;version == QStyleOptionProgressBarV2::Version">
-    <modify-function signature="operator=(QStyleOptionProgressBar)" remove="all"/>
-  </value-type>
-
-  <value-type name="QStyleOptionRubberBand" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionRubberBand::Type &amp;&amp; %1-&gt;version == QStyleOptionRubberBand::Version"/>
-  <value-type name="QStyleOptionSlider" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSlider::Type &amp;&amp; %1-&gt;version == QStyleOptionSlider::Version"/>
-  <value-type name="QStyleOptionSpinBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSpinBox::Type &amp;&amp; %1-&gt;version == QStyleOptionSpinBox::Version"/>
-  <value-type name="QStyleOptionTab" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTab::Type &amp;&amp; %1-&gt;version == QStyleOptionTab::Version"/>
-  <value-type name="QStyleOptionTabV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabV2::Type &amp;&amp; %1-&gt;version == QStyleOptionTabV2::Version">
-    <modify-function signature="operator=(const QStyleOptionTab &amp;)" remove="all"/>
-  </value-type>
-  <value-type name="QStyleOptionTabBarBase" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabBarBase::Type &amp;&amp; %1-&gt;version == QStyleOptionTabBarBase::Version"/>
-  <value-type name="QStyleOptionTabWidgetFrame" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabWidgetFrame::Type &amp;&amp; %1-&gt;version == QStyleOptionTabWidgetFrame::Version"/>
-  <value-type name="QStyleOptionTitleBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTitleBar::Type &amp;&amp; %1-&gt;version == QStyleOptionTitleBar::Version"/>
-  <value-type name="QStyleOptionToolBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBar::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBar::Version"/>
-  <value-type name="QStyleOptionToolBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBox::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBox::Version"/>
-  <value-type name="QStyleOptionToolBoxV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBoxV2::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBoxV2::Version">
-    <modify-function signature="operator=(QStyleOptionToolBox)" remove="all"/>
-  </value-type>
-  <value-type name="QStyleOptionToolButton" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolButton::Type &amp;&amp; %1-&gt;version == QStyleOptionToolButton::Version"/>
-  <value-type name="QStyleOptionViewItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItem::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItem::Version"/>
-  <value-type name="QStyleOptionViewItemV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV2::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV2::Version">
-    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
-  </value-type>
-  <value-type name="QStyleOptionViewItemV3" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV3::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV3::Version">
-    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
-  </value-type>
-  <value-type name="QStyleOptionViewItemV4" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV4::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV4::Version">
-    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
-  </value-type>
-  <value-type name="QTextFragment" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QTextFragment)" remove="all"/>
-  </value-type>
-  <value-type name="QBitmap" delete-in-main-thread="yes">
-    <modify-function signature="operator=(const QPixmap &amp;)" remove="all"/>
-    <modify-function signature="QBitmap(QString,const char*)" access="private">
-        <modify-argument index="2"> <remove-default-expression/> </modify-argument>
-    </modify-function>
-
-    <modify-function signature="fromData(QSize,const unsigned char*,QImage::Format)">
-        <access modifier="private"/>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QBitmap___" quote-before-line="}// class"/>
-        </inject-code>
-    </value-type>
-  <value-type name="QTextInlineObject" delete-in-main-thread="yes"/>
-  <value-type name="QSizePolicy"/>
-  <value-type name="QTableWidgetSelectionRange"/>
-  <value-type name="QTextDocumentFragment" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QTextDocumentFragment)" remove="all"/>
-  </value-type>
-  <value-type name="QTextOption" delete-in-main-thread="yes">
-    <modify-function signature="operator=(const QTextOption &amp;)" remove="all"/>
-  </value-type>
-  <value-type name="QTextLine" delete-in-main-thread="yes">
-    <modify-function signature="cursorToX(int*,QTextLine::Edge)const">
-        <remove/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextLine___" quote-before-line="}// class"/>
-        </inject-code>
-    </value-type>
-  <value-type name="QTextTableFormat" delete-in-main-thread="yes"/>
-  <value-type name="QTextImageFormat" delete-in-main-thread="yes"/>
-  <value-type name="QTextFrameFormat" delete-in-main-thread="yes">
-    <modify-function signature="isValid()const" access="non-final"/>
-  </value-type>
-  <value-type name="QTextLength" delete-in-main-thread="yes"/>
-  <value-type name="QItemSelectionRange">
-      <modify-function signature="intersect(QItemSelectionRange)const" remove="all"/> <!--### Obsolete in 4.3-->
-  </value-type>
-
-  <value-type name="QPainterPath">
-    <modify-function signature="operator=(QPainterPath)" remove="all"/>
-  </value-type>
-  <value-type name="QPalette">
-    <modify-function signature="operator=(const QPalette&amp;)" remove="all"/>
-
-      <modify-function signature="QPalette(QColor, QColor, QColor, QColor, QColor, QColor, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="background()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="foreground()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
-  </value-type>
-  <value-type name="QKeySequence">
-    <modify-function signature="operator=(QKeySequence)" remove="all"/>
-    <modify-function signature="operator int()const" access="private"/>
-    <modify-function signature="operator[](uint)const" access="private"/>
-
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QKeySequence___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QPicture" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QPicture)" remove="all"/>
-    <modify-function signature="pictureFormat(QString)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="inputFormatList()" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="inputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="outputFormatList()" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="outputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPicture___" quote-before-line="}// class"/>
-        </inject-code>
-        <extra-includes>
-            <include file-name="qt.core.QIODevice" location="java"/>
-        </extra-includes>
-        <modify-function signature="load(QIODevice*,const char*)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-
-        <modify-function signature="load(QString,const char*)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-
-        <modify-function signature="save(QIODevice*,const char*)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-
-        <modify-function signature="save(QString,const char*)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-<!--
-        <modify-function signature="setData(const char*,uint)">
-            <modify-argument index="1">
-                <replace-type modified-type="byte[]"/>
-                <conversion-rule class="shell">
-                    jbyteArray %out = __jni_env-&gt;NewByteArray(%2);
-                    __jni_env-&gt;SetByteArrayRegion(%out, 0, %2, (jbyte *) %in);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    char *%out = (char *) __jni_env-&gt;GetByteArrayElements((jbyteArray) %in, 0);
-                    char *__ptr = %out;
-                    Q_UNUSED(__ptr)
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                    // nothing
-                </conversion-rule>
-                <conversion-rule class="native">
-                    int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
--->
-        <modify-function signature="pictureFormat(QString)">
-            <remove/>
-        </modify-function>
-
-        <modify-function signature="data()const">
-            <access modifier="private"/>
-            <rename to="data_private"/>
-        </modify-function>
-
-    </value-type>
-
-  <value-type name="QRegion"> <!-- expense-limit="4096"> -->
-    <modify-function signature="operator=(QRegion)" remove="all"/>
-    <modify-function signature="operator&amp;=(QRegion)" remove="all"/>
-    <modify-function signature="operator+=(QRegion)" remove="all"/>
-    <modify-function signature="operator-=(QRegion)" remove="all"/>
-    <modify-function signature="operator^=(QRegion)" remove="all"/>
-    <modify-function signature="operator|=(QRegion)" remove="all"/>
-    <modify-function signature="operator&amp;(QRegion)const" remove="all"/>
-    <modify-function signature="operator+(QRegion)const" remove="all"/>
-    <modify-function signature="operator-(QRegion)const" remove="all"/>
-    <modify-function signature="operator^(QRegion)const" remove="all"/>
-    <modify-function signature="operator|(QRegion)const" remove="all"/>
-    <modify-function signature="eor(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="intersect(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="subtract(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="unite(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="operator&amp;=(QRect)" remove="all"/>
-    <modify-function signature="operator+=(QRect)" remove="all"/>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QRegion___" quote-before-line="}// class"/>
-        </inject-code>
-        <modify-function signature="setRects(const QRect*,int)">
-            <access modifier="private"/>
-        </modify-function>
-
-    </value-type>
-
-  <value-type name="QTextBlock" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QTextBlock)" remove="all"/>
-    <modify-function signature="setUserData(QTextBlockUserData *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-     </modify-function>
-  </value-type>
-  <value-type name="QTextBlockFormat" delete-in-main-thread="yes"/>
-  <value-type name="QTextTableCellFormat" delete-in-main-thread="yes"/>
-  <value-type name="QTextCharFormat" delete-in-main-thread="yes">
-    <modify-function signature="isValid()const" access="non-final"/>
-
-      <modify-function signature="anchorName()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setAnchorName(QString)" remove="all"/> <!--### Obsolete in 4.3-->
-  </value-type>
-  <value-type name="QTextFormat" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QTextFormat)" remove="all"/>
-    <modify-function signature="isValid()const" access="non-final"/>
-
-  </value-type>
-
-  <value-type name="QTextListFormat" delete-in-main-thread="yes"/>
-  <value-type name="QPolygon">
-    <extra-includes>
-        <include file-name="qt.core.QPoint" location="java"/>
-    </extra-includes>
-    
-    <modify-function signature="QPolygon(int, const int *)" remove="all"/>
-    <modify-function signature="operator+(QVector&lt;QPoint&gt;)const" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(QPoint)" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(QVector&lt;QPoint&gt;)" remove="all"/>
-    
-    <inject-code class="java">
-    public final void insert(int i, QPoint t) {
-        qtd_QPolygon_insert_int_QPoint(nativeId, i, t);
-    }
-    
-    public final void insert(int i, int n, QPoint t) {
-        qtd_QPolygon_insert_int_int_QPoint(nativeId, i, n, t);
-    }
-    </inject-code>
-    <inject-code class="java-free">
-private extern(C) void  qtd_QPolygon_insert_int_QPoint(void* __this_nativeId,
- int i0,
- QPoint t1);
-private extern(C) void  qtd_QPolygon_insert_int_int_QPoint(void* __this_nativeId,
- int i0,
- int n1,
- QPoint t2);
-    </inject-code>
-    <inject-code class="native">
-// QPolygon::insert(int i, const QPoint &amp; t)
-extern "C" DLL_PUBLIC void qtd_QPolygon_insert_int_QPoint
-(void* __this_nativeId,
- int i0,
- QPoint t1)
-{
-    QPolygon *__qt_this = (QPolygon *) __this_nativeId;
-    __qt_this->insert((int )i0, (const QPoint&amp; )t1);
-
-}
-
-// QPolygon::insert(int i, int n, const QPoint &amp; t)
-extern "C" DLL_PUBLIC void qtd_QPolygon_insert_int_int_QPoint
-(void* __this_nativeId,
- int i0,
- int n1,
- QPoint t2)
-{
-    QPolygon *__qt_this = (QPolygon *) __this_nativeId;
-    __qt_this->insert((int )i0, (int )n1, (const QPoint&amp; )t2);
-
-}
-    </inject-code>
-    
-    <inject-code>
-        <import-file name="typesystem_gui-java.java" quote-after-line="class QPolygon___" quote-before-line="}// class"/>
-    </inject-code>
-<!-- qtd2
-        <inject-code class="native">
-      extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QPolygon_add_1private)
-      (JNIEnv *__jni_env, jobject, jlong nativeId, jint x, jint y)
-      {
-          Q_UNUSED(__jni_env);
-          QPolygon *polygon = (QPolygon *) qtjambi_from_jlong(nativeId);
-          if (!polygon)
-              return;
-          *polygon &lt;&lt; QPoint(x, y);
-      }
-        </inject-code> -->
-    </value-type>
-
-  <value-type name="QPolygonF">
-    <modify-function signature="operator+(QVector&lt;QPointF&gt;)const" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(QPointF)" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(QVector&lt;QPointF&gt;)" remove="all"/>
-  
-        <extra-includes>
-            <include file-name="qt.core.QPoint" location="java"/>
-        </extra-includes>
-
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPolygonF___" quote-before-line="}// class"/>
-        </inject-code>
-<!--
-        <inject-code class="native">
-      extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QPolygonF_add_1private)
-      (JNIEnv *__jni_env, jobject, jlong nativeId, jdouble x, jdouble y)
-      {
-          Q_UNUSED(__jni_env);
-          QPolygonF *polygon = (QPolygonF *) qtjambi_from_jlong(nativeId);
-          if (!polygon)
-              return;
-          *polygon &lt;&lt; QPointF(x, y);
-      }
-        </inject-code>
-		-->
-    <inject-code class="java">
-    public final void insert(int i, QPointF t) {
-        qtd_QPolygonF_insert_int_QPointF(nativeId, i, t);
-    }
-
-    public final void insert(int i, int n, QPointF t) {
-        qtd_QPolygonF_insert_int_int_QPointF(nativeId, i, n, t);
-    }
-    </inject-code>
-    <inject-code class="java-free">
-private extern(C) void  qtd_QPolygonF_insert_int_QPointF(void* __this_nativeId,
- int i0,
- QPointF t1);
-private extern(C) void  qtd_QPolygonF_insert_int_int_QPointF(void* __this_nativeId,
- int i0,
- int n1,
- QPointF t2);
-    </inject-code>
-    <inject-code class="native">
-// QPolygonF::insert(int i, const QPointF &amp; t)
-extern "C" DLL_PUBLIC void qtd_QPolygonF_insert_int_QPointF
-(void* __this_nativeId,
- int i0,
- QPointF t1)
-{
-    QPolygonF *__qt_this = (QPolygonF *) __this_nativeId;
-    __qt_this->insert((int )i0, (const QPointF&amp; )t1);
-
-}
-
-// QPolygonF::insert(int i, int n, const QPointF &amp; t)
-extern "C" DLL_PUBLIC void qtd_QPolygonF_insert_int_int_QPointF
-(void* __this_nativeId,
- int i0,
- int n1,
- QPointF t2)
-{
-    QPolygonF *__qt_this = (QPolygonF *) __this_nativeId;
-    __qt_this->insert((int )i0, (int )n1, (const QPointF&amp; )t2);
-
-}
-    </inject-code>
-    </value-type>
-
-  <value-type name="QIcon" delete-in-main-thread="yes">
-
-    <inject-code class="java">
-        <insert-template name="gui.class_from_variant_java">
-            <replace from="%CLASS_NAME" to="QIcon"/>
-        </insert-template>
-
-    </inject-code>   
-    <inject-code class="java-free">
-        <insert-template name="gui.class_from_variant_java_free">
-            <replace from="%CLASS_NAME" to="QIcon"/>
-        </insert-template>
-    </inject-code>
-    <inject-code class="native">
-        <insert-template name="gui.class_from_variant_native">
-            <replace from="%CLASS_NAME" to="QIcon"/>
-        </insert-template>
-    </inject-code>
-
-    <modify-function signature="operator=(QIcon)" remove="all"/>
-    <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="QIcon(QIconEngineV2 *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QIcon(QIconEngine *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="operator QVariant()const" access="private"/>
-    <inject-code class="java">
-        public final QVariant toVariant() {
-            return operator_cast_QVariant();
-        }
-    </inject-code>
-
-  </value-type>
-
-  <value-type name="QTextFrame::iterator" delete-in-main-thread="yes">
-    <include file-name="QTextFrame" location="global"/>
-    <modify-function signature="operator++(int)" remove="all"/>
-    <modify-function signature="operator--(int)" remove="all"/>
-    <modify-function signature="operator=(QTextFrame::iterator)" remove="all"/>
-    <modify-function signature="operator++()" access="private"/>
-    <modify-function signature="operator--()" access="private"/>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextFrame_iterator___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QTreeWidgetItemIterator" delete-in-main-thread="yes">
-    <custom-constructor>
-    return new QTreeWidgetItemIterator(*copy);
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-    <modify-function signature="operator=(QTreeWidgetItemIterator)" remove="all"/>
-    <modify-function signature="operator++(int)" remove="all"/>
-    <modify-function signature="operator--(int)" remove="all"/>
-    <modify-function signature="operator+=(int)" access="private"/>
-    <modify-function signature="operator-=(int)" access="private"/>
-    <modify-function signature="operator++()" access="private"/>
-    <modify-function signature="operator--()" access="private"/>
-    <modify-function signature="operator*()const" access="private"/>
-   
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTreeWidgetItemIterator___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QTextBlock::iterator" delete-in-main-thread="yes">
-    <include file-name="QTextBlock" location="global"/>
-
-    <modify-function signature="operator++()" access="private"/>
-    <modify-function signature="operator--()" access="private"/>
-    <modify-function signature="operator++(int)" remove="all"/>
-    <modify-function signature="operator--(int)" remove="all"/>
-   
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextBlock_iterator___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QAbstractTextDocumentLayout::PaintContext" delete-in-main-thread="yes">
-    <include file-name="QAbstractTextDocumentLayout" location="global"/>
-  </value-type>
-  <value-type name="QAbstractTextDocumentLayout::Selection" delete-in-main-thread="yes"/>
-
-  <value-type name="QPixmap" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QPixmap)" remove="all"/>
-    <modify-function signature="operator!()const" remove="all"/>
-    <modify-function signature="operator QVariant()const" access="private"/>
-    <modify-function signature="QPixmap(const char **)" access="private"/>
-    <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPixmap___" quote-before-line="}// class"/>
-        </inject-code>
-        <modify-function signature="fill(const QColor &amp;)">
-            <modify-argument index="1">
-                <replace-default-expression with="QColor.White"/>
-            </modify-argument>
-        </modify-function>
-
-
-        <extra-includes>
-            <include file-name="QBitmap" location="global"/>
-            <include file-name="QMatrix" location="global"/>
-        </extra-includes>
-        
-    <inject-code class="java">
-        <insert-template name="gui.class_from_variant_java">
-            <replace from="%CLASS_NAME" to="QPixmap"/>
-        </insert-template>
-    </inject-code>   
-    <inject-code class="java-free">
-        <insert-template name="gui.class_from_variant_java_free">
-            <replace from="%CLASS_NAME" to="QPixmap"/>
-        </insert-template>
-    </inject-code>
-    <inject-code class="native">
-        <insert-template name="gui.class_from_variant_native_shell">
-            <replace from="%CLASS_NAME" to="QPixmap"/>
-        </insert-template>
-    </inject-code>
-
-        <modify-function signature="save(QIODevice *, const char *, int) const">
-            <access modifier="private"/>
-            <rename to="private_save"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_save">
-                <replace from="%INPUT_TYPE" to="qt.core.QIODevice"/>
-                <replace from="%INPUT_NAME" to="dev"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="save(const QString &amp;, const char *, int) const">
-            <access modifier="private"/>
-            <rename to="private_save"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_save">
-                <replace from="%INPUT_TYPE" to="String"/>
-                <replace from="%INPUT_NAME" to="fileName"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="QPixmap(QString,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_constructor"/>
-        </inject-code>
-
-        <modify-function signature="load(QString,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_load">
-                <replace from="%FUNCTION_NAME" to="load"/>
-                <replace from="%INPUT_TYPE" to="String"/>
-                <replace from="%INPUT_NAME" to="fileName"/>
-                <replace from="%OUTPUT_NAME" to="fileName"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="loadFromData(const unsigned char*,uint,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
-            <access modifier="private"/>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="4">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_load">
-                <replace from="%FUNCTION_NAME" to="loadFromData"/>
-                <replace from="%INPUT_TYPE" to="byte[]"/>
-                <replace from="%INPUT_NAME" to="data"/>
-                <replace from="%OUTPUT_NAME" to="qt.internal.QtJambiInternal.byteArrayToNativePointer(data), data.length"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="loadFromData(QByteArray,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_load">
-                <replace from="%FUNCTION_NAME" to="loadFromData"/>
-                <replace from="%INPUT_TYPE" to="qt.core.QByteArray"/>
-                <replace from="%INPUT_NAME" to="data"/>
-                <replace from="%OUTPUT_NAME" to="data"/>
-            </insert-template>
-        </inject-code>
-    </value-type>
-
-  <value-type name="QTextCursor" delete-in-main-thread="yes">
-    <extra-includes>
-        <include file-name="QTextBlock" location="global"/>
-        <include file-name="QTextDocumentFragment" location="global"/>
-    </extra-includes>
-    <modify-function signature="operator=(QTextCursor)" remove="all"/>
-    <modify-function signature="selectedTableCells(int*,int*,int*,int*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextCursor___" quote-before-line="}// class"/>
-        </inject-code>
-    </value-type>
-
-  <value-type name="QTextLayout::FormatRange">
-    <include file-name="QTextLayout" location="global"/>
-  </value-type>
-
-  <value-type name="QInputMethodEvent::Attribute">
-    <include file-name="QInputMethodEvent" location="global"/>
-    <custom-constructor>
-    return new QInputMethodEvent::Attribute(copy-&gt;type, copy-&gt;start, copy-&gt;length, copy-&gt;value);
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-  </value-type>
-
-  <value-type name="QItemSelection" delete-in-main-thread="yes">
-
-    <modify-function signature="operator+(const QList&lt;QItemSelectionRange&gt;&amp;)const" remove="all"/>
-    <modify-function signature="operator+=(const QList&lt;QItemSelectionRange&gt;&amp;)" remove="all"/>
-    <modify-function signature="operator+=(const QItemSelectionRange&amp;)" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(const QList&lt;QItemSelectionRange&gt;&amp;)" remove="all"/>
-    <modify-function signature="operator&lt;&lt;(QItemSelectionRange)" remove="all"/>
-<!--  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QItemSelection___" quote-before-line="}// class"/>
-        </inject-code>
-        <modify-function signature="split(QItemSelectionRange,QItemSelectionRange,QItemSelection*)">
-            <access modifier="private"/>
-        </modify-function>
--->
-
-    </value-type>
-
-  <value-type name="QMatrix">
-      <extra-includes>
-        <include file-name="QPainterPath" location="global"/>
-      </extra-includes>
-
-      <modify-function signature="map(int,int,int*,int*)const" remove="all"/>
-      <modify-function signature="map(double,double,double*,double*)const" remove="all"/>
-      <modify-function signature="operator=(QMatrix)" remove="all"/>
-
-      <modify-function signature="operator*(QMatrix)const" access="private"/>
-      <modify-function signature="operator*=(QMatrix)" access="private"/>
-      <modify-function signature="rotate(double)" access="private" rename="rotate_private"/>
-      <modify-function signature="scale(double,double)" access="private" rename="scale_private"/>
-      <modify-function signature="shear(double,double)" access="private" rename="shear_private"/>
-      <modify-function signature="translate(double,double)" access="private" rename="translate_private"/>
-
-      <modify-function signature="inverted(bool*)const">
-        <access modifier="private"/>
-        <modify-argument index="1">
-            <remove-default-expression/>
-        </modify-argument>
-      </modify-function>
-
-    <inject-code>
-      <insert-template name="core.unary_other_type">
-        <replace from="%FUNCTION_NAME" to="rotate"/>
-        <replace from="%OUT_TYPE" to="QMatrix"/>
-        <replace from="%IN_TYPE" to="double"/>
-      </insert-template>
-
-      <insert-template name="core.private_function_return_self">
-        <replace from="%RETURN_TYPE" to="QMatrix"/>
-        <replace from="%FUNCTION_NAME" to="scale"/>
-        <replace from="%ARGUMENTS" to="double sx, double sy"/>
-        <replace from="%ARGUMENT_NAMES" to="sx, sy"/>
-      </insert-template>
-
-      <insert-template name="core.private_function_return_self">
-        <replace from="%RETURN_TYPE" to="QMatrix"/>
-        <replace from="%FUNCTION_NAME" to="shear"/>
-        <replace from="%ARGUMENTS" to="double sh, double sv"/>
-        <replace from="%ARGUMENT_NAMES" to="sh, sv"/>
-      </insert-template>
-
-      <insert-template name="core.private_function_return_self">
-        <replace from="%RETURN_TYPE" to="QMatrix"/>
-        <replace from="%FUNCTION_NAME" to="translate"/>
-        <replace from="%ARGUMENTS" to="double dx, double dy"/>
-        <replace from="%ARGUMENT_NAMES" to="dx, dy"/>
-      </insert-template>
-    </inject-code>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QMatrix___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QConicalGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::ConicalGradient">
-    <custom-constructor>
-    return new QConicalGradient(copy-&gt;center(), copy-&gt;angle());
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-  </value-type>
-
-  <value-type name="QFontInfo"> <!-- delete-in-main-thread="yes" expense-cost="1" expense-limit="1000"> -->
-    <custom-constructor>
-    return new QFontInfo(*copy);
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-    <modify-function signature="operator=(QFontInfo)" remove="all"/>
-
-  </value-type>
-
-  <value-type name="QRadialGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::RadialGradient">
-    <custom-constructor>
-    return new QRadialGradient(copy-&gt;center(), copy-&gt;radius(), copy-&gt;focalPoint());
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-  </value-type>
-
-  <value-type name="QPainterPath::Element">
-    <modify-field name="x" write="false"/>
-    <modify-field name="y" write="false"/>
-    <modify-field name="type" write="false"/>
-    <include file-name="QPainterPath" location="global"/>
-    <modify-function signature="operator QPointF()const" access="private"/>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPainterPath_Element___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </value-type>
-
-  <value-type name="QTextEdit::ExtraSelection" delete-in-main-thread="yes">
-    <include file-name="QTextEdit" location="global"/>
-  </value-type>
-
-  <value-type name="QFont" delete-in-main-thread="yes"> <!-- <expense-cost="1" expense-limit="1000"> -->
-
-    <extra-includes>
-        <include file-name="QStringList" location="global"/>
-    </extra-includes>
-    <modify-function signature="operator=(QFont)" remove="all"/>
-  </value-type>
-
-  <value-type name="QTextTableCell" delete-in-main-thread="yes">
-    <extra-includes>
-        <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-    <modify-function signature="operator=(QTextTableCell)" remove="all"/>
-  </value-type>
-
-  <value-type name="QImage"> <!-- expense-limit="67108864" expense-cost="height()*bytesPerLine()"> -->
-    <modify-function signature="QImage(const char *, const char *)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="QImage(const char **)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="QImage(const unsigned char*,int,int,int,QImage::Format)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="bits()const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="scanLine(int)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="QImage(const unsigned char *, int, int, QImage::Format)">
-        <remove/>
-    </modify-function>
-
-    <extra-includes>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QMatrix" location="global"/>
-    </extra-includes>
-    <modify-function signature="save(const QString &amp;, const char *, int) const">
-        <access modifier="private"/>
-        <rename to="private_save"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="QImage(unsigned char*,int,int,QImage::Format)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="QImage(QString,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="load(QString,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="load(QIODevice*,const char*)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="loadFromData(const unsigned char*,int,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="loadFromData(QByteArray,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="operator=(QImage)" remove="all"/>
-
-    <modify-function signature="setText(const char*,const char*,QString)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="text(const char*,const char*)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="fromData(QByteArray,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="fromData(const unsigned char*,int,const char*)">
-        <remove/>
-    </modify-function>
-
-      <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="textLanguages()const" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QImage___" quote-before-line="}// class"/>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.pixmap_save">
-                <replace from="%INPUT_TYPE" to="String"/>
-                <replace from="%INPUT_NAME" to="fileName"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="save(QIODevice *, const char *, int) const">
-            <access modifier="private"/>
-            <rename to="private_save"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.pixmap_save">
-                <replace from="%INPUT_TYPE" to="qt.core.QIODevice"/>
-                <replace from="%INPUT_NAME" to="dev"/>
-            </insert-template>
-        </inject-code>
-
-        <template name="gui.image_load">
-        public final boolean %FUNCTION_NAME(%ARGUMENT_TYPE %ARGUMENT_NAME, String format) {
-            return %FUNCTION_NAME(%OUT_ARGUMENT_NAME, format != null ? QNativePointer.createCharPointer(format) : null);
-        }
-
-        public final boolean %FUNCTION_NAME(%ARGUMENT_TYPE %ARGUMENT_NAME) {
-            return %FUNCTION_NAME(%ARGUMENT_NAME, (String) null);
-        }
-        </template>
-<!--
-        <inject-code>
-            <insert-template name="gui.image_load">
-                <replace from="%FUNCTION_NAME" to="load"/>
-                <replace from="%ARGUMENT_TYPE" to="String"/>
-                <replace from="%ARGUMENT_NAME" to="fileName"/>
-                <replace from="%OUT_ARGUMENT_NAME" to="fileName"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.image_load">
-                <replace from="%FUNCTION_NAME" to="load"/>
-                <replace from="%ARGUMENT_TYPE" to="qt.core.QIODevice"/>
-                <replace from="%ARGUMENT_NAME" to="device"/>
-                <replace from="%OUT_ARGUMENT_NAME" to="device"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.image_load">
-                <replace from="%FUNCTION_NAME" to="loadFromData"/>
-                <replace from="%ARGUMENT_TYPE" to="byte[]"/>
-                <replace from="%ARGUMENT_NAME" to="data"/>
-                <replace from="%OUT_ARGUMENT_NAME" to="qt.internal.QtJambiInternal.byteArrayToNativePointer(data), data.length"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.image_load">
-                <replace from="%FUNCTION_NAME" to="loadFromData"/>
-                <replace from="%ARGUMENT_TYPE" to="qt.core.QByteArray"/>
-                <replace from="%ARGUMENT_NAME" to="data"/>
-                <replace from="%OUT_ARGUMENT_NAME" to="data"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.image_load">
-                <replace from="%FUNCTION_NAME" to="fromData"/>
-                <replace from="%ARGUMENT_TYPE" to="qt.core.QByteArray"/>
-                <replace from="%ARGUMENT_NAME" to="data"/>
-                <replace from="%OUT_ARGUMENT_NAME" to="data"/>
-                <replace from="boolean" to="QImage"/>
-                <replace from="final" to="static"/>
-            </insert-template>
-        </inject-code>
-		-->
-    </value-type>
-
-  <value-type name="QColormap" delete-in-main-thread="yes">
-    <modify-function signature="operator=(QColormap)" remove="all"/>
-    <extra-includes>
-        <include file-name="QColor" location="global"/>
-    </extra-includes>
-    <custom-constructor>
-    return new QColormap(*copy);
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-  </value-type>
-
-  <value-type name="QCursor" delete-in-main-thread="yes">
-     <extra-includes>
-        <include file-name="QPixmap" location="global"/>
-    </extra-includes>
-    <modify-function signature="operator=(QCursor)" remove="all"/>
-<!--  
-        <template name="gui.cursor_bitmap_getter">
-            <insert-template name="gui.getter_returning_nativepointer">
-                <replace from="%RETURN_TYPE" to="QBitmap"/>
-            </insert-template>
-        </template>
-
-        <modify-function signature="bitmap()const">
-            <access modifier="private"/>
-            <rename to="bitmap_private"/>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.cursor_bitmap_getter">
-                <replace from="%FUNCTION_NAME" to="bitmap"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="mask()const">
-            <access modifier="private"/>
-            <rename to="mask_private"/>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.cursor_bitmap_getter">
-                <replace from="%FUNCTION_NAME" to="mask"/>
-            </insert-template>
-        </inject-code>
-		-->
-    </value-type>
-
-  <value-type name="QFontDatabase" delete-in-main-thread="yes">
-      <extra-includes>
-        <include file-name="QStringList" location="global"/>
-    </extra-includes>
-  </value-type>
-
-  <value-type name="QPen">
-      <extra-includes>
-        <include file-name="QBrush" location="global"/>
-    </extra-includes>
-
-    <modify-function signature="operator=(QPen)" remove="all"/>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPen___" quote-before-line="}// class"/>
-        </inject-code>
-    </value-type>
-
-  <value-type name="QBrush">
-    <modify-function signature="QBrush(Qt::GlobalColor, Qt::BrushStyle)" remove="all"/>
-    <modify-function signature="operator=(const QBrush &amp;)" remove="all"/>
-	<!-- restore later - abstract class not handled-->
-	<modify-function signature="gradient() const" remove="all"/>
-    
-	<extra-includes>
-        <include file-name="QPixmap" location="global"/>
-    </extra-includes>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QBrush___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-        <modify-function signature="gradient()const">
-            <!-- Use custom constructors already defined for gradient -->
-            <modify-argument index="0">
-                <replace-type modified-type="qt.gui.QGradient"/>
-                <conversion-rule class="native">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QGradient", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QGradient_2", true);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-    </value-type>
-
-  <value-type name="QColor">
-    <modify-function signature="QColor(QColor::Spec)" remove="all"/>
-    <modify-function signature="operator=(QColor)" remove="all"/>
-    <modify-function signature="operator=(Qt::GlobalColor)" remove="all"/>
-
-    <modify-function signature="QColor(const char*)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getCmyk(int*,int*,int*,int*,int*)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getCmykF(double*,double*,double*,double*,double*)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getHsv(int*,int*,int*,int*)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getHsvF(double*,double*,double*,double*)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getRgb(int*,int*,int*,int*)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getRgbF(double*,double*,double*,double*)const">
-        <remove/>
-    </modify-function>
-
-      <modify-function signature="dark(int)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="light(int)const" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QColor___" quote-before-line="}// class"/>
-        </inject-code>
-    </value-type>
-
-  <value-type name="QFontMetricsF" delete-in-main-thread="yes"> <!-- expense-cost="1" expense-limit="1000"> -->
-<!--    <custom-constructor>
-        return new QFontMetricsF(*copy);
-    </custom-constructor>
-    <custom-destructor>
-        delete copy;
-    </custom-destructor>
-    -->
-    <modify-function signature="operator!=(const QFontMetricsF &amp;)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="operator==(const QFontMetricsF &amp;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="boundingRect(QRectF,int,QString,int,int*)const">
-        <access modifier="private"/>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="operator=(QFontMetrics)" remove="all"/>
-    <modify-function signature="operator=(QFontMetricsF)" remove="all"/>
-
-    <modify-function signature="size(int,QString,int,int*)const">
-        <access modifier="private"/>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-   
-        <template name="gui.fontmetricsf_boundingrect">
-            <insert-template name="gui.fontmetrics_tabarray_function">
-                <replace from="%RETURN_TYPE" to="qt.core.QRectF"/>
-                <replace from="%FUNCTION_NAME" to="boundingRect"/>
-                <replace from="%RECT_ARGUMENTS" to="%RECT_ARGUMENTS, "/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="%RECT_CALL_ARGUMENTS, "/>
-            </insert-template>
-        </template>
-
-        <inject-code>
-            <insert-template name="gui.fontmetricsf_boundingrect">
-                <replace from="%RECT_ARGUMENTS" to="qt.core.QRectF rect"/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="rect"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.fontmetrics_tabarray_function">
-                <replace from="%RETURN_TYPE" to="qt.core.QSizeF"/>
-                <replace from="%FUNCTION_NAME" to="size"/>
-                <replace from="%RECT_ARGUMENTS" to=""/>
-                <replace from="%RECT_CALL_ARGUMENTS" to=""/>
-            </insert-template>
-        </inject-code>
-    </value-type>
-   <value-type name="QTextOption::Tab"/>
-
-  <value-type name="QFontMetrics" delete-in-main-thread="yes"> <!-- <expense-cost="1" expense-limit="1000">
-    <custom-constructor>
-        return new QFontMetrics(*copy);
-    </custom-constructor>
-    <custom-destructor>
-        delete copy;
-    </custom-destructor>-->
-    <modify-function signature="operator!=(const QFontMetrics &amp;)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="operator==(const QFontMetrics &amp;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const">
-        <access modifier="private"/>
-        <modify-argument index="7">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="8">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="boundingRect(QRect,int,QString,int,int*)const">
-        <access modifier="private"/>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="operator=(QFontMetrics)" remove="all"/>
-
-    <modify-function signature="size(int,QString,int,int*)const">
-        <access modifier="private"/>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
- <!-- 
-        <template name="gui.fontmetrics_tabarray_function">
-        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text, int tabStops, int tabArray[]) {
-            QNativePointer np = tabArray == null ? null : new QNativePointer(QNativePointer.Type.Int, tabArray.length + 1);
-            if (np != null) {
-                for (int i=0; i&lt;tabArray.length; ++i) np.setIntAt(i, tabArray[i]);
-                np.setIntAt(tabArray.length, 0);
-            }
-            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, tabStops, np);
-        }
-
-        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text, int tabStops) {
-            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, tabStops, (int []) null);
-        }
-
-        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text) {
-            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, 0);
-        }
-        </template>
-
-        <template name="gui.fontmetrics_boundingrect">
-            <insert-template name="gui.fontmetrics_tabarray_function">
-                <replace from="%RETURN_TYPE" to="qt.core.QRect"/>
-                <replace from="%FUNCTION_NAME" to="boundingRect"/>
-                <replace from="%RECT_ARGUMENTS" to="%RECT_ARGUMENTS, "/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="%RECT_CALL_ARGUMENTS, "/>
-            </insert-template>
-        </template>
-
-        <inject-code>
-            <insert-template name="gui.fontmetrics_boundingrect">
-                <replace from="%RECT_ARGUMENTS" to="int x, int y, int width, int height"/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="x, y, width, height"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.fontmetrics_boundingrect">
-                <replace from="%RECT_ARGUMENTS" to="qt.core.QRect rect"/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="rect"/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.fontmetrics_tabarray_function">
-                <replace from="%RETURN_TYPE" to="qt.core.QSize"/>
-                <replace from="%FUNCTION_NAME" to="size"/>
-                <replace from="%RECT_ARGUMENTS" to=""/>
-                <replace from="%RECT_CALL_ARGUMENTS" to=""/>
-            </insert-template>
-        </inject-code>-->
-    </value-type>
-
-  <value-type name="QGradient" force-abstract="yes" polymorphic-base="yes" polymorphic-id-expression="%1-&gt;type() == QGradient::NoGradient">
-    <custom-constructor>
-    Q_UNUSED(copy)
-    qWarning("Copying empty QGradient object");
-    return new QGradient();
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-    <modify-function signature="operator==(const QGradient &amp;)">
-        <remove/>
-    </modify-function>
-  </value-type>
-
-  <value-type name="QLinearGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::LinearGradient">
-    <custom-constructor>
-    QLinearGradient *lg = new QLinearGradient(copy-&gt;start(), copy-&gt;finalStop());
-    lg-&gt;setSpread(copy-&gt;spread());
-    lg-&gt;setStops(copy-&gt;stops());
-    return (void *) lg;
-    </custom-constructor>
-    <custom-destructor>
-    delete copy;
-    </custom-destructor>
-  </value-type>
-
-  <value-type name="QPrinterInfo">
-    <modify-function signature="operator=(const QPrinterInfo &amp;)" remove="all"/>
-  </value-type>
-
-  <interface-type name="QLayoutItem">
-    <modify-field name="align">
-      <rename to="align_"/>
-    </modify-field>
-  </interface-type>
-  <interface-type name="QPaintDevice">
-	
-	<modify-function signature="paintEngine () const">
-		<store-result/>
-	</modify-function>
-	
-  </interface-type>
-  
-  <interface-type name="QGraphicsItem" delete-in-main-thread="yes">
-	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-	
-    <modify-function signature="matrix()const" remove="all"/>
-    <modify-function signature="resetMatrix()" remove="all"/>
-    <modify-function signature="sceneMatrix()const" remove="all"/>
-    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
-
-    <modify-function signature="children()const" remove="all"/>
-  <!--
-    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
-
-    <modify-function signature="paint(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="collidesWithItem(const QGraphicsItem*,Qt::ItemSelectionMode)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="contextMenuEvent(QGraphicsSceneContextMenuEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragEnterEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragLeaveEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragMoveEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dropEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusInEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusOutEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="hoverEnterEvent(QGraphicsSceneHoverEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="hoverLeaveEvent(QGraphicsSceneHoverEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="hoverMoveEvent(QGraphicsSceneHoverEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="isObscuredBy(const QGraphicsItem*)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyPressEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseDoubleClickEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseMoveEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mousePressEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseReleaseEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="sceneEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="sceneEventFilter(QGraphicsItem*,QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-        <modify-argument index="2" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="wheelEvent(QGraphicsSceneWheelEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="children()const" remove="all"/>
-    <modify-function signature="installSceneEventFilter(QGraphicsItem *)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeSceneEventFilter(QGraphicsItem *)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  
-
-        <modify-function signature="QGraphicsItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-            if (%1 != null)
-                disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-
-        <modify-function signature="paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *)">
-            <modify-argument index="2">
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionGraphicsItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    const QStyleOptionGraphicsItem *%out = (QStyleOptionGraphicsItem *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem"/>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="setGroup(QGraphicsItemGroup*)">
-            <modify-argument index="1">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="beginning">
-                qt.gui.QGraphicsItemGroup oldGroup = group();
-            </inject-code>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-            if (%1 == null &amp;&amp; oldGroup != null &amp;&amp; oldGroup.parentItem() == null)
-                reenableGarbageCollection();
-            else
-                disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-
-        <modify-function signature="setParentItem(QGraphicsItem*)">
-            <modify-argument index="1">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-            if (%1 == null)
-                reenableGarbageCollection();
-            else
-                disableGarbageCollection();
-            </inject-code>
-        </modify-function> -->
-    </interface-type>
-
-  <object-type name="QAbstractGraphicsShapeItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-  <!--
-    <modify-function signature="QAbstractGraphicsShapeItem(QGraphicsItem*,QGraphicsScene*)">
-        <inject-code position="end">
-            <argument-map index="1" meta-name="%1"/>
-            if (%1 != null) disableGarbageCollection();
-        </inject-code>
-    </modify-function>
-   -->
-    <modify-function signature="matrix()const" remove="all"/>
-    <modify-function signature="resetMatrix()" remove="all"/>
-    <modify-function signature="sceneMatrix()const" remove="all"/>
-    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
-    <!--
-        <modify-function signature="QAbstractGraphicsShapeItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-            if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-
-  <object-type name="QAbstractItemView">
-<!--     <extra-includes>
-        <include file-name="tango.util.container.HashMap" location="java"/>
-    </extra-includes>-->
-      <modify-function signature="update()" remove="all"/>
-      <modify-function signature="horizontalStepsPerItem()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setHorizontalStepsPerItem(int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setVerticalStepsPerItem(int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="verticalStepsPerItem()const" remove="all"/> <!--### Obsolete in 4.3-->
-
-      <modify-function signature="edit(QModelIndex,QAbstractItemView::EditTrigger,QEvent*)">
-        <modify-argument index="3" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="selectionCommand(QModelIndex,const QEvent*)const">
-        <modify-argument index="2" invalidate-after-use="yes"/>
-      </modify-function>
-
-<!--      <modify-function signature="QAbstractItemView(QWidget*)">
-        <inject-code class="java" position="end">
-    __rcDelegatesForColumns = new HashMap!(int, QAbstractItemDelegate);
-    __rcDelegatesForRows = new HashMap!(int, QAbstractItemDelegate);
-        </inject-code>
-      </modify-function>
- --> 
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractItemView___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-        <modify-function signature="setIndexWidget(const QModelIndex &amp;,QWidget *)">
-            <modify-argument index="2">
-                <!-- Safe to ignore because view reparents widget -->
-                <reference-count action="ignore"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="setItemDelegate(QAbstractItemDelegate *)">
-            <modify-argument index="1">
-                <reference-count action="set" variable-name="__rcItemDelegate"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="setModel(QAbstractItemModel *)">
-            <modify-argument index="1">
-                <reference-count action="set" variable-name="__rcItemModel"/>
-            </modify-argument>
-            <inject-code class="java" position="end">
-                // setModel() creates a new selection model for the object
-                __rcItemSelectionModel = null;
-            </inject-code>
-        </modify-function>
-        <modify-function signature="setSelectionModel(QItemSelectionModel *)">
-            <modify-argument index="1">
-                <no-null-pointer/>
-                <reference-count action="set" variable-name="__rcItemSelectionModel"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="setItemDelegateForColumn(int,QAbstractItemDelegate*)">
-            <modify-argument index="2">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 is null)
-                    __rcDelegatesForColumns.remove(%1);
-                else
-                    __rcDelegatesForColumns[%1] = %2;
-            </inject-code>
-        </modify-function>
-        <modify-function signature="setItemDelegateForRow(int,QAbstractItemDelegate*)">
-            <modify-argument index="2">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 is null)
-                    __rcDelegatesForRows.remove(%1);
-                else
-                    __rcDelegatesForRows[%1] = %2;
-            </inject-code>
-        </modify-function>
-    </object-type>
-
-  <object-type name="QAbstractPageSetupDialog"/>
-  <object-type name="QAbstractPrintDialog"/>
-  <object-type name="QAbstractSlider"/>
-  <object-type name="QAbstractTextDocumentLayout">
-    <modify-function signature="setPaintDevice(QPaintDevice*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcPaintDevice"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="draw(QPainter*,QAbstractTextDocumentLayout::PaintContext)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawInlineObject(QPainter*,QRectF,QTextInlineObject,int,QTextFormat)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QAccessible">
-    <modify-function signature="initialize()" remove="all"/>
-    <modify-function signature="cleanup()" remove="all"/>
-    <modify-function signature="setRootObject(QObject *)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="queryAccessibleInterface(QObject *)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="java"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QAccessibleBridge">
-    <modify-function signature="setRootObject(QAccessibleInterface *)">
-        <modify-argument index="1">
-            <define-ownership class="shell" owner="java"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="notifyAccessibilityUpdate(int,QAccessibleInterface*,int)">
-        <modify-argument invalidate-after-use="yes" index="2"/>
-    </modify-function>
-  </object-type>
-  <object-type name="QAccessible2Interface"/>
-<!--  <object-type name="QAccessibleTableInterface">
-    <modify-function signature="qAccessibleTableCastHelper()" remove="all"/>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAccessibleTableInterface___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-        <modify-function signature="cellAtIndex(int,int*,int*,int*,int*,bool*)">
-        <modify-argument index="2">
-            <remove-argument/>
-            <conversion-rule class="native">
-                int rowHolder;
-                int *%out = &amp;rowHolder;
-            </conversion-rule>
-            <conversion-rule class="shell">
-                // nothing
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-argument/>
-            <conversion-rule class="native">
-                int columnHolder;
-                int *%out = &amp;columnHolder;
-            </conversion-rule>
-            <conversion-rule class="shell">
-                // nothing
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-argument/>
-            <conversion-rule class="native">
-                int rowSpanHolder;
-                int *%out = &amp;rowSpanHolder;
-            </conversion-rule>
-            <conversion-rule class="shell">
-                // nothing
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-argument/>
-            <conversion-rule class="native">
-                int columnSpanHolder;
-                int *%out = &amp;columnSpanHolder;
-            </conversion-rule>
-            <conversion-rule class="shell">
-                // nothing
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="6">
-            <remove-argument/>
-            <conversion-rule class="native">
-                bool isSelectedHolder = false;
-                bool *%out = &amp;isSelectedHolder;
-            </conversion-rule>
-            <conversion-rule class="shell">
-                // no conversion
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="return">
-            <replace-type modified-type="qt.gui.QAccessibleTableInterface$CellAtIndex"/>
-            <conversion-rule class="native">
-                jobject %out = qtjambi_to_cellatindex(__jni_env, rowHolder, columnHolder, rowSpanHolder, columnSpanHolder, isSelectedHolder);
-            </conversion-rule>
-            <conversion-rule class="shell">
-                qtjambi_from_cellatindex(__jni_env, %in, %2, %3, %4, %5, %6);
-            </conversion-rule>
-        </modify-argument>
-        </modify-function>
-
-        <modify-function signature="selectedColumns(int,QList&lt;int&gt;*)">
-        <modify-argument index="2">
-            <replace-type modified-type="java.util.List&lt;Integer&gt;"/>
-            <conversion-rule class="shell">
-                StaticCache *sc = StaticCache::instance();
-                sc-&gt;resolveArrayList();
-                sc-&gt;resolveCollection();
-                sc-&gt;resolveInteger();
-
-                jobject columnsHolder = 0;
-                if (%in != 0) {
-                    columnsHolder = __jni_env-&gt;NewObject(sc-&gt;ArrayList.class_ref, sc-&gt;ArrayList.constructor, %in-&gt;size());
-                    qtjambi_exception_check(__jni_env);
-                    if (columnsHolder != 0) for (int i=0; i&lt;%in-&gt;size(); i++) {
-                        __jni_env-&gt;CallVoidMethod(columnsHolder, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, %in-&gt;at(i)));
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-                jobject %out = columnsHolder;
-            </conversion-rule>
-            <conversion-rule class="native">
-                StaticCache *sc = StaticCache::instance();
-                sc-&gt;resolveCollection();
-
-                QList&lt;int&gt; columnHolder;
-                if (%in != 0) {
-                    jobjectArray columnsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(%in, sc-&gt;Collection.toArray);
-                    if (columnsAsArray != 0) {
-                        int len = __jni_env-&gt;GetArrayLength(columnsAsArray);
-                        for (int i=0; i&lt;len; ++i) {
-                            columnHolder.append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(columnsAsArray, i)));
-                        }
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-                QList&lt;int&gt; *%out = &amp;columnHolder;
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="return">
-            <conversion-rule class="shell">
-                // Copy back
-                if (columnsHolder != 0) {
-                    jobjectArray columnsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(columnsHolder, sc-&gt;Collection.toArray);
-                    if (columnsAsArray != 0) {
-                        int len = __jni_env-&gt;GetArrayLength(columnsAsArray);
-                        %2-&gt;clear();
-                        for (int i=0; i&lt;len; ++i) {
-                            %2-&gt;append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(columnsAsArray, i)));
-                        }
-                    }
-                }
-
-                int %out = %in;
-            </conversion-rule>
-            <conversion-rule class="native">
-                // Copy back
-                if (%2 != 0) {
-                    __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.clear);
-                    for (int i=0; i&lt;columnHolder.size(); ++i) {
-                        __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, columnHolder.at(i)));
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-
-                jint %out = %in;
-            </conversion-rule>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="selectedRows(int,QList&lt;int&gt;*)">
-        <modify-argument index="2">
-            <replace-type modified-type="java.util.List&lt;Integer&gt;"/>
-            <conversion-rule class="shell">
-                StaticCache *sc = StaticCache::instance();
-                sc-&gt;resolveArrayList();
-                sc-&gt;resolveCollection();
-                sc-&gt;resolveInteger();
-
-                jobject rowsHolder = 0;
-                if (%in != 0) {
-                    rowsHolder = __jni_env-&gt;NewObject(sc-&gt;ArrayList.class_ref, sc-&gt;ArrayList.constructor, %in-&gt;size());
-                    qtjambi_exception_check(__jni_env);
-                    if (rowsHolder != 0) for (int i=0; i&lt;%in-&gt;size(); i++) {
-                        __jni_env-&gt;CallVoidMethod(rowsHolder, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, %in-&gt;at(i)));
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-                jobject %out = rowsHolder;
-            </conversion-rule>
-            <conversion-rule class="native">
-                StaticCache *sc = StaticCache::instance();
-                sc-&gt;resolveCollection();
-
-                QList&lt;int&gt; rowsHolder;
-                if (%in != 0) {
-                    jobjectArray rowsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(%in, sc-&gt;Collection.toArray);
-                    if (rowsAsArray != 0) {
-                        int len = __jni_env-&gt;GetArrayLength(rowsAsArray);
-                        for (int i=0; i&lt;len; ++i) {
-                            rowsHolder.append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(rowsAsArray, i)));
-                        }
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-                QList&lt;int&gt; *%out = &amp;rowsHolder;
-            </conversion-rule>
-        </modify-argument>
-        <modify-argument index="return">
-            <conversion-rule class="shell">
-                // Copy back
-                if (rowsHolder != 0) {
-                    jobjectArray rowsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(rowsHolder, sc-&gt;Collection.toArray);
-                    if (rowsAsArray != 0) {
-                        int len = __jni_env-&gt;GetArrayLength(rowsAsArray);
-                        %2-&gt;clear();
-                        for (int i=0; i&lt;len; ++i) {
-                            %2-&gt;append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(rowsAsArray, i)));
-                        }
-                    }
-                }
-
-                int %out = %in;
-            </conversion-rule>
-            <conversion-rule class="native">
-                // Copy back
-                if (%2 != 0) {
-                    __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.clear);
-                    for (int i=0; i&lt;rowsHolder.size(); ++i) {
-                        __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, rowsHolder.at(i)));
-                    }
-                    qtjambi_exception_check(__jni_env);
-                }
-
-                jint %out = %in;
-            </conversion-rule>
-        </modify-argument>
-        </modify-function>
-
-    </object-type>         -->
-
-  <object-type name="QAccessibleInterface">
-    <modify-function signature="indexOfChild(const QAccessibleInterface*)const">
-        <modify-argument invalidate-after-use="yes" index="1"/>
-    </modify-function>
-    <modify-function signature="relationTo(int,const QAccessibleInterface*,int)const">
-        <modify-argument invalidate-after-use="yes" index="2"/>
-    </modify-function>
-    
-<!--    <modify-function signature="navigate(QAccessible::RelationFlag,int,QAccessibleInterface**)const" remove="all"/> --><!-- TODO -->
-
-<!--  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAccessibleInterface___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-        <template name="gui.accessible_interface_to_target">
-        jclass __target_class = resolveClass(__jni_env, "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
-        QTJAMBI_EXCEPTION_CHECK(__jni_env);
-        Q_ASSERT(__target_class);
-
-        jmethodID __target_constructor = resolveMethod(__jni_env, "&lt;init&gt;", "(ILcom/trolltech/qt/gui/QAccessibleInterface;)V", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
-        QTJAMBI_EXCEPTION_CHECK(__jni_env);
-        Q_ASSERT(__target_constructor);
-
-        jobject __java_interface = %TARGET != 0 ? qtjambi_from_object(__jni_env, %TARGET, "QAccessibleInterface$ConcreteWrapper", "com/trolltech/qt/gui/", true) : 0;
-
-        jobject %OUTPUT = __jni_env-&gt;NewObject(__target_class, __target_constructor, %CHILD_INDEX, __java_interface);
-        </template>
-
-        <modify-function signature="navigate(QAccessible::RelationFlag,int,QAccessibleInterface**)const">
-            <modify-argument index="3">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                    // nothing
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QAccessibleInterface *__qt_interface = 0;
-                    QAccessibleInterface **%out = &amp;__qt_interface;
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="0">
-                <replace-type modified-type="qt.gui.QAccessibleInterface$Target"/>
-                <conversion-rule class="native">
-                    <insert-template name="gui.accessible_interface_to_target">
-                        <replace from="%TARGET" to="__qt_interface"/>
-                        <replace from="%CHILD_INDEX" to="%in"/>
-                        <replace from="%OUTPUT" to="%out"/>
-                    </insert-template>
-                </conversion-rule>
-                <conversion-rule class="shell">
-                    jfieldID __childIndex_id = resolveField(__jni_env, "childIndex", "I", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
-                    Q_ASSERT(__childIndex_id);
-
-                    jfieldID __target_id = resolveField(__jni_env, "target", "Lcom/trolltech/qt/gui/QAccessibleInterface;", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
-                    Q_ASSERT(__target_id);
-
-                    jint %out = __jni_env-&gt;GetIntField(%in, __childIndex_id);
-
-                    jobject __java_interface = __jni_env-&gt;GetObjectField(%in, __target_id);
-                    QtJambiLink *__qt_link = __java_interface != 0 ? QtJambiLink::findLink(__jni_env, __java_interface) : 0;
-                    if (__qt_link != 0) __qt_link-&gt;disableGarbageCollection(__jni_env, __java_interface);
-                    QAccessibleInterface *__qt_interface = __qt_link != 0 ? (QAccessibleInterface *) __qt_link-&gt;pointer() : 0;
-
-                    if (%3 != 0) *%3 = __qt_interface;
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-        -->
-    </object-type>
-  <object-type name="QAccessibleInterfaceEx"/>
-  <object-type name="QAccessibleObject"/>
-  <object-type name="QAccessibleObjectEx"/>
-  <object-type name="QAccessibleWidget"/>
-  <object-type name="QAccessibleWidgetEx"/>
-  <object-type name="QActionGroup">
-        <modify-function signature="addAction(QAction*)">
-            <modify-argument index="1">
-                <reference-count action="add" variable-name="__rcActions"/>
-            </modify-argument>
-<!--            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                qt.GeneratorUtilities.setField(%1, QAction.class, "__rcActionGroup", this);
-            </inject-code> -->
-        </modify-function>
-        <modify-function signature="removeAction(QAction*)">
-            <modify-argument index="1">
-                <reference-count action="remove" variable-name="__rcActions"/>
-            </modify-argument>
-<!--            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                qt.GeneratorUtilities.setField(%1, QAction.class, "__rcActionGroup", null);
-            </inject-code> -->
-        </modify-function>
-    </object-type>
-  <object-type name="QCDEStyle">
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QCheckBox">
-<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionButton"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-  <object-type name="QCleanlooksStyle">
-    <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QCommonStyle">
-      <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*,const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QDataWidgetMapper">
-    <modify-function signature="addMapping(QWidget*,int)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcMappings"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addMapping(QWidget*,int,QByteArray)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcMappings"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeMapping(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="remove" variable-name="__rcMappings"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemDelegate(QAbstractItemDelegate*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcItemDelegate"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcModel"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QDateEdit"/>
-  <object-type name="QDesktopServices">
-    <modify-function signature="setUrlHandler(const QString &amp;, QObject *, const char *)" access="private">
-        <modify-argument index="2">
-            <reference-count action="ignore"/> <!-- Handled in injected code -->
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QDesktopServices___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-  <object-type name="QDialog">
-<!--     <modify-function signature="setVisible(bool)" remove="all"/> // properties_d -->
-
-    <modify-function signature="setExtension(QWidget*)" remove="all"/>
-    <modify-function signature="exec()" access="non-final"/>
-    <modify-function signature="open()" virtual-slot="yes" />
-    <modify-function signature="extension()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="orientation()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="setOrientation(Qt::Orientation)" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="showExtension(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-  <object-type name="QDialogButtonBox">
-    <modify-function signature="addButton(QAbstractButton*,QDialogButtonBox::ButtonRole)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeButton(QAbstractButton*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QDirModel">
-    <modify-function signature="parent()const" remove="java"/>
-    <modify-function signature="setIconProvider(QFileIconProvider*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcIconProvider"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QDoubleValidator"/>
-  <object-type name="QFileIconProvider"/>
-  <object-type name="QWizard">
-    <!-- ### Requires correct class name in meta object -->
-    <modify-function signature="setDefaultProperty(const char *, const char *, const char *)" remove="all"/>
-    <modify-function signature="addPage(QWizardPage*)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setButton(QWizard::WizardButton,QAbstractButton*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setPage(int,QWizardPage*)">
-        <modify-argument index="2">
-            <no-null-pointer/>
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QWizardPage">
-    <!-- ### Reduced functionality due to meta object having missing information -->
-    <modify-function signature="registerField(const QString &amp;, QWidget *, const char *, const char *)">
-        <access modifier="private"/>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QWizardPage___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-  <object-type name="QFocusFrame">
-<!--    <modify-function signature="initStyleOption(QStyleOption*)const">
-        <access modifier="private"/>
-    </modify-function> -->
-    <modify-function signature="setWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcWidget"/>
-        </modify-argument>
-    </modify-function>
-<!--    <inject-code>
-        <insert-template name="gui.init_style_option">
-            <replace from="%TYPE" to="QStyleOption"/>
-        </insert-template>
-    </inject-code> -->
-  </object-type>
-  <object-type name="QFontComboBox"/>
-  <object-type name="QFontDialog">
-      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-
-<!--        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QFontDialog___" quote-before-line="}// class"/>
-        </inject-code>
-
-        <template name="gui.fontdialog_get_font_general">
-            public static Result getFont(%FONT_ARGUMENT %COMMA QWidget parent %STRING_ARGUMENT) {
-                QNativePointer np = new QNativePointer(QNativePointer.Type.Boolean);
-                QFont returned = getFont(np, %FONT_CALL_ARGUMENT %COMMA parent %STRING_CALL_ARGUMENT);
-                return new Result(returned, np.booleanValue());
-            }
-        </template>
-
-        <template name="gui.fontdialog_get_font_nocaption">
-            <insert-template name="gui.fontdialog_get_font_general">
-                <replace from="%STRING_ARGUMENT" to=""/>
-                <replace from="%STRING_CALL_ARGUMENT" to=""/>
-            </insert-template>
-
-            public static Result getFont(%FONT_ARGUMENT) {
-                return getFont(%FONT_CALL_ARGUMENT %COMMA (QWidget) null);
-            }
-        </template>
-
-        <modify-function signature="getFont(bool*,QFont,QWidget*,QString)">
-            <access modifier="private"/>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.fontdialog_get_font_general">
-                <replace from="%FONT_ARGUMENT %COMMA" to="QFont initial,"/>
-                <replace from="%STRING_ARGUMENT" to=", String caption"/>
-                <replace from="%FONT_CALL_ARGUMENT %COMMA" to="initial,"/>
-                <replace from="%STRING_CALL_ARGUMENT" to=", caption"/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="getFont(bool*,QWidget*)">
-            <access modifier="private"/>
-            <modify-argument index="2">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.fontdialog_get_font_nocaption">
-                <replace from="%FONT_ARGUMENT" to=""/>
-                <replace from="%COMMA" to=""/>
-                <replace from="%FONT_CALL_ARGUMENT" to=""/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="getFont(bool*,QFont,QWidget*)">
-            <access modifier="private"/>
-            <modify-argument index="3">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-        <inject-code>
-            <insert-template name="gui.fontdialog_get_font_nocaption">
-                <replace from="%FONT_ARGUMENT" to="QFont initial"/>
-                <replace from="%COMMA" to=", "/>
-                <replace from="%FONT_CALL_ARGUMENT" to="initial"/>
-            </insert-template>
-        </inject-code>
-        -->
-    </object-type>
-  <object-type name="QGraphicsEllipseItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-  <!--
-        <modify-function signature="QGraphicsEllipseItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsEllipseItem(const QRectF &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsEllipseItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="5" meta-name="%5"/>
-                if (%5 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>-->
-    </object-type>
-  <object-type name="QGraphicsItemAnimation">
-    <modify-function signature="setItem(QGraphicsItem*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcItem"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setTimeLine(QTimeLine*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcTimeLine"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QGraphicsItemGroup" delete-in-main-thread="yes">
-      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
-  <!--
-        <modify-function signature="QGraphicsItemGroup(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="addToGroup(QGraphicsItem*)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="removeFromGroup(QGraphicsItem*)">
-            <modify-argument index="1">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (parentItem() == null)
-                %1.reenableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-  <object-type name="QGraphicsLineItem" delete-in-main-thread="yes">
-      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
-      	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-    <!--
-        <modify-function signature="QGraphicsLineItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsLineItem(const QLineF &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsLineItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="5" meta-name="%5"/>
-                if (%5 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-  <object-type name="QGraphicsPathItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-  <!--
-        <modify-function signature="QGraphicsPathItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsPathItem(const QPainterPath &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-
-  <object-type name="QGraphicsPixmapItem" delete-in-main-thread="yes">
-      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
-      	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-    <!--
-        <modify-function signature="QGraphicsPixmapItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsPixmapItem(const QPixmap &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-  <object-type name="QGraphicsPolygonItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-    <!--
-        <modify-function signature="QGraphicsPolygonItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsPolygonItem(const QPolygonF &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-  <object-type name="QGraphicsRectItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-  <!--
-        <modify-function signature="QGraphicsRectItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsRectItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="5" meta-name="%5"/>
-                if (%5 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsRectItem(const QRectF &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function> -->
-    </object-type>
-  <object-type name="QGraphicsSimpleTextItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-    <!--
-        <modify-function signature="QGraphicsSimpleTextItem(QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                if (%1 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-        <modify-function signature="QGraphicsSimpleTextItem(const QString &amp;,QGraphicsItem*,QGraphicsScene*)">
-            <inject-code position="end">
-                <argument-map index="2" meta-name="%2"/>
-                if (%2 != null) disableGarbageCollection();
-            </inject-code>
-        </modify-function>
-    -->
-    </object-type>
-  <object-type name="QHBoxLayout"/>
-  <object-type name="QHeaderView">
-<!--    <modify-function signature="initStyleOption(QStyleOptionHeader*)const">
-        <access modifier="private"/>
-    </modify-function>
--->
-    <modify-function signature="paintSection(QPainter*,QRect,int)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-<!--
-    <inject-code>
-        <insert-template name="gui.init_style_option">
-            <replace from="%TYPE" to="QStyleOptionHeader"/>
-        </insert-template>
-    </inject-code>-->
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QIconEngine">
-    <modify-function signature="paint(QPainter*,QRect,QIcon::Mode,QIcon::State)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-  </object-type>
-  <object-type name="QIconEngineV2">
-        <extra-includes>
-            <include file-name="qt.core.QSize" location="java"/>
-        </extra-includes>
-    <modify-function signature="read(QDataStream&amp;)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="write(QDataStream&amp;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="virtual_hook(int,void*)" remove="all"/>
-
-    <modify-function signature="clone()const">
-        <remove class="java"/>
-<!--        <modify-argument index="return">
-            <define-ownership class="shell" owner="c++"/>
-        </modify-argument>-->
-    </modify-function>
-	
-    <inject-code>
-        <import-file name="typesystem_gui-java.java" quote-after-line="class QIconEngineV2___" quote-before-line="}// class"/>
-    </inject-code>
-  </object-type>
-  <object-type name="QImageWriter">
-  <modify-function signature="setDevice(QIODevice*)">
-    <modify-argument index="1">
-        <reference-count action="set" variable-name="__rcDevice"/>
-    </modify-argument>
-  </modify-function>
-      <modify-function signature="description()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setDescription(QString)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-  <object-type name="QInputContextFactory"/>
-  <object-type name="QIntValidator"/>
-  <object-type name="QItemDelegate">
-    <modify-function signature="doLayout(QStyleOptionViewItem,QRect*,QRect*,QRect*,bool)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="drawCheck(QPainter*,QStyleOptionViewItem,QRect,Qt::CheckState)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawDecoration(QPainter*,QStyleOptionViewItem,QRect,QPixmap)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawDisplay(QPainter*,QStyleOptionViewItem,QRect,QString)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawFocus(QPainter*,QStyleOptionViewItem,QRect)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-
-    <modify-function signature="selected(QPixmap,QPalette,bool)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setItemEditorFactory(QItemEditorFactory*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcItemEditorFactory"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QItemEditorCreatorBase"/>
-  <object-type name="QItemEditorFactory">
-    <modify-function signature="registerEditor(QVariant::Type, QItemEditorCreatorBase *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setDefaultFactory(QItemEditorFactory *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDefaultItemEditorFactory"/>
-        </modify-argument>
-    </modify-function>
-  
-        <modify-function signature="setDefaultFactory(QItemEditorFactory*)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-    </object-type>
-  <object-type name="QItemSelectionModel"/>
-  <object-type name="QTreeModel"/>
-  <object-type name="QListView"/>
-  <object-type name="QColumnView">
-    <modify-function signature="setPreviewWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QMainWindow">
-    <modify-function signature="addDockWidget(Qt::DockWidgetArea,QDockWidget*,Qt::Orientation)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addDockWidget(Qt::DockWidgetArea,QDockWidget*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addToolBar(QToolBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addToolBar(Qt::ToolBarArea,QToolBar*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertToolBar(QToolBar*,QToolBar*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertToolBarBreak(QToolBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeDockWidget(QDockWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeToolBar(QToolBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeToolBarBreak(QToolBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCentralWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setMenuBar(QMenuBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setMenuWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStatusBar(QStatusBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QMdiArea">
-    <modify-function signature="addSubWindow(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="removeSubWindow(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setActiveSubWindow(QMdiSubWindow*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setupViewport(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QMdiSubWindow">
-    <modify-function signature="setSystemMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QMenu">
-    <modify-function signature="addAction(QAction *)" remove="all"/>
-    <modify-function signature="addMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcMenus"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertMenu(QAction*,QMenu*)">
-        <modify-argument index="2">
-            <reference-count action="add" variable-name="__rcMenus"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertSeparator(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setActiveAction(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setDefaultAction(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setNoReplayFor(QWidget*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="initStyleOption(QStyleOptionMenuItem*,const QAction*)const">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="addAction(QString,const QObject*,const char*,QKeySequence)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="addAction(QIcon,QString,const QObject*,const char*,QKeySequence)">
-        <remove/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QMenu___" quote-before-line="}// class"/>
-        </inject-code>
-
-<!--
-        <template name="gui.addAction">
-        public final QAction addAction(%EXTRA String text, Object receiver, String method %END_EXTRA) {
-            QAction returned = addAction(%CALL_EXTRA text %END_CALL_EXTRA);
-            %POST_CALL
-            returned.triggered.connect(receiver, method);
-
-            return returned;
-        }
-
-        public final QAction addAction(%EXTRA String text, qt.QSignalEmitter.AbstractSignal signal %END_EXTRA) {
-            QAction returned = addAction(%CALL_EXTRA text %END_CALL_EXTRA);
-            %POST_CALL
-            returned.triggered.connect(signal);
-            return returned;
-        }
-        </template>
-
-        <template name="gui.addAction_with_shortcut">
-            <insert-template name="gui.addAction">
-                <replace from="%POST_CALL" to="returned.setShortcut(shortcut);"/>
-                <replace from=" %END_EXTRA" to=", QKeySequence shortcut"/>
-                <replace from=" %END_CALL_EXTRA" to=""/>
-            </insert-template>
-
-        public final QAction addAction(%EXTRA String text, Object receiver, String method) {
-            return addAction(%CALL_EXTRA text, receiver, method, new QKeySequence(0));
-        }
-
-        public final QAction addAction(%EXTRA String text, qt.QSignalEmitter.AbstractSignal signal) {
-            return addAction(%CALL_EXTRA text, signal, new QKeySequence(0));
-        }
-        </template>
-
-        <inject-code>
-            <insert-template name="gui.addAction_with_shortcut">
-                <replace from="%EXTRA " to=""/>
-                <replace from="%CALL_EXTRA " to=""/>
-            </insert-template>
-        </inject-code>
-
-        <inject-code>
-            <insert-template name="gui.addAction_with_shortcut">
-                <replace from="%EXTRA" to="QIcon icon,"/>
-                <replace from="%CALL_EXTRA" to="icon,"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QMenuBar">
-    <modify-function signature="addAction(QAction *)" remove="all"/>
-    <modify-function signature="addAction(QString,const QObject*,const char*)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="addMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcMenus"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertMenu(QAction*,QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="add" variable-name="__rcMenus"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertSeparator(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setActiveAction(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCornerWidget(QWidget*,Qt::Corner)    ">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QMenuBar___" quote-before-line="}// class"/>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.addAction">
-                <replace from="%POST_CALL" to=""/>
-                <replace from=" %END_EXTRA" to=""/>
-                <replace from=" %END_CALL_EXTRA" to=""/>
-                <replace from="%EXTRA " to=""/>
-                <replace from="%CALL_EXTRA " to=""/>
-            </insert-template>
-        </inject-code>
-
-
-    </object-type>
-  <object-type name="QMotifStyle">
-    <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QPainterPathStroker"/>
-
-  <object-type name="QPictureIO">
-      <modify-function signature="QPictureIO(QIODevice*,const char*)">
-        <access modifier="private"/>
-         <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDevice"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setIODevice(QIODevice*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDevice"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="QPictureIO(QString,const char*)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="format()const">
-        <access modifier="private"/>
-        <rename to="format_private"/>
-    </modify-function>
-
-    <modify-function signature="parameters()const">
-        <access modifier="private"/>
-        <rename to="parameters_private"/>
-    </modify-function>
-
-    <modify-function signature="setFormat(const char*)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="setParameters(const char*)">
-        <access modifier="private"/>
-    </modify-function>
-
-  
-        <inject-code>
-
-        public this(QIODevice ioDevice, string format) {
-            this(ioDevice, toStringz(format));
-        }
-        
-        public this(string fileName, string format) {
-            this(fileName, toStringz(format));
-        }
-
-            <insert-template name="core.return_string_instead_of_char*">
-                <replace from="%FUNCTION_NAME" to="format"/>
-            </insert-template>
-            <insert-template name="core.return_string_instead_of_char*">
-                <replace from="%FUNCTION_NAME" to="parameters"/>
-            </insert-template>
-            <insert-template name="core.call_with_string_instead_of_char*">
-                <replace from="%FUNCTION_NAME" to="setFormat"/>
-                <replace from="%ARG_NAME" to="format"/>
-            </insert-template>
-            <insert-template name="core.call_with_string_instead_of_char*">
-                <replace from="%FUNCTION_NAME" to="setParameters"/>
-                <replace from="%ARG_NAME" to="parameters"/>
-            </insert-template>
-        </inject-code>
-    </object-type>
-
-  <object-type name="QPixmapCache">
-    <modify-function signature="find(QString)">
-        <remove/>
-    </modify-function>
-<!--
-    <modify-function signature="find(QString,QPixmap&amp;)">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPixmapCache___" quote-before-line="}// class"/>
-        </inject-code>
--->
-    </object-type>
-  <object-type name="QPlastiqueStyle">
-    <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-    <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType, QSizePolicy::ControlType, Qt::Orientation, const QStyleOption *, const QWidget *) const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QPrintDialog">
-      <modify-function signature="accepted(QPrinter *)">
-          <rename to="accepted_printer"/>
-      </modify-function>
-      <modify-function signature="accepted()" remove="all"/>
-      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-
-  </object-type>
-  <object-type name="QPrintEngine"/>
-  <object-type name="QProgressBar">
-<!--    <modify-function signature="initStyleOption(QStyleOptionProgressBar*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionProgressBar"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-  <object-type name="QPushButton">
-<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
-        <access modifier="private"/>
-    </modify-function>
--->
-<!--     <modify-function signature="setDefault(bool)" rename="default_"/> // properties_d -->
-
-
-    <modify-function signature="setMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcMenu"/>
-        </modify-argument>
-    </modify-function>
-  <!--
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionButton"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-  <object-type name="QRegExpValidator"/>
-  <object-type name="QScrollArea">
-    <modify-function signature="setWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QSessionManager"/>
-  <object-type name="QShortcut">
-    <modify-function signature="QShortcut(QKeySequence,QWidget*,const char*,const char*,Qt::ShortcutContext)">
-        <access modifier="private"/>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QShortcut___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-  <object-type name="QSizeGrip"/>
-  <object-type name="QSound"/>
-  <object-type name="QSpacerItem">
-  </object-type>
-  <object-type name="QStandardItem">
-    <modify-function signature="operator=(QStandardItem)" remove="all"/>
-    <modify-function signature="operator&lt;(QStandardItem)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="read(QDataStream&amp;)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="write(QDataStream&amp;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-  
-        <modify-function signature="appendColumn(const QList&lt;QStandardItem *&gt; &amp;)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="appendRow(const QList&lt;QStandardItem *&gt; &amp;)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="appendRow(QStandardItem *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="insertColumn(int, const QList&lt;QStandardItem *&gt; &amp;)">
-            <modify-argument index="2">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="insertRow(int, const QList&lt;QStandardItem *&gt; &amp;)">
-            <modify-argument index="2">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="insertRow(int, QStandardItem *)">
-            <modify-argument index="2">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="setChild(int,int,QStandardItem *)">
-            <modify-argument index="3">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="setChild(int,QStandardItem *)">
-            <modify-argument index="2">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="takeChild(int,int)">
-            <modify-argument index="return">
-                <define-ownership class="java" owner="default"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="takeColumn(int)">
-            <modify-argument index="return">
-                <define-ownership class="java" owner="default"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="takeRow(int)">
-            <modify-argument index="return">
-                <define-ownership class="java" owner="default"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="clone()const">
-            <modify-argument index="return">
-                <define-ownership class="shell" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-    </object-type>
-  <object-type name="QStatusBar">
-    <modify-function signature="addPermanentWidget(QWidget *, int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget *, int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeWidget(QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertPermanentWidget(int, QWidget *, int)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(int, QWidget *, int)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QStringListModel"/>
-  <object-type name="QStyleFactory"/>
-  <object-type name="QStyleHintReturn">
-        <modify-field name="version">
-          <rename to="version_"/>
-      </modify-field>
-  </object-type>
-  <object-type name="QStyleHintReturnVariant"/>
-  <object-type name="QStyleHintReturnMask"/>
-  <object-type name="QStylePainter" delete-in-main-thread="yes"/>
-  <object-type name="QSyntaxHighlighter">
-    <modify-function signature="setCurrentBlockUserData(QTextBlockUserData*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setDocument(QTextDocument*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDocument"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-  <object-type name="QSystemTrayIcon">
-    <modify-function signature="setContextMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcContextMenu"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QTableView">
-    <modify-function signature="setHorizontalHeader(QHeaderView*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setVerticalHeader(QHeaderView*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="sortByColumn(int)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-  <object-type name="QTextBlockGroup" delete-in-main-thread="yes"/>
-  <object-type name="QTextBlockUserData" delete-in-main-thread="yes"/>
-  <object-type name="QTextItem" delete-in-main-thread="yes"/>
-  <object-type name="QTextList" delete-in-main-thread="yes">
-    <modify-function signature="format()const" rename="textListFormat"/>
-
-      <modify-function signature="isEmpty()const" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-  <object-type name="QTextObject" delete-in-main-thread="yes"/>
-  <object-type name="QTextObjectInterface" delete-in-main-thread="yes">
-    <modify-function signature="drawObject(QPainter*,QRectF,QTextDocument*,int,QTextFormat)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-  </object-type>
-  <object-type name="QTimeEdit"/>
-  <object-type name="QToolBox">
-    <modify-function signature="addItem(QWidget*,QString)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addItem(QWidget*,QIcon,QString)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertItem(int,QWidget*,QIcon,QString)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertItem(int,QWidget*,QString)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentWidget(QWidget*)  ">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QToolButton">
-<!--    <modify-function signature="initStyleOption(QStyleOptionToolButton*)const">
-        <access modifier="private"/>
-    </modify-function>
--->
-    <modify-function signature="setDefaultAction(QAction *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDefaultAction"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setMenu(QMenu *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcMenu"/>
-        </modify-argument>
-    </modify-function>
-  <!--
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionToolButton"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-  <object-type name="QToolTip"/>
-  <object-type name="QTreeView">
-
-    <modify-function signature="drawBranches(QPainter*,QRect,QModelIndex)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawRow(QPainter*,QStyleOptionViewItem,QModelIndex)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="setHeader(QHeaderView*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-   </modify-function>
-   <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="sortByColumn(int)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-  <object-type name="QUndoCommand">
-    <modify-function signature="mergeWith(const QUndoCommand*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-  </object-type>
-  <object-type name="QUndoGroup">
-    <modify-function signature="addStack(QUndoStack*)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcStacks"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeStack(QUndoStack*)">
-        <modify-argument index="1">
-            <reference-count action="remove" variable-name="__rcStacks"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setActiveStack(QUndoStack*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QUndoStack">
-        <modify-function signature="push(QUndoCommand *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-    </object-type>
-
-  <object-type name="QUndoView">
-    <modify-function signature="setGroup(QUndoGroup *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcGroupOrStack"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStack(QUndoStack *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcGroupOrStack"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QUndoView(QUndoGroup *,QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcGroupOrStack"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QUndoView(QUndoStack *,QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcGroupOrStack"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QVBoxLayout"/>
-  <object-type name="QValidator">
-<!--        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QValidator___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-        <modify-function signature="fixup(QString&amp;)const">
-            <modify-argument index="1">
-                <replace-type modified-type="java.lang.String"/>
-                <conversion-rule class="shell">
-                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, %in);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QString %out = qtjambi_to_qstring(__jni_env, (jstring) %in);
-                    QString *__qt_converted = &amp;%out;
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="0">
-                <replace-type modified-type="java.lang.String"/>
-                <conversion-rule class="native">
-                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, *__qt_converted);
-                </conversion-rule>
-                <conversion-rule class="shell">
-                    %1 = qtjambi_to_qstring(__jni_env, (jstring) %in);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="validate(QString&amp;,int&amp;)const">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QValidator$QValidationData"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.convert_validationdata_to_java">
-                        <replace from="%STRING" to="%1"/>
-                        <replace from="%POS" to="%2"/>
-                    </insert-template>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_validationdata_to_string"/>
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                    // nothing needed
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_validationdata_to_pos">
-                        <replace from="%VALIDATIONDATA" to="%1"/>
-                    </insert-template>
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="return">
-                <conversion-rule class="native">
-                    <insert-template name="gui.cleanup_validationdata_from_java"/>
-                    jint %out = %in;
-                </conversion-rule>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.cleanup_validationdata_to_java">
-                        <replace from="%STRING" to="%1"/>
-                        <replace from="%POS" to="%2"/>
-                    </insert-template>
-                    QValidator::State %out = (QValidator::State) qtjambi_to_enumerator(__jni_env, %in);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
--->
-  </object-type>
-  <object-type name="QWhatsThis"/>
-  <object-type name="QWidgetAction">
-    <modify-function signature="createWidget(QWidget*)">
-        <modify-argument index="return">
-            <define-ownership class="shell" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-  
-        <modify-function signature="setDefaultWidget(QWidget*)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-    </object-type>
-  <object-type name="QWidgetItem"/>
-  <object-type name="QWindowsStyle">
-      <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-  </object-type>
-  <object-type name="QWorkspace">
-    <modify-function signature="addWindow(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setActiveWindow(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QActionEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ActionAdded || %1-&gt;type() == QEvent::ActionRemoved || %1-&gt;type() == QEvent::ActionChanged">
-        <extra-includes>
-            <include file-name="qt.core.QObject" location="java"/>
-        </extra-includes>
-  </object-type>
-  <object-type name="QClipboardEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Clipboard"/>
-  <object-type name="QCloseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Close"/>
-  <object-type name="QContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ContextMenu"/>
-  <object-type name="QDragEnterEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragEnter"/>
-  <object-type name="QDragLeaveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragLeave"/>
-  <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove">
-    <modify-function signature="accept()" remove="all"/>
-    <modify-function signature="ignore()" remove="all"/>
-  </object-type>
-  <object-type name="QDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Drop">
-    <modify-function signature="encodedData(const char*)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="format(int)const">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="provides(const char*)const">
-        <remove/>
-    </modify-function>
-    <modify-field name="fmts" read="false" write="false"/> <!-- obsolete in Qt4 -->
-
-  </object-type>
-  <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen"/>
-  <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut">
-        <modify-function signature="reason()const">
-            <remove/>
-        </modify-function>
-  </object-type>
-
-  <object-type name="QGraphicsSceneContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneContextMenu"/>
-  <object-type name="QGraphicsSceneDragDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneDragEnter || %1-&gt;type() == QEvent::GraphicsSceneDragLeave || %1-&gt;type() == QEvent::GraphicsSceneDragMove || %1-&gt;type() == QEvent::GraphicsSceneDrop">
-    <modify-function signature="setMimeData(const QMimeData *)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setSource(QWidget *)">
-        <remove/>
-    </modify-function>
-  </object-type>
-  <object-type name="QGraphicsSceneEvent">
-    <modify-function signature="setWidget(QWidget *)">
-        <remove/>
-    </modify-function>
-  </object-type>
-  <object-type name="QGraphicsSceneMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneMove"/>
-  <object-type name="QGraphicsSceneResizeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneResize"/>
-  <object-type name="QGraphicsSceneHelpEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneHelp"/>
-  <object-type name="QGraphicsSceneHoverEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneHoverEnter || %1-&gt;type() == QEvent::GraphicsSceneHoverLeave || %1-&gt;type() == QEvent::GraphicsSceneHoverMove"/>
-  <object-type name="QGraphicsSceneMouseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneMouseDoubleClick || %1-&gt;type() == QEvent::GraphicsSceneMouseMove || %1-&gt;type() == QEvent::GraphicsSceneMousePress || %1-&gt;type() == QEvent::GraphicsSceneMouseRelease"/>
-  <object-type name="QGraphicsSceneWheelEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneWheel"/>
-  <object-type name="QHelpEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ToolTip || %1-&gt;type() == QEvent::WhatsThis"/>
-  <object-type name="QHideEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Hide"/>
-  <object-type name="QHoverEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::HoverEnter || %1-&gt;type() == QEvent::HoverLeave || %1-&gt;type() == QEvent::HoverMove"/>
-  <object-type name="QIconDragEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::IconDrag"/>
-  <object-type name="QInputMethodEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::InputMethod"/>
-  <object-type name="QMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Move"/>
-  <object-type name="QResizeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Resize"/>
-  <object-type name="QShortcutEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Shortcut">
-        <!-- All these have const overloads that are used instead -->
-        <modify-function signature="isAmbiguous()">
-            <remove/>
-        </modify-function>
-        <modify-function signature="shortcutId()">
-            <remove/>
-        </modify-function>
-        <modify-function signature="key()">
-            <remove/>
-        </modify-function>
-  </object-type>
-  <object-type name="QShowEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Show"/>
-  <object-type name="QStatusTipEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::StatusTip"/>
-  <object-type name="QTabletEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::TabletMove || %1-&gt;type() == QEvent::TabletPress || %1-&gt;type() == QEvent::TabletRelease"/>
-  <object-type name="QToolBarChangeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ToolBarChange"/>
-  <object-type name="QWhatsThisClickedEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::WhatsThisClicked"/>
-  <object-type name="QWheelEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Wheel"/>
-  <object-type name="QWindowStateChangeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::WindowStateChange"/>
-  <object-type name="QDragResponseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragResponse"/>
-  <object-type name="QInputEvent">
-    <modify-function signature="modifiers()const" access="non-final"/>
-  </object-type>
-  <object-type name="QKeyEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::KeyPress || %1-&gt;type() == QEvent::KeyRelease">
-	<modify-function signature="createExtendedKeyEvent(QEvent::Type,int,QFlags&lt;Qt::KeyboardModifier&gt;,uint,uint,uint,const QString &amp;,bool,unsigned short)" remove="all"/>
-  </object-type>
-  <object-type name="QMouseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::MouseButtonDblClick || %1-&gt;type() == QEvent::MouseButtonPress || %1-&gt;type() == QEvent::MouseButtonRelease || %1-&gt;type() == QEvent::MouseMove">
-  	<modify-function signature="createExtendedMouseEvent(QEvent::Type, const QPointF &amp;, const QPoint &amp;, Qt::MouseButton, QFlags&lt;Qt::MouseButton&gt;, QFlags&lt;Qt::KeyboardModifier&gt;)" remove="all"/>
-  </object-type>
-  <object-type name="QPaintEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Paint"/>
-  <object-type name="QAccessibleEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::AccessibilityDescription || %1-&gt;type() == QEvent::AccessibilityHelp"/>
-
-  <object-type name="QAbstractButton">
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractButton___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-
-  <object-type name="QStyle">
-      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
-      <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType, QSizePolicy::ControlType, Qt::Orientation, const QStyleOption *, const QWidget *) const" virtual-slot="yes"/>
-
-      <modify-function signature="drawComplexControl(QStyle::ComplexControl,const QStyleOptionComplex*,QPainter*,const QWidget*)const">
-        <modify-argument index="3" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="drawControl(QStyle::ControlElement,const QStyleOption*,QPainter*,const QWidget*)const">
-        <modify-argument index="3" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="drawPrimitive(QStyle::PrimitiveElement,const QStyleOption*,QPainter*,const QWidget*)const">
-        <modify-argument index="3" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="styleHint(QStyle::StyleHint,const QStyleOption*,const QWidget*,QStyleHintReturn*)const">
-        <modify-argument index="4" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="drawItemPixmap(QPainter*,QRect,int,QPixmap)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-      </modify-function>
-      <modify-function signature="drawItemText(QPainter*,QRect,int,QPalette,bool,QString,QPalette::ColorRole)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-      </modify-function>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QStyle___" quote-before-line="}// class"/>
-        </inject-code>
-		<!--
-        <modify-function signature="drawControl(QStyle::ControlElement, const QStyleOption *, QPainter *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawComplexControl(QStyle::ComplexControl, const QStyleOptionComplex *, QPainter *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawPrimitive(QStyle::PrimitiveElement, const QStyleOption *, QPainter *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="hitTestComplexControl(QStyle::ComplexControl, const QStyleOptionComplex *, const QPoint &amp;, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="pixelMetric(QStyle::PixelMetric, const QStyleOption *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="sizeFromContents(QStyle::ContentsType, const QStyleOption *, const QSize &amp;, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="standardIcon(QStyle::StandardPixmap, const QStyleOption *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="styleHint(QStyle::StyleHint, const QStyleOption *, const QWidget *, QStyleHintReturn *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="subControlRect(QStyle::ComplexControl, const QStyleOptionComplex *, QStyle::SubControl, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QStyleOptionComplex *%out = (QStyleOptionComplex *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="subElementRect(QStyle::SubElement, const QStyleOption *, const QWidget *) const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="generatedIconPixmap(QIcon::Mode,QPixmap,const QStyleOption*)const">
-            <modify-argument index="3">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="polish(QPalette&amp;)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QPalette"/>
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, &amp;%in, "QPalette", "com/trolltech/qt/gui/", false);
-                    jobject __invalidate_me = %out;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QtJambiLink *link = QtJambiLink::findLink(__jni_env, %in);
-                    Q_ASSERT(link != 0);
-
-                    QPalette dummy;
-                    QPalette &amp;%out = link != 0 ? * (QPalette *) link-&gt;pointer() : dummy;
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="0">
-                <conversion-rule class="shell">
-                    if (__invalidate_me != 0)
-                    qtjambi_invalidate_object(__jni_env, __invalidate_me);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="standardIconImplementation(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const">
-            <modify-argument index="2">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
--->
-        <modify-function signature="combinedLayoutSpacing(QFlags&lt;QSizePolicy::ControlType&gt;,QFlags&lt;QSizePolicy::ControlType&gt;,Qt::Orientation,QStyleOption*,QWidget*)const">
-            <access modifier="private"/>
-            <modify-argument index="4">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="5">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-
-        <modify-function signature="layoutSpacing(QSizePolicy::ControlType,QSizePolicy::ControlType,Qt::Orientation,const QStyleOption*,const QWidget*)const">
-            <access modifier="private"/>
-            <modify-argument index="4">
-                <remove-default-expression/>
-            </modify-argument>
-            <modify-argument index="5">
-                <remove-default-expression/>
-            </modify-argument>
-        </modify-function>
-
-<!--
-        <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType,QSizePolicy::ControlType,Qt::Orientation,const QStyleOption*,const QWidget*)const">
-            <modify-argument index="4">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui::qstyleoption_from_object"/>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui::qstyleoption_to_object"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
--->
-
-
-        <inject-code class="shell-declaration"> <!-- Remove in Qt 5 -->
-            QPixmap standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*) const { return QPixmap(); }
-        </inject-code>
-
-        <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
-    </object-type>
-
-  <object-type name="QColorDialog">
-    <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-
-    <modify-function signature="getColor(const QColor &amp;, QWidget *)">
-      <modify-argument index="1">
-        <replace-default-expression with="QColor.White"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="getRgba(uint,bool*,QWidget*)">
-        <remove/>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QLayout">
-  
-    <modify-function signature="addItem(QLayoutItem*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="setSpacing(int)" rename="setWidgetSpacing"/>
-    <modify-function signature="spacing()const" rename="widgetSpacing"/>
-    <modify-function signature="addWidget(QWidget *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count variable-name="__rcWidgets" action="add"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addChildWidget(QWidget *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count variable-name="__rcWidgets" action="add"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeWidget(QWidget *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count variable-name="__rcWidgets" action="remove"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setAlignment(QWidget*,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setAlignment(QLayout*,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setMenuBar(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcMenuBar"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="getContentsMargins(int*,int*,int*,int*)const">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="margin()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <!-- <modify-function signature="setMargin(int)" remove="all"/> --> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QLayout___" quote-before-line="}// class"/>
-        </inject-code>
-        <modify-function signature="addItem(QLayoutItem *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="removeItem(QLayoutItem *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="default"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="addChildLayout(QLayout *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="addChildLayout(QLayout *)">
-            <modify-argument index="1">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="itemAt(int) const">
-<!--            <modify-argument index="return">
-                <define-ownership class="java" owner="c++"/>
-            </modify-argument>-->
-        </modify-function>
-
-
-    </object-type>
-
-  <object-type name="QStackedLayout">
-    <modify-function signature="addItem(QLayoutItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="itemAt(int) const">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget *)">
-        <rename to="addStackedWidget"/>
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count action="add" declare-variable="QLayout" variable-name="__rcWidgets"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(int,QWidget*)">
-        <modify-argument index="2">
-            <no-null-pointer/>
-            <reference-count action="add" declare-variable="QLayout" variable-name="__rcWidgets"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentWidget(QWidget*)">
-        <modify-argument index="1">
-            <!-- Safe to ignore because current widget must have been added to layout already -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QBoxLayout">
-    <modify-function signature="addWidget(QWidget *, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addItem(QLayoutItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertLayout(int, QLayout *, int)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertItem(int, QLayoutItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addSpacerItem(QSpacerItem*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertSpacerItem(int,QSpacerItem*)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="addLayout(QLayout *, int)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget*,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(int,QWidget*,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="2">
-            <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStretchFactor(QWidget*,int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStretchFactor(QLayout*,int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QGridLayout">
-    <modify-function signature="addWidget(QWidget *)" remove="all"/>
-    <modify-function signature="addItem(QLayoutItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addItem(QLayoutItem *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addLayout(QLayout *, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addLayout(QLayout *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-        <modify-function signature="addWidget(QWidget*,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-            <modify-argument index="1">
-                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="addWidget(QWidget*,int,int,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-            <modify-argument index="1">
-                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
-            </modify-argument>
-        </modify-function>
-        <modify-function signature="addWidget(QWidget*)">
-            <modify-argument index="1">
-                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
-            </modify-argument>
-        </modify-function>
-    <modify-function signature="getItemPosition(int,int*,int*,int*,int*)">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QGridLayout___" quote-before-line="}// class"/>
-        </inject-code>
-
-
-    </object-type>
-
-  <object-type name="QGraphicsView">
-    <extra-includes>
-      <include file-name="QPainterPath" location="global"/>
-      <include file-name="QVarLengthArray" location="global"/>
-    </extra-includes>
-    <modify-function signature="fitInView(const QGraphicsItem *, Qt::AspectRatioMode)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setupViewport(QWidget *)" access="non-final"/>
-    <modify-function signature="setScene(QGraphicsScene*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcScene"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setupViewport(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="drawBackground(QPainter*,QRectF)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawForeground(QPainter*,QRectF)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)" remove="all" />
-
-<!--
-    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)">
-        <modify-argument index="2">
-            <remove-argument/>
-            <conversion-rule class="shell">
-                // nothing
-            </conversion-rule>
-            <conversion-rule class="native">
-                <insert-template name="core.get_array_length">
-                    <replace from="%ARRAY" to="%3"/>
-                </insert-template>
-                int __length = %out;
-            </conversion-rule>
-        </modify-argument>
-
-        <modify-argument index="3">
-            <replace-type modified-type="qt.gui.QGraphicsItemInterface[]"/>
-            <conversion-rule class="shell">
-                <insert-template name="gui.convert_graphicsitem_array_to_java">
-                    <replace from="%LENGTH" to="%2"/>
-                </insert-template>
-                jobjectArray graphicsItemArrayHolder = %out;
-            </conversion-rule>
-            <conversion-rule class="native">
-                <insert-template name="gui.convert_graphicsitem_array_from_java"/>
-            </conversion-rule>
-        </modify-argument>
-
-        <modify-argument index="4">
-            <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem[]"/>
-            <conversion-rule class="shell">
-                <insert-template name="gui.convert_styleoptiongraphicsitem_array_to_java">
-                    <replace from="%LENGTH" to="%2"/>
-                </insert-template>
-                jobjectArray styleOptionArrayHolder = %out;
-            </conversion-rule>
-            <conversion-rule class="native">
-                <insert-template name="gui.convert_styleoptiongraphicsitem_array_from_java"/>
-            </conversion-rule>
-        </modify-argument>
-
-        <modify-argument index="return">
-            <conversion-rule class="shell">
-                qtjambi_invalidate_array(__jni_env, styleOptionArrayHolder);
-                qtjambi_invalidate_array(__jni_env, graphicsItemArrayHolder);
-            </conversion-rule>
-        </modify-argument>
-
-    </modify-function>
-    -->
-  </object-type>
-
-  <object-type name="QInputDialog">
-    <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-<!--
-    <modify-function signature="getDouble(QWidget *, const QString &amp;, const QString &amp;, double, double, double, int, bool *, QFlags&lt;Qt::WindowType&gt;)">
-        <rename to="getDouble_private"/>
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="getInteger(QWidget *, const QString &amp;, const QString &amp;, int, int, int, int, bool *, QFlags&lt;Qt::WindowType&gt;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="getInt(QWidget*,QString,QString,int,int,int,int,bool*,QFlags&lt;Qt::WindowType&gt;)">
-        <rename to="getInt_private" />
-        <access modifier="private" />
-    </modify-function>
-
-    <modify-function signature="getItem(QWidget *, const QString &amp;, const QString &amp;, const QStringList&lt;QString&gt; &amp;, int, bool, bool *, QFlags&lt;Qt::WindowType&gt;)">
-        <rename to="getItem_private"/>
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="getText(QWidget *, const QString &amp;, const QString &amp;, QLineEdit::EchoMode, const QString &amp;, bool *, QFlags&lt;Qt::WindowType&gt;)">
-        <rename to="getText_private"/>
-        <access modifier="private"/>
-    </modify-function>
-    <inject-code>
-        <import-file name="typesystem_gui-java.java" quote-after-line="class QInputDialog___" quote-before-line="}// class"/>
-    </inject-code>
--->
-    </object-type>
-
-
-  <object-type name="QGraphicsScene">
-    <extra-includes>
-        <include file-name="QVarLengthArray" location="global"/>
-    </extra-includes>
-    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)" remove="all"/> <!-- TODO: What is '_ConcreteWrapper'? -->
-    <!--
-    <modify-function signature="contextMenuEvent(QGraphicsSceneContextMenuEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragEnterEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragLeaveEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragMoveEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawBackground(QPainter*,QRectF)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawForeground(QPainter*,QRectF)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dropEvent(QGraphicsSceneDragDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusInEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusOutEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="helpEvent(QGraphicsSceneHelpEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyPressEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseDoubleClickEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseMoveEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mousePressEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseReleaseEvent(QGraphicsSceneMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="wheelEvent(QGraphicsSceneWheelEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="setActiveWindow(QGraphicsWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStyle(QStyle*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="addItem(QGraphicsItem *)">
-      <modify-argument index="1">
-        <define-ownership class="java" owner="c++"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="addEllipse(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)">
-      <modify-argument index="return">
-        <define-ownership class="java" owner="c++"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="addLine(const QLineF &amp;, const QPen &amp;)">
-      <modify-argument index="return">
-        <define-ownership class="java" owner="c++"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="addPath(const QPainterPath &amp;, const QPen &amp;, const QBrush &amp;)">
-      <modify-argument index="return">
-        <define-ownership class="java" owner="c++"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="addPixmap(const QPixmap &amp;)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addPolygon(const QPolygonF &amp;, const QPen &amp;, const QBrush &amp;)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addRect(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addText(const QString &amp;, const QFont &amp;)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeItem(QGraphicsItem*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setFocusItem(QGraphicsItem*,Qt::FocusReason)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcFocusItem"/>
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QGraphicsScene___" quote-before-line="}// class"/>
-        </inject-code>
-
-        <modify-function signature="addEllipse(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addEllipse(double, double, double, double, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addLine(const QLineF &amp;, const QPen &amp;)" remove="all"/>
-        <modify-function signature="addLine(double, double, double, double, const QPen &amp;)" remove="all"/>
-        <modify-function signature="addPath(const QPainterPath &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addPixmap(const QPixmap &amp;)" remove="all"/>
-        <modify-function signature="addPolygon(const QPolygonF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addRect(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addRect(double, double, double, double, const QPen &amp;, const QBrush &amp;)" remove="all"/>
-        <modify-function signature="addSimpleText(const QString &amp;, const QFont &amp;)" remove="all"/>
-        <modify-function signature="addText(const QString &amp;, const QFont &amp;)" remove="all"/>
-
-        <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)">
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                    // nothing
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="core.get_array_length">
-                        <replace from="%ARRAY" to="%3"/>
-                    </insert-template>
-                    int __length = %out;
-                </conversion-rule>
-
-            </modify-argument>
-
-            <modify-argument index="3">
-                <replace-type modified-type="qt.gui.QGraphicsItemInterface[]"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.convert_graphicsitem_array_to_java">
-                        <replace from="%LENGTH" to="%2"/>
-                    </insert-template>
-                    jobjectArray graphicsItemArrayHolder = %out;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_graphicsitem_array_from_java"/>
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="return">
-                <conversion-rule class="shell">
-                    qtjambi_invalidate_array(__jni_env, styleOptionArrayHolder);
-                    qtjambi_invalidate_array(__jni_env, graphicsItemArrayHolder);
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="4">
-                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem[]"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.convert_styleoptiongraphicsitem_array_to_java">
-                        <replace from="%LENGTH" to="%2"/>
-                    </insert-template>
-                    jobjectArray styleOptionArrayHolder = %out;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_styleoptiongraphicsitem_array_from_java"/>
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-	-->
-    </object-type>
-
-
-  <object-type name="QCalendarWidget">
-    <extra-includes>
-      <include file-name="QTextCharFormat" location="global"/>
-    </extra-includes>
-
-      <modify-function signature="isHeaderVisible()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setHeaderVisible(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-
-      <modify-function signature="paintCell(QPainter*,QRect,QDate)const">
-        <modify-argument invalidate-after-use="yes" index="1"/>
-      </modify-function>
-  </object-type>
-
-  <object-type name="QTreeWidget">
-    <modify-function signature="mimeData(const QList&lt;QTreeWidgetItem*&gt;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dropMimeData(QTreeWidgetItem*,int,const QMimeData*,Qt::DropAction)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="isSortingEnabled()const" remove="all"/>
-    <modify-function signature="setSortingEnabled(bool)" remove="all"/>
-    <modify-function signature="indexOfTopLevelItem(QTreeWidgetItem *)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="addTopLevelItem(QTreeWidgetItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeTopLevelItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addTopLevelItems(const QList&lt;QTreeWidgetItem*&gt; &amp;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertTopLevelItem(int, QTreeWidgetItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertTopLevelItems(int, const QList&lt;QTreeWidgetItem*&gt; &amp;)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setHeaderItem(QTreeWidgetItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeTopLevelItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeItemWidget(QTreeWidgetItem*,int)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QTreeWidgetItem*,int,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setFirstItemColumnSpanned(const QTreeWidgetItem*,bool)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QTreeWidgetItem*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QTreeWidgetItem*,int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemExpanded(const QTreeWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemExpanded(const QTreeWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setItemHidden(const QTreeWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemHidden(const QTreeWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemSelected(const QTreeWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setItemSelected(const QTreeWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setItemWidget(QTreeWidgetItem*,int,QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="items(const QMimeData*)const" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QAbstractItemDelegate">
-    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
-        <modify-argument index="1">
-            <!-- Safe to ignore because this implementation is documented to do nothing -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="paint(QPainter*,QStyleOptionViewItem,QModelIndex)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="editorEvent(QEvent*,QAbstractItemModel*,QStyleOptionViewItem,QModelIndex)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-      <modify-function signature="elidedText(QFontMetrics, int, Qt::TextElideMode, QString)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QTableWidgetItem" delete-in-main-thread="yes">
-    <modify-function signature="operator=(const QTableWidgetItem&amp;)" remove="all"/>
-    <modify-function signature="clone() const">
-        <modify-argument index="return">
-            <define-ownership class="shell" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="backgroundColor()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setBackgroundColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setTextColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="textColor()const" remove="all"/> <!--### Obsolete in 4.3-->
-
-    <modify-function signature="operator&lt;(QTableWidgetItem)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="read(QDataStream&amp;)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="write(QDataStream&amp;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-  </object-type>
-
-  <object-type name="QListWidgetItem" delete-in-main-thread="yes">
-
-    <modify-function signature="operator&lt;(QListWidgetItem)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="read(QDataStream&amp;)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="write(QDataStream&amp;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-
-    <modify-function signature="operator=(const QListWidgetItem&amp;)" remove="all"/>
-<!--    <modify-function signature="QListWidgetItem(QListWidget *, int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QListWidgetItem(const QString &amp;, QListWidget *, int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QListWidgetItem(const QIcon &amp;, const QString &amp;, QListWidget *, int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="clone() const">
-        <modify-argument index="return">
-            <define-ownership class="shell" owner="c++"/>
-        </modify-argument>
-    </modify-function>
--->
-      <modify-function signature="backgroundColor()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setBackgroundColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setTextColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="textColor()const" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QGraphicsTextItem"> <!-- a QObject so main-thread delete redundant -->
-    <extra-includes>
-      <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-    	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-    <!--
-    <modify-function signature="QGraphicsTextItem(QGraphicsItem*,QGraphicsScene*)">
-        <inject-code position="end">
-            <argument-map index="1" meta-name="%1"/>
-            if (%1 != null) disableGarbageCollection();
-        </inject-code>
-    </modify-function>
-    <modify-function signature="QGraphicsTextItem(const QString &amp;,QGraphicsItem*,QGraphicsScene*)">
-        <inject-code position="end">
-            <argument-map index="2" meta-name="%2"/>
-            if (%2 != null) disableGarbageCollection();
-        </inject-code>
-    </modify-function>
-    <modify-function signature="setDocument(QTextDocument*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDocument"/>
-        </modify-argument>
-    </modify-function>
-    -->
-      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QCompleter">
-    <modify-function signature="activated(const QModelIndex &amp;)">
-        <rename to="activatedIndex"/>
-    </modify-function>
-    <modify-function signature="highlighted(const QModelIndex &amp;)">
-        <rename to="highlightedIndex"/>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcModel"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setPopup(QAbstractItemView *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setWidget(QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcWidget"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-
-  <object-type name="QTreeWidgetItem" delete-in-main-thread="yes">
-
-    <modify-function signature="operator&lt;(QTreeWidgetItem)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="read(QDataStream&amp;)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="write(QDataStream&amp;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="QTreeWidgetItem(const QTreeWidgetItem &amp;)" remove="all"/>
-    <modify-function signature="operator=(const QTreeWidgetItem&amp;)" remove="all"/>
-
-    <modify-function signature="QTreeWidgetItem(QTreeWidget *,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QTreeWidgetItem(QTreeWidget *,const QStringList&lt;QString&gt; &amp;,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QTreeWidgetItem(QTreeWidget *,QTreeWidgetItem *,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,const QStringList&lt;QString&gt; &amp;,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,QTreeWidgetItem *,int)">
-        <modify-argument index="this">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="clone() const">
-        <modify-argument index="return">
-            <define-ownership class="shell" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addChild(QTreeWidgetItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addChildren(const QList&lt;QTreeWidgetItem*&gt; &amp;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertChild(int, QTreeWidgetItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertChildren(int, const QList&lt;QTreeWidgetItem*&gt; &amp;)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeChild(QTreeWidgetItem*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeChild(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeChildren()">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="backgroundColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setBackgroundColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setTextColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="textColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QListWidget">
-    <modify-function signature="mimeData(const QList&lt;QListWidgetItem *&gt;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="addItem(QListWidgetItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertItem(int, QListWidgetItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeItemWidget(QListWidgetItem*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QListWidgetItem*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QListWidgetItem*,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemHidden(const QListWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemHidden(const QListWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setItemSelected(const QListWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemSelected(const QListWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="takeItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemWidget(QListWidgetItem*,QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  
-<!--        <modify-function signature="addItem(const QString &amp;)" remove="all"/>-->
-        <modify-function signature="addItems(const QStringList&lt;QString&gt; &amp;)" remove="all"/>
-        <modify-function signature="insertItem(int, const QString &amp;)" remove="all"/>
-        <modify-function signature="insertItems(int, const QStringList&lt;QString&gt; &amp;)" remove="all"/>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QListWidget___" quote-before-line="}// class"/>
-        </inject-code>
-    </object-type>
-
-  <object-type name="QWidget">
-    <extra-includes>
-        <include file-name="QIcon" location="global"/>
-        <include file-name="QMessageBox" location="global"/>
-    </extra-includes>
-
-<!-- These should be restored later after fixing abstract classes issue -->
-<!--<modify-function signature="inputContext()" remove="all"/>
-<modify-function signature="layout() const" remove="all"/>
-<modify-function signature="setLayout(QLayout*)" remove="all"/>-->
-<modify-function signature="style () const" remove="all"/>
-<!--                                                                    -->
-
-    <modify-function signature="actionEvent(QActionEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="changeEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="closeEvent(QCloseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="contextMenuEvent(QContextMenuEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragEnterEvent(QDragEnterEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragLeaveEvent(QDragLeaveEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dragMoveEvent(QDragMoveEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="dropEvent(QDropEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="enterEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusInEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="focusOutEvent(QFocusEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="hideEvent(QHideEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyPressEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="leaveEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseDoubleClickEvent(QMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseMoveEvent(QMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mousePressEvent(QMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseReleaseEvent(QMouseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="moveEvent(QMoveEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="paintEvent(QPaintEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="resizeEvent(QResizeEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="showEvent(QShowEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="tabletEvent(QTabletEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="wheelEvent(QWheelEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-<!-- qtd
-    <modify-function signature="render(QPainter*,QPoint,QRegion,QFlags&lt;QWidget::RenderFlag&gt;)">
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <inject-code class="native">
-        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QWidget__1_1qt_1QMessageBox_1setWindowTitle)
-        (JNIEnv *__jni_env,
-            jclass,
-            jlong __this_nativeId,
-            jobject title0)
-        {
-            QTJAMBI_DEBUG_TRACE("(native) entering: QMessageBox::setWindowTitle(const QString &amp; title)");
-            QString __qt_title0 =  qtjambi_to_qstring(__jni_env, (jstring) title0);
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            QMessageBox *__qt_this = (QMessageBox *) qtjambi_from_jlong(__this_nativeId);
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            Q_ASSERT(__qt_this);
-            __qt_this-&gt;setWindowTitle((const QString&amp; )__qt_title0);
-            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QMessageBox::setWindowTitle(const QString &amp; title)");
-        }
-    </inject-code>
-
-    <inject-code class="native">
-        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QWidget__1_1qt_1QMessageBox_1setWindowModality)
-        (JNIEnv *__jni_env,
-            jclass,
-            jlong __this_nativeId,
-            jint windowModality0)
-        {
-            Q_UNUSED(__jni_env);
-            QTJAMBI_DEBUG_TRACE("(native) entering: QMessageBox::setWindowModality(Qt::WindowModality modality)");
-            Qt::WindowModality __qt_windowModality0 = (Qt::WindowModality) windowModality0;
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            QMessageBox *__qt_this = (QMessageBox *) qtjambi_from_jlong(__this_nativeId);
-            QTJAMBI_EXCEPTION_CHECK(__jni_env);
-            Q_ASSERT(__qt_this);
-            __qt_this-&gt;setWindowModality((Qt::WindowModality )__qt_windowModality0);
-            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QMessageBox::setWindowModality(Qt::WindowModality modality)");
-        }
-    </inject-code>
-
-    <modify-function signature="render(QPaintDevice *, const QPoint &amp;, const QRegion &amp;, QFlags&lt;QWidget::RenderFlag&gt;)">
-        <modify-argument index="4">
-            <replace-default-expression with="RenderFlag.DrawWindowBackground, RenderFlag.DrawChildren"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="render(QPainter *, const QPoint &amp;, const QRegion &amp;, QFlags&lt;QWidget::RenderFlag&gt;)">
-        <modify-argument index="4">
-            <replace-default-expression with="RenderFlag.DrawWindowBackground, RenderFlag.DrawChildren"/>
-        </modify-argument>
-    </modify-function>
--->	
-<!--    <modify-function signature="setFocusProxy(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcFocusProxy"/>
-        </modify-argument>
-    </modify-function> -->
-    <modify-function signature="setInputContext(QInputContext*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-	<!--
-    <modify-function signature="setLayout(QLayout*)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-	-->
-    <modify-function signature="setParent(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setParent(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-	<!--
-    <modify-function signature="setStyle(QStyle*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcStyle"/>
-        </modify-argument>
-    </modify-function>
-	-->
-    <modify-function signature="setTabOrder(QWidget*,QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="getContentsMargins(int*,int*,int*,int*)const">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="addAction(QAction *)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcActions"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="insertAction(QAction *, QAction *)">
-        <modify-argument index="2">
-            <reference-count action="add" variable-name="__rcActions"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="addActions(const QList&lt;QAction *&gt; &amp;)">
-        <modify-argument index="1">
-            <reference-count action="add-all" variable-name="__rcActions"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="insertActions(QAction *, const QList&lt;QAction *&gt; &amp;)">
-        <modify-argument index="2">
-            <reference-count action="add-all" variable-name="__rcActions"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="removeAction(QAction *)">
-        <modify-argument index="1">
-            <reference-count action="remove" variable-name="__rcActions"/>
-        </modify-argument>
-    </modify-function>
-      <modify-function signature="enabledChange(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="fontChange(QFont)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="isEnabledToTLW()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="isTopLevel()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="paletteChange(QPalette)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setShown(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="topLevelWidget()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="windowActivationChange(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QWidget___" quote-before-line="}// class"/>
-        </inject-code>
-<!--
-        <modify-function signature="setWindowTitle(const QString &amp;)">
-            <inject-code class="java">
-                <argument-map index="1" meta-name="%1"/>
-            if (this instanceof QMessageBox) {
-                qt.GeneratorUtilities.threadCheck(this);
-                if (nativeId() == 0)
-                    throw new QNoNativeResourcesException("Function call on incomplete object of type: " +getClass().getName());
-                __qt_QMessageBox_setWindowTitle(nativeId(), %1);
-                return ;
-            }
-            </inject-code>
-        </modify-function>
-
-
-        <modify-function signature="setWindowModality(Qt::WindowModality)">
-            <inject-code class="java">
-                <argument-map index="1" meta-name="%1"/>
-            if (this instanceof QMessageBox) {
-                qt.GeneratorUtilities.threadCheck(this);
-                if (nativeId() == 0)
-                    throw new QNoNativeResourcesException("Function call on incomplete object of type: " +getClass().getName());
-                __qt_QMessageBox_setWindowModality(nativeId(), %1.value());
-                return ;
-            }
-            </inject-code>
-        </modify-function>
--->
-
-
-
-    </object-type>
-
-  <object-type name="QMessageBox">
-    <modify-function signature="open()" remove="all"/>
-    <modify-function signature="setWindowTitle(const QString &amp;)" remove="all"/>
-    <modify-function signature="setWindowModality(Qt::WindowModality)" remove="all"/>
-    <extra-includes>
-        <include file-name="QPixmap" location="global"/>
-    </extra-includes>
-    <modify-function signature="addButton(QAbstractButton*,QMessageBox::ButtonRole)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeButton(QAbstractButton*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setDefaultButton(QPushButton*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setEscapeButton(QAbstractButton*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="QMessageBox(QString,QString,QMessageBox::Icon,int,int,int,QWidget*,QFlags&lt;Qt::WindowType&gt;)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="buttonText(int)const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setButtonText(int, QString)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="standardIcon(QMessageBox::Icon)" remove="all"/> <!--### Obsolete in 4.3-->
-
-      <modify-function signature="critical(QWidget*,QString,QString,int,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="critical(QWidget*,QString,QString,QString,QString,QString,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="information(QWidget*,QString,QString,int,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="information(QWidget*,QString,QString,QString,QString,QString,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="question(QWidget*, QString, QString, int, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="question(QWidget*, QString, QString, QString, QString, QString, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="warning(QWidget*, QString, QString, int, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="warning(QWidget*, QString, QString, QString, QString, QString, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QAbstractSpinBox">
-    <modify-function signature="initStyleOption(QStyleOptionSpinBox*)const">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="setLineEdit(QLineEdit*)">
-        <modify-argument index="1">
-            <!-- Safe to ignore because the spinbox reparents the line edit -->
-            <reference-count action="ignore"/>
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-<!--  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionSpinBox"/>
-                <replace from="final" to=""/>
-            </insert-template>
-        </inject-code>
-
-        <modify-function signature="fixup(QString&amp;)const">
-            <modify-argument index="1">
-                <replace-type modified-type="java.lang.String"/>
-                <conversion-rule class="shell">
-                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, %in);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QString %out = qtjambi_to_qstring(__jni_env, (jstring) %in);
-                    QString *__qt_converted = &amp;%out;
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="0">
-                <replace-type modified-type="java.lang.String"/>
-                <conversion-rule class="native">
-                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, *__qt_converted);
-                </conversion-rule>
-                <conversion-rule class="shell">
-                    %1 = qtjambi_to_qstring(__jni_env, (jstring) %in);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="validate(QString&amp;,int&amp;)const">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QValidator$QValidationData"/>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.convert_validationdata_to_java">
-                        <replace from="%STRING" to="%1"/>
-                        <replace from="%POS" to="%2"/>
-                    </insert-template>
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_validationdata_to_string"/>
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                    // nothing needed
-                </conversion-rule>
-                <conversion-rule class="native">
-                    <insert-template name="gui.convert_validationdata_to_pos">
-                        <replace from="%VALIDATIONDATA" to="%1"/>
-                    </insert-template>
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="0">
-                <conversion-rule class="native">
-                    <insert-template name="gui.cleanup_validationdata_from_java"/>
-                    jint %out = %in;
-                </conversion-rule>
-                <conversion-rule class="shell">
-                    <insert-template name="gui.cleanup_validationdata_to_java">
-                        <replace from="%STRING" to="%1"/>
-                        <replace from="%POS" to="%2"/>
-                    </insert-template>
-                    QValidator::State %out = (QValidator::State) qtjambi_to_enumerator(__jni_env, %in);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>-->
-    </object-type>
-
-  <object-type name="QTextFrame" delete-in-main-thread="yes">
-    <extra-includes>
-        <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-  </object-type>
-
-  <object-type name="QImageIOHandler">
-    <extra-includes>
-        <include file-name="QRect" location="global"/>
-    </extra-includes>
-    <modify-function signature="setFormat(const QByteArray &amp;)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setDevice(QIODevice*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDevice"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="read(QImage*)">
-        <modify-argument index="1">
-            <replace-type modified-type="QImage"/>
-<!--            <conversion-rule class="shell">
-                jobject %out = qtjambi_from_object(__jni_env, %in, "QImage", "com/trolltech/qt/gui/", false);
-
-                QtJambiLink *__link = %out != 0 ? QtJambiLink::findLink(__jni_env, %out) : 0;
-            </conversion-rule>
-            <conversion-rule class="native">
-                QImage *%out = (QImage *) qtjambi_to_object(__jni_env, %in);
-            </conversion-rule> -->
-        </modify-argument>
-<!--        <modify-argument index="0">
-            <conversion-rule class="shell">
-                // Invalidate object
-                if (__link != 0) __link-&gt;resetObject(__jni_env);
-                bool %out = (bool) %in;
-            </conversion-rule>
-        </modify-argument>-->
-    </modify-function>
-
-      <modify-function signature="name()const" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QProxyModel">
-    <modify-function signature="parent()const" remove="all"/>
-    <extra-includes>
-        <include file-name="QPixmap" location="global"/>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcModel"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QImageReader">
-    <extra-includes>
-        <include file-name="QColor" location="global"/>
-        <include file-name="QRect" location="global"/>
-        <include file-name="QSize" location="global"/>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QImage" location="global"/>
-    </extra-includes>
-    <modify-function signature="read(QImage*) ">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setDevice(QIODevice*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDevice"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QMovie">
-    <extra-includes>
-        <include file-name="QColor" location="global"/>
-        <include file-name="QImage" location="global"/>
-        <include file-name="QPixmap" location="global"/>
-        <include file-name="QRect" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-    <modify-function signature="cacheMode()">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setDevice(QIODevice*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDevice"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QPageSetupDialog">
-      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-
-  </object-type>
-
-  <object-type name="QTabWidget">
-<!--    <modify-function signature="initStyleOption(QStyleOptionTabWidgetFrame*)const">
-        <access modifier="private"/>
-    </modify-function>
-    <inject-code>
-        <insert-template name="gui.init_style_option">
-            <replace from="%TYPE" to="QStyleOptionTabWidgetFrame"/>
-        </insert-template>
-    </inject-code>-->
-    <modify-function signature="addTab(QWidget*,QIcon,QString)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addTab(QWidget*,QString)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertTab(int,QWidget*,QString)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertTab(int,QWidget*,QIcon,QString)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCornerWidget(QWidget*,Qt::Corner)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setTabBar(QTabBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QDrag">
-    <extra-includes>
-        <include file-name="QPoint" location="global"/>
-        <include file-name="QPixmap" location="global"/>
-    </extra-includes>
-    <modify-function signature="setMimeData(QMimeData*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="start(QFlags&lt;Qt::DropAction&gt;)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QDateTimeEdit">
-    <modify-function signature="setCalendarWidget(QCalendarWidget*)">
-        <modify-argument index="1">
-            <!-- Safe to ignore because widget is reparented -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    </object-type>
-
-  <object-type name="QSortFilterProxyModel">
-     <modify-function signature="parent()const" remove="all"/>
-    <extra-includes>
-        <include file-name="QItemSelection" location="global"/>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-
-    <modify-function signature="setSourceModel(QAbstractItemModel *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcSourceModel"/>
-        </modify-argument>
-    </modify-function>
-
-      <modify-function signature="clear()" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="filterChanged()" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <modify-function signature="match(QModelIndex, int, QVariant, int, QFlags&lt;Qt::MatchFlag&gt;) const">
-            <modify-argument index="5">
-                <replace-default-expression with="Qt.MatchFlag.MatchStartsWith | Qt.MatchFlag.MatchWrap"/>
-            </modify-argument>
-        </modify-function>
-    </object-type>
-
-  <object-type name="QSlider">
-<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionSlider"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QInputContext">
-    <extra-includes>
-        <include file-name="QTextFormat" location="global"/>
-    </extra-includes>
-    <modify-function signature="setFocusWidget(QWidget*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="filterEvent(const QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="mouseHandler(int,QMouseEvent*)">
-        <modify-argument index="2" invalidate-after-use="yes"/>
-    </modify-function>
-
-  </object-type>
-
-  <object-type name="QProgressDialog">
-        <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-
-    <modify-function signature="setBar(QProgressBar*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCancelButton(QPushButton*)">
-        <modify-argument index="1">
-            <!-- Safe to ignore because button is reparented -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setLabel(QLabel*)">
-        <modify-argument index="1">
-            <!-- Safe to ignore because label is reparented -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-
-  <object-type name="QLabel">
-<!--    <modify-function signature="picture()const">
-        <access modifier="private"/>
-        <rename to="picture_private"/>
-    </modify-function>
--->
-    <modify-function signature="setBuddy(QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcBuddy"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setMovie(QMovie *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcMovie"/>
-        </modify-argument>
-    </modify-function>
-<!--    <modify-function signature="pixmap()const">
-        <access modifier="private"/>
-        <rename to="pixmap_private"/>
-    </modify-function>
-
-        <inject-code>
-            <insert-template name="gui.getter_returning_nativepointer">
-                <replace from="%RETURN_TYPE" to="QPicture"/>
-                <replace from="%FUNCTION_NAME" to="picture"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.getter_returning_nativepointer">
-                <replace from="%RETURN_TYPE" to="QPixmap"/>
-                <replace from="%FUNCTION_NAME" to="pixmap"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-
-  <object-type name="QFileDialog">
-    <extra-includes>
-        <include file-name="QUrl" location="global"/>
-    </extra-includes>
-    <modify-function signature="open()" remove="all"/>
-<!--     <modify-function signature="setVisible(bool)" remove="all"/> // properties_d -->
-    <modify-function signature="getOpenFileName(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
-        <modify-argument index="1">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-<!--        <modify-argument index="6">
-            <remove-default-expression/>
-        </modify-argument>-->
-    </modify-function>
-<!--
-    <modify-function signature="getOpenFileNames(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
-        <access modifier="private"/>
-        <modify-argument index="1">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="6">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
--->
-    <modify-function signature="getSaveFileName(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
-        <modify-argument index="1">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="3">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-        <modify-argument index="5">
-            <remove-default-expression/>
-        </modify-argument>
-<!--        <modify-argument index="6">
-            <remove-default-expression/>
-        </modify-argument>-->
-    </modify-function>
-
-    <modify-function signature="setIconProvider(QFileIconProvider*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcIconProvider"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setItemDelegate(QAbstractItemDelegate*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcItemDelegate"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setProxyModel(QAbstractProxyModel*)">
-        <modify-argument index="1">
-            <!-- Reparented -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QFileDialog___" quote-before-line="}// class"/>
-        </inject-code>
-<!--
-        <template name="gui.filedialog_get_xxx_filename">
-        public static %TYPE %FUNCTION_NAME(QWidget parent, string caption, String dir, Filter filter, Options options) {
-            QNativePointer np = filter != null ? new QNativePointer(QNativePointer.Type.String) : null;
-            %TYPE returned = %FUNCTION_NAME(parent, caption, dir, filter != null ? filter.filter : "", np, options);
-            if (filter != null)
-                filter.selectedFilter = np.stringValue();
-            return returned;
-        }
-
-        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir, Filter filter, Option ... options) {
-            QNativePointer np = filter != null ? new QNativePointer(QNativePointer.Type.String) : null;
-            %TYPE returned = %FUNCTION_NAME(parent, caption, dir, filter != null ? filter.filter : "", np, options);
-            if (filter != null)
-                filter.selectedFilter = np.stringValue();
-            return returned;
-        }
-
-        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir, Filter filter) {
-            return %FUNCTION_NAME(parent, caption, dir, filter, new Options(0));
-        }
-
-        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir) {
-            return %FUNCTION_NAME(parent, caption, dir, null);
-        }
-
-        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption) {
-            return %FUNCTION_NAME(parent, caption, "");
-        }
-
-        public static %TYPE %FUNCTION_NAME(QWidget parent) {
-            return %FUNCTION_NAME(parent, "");
-        }
-
-        public static %TYPE %FUNCTION_NAME() {
-            return %FUNCTION_NAME(null);
-        }
-
-        </template>
-
-        <inject-code>
-            <insert-template name="gui.filedialog_get_xxx_filename">
-                <replace from="%FUNCTION_NAME" to="getOpenFileName"/>
-                <replace from="%TYPE" to="String"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.filedialog_get_xxx_filename">
-                <replace from="%FUNCTION_NAME" to="getOpenFileNames"/>
-                <replace from="%TYPE" to="java.util.List&lt;String&gt;"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.filedialog_get_xxx_filename">
-                <replace from="%FUNCTION_NAME" to="getSaveFileName"/>
-                <replace from="%TYPE" to="String"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QErrorMessage"/>
-
-  <object-type name="QTabBar">
-    <extra-includes>
-        <include file-name="QIcon" location="global"/>
-    </extra-includes>
-<!--    <modify-function signature="initStyleOption(QStyleOptionTab*,int)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTabBar___" quote-before-line="}// class"/>
-        </inject-code>
--->
-    </object-type>
-
-  <object-type name="QStandardItemModel">
-    <modify-function signature="insertColumn(int,const QModelIndex &amp;)" remove="all"/>
-    <modify-function signature="insertRow(int,const QModelIndex &amp;)" remove="all"/>
-    <modify-function signature="parent()const" remove="all"/>
-    <extra-includes>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-
-    <modify-function signature="appendColumn(const QList&lt;QStandardItem *&gt;&amp;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeColumn(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeRow(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeHorizontalHeaderItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeVerticalHeaderItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeItem(int,int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="appendRow(const QList&lt;QStandardItem *&gt;&amp;)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="appendRow(QStandardItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertColumn(int, const QList&lt;QStandardItem *&gt;&amp;)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int, const QList&lt;QStandardItem *&gt;&amp;)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int, QStandardItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setHorizontalHeaderItem(int, QStandardItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItem(int, int, QStandardItem *)">
-        <modify-argument index="3">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItem(int, QStandardItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemPrototype(const QStandardItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setVerticalHeaderItem(int, QStandardItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QRadioButton">
-<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionButton"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QScrollBar">
-<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionSlider"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QClipboard">
-    <extra-includes>
-        <include file-name="QImage" location="global"/>
-        <include file-name="QPixmap" location="global"/>
-    </extra-includes>
-    <modify-function signature="setMimeData(QMimeData *, QClipboard::Mode)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QClipboard___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-
-  <object-type name="QAbstractScrollArea">
-    <modify-function signature="setupViewport(QWidget *)" access="non-final"/>
-    <modify-function signature="addScrollBarWidget(QWidget*,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCornerWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setHorizontalScrollBar(QScrollBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setVerticalScrollBar(QScrollBar*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setViewport(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="setupViewport(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="viewportEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractScrollArea___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-
-  <object-type name="QPaintEngineState">
-    <extra-includes>
-        <include file-name="QPainterPath" location="global"/>
-    </extra-includes>
-	<modify-function signature="painter() const">
-		<store-result/>
-	</modify-function>
-  </object-type>
-
-  <object-type name="QRubberBand">
-<!--    <modify-function signature="initStyleOption(QStyleOptionRubberBand*)const">
-        <access modifier="private"/>
-    </modify-function>-->
-    <modify-function signature="move(int,int)" rename="moveRubberBand"/>
-    <modify-function signature="move(const QPoint &amp;)" rename="moveRubberBand"/>
-    <modify-function signature="resize(int,int)" rename="resizeRubberBand"/>
-    <modify-function signature="resize(const QSize &amp;)" rename="resizeRubberBand"/>
-    <modify-function signature="setGeometry(int,int,int,int)" rename="setRubberBandGeometry"/>
-    <modify-function signature="setGeometry(const QRect &amp;)" rename="setRubberBandGeometry"/>
-  
-<!--        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionRubberBand"/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-
-  <object-type name="QTextLayout">
-    <extra-includes>
-        <include file-name="QTextOption" location="global"/>
-    </extra-includes>
-  </object-type>
-
-  <object-type name="QTableWidget">
-    <modify-function signature="mimeData(const QList&lt;QTableWidgetItem*&gt;)const">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="isSortingEnabled()const" remove="all"/>
-    <modify-function signature="setSortingEnabled(bool)" remove="all"/>
-    <modify-function signature="setHorizontalHeaderItem(int, QTableWidgetItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItem(int, int, QTableWidgetItem *)">
-        <modify-argument index="3">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeHorizontalHeaderItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeVerticalHeaderItem(int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="takeItem(int,int)">
-        <modify-argument index="return">
-            <define-ownership class="java" owner="default"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemPrototype(const QTableWidgetItem *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setVerticalHeaderItem(int, QTableWidgetItem *)">
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCellWidget(int,int,QWidget*)">
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QTableWidgetItem*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentItem(QTableWidgetItem*,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemSelected(const QTableWidgetItem*,bool)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="isItemSelected(const QTableWidgetItem*)const">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QTextDocument">
-    <extra-includes>
-        <include file-name="QTextBlock" location="global"/>
-        <include file-name="QTextFormat" location="global"/>
-        <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-    <modify-function signature="setDocumentLayout(QAbstractTextDocumentLayout*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-<!--  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextDocument___" quote-before-line="}// class"/>
-        </inject-code>
--->
-    </object-type>
-
-  <object-type name="QSplitter">
-
-    <modify-function signature="getRange(int,int*,int*)const">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget *)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(int, QWidget *)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QSplitter___" quote-before-line="}// class"/>
-        </inject-code>
-
-    </object-type>
-
-  <object-type name="QGroupBox">
-<!--    <modify-function signature="initStyleOption(QStyleOptionGroupBox*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionGroupBox"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QStackedWidget">
-    <modify-function signature="addWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(int,QWidget*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setCurrentWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QSplitterHandle">
-  </object-type>
-
-  <object-type name="QDial">
-<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
-        <access modifier="private"/>
-    </modify-function>
-  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionSlider"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QLineEdit">
-<!--    <modify-function signature="initStyleOption(QStyleOptionFrame*)const">
-        <access modifier="private"/>
-    </modify-function>-->
-    <modify-function signature="setCompleter(QCompleter *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcCompleter"/>
-        </modify-argument>
-    </modify-function>
-     <modify-function signature="setValidator(const QValidator *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcValidator"/>
-        </modify-argument>
-    </modify-function>
-<!--  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionFrame"/>
-            </insert-template>
-        </inject-code>-->
-    </object-type>
-
-  <object-type name="QLCDNumber"/>
-
-  <object-type name="QSplashScreen">
-    <modify-function signature="showMessage(const QString &amp;, int, const QColor &amp;)">
-      <modify-argument index="3">
-        <replace-default-expression with="QColor.Black"/>
-      </modify-argument>
-    </modify-function>
-    <modify-function signature="repaint()" remove="all"/>
-    <modify-function signature="drawContents(QPainter*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QDockWidget">
-<!--    <modify-function signature="initStyleOption(QStyleOptionDockWidget*)const">
-        <access modifier="private"/>
-    </modify-function>
-	
-    <inject-code>
-        <insert-template name="gui.init_style_option">
-            <replace from="%TYPE" to="QStyleOptionDockWidget"/>
-        </insert-template>
-    </inject-code>-->
-    <modify-function signature="setTitleBarWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QAbstractProxyModel">
-    <extra-includes>
-        <include file-name="QItemSelection" location="global"/>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-
-    <modify-function signature="setSourceModel(QAbstractItemModel *)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcSourceModel"/>
-        </modify-argument>
-    </modify-function>
-
-  </object-type>
-
-  <object-type name="QDesktopWidget">
-  </object-type>
-
-  <object-type name="QFrame">
-  </object-type>
-
-  <object-type name="QTextTable">
-    <modify-function signature="format() const">
-        <rename to="tableFormat"/>
-    </modify-function>
-    <extra-includes>
-        <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-  </object-type>
-
-  <object-type name="QSpinBox">
-    <modify-function signature="valueChanged(const QString &amp;)">
-        <rename to="valueStringChanged"/>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QTextBrowser">
-    <modify-function signature="highlighted(const QString &amp;)">
-        <rename to="highlightedString"/>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QDoubleSpinBox">
-    <modify-function signature="valueChanged(const QString &amp;)">
-        <rename to="valueStringChanged"/>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QButtonGroup">
-    <modify-function signature="buttonClicked(int)">
-        <rename to="buttonIdClicked"/>
-    </modify-function>
-    <modify-function signature="buttonPressed(int)">
-        <rename to="buttonIdPressed"/>
-    </modify-function>
-    <modify-function signature="buttonReleased(int)">
-        <rename to="buttonIdReleased"/>
-    </modify-function>
-    <modify-function signature="addButton(QAbstractButton *)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcButtons"/>
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addButton(QAbstractButton *, int)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcButtons"/>
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeButton(QAbstractButton *)">
-        <modify-argument index="1">
-            <reference-count action="remove" variable-name="__rcButtons"/>
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setId(QAbstractButton *,int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QToolBar">
-    <modify-function signature="addAction(QAction *)" remove="all"/>
-<!--    <modify-function signature="initStyleOption(QStyleOptionToolBar*)const">
-        <access modifier="private"/>
-    </modify-function>-->
-    <modify-function signature="addAction(QIcon,QString,const QObject*,const char*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="addAction(QString,const QObject*,const char*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="addWidget(QWidget*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertWidget(QAction*,QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertSeparator(QAction*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QToolBar___" quote-before-line="}// class"/>
-        </inject-code>
-<!--  
-        <inject-code>
-            <insert-template name="gui.init_style_option">
-                <replace from="%TYPE" to="QStyleOptionToolBar"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.addAction">
-                <replace from="%POST_CALL" to=""/>
-                <replace from=" %END_EXTRA" to=""/>
-                <replace from=" %END_CALL_EXTRA" to=""/>
-                <replace from="%EXTRA" to="QIcon icon,"/>
-                <replace from="%CALL_EXTRA" to="icon,"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.addAction">
-                <replace from="%POST_CALL" to=""/>
-                <replace from=" %END_EXTRA" to=""/>
-                <replace from=" %END_CALL_EXTRA" to=""/>
-                <replace from="%EXTRA " to=""/>
-                <replace from="%CALL_EXTRA " to=""/>
-            </insert-template>
-        </inject-code> -->
-    </object-type>
-
-  <object-type name="QPaintEngine">
-
-	<modify-function signature="painter() const">
-		<store-result/>
-	</modify-function>
-
-    <modify-function signature="begin(QPaintDevice*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="updateState(QPaintEngineState)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="drawTextItem(QPointF,QTextItem)">
-        <modify-argument index="2" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <extra-includes>
-        <include file-name="QVarLengthArray" location="global"/>
-    </extra-includes>
-    <modify-function signature="setPaintDevice(QPaintDevice*)">
-        <remove/>
-    </modify-function>
-    <modify-field name="state" read="false" write="false"/>
-<!--  
-        <modify-function signature="drawLines(const QLine *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QLine[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QLine", "com/trolltech/qt/gui/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QLine, 32&gt; __lines;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __lines.append(*(QLine *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QLine *%out = %1 == 0 ? 0 : __lines.constData();
-                </conversion-rule>
-
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawLines(const QLineF *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QLineF[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QLineF", "com/trolltech/qt/gui/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QLineF, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QLineF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QLineF *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawRects(const QRectF *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QRectF[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QRectF", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QRectF, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QRectF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QRectF *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawRects(const QRect *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QRect[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QRect", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QRect, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QRect *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QRect *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawPoints(const QPoint *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QPoint[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QPoint", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QPoint, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QPoint *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QPoint *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawPoints(const QPointF *, int)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QPointF[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QPointF", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QPointF, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QPointF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QPointF *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawPolygon(const QPoint *, int, QPaintEngine::PolygonDrawMode)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QPoint[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QPoint", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QPoint, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QPoint *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QPoint *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-
-        <modify-function signature="drawPolygon(const QPointF *, int, QPaintEngine::PolygonDrawMode)">
-            <modify-argument index="1">
-                <replace-type modified-type="qt.core.QPointF[]"/>
-                <conversion-rule class="shell">
-                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
-                                                       "QPointF", "com/trolltech/qt/core/");
-                </conversion-rule>
-                <conversion-rule class="native">
-                QVarLengthArray&lt;QPointF, 32&gt; __data;
-                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                for (int i=0; i&lt;__size; ++i)
-                    __data.append(*(QPointF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
-                const QPointF *%out = %1 == 0 ? 0 : __data.constData();
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="2">
-                <remove-argument/>
-                <conversion-rule class="shell">
-                /* nothing */
-                </conversion-rule>
-                <conversion-rule class="native">
-                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>
-		-->
-    </object-type>
-
-  <object-type name="QAbstractTableModel">
-<!--  <modify-function signature="parent(const QModelIndex &amp;)const" remove="all"/>
-  <modify-function signature="hasChildren(const QModelIndex &amp;)const" remove="all"/> -->
-    <extra-includes>
-        <include file-name="QStringList" location="global"/>
-        <include file-name="QSize" location="global"/>
-    </extra-includes>
-  </object-type>
-
-  <object-type name="QGuiSignalMapper">
-        <modify-function signature="setMapping(QObject*,QWidget*)">
-            <modify-argument index="1">
-                <reference-count action="add" declare-variable="qt.core.QSignalMapper" variable-name="__rcMappings"/>
-            </modify-argument>
-            <inject-code class="java" position="end">
-                <argument-map index="1" meta-name="%1"/>
-                <argument-map index="2" meta-name="%2"/>
-                java.util.Hashtable&lt;qt.core.QObject, Object&gt; __rcWidgetForObject = (java.util.Hashtable&lt;qt.core.QObject, Object&gt;) qt.GeneratorUtilities.fetchField(this, qt.core.QSignalMapper.class, "__rcWidgetForObject");
-                if (%2 == null)
-                    __rcWidgetForObject.remove(%1);
-                else
-                    __rcWidgetForObject.put(%1,%2);
-            </inject-code>
-        </modify-function>
-    </object-type>
-
-  <object-type name="QComboBox">
-<!--    <modify-function signature="initStyleOption(QStyleOptionComboBox*)const">
-        <access modifier="private"/>
-    </modify-function>-->
-    <modify-function signature="setCompleter(QCompleter*)">
-        <modify-argument index="1">
-            <reference-count variable-name="__rcCompleter" action="set"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setValidator(const QValidator*)">
-        <modify-argument index="1">
-            <reference-count variable-name="__rcValidator" action="set"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItemDelegate(QAbstractItemDelegate *)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setView(QAbstractItemView *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <!-- Safe to ignore because combo box reparents view -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setLineEdit(QLineEdit *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <!-- Safe to ignore because combo box reparents line edit -->
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModel(QAbstractItemModel *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-            <reference-count action="set" variable-name="__rcModel"/>
-        </modify-argument>
-    </modify-function>
-<!--    <inject-code>
-        <insert-template name="gui.init_style_option">
-            <replace from="%TYPE" to="QStyleOptionComboBox"/>
-        </insert-template>
-    </inject-code>-->
-    <inject-code>
-        <import-file name="typesystem_gui-java.java" quote-after-line="class QComboBox___" quote-before-line="}// class"/>
-    </inject-code>
-    <modify-function signature="activated(int)">&gt;
-        <rename to="activatedIndex"/>
-    </modify-function>
-    <modify-function signature="currentIndexChanged(const QString &amp;)">
-        <rename to="currentStringChanged"/>
-    </modify-function>
-    <modify-function signature="highlighted(int)">
-        <rename to="highlightedIndex"/>
-    </modify-function>
-
-      <modify-function signature="autoCompletion()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="autoCompletionCaseSensitivity()const" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setAutoCompletion(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-      <modify-function signature="setAutoCompletionCaseSensitivity(Qt::CaseSensitivity)" remove="all"/> <!--### Obsolete in 4.3-->
-  </object-type>
-
-  <object-type name="QTextEdit">
-    <extra-includes>
-        <include file-name="QTextCursor" location="global"/>
-    </extra-includes>
-    <modify-function signature="setDocument(QTextDocument*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDocument"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertFromMimeData(const QMimeData*)    ">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-
-  <object-type name="QPrinter" delete-in-main-thread="yes">
-  
-  
-    <modify-function signature="setEngines(QPrintEngine*,QPaintEngine*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcPrintEngine"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="set" variable-name="__rcPaintEngine"/>
-        </modify-argument>
-    </modify-function>
-  
-        <modify-function signature="getPageMargins(double*,double*,double*,double*,QPrinter::Unit)const" access="private"/>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPrinter___" quote-before-line="}// class"/>
-        </inject-code>
-    </object-type>
-
-  <object-type name="QAction">
-      <modify-function signature="setMenu(QMenu*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcMenu"/>
-        </modify-argument>
-    </modify-function>
-
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QAction___" quote-before-line="}// class"/>
-        </inject-code>
-<!--
-        <modify-function signature="setActionGroup(QActionGroup*)">
-            <modify-argument index="1">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-            java.util.Collection&lt;Object&gt; __rcTmp = null;
-            if (__rcActionGroup != null) {
-                __rcTmp = (java.util.Collection&lt;Object&gt;)qt.GeneratorUtilities.fetchField(__rcActionGroup, QActionGroup.class, "__rcActions");
-                while (__rcTmp.contains(this))
-                    __rcTmp.remove(this);
-            }
-            __rcActionGroup = %1;
-            if (__rcActionGroup != null) {
-                __rcTmp = (java.util.Collection&lt;Object&gt;)qt.GeneratorUtilities.fetchField(__rcActionGroup, QActionGroup.class, "__rcActions");
-                __rcTmp.add(this);
-            }
-            </inject-code>
-        </modify-function>
-		-->
-    </object-type>
-
-  <object-type name="QPainter">
-<!--  <add-class name="QPaintEngineState"/> -->
-    <extra-includes>
-      <include file-name="QWidget" location="global"/>
-      <include file-name="QPainterPath" location="global"/>
-      <include file-name="QPixmap" location="global"/>
-	  <include file-name="qt.gui.QGradient" location="java"/>
-    </extra-includes>
-
-    <modify-function signature="drawText(const QPointF &amp;, const QString &amp;, int, int)" remove="all"/>
-
-    <modify-function signature="drawConvexPolygon(const QPoint *, int)">
-      <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawConvexPolygon(const QPointF *, int)">
-      <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawLines(const QLine *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawLines(const QLineF *, int)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="drawPoints(const QPoint *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawPoints(const QPointF *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    
-    <modify-function signature="drawPolygon(const QPoint *, int, Qt::FillRule)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawPolygon(const QPointF *, int, Qt::FillRule)">
-        <access modifier="private"/>
-    </modify-function>
-
-    <modify-function signature="drawPolyline(const QPoint *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawPolyline(const QPointF *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    
-    <modify-function signature="drawRects(const QRect *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="drawRects(const QRectF *, int)">
-        <access modifier="private"/>
-    </modify-function>
-    
-    <!-- removed stuff -->
-    <modify-function signature="drawRects(const QVector&lt;QRect&gt; &amp;)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="drawRects(const QVector&lt;QRectF&gt; &amp;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="drawLines(const QVector&lt;QLine&gt; &amp;)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="drawLines(const QVector&lt;QLineF&gt; &amp;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="drawLines(const QVector&lt;QPoint&gt; &amp;)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="drawLines(const QVector&lt;QPointF&gt; &amp;)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="drawLines(const QPoint *, int)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="drawLines(const QPointF *, int)">
-        <remove/>
-    </modify-function>
-
-
-    <modify-function signature="QPainter(QPaintDevice *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="begin(QPaintDevice *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="initFrom(const QWidget *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setRedirected(const QPaintDevice *, QPaintDevice *, const QPoint &amp;)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="restoreRedirected(const QPaintDevice *)">
-        <modify-argument index="1">
-            <no-null-pointer/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="drawText(QRect,int,QString,QRect*)">
-        <access modifier="private"/>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="drawText(QRectF,int,QString,QRectF*)">
-        <access modifier="private"/>
-        <modify-argument index="4">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="drawText(int,int,int,int,int,QString,QRect*)">
-        <access modifier="private"/>
-        <modify-argument index="7">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="redirected(const QPaintDevice*,QPoint*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="matrixEnabled()const" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
-    <modify-function signature="setMatrixEnabled(bool)" remove="all"/> <!--### Obsolete in 4.3-->
-  
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QPainter___" quote-before-line="}// class"/>
-        </inject-code>
-<!--
-    <inject-code class="destructor-function">
-      if (((QPainter *) ptr)-&gt;isActive()) {
-          qWarning("QPainter: trying to delete an active painter, "
-                       "did you forget to call \"end()\"?\n");
-              return;
-          }
-        </inject-code>
-
-        <template name="gui.painter_draw_text_general">
-        public final void drawText(%RECT_ARGUMENTS, int flags, String text, %RECT_TYPE boundingRect) {
-            drawText(%RECT_CALL_ARGUMENTS, flags, text, boundingRect == null ? null : boundingRect.nativePointer());
-        }
-
-        public final void drawText(%RECT_ARGUMENTS, int flags, String text) {
-            drawText(%RECT_CALL_ARGUMENTS, flags, text, (%RECT_TYPE) null);
-        }
-        </template>
-
-        <template name="gui.painter_draw_text_qrect">
-            <insert-template name="gui.painter_draw_text_general">
-                <replace from="%RECT_ARGUMENTS" to="%RECT_TYPE rectangle"/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="rectangle"/>
-            </insert-template>
-        </template>
-        <inject-code>
-            <insert-template name="gui.painter_draw_text_qrect">
-                <replace from="%RECT_TYPE" to="qt.core.QRect"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.painter_draw_text_qrect">
-                <replace from="%RECT_TYPE" to="qt.core.QRectF"/>
-            </insert-template>
-        </inject-code>
-        <inject-code>
-            <insert-template name="gui.painter_draw_text_general">
-                <replace from="%RECT_TYPE" to="qt.core.QRect"/>
-                <replace from="%RECT_ARGUMENTS" to="int x, int y, int width, int height"/>
-                <replace from="%RECT_CALL_ARGUMENTS" to="x, y, width, height"/>
-            </insert-template>
-        </inject-code>
-
-
-        <modify-function signature="setRedirected(const QPaintDevice*, QPaintDevice*, const QPoint &amp;)">
-            <modify-argument index="1">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <modify-argument index="2">
-                <reference-count action="ignore"/>
-            </modify-argument>
-            <inject-code position="end">
-                <argument-map index="1" meta-name="%1"/>
-                <argument-map index="2" meta-name="%2"/>
-            __rcRedirections.push(%1);
-            __rcRedirections.push(%2);
-            </inject-code>
-        </modify-function>
-        <modify-function signature="restoreRedirected(const QPaintDevice*)">
-            <inject-code position="end">
-            if (!__rcRedirections.empty()) __rcRedirections.pop();
-            if (!__rcRedirections.empty()) __rcRedirections.pop();
-            </inject-code>
-        </modify-function>
-		-->
-    </object-type>
-
-  <object-type name="QApplication">
-    <extra-includes>
-      <include file-name="QBasicTimer" location="global"/>
-      <include file-name="QFont" location="global"/>
-      <include file-name="QFontMetrics" location="global"/>
-      <include file-name="QPalette" location="global"/>
-      <include file-name="QIcon" location="global"/>
-      <include file-name="QLocale" location="global"/>
-
-      <include file-name="qt.qtd.Str" location="java"/>
-    </extra-includes>
-
-    <!-- qtd2 -->
-    <modify-function signature="inputContext() const" remove="all"/>
-    <modify-function signature="setStyle(QStyle*)" remove="all"/>
-    <modify-function signature="setStyle(const QString&amp;)" remove="all"/>
-    <modify-function signature="style()" remove="all"/>
-
-
-    <modify-function signature="QApplication(int &amp;, char  **, int)">
-        <access modifier="private"/>
-    </modify-function>
-    <modify-function signature="QApplication(int &amp;, char **, QApplication::Type, int)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="QApplication(int &amp;, char **, bool, int)">
-        <remove/>
-    </modify-function>
-
-    <modify-function signature="font(const char*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setFont(QFont,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="palette(const char*)">
-        <remove/>
-    </modify-function>
-    <modify-function signature="setPalette(QPalette,const char*)">
-        <access modifier="private"/>
-        <modify-argument index="2">
-            <remove-default-expression/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="overrideCursor()">
-        <access modifier="private"/>
-        <rename to="overrideCursor_private"/>
-    </modify-function>
-
-    <modify-function signature="setInputContext(QInputContext*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setActiveWindow(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-<!--    <modify-function signature="setStyle(QStyle*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  -->
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QApplication___" quote-before-line="}// class"/>
-        </inject-code>
-<!--        <modify-function signature="QApplication(int &amp;, char  **, int)">
-            <inject-code class="shell">
-                qtjambi_register_variant_handler();
-            </inject-code>
-        </modify-function>-->
-        <template name="gui.application_char_pointer_function">
-        public static %RETURN_TYPE %FUNCTION_NAME(%PRE_ARGUMENTS %COMMA QByteArray className) {
-            return %FUNCTION_NAME(%PRE_CALL_ARGUMENTS %COMMA className == null ? null : className.data());
-        }
-        </template>
-    </object-type>
-
-  <object-type name="QCommandLinkButton"/>
-  <object-type name="QFileSystemModel">
-    <modify-function signature="setIconProvider(QFileIconProvider*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcIconProvider"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QFormLayout">
-    <modify-function signature="addRow(QWidget*,QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addRow(QLayout*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addRow(QWidget*,QLayout*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="addRow(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addRow(QString,QLayout*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addRow(QString,QWidget*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QLayout*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QWidget*,QLayout*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QWidget*,QWidget*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QWidget*)">
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QString,QLayout*)">
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertRow(int,QString,QWidget*)">
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setLayout(int,QFormLayout::ItemRole,QLayout*)">
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setWidget(int,QFormLayout::ItemRole,QWidget*)">
-        <modify-argument index="3">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setItem(int,QFormLayout::ItemRole,QLayoutItem*)" access="private" rename="setItem_private">
-        <modify-argument index="3">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addItem(QLayoutItem*)">
-        <modify-argument index="1">
-            <define-ownership class="java" owner="c++"/>
-        </modify-argument>
-    </modify-function>
-  
-        <modify-function signature="getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const" access="private"/>
-        <modify-function signature="getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const" access="private"/>
-        <modify-function signature="getItemPosition(int,int*,QFormLayout::ItemRole*)const" access="private"/>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QFormLayout___" quote-before-line="}// class"/>
-        </inject-code>
-    </object-type>
-  <object-type name="QGraphicsGridLayout" delete-in-main-thread="yes">
-    <modify-function signature="addItem(QGraphicsLayoutItem*,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcItems"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="addItem(QGraphicsLayoutItem*,int,int,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcItems"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setAlignment(QGraphicsLayoutItem*,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QGraphicsLayout" delete-in-main-thread="yes">
-
-    <modify-function signature="widgetEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="setParentLayoutItem(QGraphicsLayoutItem*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcParentLayoutItem"/>
-        </modify-argument>
-    </modify-function>
-  
-       <!-- <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/> -->
-	<modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all"/>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
-        </inject-code>
-    </object-type>
-  <interface-type name="QGraphicsLayoutItem" delete-in-main-thread="yes">
-  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
-	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
-	<modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all"/>
-  <!--
-    <modify-function signature="setParentLayoutItem(QGraphicsLayoutItem*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcParentLayoutItem"/>
-        </modify-argument>
-    </modify-function>
-  
-        <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/>
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
-        </inject-code>
-        <inject-code class="interface">
-            public QMarginsF getContentsMargins();
-        </inject-code>  
-    -->
-    </interface-type>
- 
-  <object-type name="QGraphicsLinearLayout" delete-in-main-thread="yes">
-    <modify-function signature="addItem(QGraphicsLayoutItem*)">
-        <modify-argument index="1">
-            <reference-count action="add" variable-name="__rcItems"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertItem(int,QGraphicsLayoutItem*)">
-        <modify-argument index="2">
-            <reference-count action="add" variable-name="__rcItems"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="removeItem(QGraphicsLayoutItem*)">
-        <modify-argument index="1">
-            <reference-count action="remove" variable-name="__rcItems"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setAlignment(QGraphicsLayoutItem*,QFlags&lt;Qt::AlignmentFlag&gt;)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setStretchFactor(QGraphicsLayoutItem*,int)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QGraphicsProxyWidget">
-    <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all" />  
-    <!--
-    <modify-function signature="setWidget(QWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <inject-code>
-            <argument-map index="1" meta-name="%1"/>
-            if (%1 != null)
-                %1.disableGarbageCollection();
-            else if (widget() != null)
-                widget().reenableGarbageCollection();
-        </inject-code>
-    </modify-function>
-    -->
-    </object-type> <!-- a QObject so main-thread delete redundant -->
-  <object-type name="QGraphicsWidget">  <!-- a QObject so main-thread delete redundant -->
-    <!-- Duplicate function to QObject::children() to override accidental shadowing which is not present in Jambi -->
-    <modify-function signature="children()const" remove="all"/>
-    <modify-function signature="setLayout(QGraphicsLayout*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcLayout"/>
-        </modify-argument>
-    </modify-function>
-
-    <modify-function signature="changeEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="closeEvent(QCloseEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="grabKeyboardEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="grabMouseEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="hideEvent(QHideEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="moveEvent(QGraphicsSceneMoveEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="paintWindowFrame(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="resizeEvent(QGraphicsSceneResizeEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="showEvent(QShowEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="ungrabKeyboardEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="ungrabMouseEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-    <modify-function signature="windowFrameEvent(QEvent*)">
-        <modify-argument index="1" invalidate-after-use="yes"/>
-    </modify-function>
-
-    <modify-function signature="setStyle(QStyle*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcStyle"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setTabOrder(QGraphicsWidget*,QGraphicsWidget*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-        <modify-argument index="2">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  <!--
-        <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/>
-        <modify-function signature="getWindowFrameMargins(double*,double*,double*,double*)const" access="private"/>
-   
-        <inject-code>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class QGraphicsWidget___" quote-before-line="}// class"/>
-            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
-        </inject-code>
-    -->
-        <modify-function signature="initStyleOption(QStyleOption*)const">
-	    <!--
-            <modify-argument index="1">
-                <replace-type modified-type="qt.gui.QStyleOption"/>
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOption", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", false);
-                    jobject __tmp = %out;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QStyleOption *%out = (QStyleOption *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="return">
-                <conversion-rule class="shell">
-                    // Make sure the java object is not usable after this, since
-                    // the QStyleOption* may be deleted at any time.
-                    qtjambi_invalidate_object(__jni_env, __tmp);
-                    __tmp = 0;
-                </conversion-rule>
-            </modify-argument>
-	    -->
-        </modify-function>
-
-        <modify-function signature="paintWindowFrame(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
-	<!--
-            <modify-argument index="2">
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionGraphicsItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    const QStyleOptionGraphicsItem *%out = (QStyleOptionGraphicsItem *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem"/>
-            </modify-argument>
-	 -->
-        </modify-function>
-
-    </object-type>
-  <object-type name="QPlainTextDocumentLayout"/>
-  <object-type name="QPlainTextEdit">
-    <modify-function signature="setDocument(QTextDocument*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcDocument"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="insertFromMimeData(const QMimeData*)">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-  </object-type>
-  <object-type name="QPrintPreviewDialog">
-        <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
-  </object-type>
-  <object-type name="QPrintPreviewWidget"/>
-  <object-type name="QStyledItemDelegate">
-    <modify-function signature="setItemEditorFactory(QItemEditorFactory*)">
-        <modify-argument index="1">
-            <reference-count action="set" variable-name="__rcItemEditorFactory"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
-        <modify-argument index="1">
-            <reference-count action="ignore"/>
-        </modify-argument>
-    </modify-function>
-<!--  
-        <modify-function signature="initStyleOption(QStyleOptionViewItem*,QModelIndex)const">
-            <modify-argument index="1">
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionViewItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", false);
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QStyleOptionViewItem *%out = (QStyleOptionViewItem *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-                <replace-type modified-type="qt.gui.QStyleOptionViewItem"/>
-            </modify-argument>
-        </modify-function>
-        -->
-    </object-type>
-
-  <interface-type name="QAccessibleFactoryInterface" java-name="QAbstractAccessibleFactory"/>
-  <interface-type name="QIconEngineFactoryInterfaceV2" java-name="QAbstractIconEngineFactoryV2"/>
-  <interface-type name="QImageIOHandlerFactoryInterface" java-name="QAbstractImageIOHandlerFactory"/>
-  <interface-type name="QInputContextFactoryInterface" java-name="QAbstractInputContextFactory"/>
-  <interface-type name="QStyleFactoryInterface" java-name="QAbstractStyleFactory"/>
-  <interface-type name="QTextCodecFactoryInterface" java-name="QAbstractTextCodecFactory"/>
-  <interface-type name="QPictureFormatInterface" java-name="QAbstractPictureFormat">
-<!--        <modify-function signature="loadPicture(QString,QString,QPicture*)">
-            <modify-argument index="3">
-                <replace-type modified-type="QPicture"/>
-                <conversion-rule class="shell">
-                    jobject %out = qtjambi_from_object(__jni_env, %in, "QPicture", "com/trolltech/qt/gui/", false);
-                    jobject __tmp = %out;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    QPicture *%out = (QPicture *) qtjambi_to_object(__jni_env, %in);
-                </conversion-rule>
-            </modify-argument>
-            <modify-argument index="return">
-                <conversion-rule class="shell">
-                    // Make sure the java object is not usable after this, since
-                    // the QPicture* may be deleted at any time.
-                    qtjambi_invalidate_object(__jni_env, __tmp);
-                    __tmp = 0;
-                    bool %out = (bool) %in;
-                </conversion-rule>
-                <conversion-rule class="native">
-                    jboolean %out = (jboolean) %in;
-                </conversion-rule>
-            </modify-argument>
-        </modify-function>-->
-    </interface-type>
-
-  <object-type name="QIconEnginePluginV2"/>
-  <object-type name="QAccessiblePlugin"/>
-  <object-type name="QImageIOPlugin"/>
-  <object-type name="QInputContextPlugin"/>
-  <object-type name="QPictureFormatPlugin"/>
-  <object-type name="QStylePlugin"/>
-  <object-type name="QTextCodecPlugin"/>
-
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QPixmap::QPixmap', unmatched parameter type 'QPixmapData*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private&amp;'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private const\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTextEngine\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QFontEngine\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QPixmap::Type'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QInputDialog::Type'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTextFrameLayoutData\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QAbstractUndoItem\*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*QImageTextKeyLang*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: non-public function '*' in interface '*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: hiding of function '*' in class '*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value 'QVector&lt;FormatRange&gt;()' of argument in function '*', class '*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value 'QVariantList()' of argument in function '*', class '*'"/>
-  <suppress-warning text="WARNING(CppImplGenerator) :: protected function '*' in final class '*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QTextLayout::QTextLayout', unmatched parameter type 'QTextEngine*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value of argument in function 'doAction', class 'QAccessibleInterface'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFileDialog::QFileDialog', unmatched parameter type 'QFileDialogArgs const&amp;'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value '0., 0., 1000000000., 1000000000.' of argument in function 'update', class 'QAbstractTextDocumentLayout'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QWidget::windowSurface', unmatched return type 'QWindowSurface*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QWidget::setWindowSurface', unmatched parameter type 'QWindowSurface*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: enum 'QStyleOption::StyleOptionType' does not have a type entry or is not an enum"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unhandled enum value: ~FlagMask in QMessageBox::StandardButton"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: unmatched enum ~FlagMask"/>
-  <suppress-warning text="WARNING(MetaInfoGenerator) :: class 'QGraphicsSceneEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set"/>
-  <suppress-warning text="WARNING(MetaInfoGenerator) :: class 'QInputEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set"/>
-  <suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcMenus' in 'qt.gui.QMenu' but not both"/>
-  <suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcMenus' in 'qt.gui.QMenuBar' but not both"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QBrush' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFrame_iterator' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QRegion' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPolygon' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextTableCell' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextLength' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPalette' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextBlock_iterator' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextBlock' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextCursor' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFont' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QMatrix' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPen' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QColor' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTransform' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPainterPath_Element' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPainterPath' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QItemSelection' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QKeySequence' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QLine' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPolygonF' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSizePolicy' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFragment' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetrics' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGradient' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetricsF' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFormat' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QLineF' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QImage' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QNetworkCookie' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QNetworkRequest' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QPixmap::pixmapData', unmatched return type 'QPixmapData*'"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: object type 'QAccessible' extended by interface type 'QAbstractAccessibleFactory'. The resulting API will be less expressive than the original."/>
-
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextOption_Tab' has equals operators but no qHash() function"/>
-  <suppress-warning text="WARNING(MetaJavaBuilder) :: Rejected enum has no alternative...: QPalette::NColorRoles"/>
-
-</typesystem>
+<?xml version="1.0" encoding="UTF-8"?>
+<typesystem package="qt.gui" default-superclass="QtDObject">
+<depend package="qt.core" />
+<inject-code>
+        qt.Utilities.loadQtLibrary("QtGui");
+</inject-code>
+
+<template name="gui.class_from_variant_java">
+    public this(QVariant arg__1) {
+        void* __qt_return_value = qtd_%CLASS_NAME_%CLASS_NAME_QVariant(cast(void*) this, arg__1 is null ? null : arg__1.nativeId);
+        super(__qt_return_value);
+    }
+</template>
+
+<template name="gui.class_from_variant_java_free">
+private extern (C) void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant(void *d_ptr,
+ void* arg__1);
+</template>
+
+<template name="gui.class_from_variant_native">
+// %CLASS_NAME from QVariant
+extern "C" DLL_PUBLIC void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant
+(void *d_ptr,
+ void* arg__1)
+{
+    const QVariant&amp;  __qt_arg__1 = (const QVariant&amp; ) *(QVariant *)arg__1;
+    %CLASS_NAME __qt_casted = qvariant_cast&lt;%CLASS_NAME&gt;(__qt_arg__1);
+    %CLASS_NAME *__qt_this = new %CLASS_NAME((const %CLASS_NAME&amp; )__qt_casted);
+    return (void *) __qt_this;
+}
+</template>
+
+<template name="gui.class_from_variant_native_shell">
+// %CLASS_NAME from QVariant
+extern "C" DLL_PUBLIC void* qtd_%CLASS_NAME_%CLASS_NAME_QVariant
+(void *d_ptr,
+ void* arg__1)
+{
+    const QVariant&amp;  __qt_arg__1 = (const QVariant&amp; ) *(QVariant *)arg__1;
+    %CLASS_NAME __qt_casted = qvariant_cast&lt;%CLASS_NAME&gt;(__qt_arg__1);
+    %CLASS_NAME_QtDShell *__qt_this = new %CLASS_NAME_QtDShell(d_ptr, (const %CLASS_NAME&amp; )__qt_casted);
+    return (void *) __qt_this;
+}
+</template>
+<!-- without shell
+    <inject-code class="java">
+        <insert-template name="gui.class_from_variant_java">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>   
+    <inject-code class="java-free">
+        <insert-template name="gui.class_from_variant_java_free">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="gui.class_from_variant_native">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>
+    
+  with shell
+    <inject-code class="java">
+        <insert-template name="gui.class_from_variant_java">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>   
+    <inject-code class="java-free">
+        <insert-template name="gui.class_from_variant_java_free">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="gui.class_from_variant_native_shell">
+            <replace from="%CLASS_NAME" to=""/>
+        </insert-template>
+    </inject-code>
+-->
+
+        
+<template name="gui.getter_returning_nativepointer">
+        public final %RETURN_TYPE %FUNCTION_NAME() {
+            QNativePointer np = %FUNCTION_NAME_private();
+            %RETURN_TYPE tmp = np == null ? null : %RETURN_TYPE.fromNativePointer(np);
+            return tmp == null ? null : new %RETURN_TYPE(tmp);
+        }
+
+    </template>
+<template name="gui.init_style_option">
+        protected final void initStyleOption(%TYPE option) {
+            initStyleOption(option.nativePointer());
+        }
+    </template>
+<template name="gui.convert_validationdata_to_java">
+        StaticCache *sc = StaticCache::instance();
+        sc-&gt;resolveValidationData();
+        jstring __qt_converted_input = qtjambi_from_qstring(__jni_env, %STRING);
+        jobject %out = __jni_env-&gt;NewObject(sc-&gt;ValidationData.class_ref, sc-&gt;ValidationData.constructor, __qt_converted_input, %POS);
+        jobject __java_validation_data = %out;
+    </template>
+<template name="gui.cleanup_validationdata_from_java">
+        __jni_env-&gt;SetIntField(%1, sc-&gt;ValidationData.position, *__position_ptr);
+        __jni_env-&gt;SetObjectField(%1, sc-&gt;ValidationData.string, qtjambi_from_qstring(__jni_env, *__string_ptr));
+    </template>
+<template name="gui.convert_validationdata_to_string">
+        StaticCache *sc = StaticCache::instance();
+        sc-&gt;resolveValidationData();
+        jstring __java_string = (jstring) __jni_env-&gt;GetObjectField(%in, sc-&gt;ValidationData.string);
+        QString %out = __java_string == 0 ? QString() : qtjambi_to_qstring(__jni_env, __java_string);
+        QString *__string_ptr = &amp;%out;
+    </template>
+<template name="gui.convert_validationdata_to_pos">
+        int %out = __jni_env-&gt;GetIntField(%1, sc-&gt;ValidationData.position);
+        int *__position_ptr = &amp;%out;
+    </template>
+<template name="gui.cleanup_validationdata_to_java">
+        jstring __java_string = (jstring) __jni_env-&gt;GetObjectField(__java_validation_data, sc-&gt;ValidationData.string);
+        %STRING = __java_string == 0 ? QString() : qtjambi_to_qstring(__jni_env, __java_string);
+        %POS = __jni_env-&gt;GetIntField(__java_validation_data, sc-&gt;ValidationData.position);
+    </template>
+<template name="gui.convert_object_array_to_java">
+        jobjectArray %out = 0;
+
+        {
+            jclass __resolved_class = resolveClass(__jni_env, "%CLASSNAME_ARRAY", "%PACKAGE_ARRAY");
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            Q_ASSERT(__resolved_class != 0);
+
+            %out = %in == 0 ? 0 : __jni_env-&gt;NewObjectArray(%LENGTH, __resolved_class, 0);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            if (%out != 0) {
+                for (int i=0; i&lt;%LENGTH; ++i) {
+                    __jni_env-&gt;SetObjectArrayElement(%out, i, qtjambi_from_object(__jni_env, %REFERENCE %in[i], "%CLASSNAME", "%PACKAGE", %LOOKUP true));
+                }
+            }
+       }
+    </template>
+<template name="gui.convert_graphicsitem_array_to_java">
+        <insert-template name="gui.convert_object_array_to_java">
+            <replace from="%CLASSNAME_ARRAY" to="QGraphicsItemInterface"/>
+            <replace from="%PACKAGE_ARRAY" to="com/trolltech/qt/gui/"/>
+            <replace from="%CLASSNAME" to="QGraphicsItem$ConcreteWrapper"/>
+            <replace from="%PACKAGE" to="com/trolltech/qt/gui/"/>
+            <replace from="%LOOKUP" to=""/>
+            <replace from="%REFERENCE" to=""/>
+        </insert-template>
+    </template>
+<template name="gui.convert_styleoptiongraphicsitem_array_to_java">
+        <insert-template name="gui.convert_object_array_to_java">
+            <replace from="%CLASSNAME_ARRAY" to="QStyleOptionGraphicsItem"/>
+            <replace from="%PACKAGE_ARRAY" to="com/trolltech/qt/gui/"/>
+            <replace from="%CLASSNAME" to="QStyleOptionGraphicsItem"/>
+            <replace from="%PACKAGE" to="com/trolltech/qt/gui/"/>
+            <replace from="%LOOKUP" to="&quot;Lcom_trolltech_qt_gui_QStyleOption_2&quot;,"/>
+            <replace from="%REFERENCE" to="&amp;"/>
+        </insert-template>
+    </template>
+<template name="gui.convert_interface_array_from_java">
+        %CLASSNAME *%out = 0;
+        QVarLengthArray&lt;%CLASSNAME, 256&gt; __interfaceArray(__length);
+        if (%in != 0) {
+            for (int i=0; i&lt;__length; ++i) {
+                __interfaceArray[i] = (%CLASSNAME) %CONVERSION_FUNCTION(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i) %EXTRA);
+            }
+        }
+        %out = %in == 0 ? 0 : __interfaceArray.data();
+    </template>
+<template name="gui.convert_object_array_from_java">
+        %CLASSNAME *%out = 0;
+        QVarLengthArray&lt;%CLASSNAME, 256&gt; __array(__length);
+        if (%in != 0) {
+            for (int i=0; i&lt;__length; ++i) {
+                __array[i] = *(%CLASSNAME *) %CONVERSION_FUNCTION(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i) %EXTRA);
+            }
+        }
+        %out = %in == 0 ? 0 : __array.data();
+    </template>
+<template name="gui.convert_graphicsitem_array_from_java">
+        <insert-template name="gui.convert_interface_array_from_java">
+            <replace from="%CLASSNAME" to="QGraphicsItem *"/>
+            <replace from="%EXTRA" to=", &quot;QGraphicsItemInterface&quot;, &quot;com/trolltech/qt/gui/&quot;, &quot;__qt_cast_to_QGraphicsItem&quot;"/>
+            <replace from="%CONVERSION_FUNCTION" to="qtjambi_to_interface"/>
+        </insert-template>
+    </template>
+<template name="gui.convert_styleoptiongraphicsitem_array_from_java">
+        <insert-template name="gui.convert_object_array_from_java">
+            <replace from="%CLASSNAME" to="QStyleOptionGraphicsItem"/>
+            <replace from="%EXTRA" to=""/>
+            <replace from="%CONVERSION_FUNCTION" to="qtjambi_to_object"/>
+        </insert-template>
+    </template>
+<template name="gui::qstyleoption_from_object">
+        jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOption", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
+    </template>
+<template name="gui::qstyleoptioncomplex_from_object">
+        jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionComplex", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
+    </template>
+<template name="gui::qstyleoption_to_object">
+        QStyleOption *%out = (QStyleOption *) qtjambi_to_object(__jni_env, %in);
+    </template>
+<template name="gui.inputDialog_get_input">
+    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA, qt.core.Qt.WindowFlags f) {
+        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
+        %RETURN_TYPE result = %FUNCTION_NAME_internal(parent, title, label, %CALL, ok, f);
+        return ok.booleanValue() ? result : null;
+    }
+
+    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA, qt.core.Qt.WindowType ... f) {
+        qt.QNativePointer ok = new qt.QNativePointer(qt.QNativePointer.Type.Boolean);
+        %RETURN_TYPE result = %FUNCTION_NAME_internal(parent, title, label, %CALL, ok, f);
+        return ok.booleanValue() ? result : null;
+    }
+
+    public static %RETURN_TYPE %FUNCTION_NAME(qt.gui.QWidget parent, java.lang.String title, java.lang.String label, %EXTRA) {
+        return %FUNCTION_NAME(parent, title, label, %CALL, qt.core.Qt.WindowType.Widget);
+    }
+
+    </template>
+<suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcItems' in 'qt.gui.QGraphicsGridLayout' but not both"/>
+
+  <rejection class="*" function-name="d_func"/>
+
+  <rejection class="*" field-name="d_ptr"/>
+  <rejection class="*" field-name="d"/>
+  
+  <rejection class="QAccessibleTableInterface"/>
+  
+  <rejection class="QWindowsCEStyle"/>
+  <rejection class="QWindowsMobileStyle"/>
+  <rejection class="QAbstractUndoItem"/>
+  <rejection class="QAccessibleApplication"/>
+  <rejection class="QBrushData"/>
+  <rejection class="QImageTextKeyLang"/>
+  <rejection class="QItemEditorCreator"/>
+  <rejection class="QLibrary"/>
+  <rejection class="QLinkedList"/>
+  <rejection class="QLinkedListData"/>
+  <rejection class="QLinkedListIterator"/>
+  <rejection class="QLinkedListNode"/>
+  <rejection class="QMimeSource"/>
+  <rejection class="QPainterPathPrivate"/>
+  <rejection class="QRegionData"/>
+  <rejection class="QStandardItemEditorCreator"/>
+  <rejection class="QStyleOptionQ3DockWindow"/>
+  <rejection class="QStyleOptionQ3ListView"/>
+  <rejection class="QStyleOptionQ3ListViewItem"/>
+  <rejection class="QTextFrameLayoutData"/>
+  <rejection class="QUpdateLaterEvent"/>
+  <rejection class="QVFbHeader"/>
+  <rejection class="QWidgetData"/>
+  <rejection class="QWindowSurface"/>
+  <rejection class="QWindowsXPStyle"/>
+  <rejection class="QWindowsVistaStyle"/>
+  <rejection class="QWSEmbedWidget"/>
+  <rejection class="QRegion::QRegionData"/>
+  <rejection class="JObject_key"/>
+  <rejection class="QAccessibleEditableTextInterface"/>
+  <rejection class="QAccessibleSimpleEditableTextInterface"/>
+  <rejection class="QAccessibleTextInterface"/>
+  <rejection class="QAccessibleValueInterface"/>
+  <rejection class="QIconEngineFactoryInterface"/>
+  <rejection class="QIconEnginePlugin"/>
+  <rejection class="QWidgetItemV2"/>
+  <rejection class="QAbstractItemDelegate" function-name="operator="/>
+  <rejection class="QAccessible" function-name="installFactory"/>
+  <rejection class="QAccessible" function-name="installRootObjectHandler"/>
+  <rejection class="QAccessible" function-name="installUpdateHandler"/>
+  <rejection class="QAccessible" function-name="removeFactory"/>
+  <rejection class="QApplication" function-name="compressEvent"/>
+  <rejection class="QBrush" function-name="cleanUp"/>
+  <rejection class="QPictureIO" function-name="defineIOHandler"/>
+  <rejection class="QPolygon" function-name="putPoints"/>
+  <rejection class="QPolygon" function-name="setPoints"/>
+  <rejection class="QPolygon" function-name="setPoint"/>
+  <rejection class="QPolygon" function-name="points"/>
+  <rejection class="QPolygon" function-name="point"/>
+  <rejection class="QPrinter" function-name="printerSelectionOption"/>
+  <rejection class="QPrinter" function-name="setPrinterSelectionOption"/>
+  <rejection class="QWidget" function-name="create"/>
+  <rejection class="QWidget" function-name="find"/>
+  <rejection class="QWidget" function-name="handle"/>
+  <rejection class="QWidget" function-name="styleChange"/>
+  <rejection class="QWidget" function-name="internalWinId"/>
+  <rejection class="QActionGroup" function-name="selected"/>
+  <rejection class="QPaintEngine" function-name="fix_neg_rect"/>
+  <rejection class="QTreeModel" function-name="node"/>
+  <rejection class="QTreeModel" function-name="initializeNode"/>
+  <rejection class="QTreeModel" function-name="queryChildren"/>
+  <rejection class="QAccessible" function-name="cast_helper"/>
+  <rejection class="QAccessible2"/>
+  <rejection class="QAccessibleInterface" function-name="backgroundColor"/>
+  <rejection class="QAccessibleInterface" function-name="foregroundColor"/>
+  <rejection class="QAccessibleInterface" function-name="textInterface"/>
+  <rejection class="QAccessibleInterface" function-name="valueInterface"/>
+  <rejection class="QAccessibleInterface" function-name="tableInterface"/>
+  <rejection class="QAccessibleInterface" function-name="editableTextInterface"/>
+  <rejection class="QAccessibleInterface" function-name="cast_helper"/>
+  <rejection class="QAccessibleInterfaceEx" function-name="interface_cast"/>
+  <rejection class="QAccessibleBridgePlugin"/>
+  <rejection class="QAccessibleBridgeFactoryInterface"/>
+  <rejection class="QTabletEvent" field-name="mExtra"/>
+  <rejection class="QWidgetItem" field-name="wid"/>
+  <rejection class="QFont" enum-name="ResolveProperties"/>
+
+  <enum-type name="QAbstractItemDelegate::EndEditHint"/>
+  <enum-type name="QAbstractItemView::CursorAction"/>
+  <enum-type name="QAbstractItemView::DragDropMode"/>
+  <enum-type name="QAbstractItemView::DropIndicatorPosition"/>
+  <enum-type name="QAbstractItemView::EditTrigger" flags="QAbstractItemView::EditTriggers"/>
+  <enum-type name="QAbstractItemView::ScrollHint"/>
+  <enum-type name="QAbstractItemView::ScrollMode"/>
+  <enum-type name="QAbstractItemView::SelectionBehavior"/>
+  <enum-type name="QAbstractItemView::SelectionMode"/>
+  <enum-type name="QAbstractItemView::State"/>
+  <enum-type name="QAbstractPrintDialog::PrintDialogOption" flags="QAbstractPrintDialog::PrintDialogOptions"/>
+  <enum-type name="QAbstractPrintDialog::PrintRange"/>
+  <enum-type name="QAbstractSlider::SliderAction"/>
+  <enum-type name="QAbstractSlider::SliderChange"/>
+  <enum-type name="QAbstractSpinBox::ButtonSymbols"/>
+  <enum-type name="QAbstractSpinBox::CorrectionMode"/>
+  <enum-type name="QAbstractSpinBox::StepEnabledFlag" flags="QAbstractSpinBox::StepEnabled"/>
+  <enum-type name="QAccessible::Event"/>
+  <enum-type name="QAccessible::Method"/>
+  <enum-type name="QAccessible::RelationFlag" flags="QAccessible::Relation"/>
+  <enum-type name="QAccessible::Role"/>
+  <enum-type name="QAccessible::StateFlag" flags="QAccessible::State"/>
+  <enum-type name="QAccessible::Text"/>
+  <enum-type name="QDesktopServices::StandardLocation"/>
+  <enum-type name="QDirModel::Roles"/>
+  <enum-type name="QFont::Capitalization"/>
+  <enum-type name="QFont::SpacingType"/>
+  <enum-type name="QGraphicsItem::CacheMode"/>
+  <enum-type name="QMdiArea::AreaOption" flags="QMdiArea::AreaOptions"/>
+  <enum-type name="QMdiArea::WindowOrder"/>
+  <enum-type name="QMdiArea::ViewMode"/>
+  <enum-type name="QFileSystemModel::Roles"/>
+  <enum-type name="QFormLayout::FieldGrowthPolicy"/>
+  <enum-type name="QFormLayout::FormStyle"/>
+  <enum-type name="QFormLayout::ItemRole"/>
+  <enum-type name="QFormLayout::RowWrapPolicy"/>
+  <enum-type name="QGraphicsProxyWidget::enum_1"/>
+  <enum-type name="QGraphicsWidget::enum_1"/>
+  <enum-type name="QPlainTextEdit::LineWrapMode"/>
+  <enum-type name="QPrintPreviewWidget::ViewMode"/>
+  <enum-type name="QPrintPreviewWidget::ZoomMode"/>
+  <enum-type name="QStyleOptionViewItemV4::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionViewItemV4::ViewItemPosition"/>
+
+  <enum-type name="QMdiSubWindow::SubWindowOption" flags="QMdiSubWindow::SubWindowOptions"/>
+
+  <enum-type name="QAction::ActionEvent"/>
+  <enum-type name="QAction::MenuRole"/>
+  <enum-type name="QApplication::ColorSpec"/>
+  <enum-type name="QApplication::Type"/>
+  <enum-type name="QCalendarWidget::HorizontalHeaderFormat"/>
+  <enum-type name="QCalendarWidget::SelectionMode"/>
+  <enum-type name="QCalendarWidget::VerticalHeaderFormat"/>
+  <enum-type name="QColor::Spec"/>
+  <enum-type name="QColormap::Mode"/>
+  <enum-type name="QComboBox::InsertPolicy"/>
+  <enum-type name="QComboBox::SizeAdjustPolicy"/>
+  <enum-type name="QCompleter::CompletionMode"/>
+  <enum-type name="QCompleter::ModelSorting"/>
+  <enum-type name="QContextMenuEvent::Reason"/>
+  <enum-type name="QDataWidgetMapper::SubmitPolicy"/>
+  <enum-type name="QDateTimeEdit::Section" flags="QDateTimeEdit::Sections"/>
+  <enum-type name="QDialog::DialogCode"/>
+  <enum-type name="QDialogButtonBox::ButtonLayout"/>
+  <enum-type name="QDialogButtonBox::ButtonRole"/>
+  <enum-type name="QFileDialog::AcceptMode"/>
+  <enum-type name="QFileDialog::DialogLabel"/>
+  <enum-type name="QFileDialog::FileMode"/>
+  <enum-type name="QFileDialog::Option" flags="QFileDialog::Options"/>
+  <enum-type name="QFileDialog::ViewMode"/>
+  <enum-type name="QFileIconProvider::IconType"/>
+  <enum-type name="QFont::Stretch"/>
+  <enum-type name="QFont::Style"/>
+  <enum-type name="QFont::StyleStrategy"/>
+  <enum-type name="QFont::Weight"/>
+  <enum-type name="QFontComboBox::FontFilter" flags="QFontComboBox::FontFilters"/>
+  <enum-type name="QFrame::Shadow" extensible="yes"/>
+  <enum-type name="QFrame::Shape"/>
+  <enum-type name="QFrame::StyleMask"/>
+  <enum-type name="QGradient::CoordinateMode"/>
+  <enum-type name="QGradient::Spread" lower-bound="QGradient.PadSpread" upper-bound="QGradient.RepeatSpread"/>
+  <enum-type name="QGradient::Type"/>
+  <enum-type name="QGraphicsEllipseItem::enum_1"/>
+  <enum-type name="QGraphicsItem::Extension"/>
+  <enum-type name="QGraphicsItem::GraphicsItemChange"/>
+  <enum-type name="QGraphicsItem::GraphicsItemFlag" flags="QGraphicsItem::GraphicsItemFlags"/>
+  <enum-type name="QGraphicsItem::enum_1"/>
+  <enum-type name="QGraphicsItemGroup::enum_1"/>
+  <enum-type name="QGraphicsLineItem::enum_1"/>
+  <enum-type name="QGraphicsPathItem::enum_1"/>
+  <enum-type name="QGraphicsPixmapItem::ShapeMode"/>
+  <enum-type name="QGraphicsPixmapItem::enum_1"/>
+  <enum-type name="QGraphicsPolygonItem::enum_1"/>
+  <enum-type name="QGraphicsRectItem::enum_1"/>
+  <enum-type name="QGraphicsScene::ItemIndexMethod"/>
+  <enum-type name="QGraphicsSceneContextMenuEvent::Reason"/>
+  <enum-type name="QGraphicsSimpleTextItem::enum_1"/>
+  <enum-type name="QGraphicsTextItem::enum_1"/>
+  <enum-type name="QGraphicsView::CacheModeFlag" flags="QGraphicsView::CacheMode"/>
+  <enum-type name="QGraphicsView::DragMode"/>
+  <enum-type name="QGraphicsView::OptimizationFlag" flags="QGraphicsView::OptimizationFlags"/>
+  <enum-type name="QGraphicsView::ViewportAnchor"/>
+  <enum-type name="QGraphicsView::ViewportUpdateMode"/>
+  <enum-type name="QIcon::Mode"/>
+  <enum-type name="QIcon::State"/>
+  <enum-type name="QImage::Format"/>
+  <enum-type name="QImage::InvertMode"/>
+  <enum-type name="QImageIOHandler::ImageOption"/>
+  <enum-type name="QImageReader::ImageReaderError"/>
+  <enum-type name="QImageWriter::ImageWriterError"/>
+  <enum-type name="QInputContext::StandardFormat"/>
+  <enum-type name="QInputMethodEvent::AttributeType"/>
+  <enum-type name="QItemSelectionModel::SelectionFlag" flags="QItemSelectionModel::SelectionFlags"/>
+  <enum-type name="QKeySequence::SequenceFormat"/>
+  <enum-type name="QKeySequence::SequenceMatch"/>
+  <enum-type name="QKeySequence::StandardKey"/>
+  <enum-type name="QLCDNumber::Mode"/>
+  <enum-type name="QLCDNumber::SegmentStyle"/>
+  <enum-type name="QLayout::SizeConstraint"/>
+  <enum-type name="QLineEdit::EchoMode"/>
+  <enum-type name="QLineF::IntersectType"/>
+  <enum-type name="QListView::Flow"/>
+  <enum-type name="QListView::LayoutMode"/>
+  <enum-type name="QListView::Movement"/>
+  <enum-type name="QListView::ResizeMode"/>
+  <enum-type name="QListView::ViewMode"/>
+  <enum-type name="QListWidgetItem::ItemType"/>
+  <enum-type name="QMainWindow::DockOption" flags="QMainWindow::DockOptions"/>
+  <enum-type name="QMessageBox::ButtonRole"/>
+  <enum-type name="QMessageBox::Icon"/>
+  <enum-type name="QMovie::CacheMode"/>
+  <enum-type name="QMovie::MovieState"/>
+  <enum-type name="QPaintDevice::PaintDeviceMetric"/>
+  <enum-type name="QPaintEngine::DirtyFlag" flags="QPaintEngine::DirtyFlags"/>
+  <enum-type name="QPaintEngine::PaintEngineFeature" flags="QPaintEngine::PaintEngineFeatures"/>
+  <enum-type name="QPaintEngine::PolygonDrawMode"/>
+  <enum-type name="QPaintEngine::Type"/>
+  <enum-type name="QPageSetupDialog::PageSetupDialogOption" flags="QPageSetupDialog::PageSetupDialogOptions"/>
+  <enum-type name="QPainter::CompositionMode"/>
+  <enum-type name="QPainter::RenderHint" flags="QPainter::RenderHints"/>
+  <enum-type name="QPainterPath::ElementType"/>
+  <enum-type name="QPrintEngine::PrintEnginePropertyKey">
+    <reject-enum-value name="PPK_PaperSize"/>
+  </enum-type>
+  <enum-type name="QPrinter::ColorMode"/>
+  <enum-type name="QPrinter::Orientation"/>
+  <enum-type name="QPrinter::OutputFormat"/>
+  <enum-type name="QPrinter::PageOrder"/>
+  <enum-type name="QPrinter::PaperSource"/>
+  <enum-type name="QPrinter::PrintRange"/>
+  <enum-type name="QPrinter::PrinterMode"/>
+  <enum-type name="QPrinter::PrinterState"/>
+  <enum-type name="QPrinter::Unit"/>
+  <enum-type name="QPrinter::DuplexMode"/>
+  <enum-type name="QProgressBar::Direction"/>
+  <enum-type name="QRegion::RegionType"/>
+  <enum-type name="QRubberBand::Shape"/>
+  <enum-type name="QSessionManager::RestartHint"/>
+  <enum-type name="QSizePolicy::Policy"/>
+  <enum-type name="QSizePolicy::PolicyFlag"/>
+  <enum-type name="QSizePolicy::ControlType" flags="QSizePolicy::ControlTypes"/>
+  <enum-type name="QStandardItem::ItemType"/>
+  <enum-type name="QStyle::SubControl" flags="QStyle::SubControls" extensible="yes" force-integer="yes"/>
+  <enum-type name="QStyle::ComplexControl" extensible="yes"/>
+  <enum-type name="QStyle::ContentsType" extensible="yes"/>
+  <enum-type name="QStyle::ControlElement" extensible="yes"/>
+  <enum-type name="QStyle::PixelMetric" extensible="yes">
+    <reject-enum-value name="PM_MDIFrameWidth"/>
+    <reject-enum-value name="PM_MDIMinimizedWidth"/>
+  </enum-type>
+  <enum-type name="QStyle::PrimitiveElement" extensible="yes">
+    <reject-enum-value name="PE_IndicatorItemViewItemCheck"/>
+    <reject-enum-value name="PE_FrameStatusBarItem"/>
+  </enum-type>
+  <enum-type name="QStyle::StandardPixmap" extensible="yes"/>
+  <enum-type name="QStyle::StateFlag" flags="QStyle::State"/>
+  <enum-type name="QStyle::SubElement" extensible="yes">
+    <reject-enum-value name="SE_ItemViewItemCheckIndicator"/>
+  </enum-type>
+  <enum-type name="QStyleHintReturn::HintReturnType"/>
+  <enum-type name="QStyleHintReturn::StyleOptionType"/>
+  <enum-type name="QStyleHintReturn::StyleOptionVersion"/>
+  <enum-type name="QStyleHintReturnVariant::StyleOptionType"/>
+  <enum-type name="QStyleHintReturnVariant::StyleOptionVersion"/>
+
+  <enum-type name="QStyleHintReturnMask::StyleOptionType"/>
+  <enum-type name="QStyleHintReturnMask::StyleOptionVersion"/>
+  <enum-type name="QStyleOption::StyleOptionType"/>
+  <enum-type name="QStyleOption::OptionType" extensible="yes"/>
+  <enum-type name="QStyleOption::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionButton::ButtonFeature" flags="QStyleOptionButton::ButtonFeatures"/>
+  <enum-type name="QStyleOptionButton::StyleOptionType"/>
+  <enum-type name="QStyleOptionButton::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionComboBox::StyleOptionType"/>
+  <enum-type name="QStyleOptionComboBox::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionComplex::StyleOptionType"/>
+  <enum-type name="QStyleOptionComplex::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionDockWidget::StyleOptionType"/>
+  <enum-type name="QStyleOptionDockWidget::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionDockWidgetV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionFocusRect::StyleOptionType"/>
+  <enum-type name="QStyleOptionFocusRect::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionFrame::StyleOptionType"/>
+  <enum-type name="QStyleOptionFrame::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionFrameV2::FrameFeature" flags="QStyleOptionFrameV2::FrameFeatures"/>
+  <enum-type name="QStyleOptionFrameV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionGraphicsItem::StyleOptionType"/>
+  <enum-type name="QStyleOptionGraphicsItem::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionGroupBox::StyleOptionType"/>
+  <enum-type name="QStyleOptionGroupBox::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionHeader::SectionPosition"/>
+  <enum-type name="QStyleOptionHeader::SelectedPosition"/>
+  <enum-type name="QStyleOptionHeader::SortIndicator"/>
+  <enum-type name="QStyleOptionHeader::StyleOptionType"/>
+  <enum-type name="QStyleOptionHeader::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionMenuItem::CheckType"/>
+  <enum-type name="QStyleOptionMenuItem::MenuItemType"/>
+  <enum-type name="QStyleOptionMenuItem::StyleOptionType"/>
+  <enum-type name="QStyleOptionMenuItem::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionProgressBar::StyleOptionType"/>
+  <enum-type name="QStyleOptionProgressBar::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionProgressBarV2::StyleOptionType"/>
+  <enum-type name="QStyleOptionProgressBarV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionRubberBand::StyleOptionType"/>
+  <enum-type name="QStyleOptionRubberBand::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionSizeGrip::StyleOptionType"/>
+  <enum-type name="QStyleOptionSizeGrip::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionSlider::StyleOptionType"/>
+  <enum-type name="QStyleOptionSlider::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionSpinBox::StyleOptionType"/>
+  <enum-type name="QStyleOptionSpinBox::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionTab::CornerWidget" flags="QStyleOptionTab::CornerWidgets"/>
+  <enum-type name="QStyleOptionTab::SelectedPosition"/>
+  <enum-type name="QStyleOptionTab::StyleOptionType"/>
+  <enum-type name="QStyleOptionTab::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionTab::TabPosition"/>
+  <enum-type name="QStyleOptionTabBarBase::StyleOptionType"/>
+  <enum-type name="QStyleOptionTabBarBase::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionTabV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionTabWidgetFrame::StyleOptionType"/>
+  <enum-type name="QStyleOptionTabWidgetFrame::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionTitleBar::StyleOptionType"/>
+  <enum-type name="QStyleOptionTitleBar::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionToolBar::StyleOptionType"/>
+  <enum-type name="QStyleOptionToolBar::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionToolBar::ToolBarFeature" flags="QStyleOptionToolBar::ToolBarFeatures"/>
+  <enum-type name="QStyleOptionToolBar::ToolBarPosition"/>
+  <enum-type name="QStyleOptionToolBox::StyleOptionType"/>
+  <enum-type name="QStyleOptionToolBox::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionToolButton::StyleOptionType"/>
+  <enum-type name="QStyleOptionToolButton::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionToolButton::ToolButtonFeature" flags="QStyleOptionToolButton::ToolButtonFeatures">
+    <reject-enum-value name="MenuButtonPopup"/>
+  </enum-type>
+  <enum-type name="QStyleOptionViewItem::Position"/>
+  <enum-type name="QStyleOptionViewItem::StyleOptionType"/>
+  <enum-type name="QStyleOptionViewItem::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionViewItemV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionViewItemV2::ViewItemFeature" flags="QStyleOptionViewItemV2::ViewItemFeatures"/>
+  <enum-type name="QSystemTrayIcon::ActivationReason"/>
+  <enum-type name="QSystemTrayIcon::MessageIcon"/>
+  <enum-type name="QTabBar::Shape"/>
+  <enum-type name="QTabWidget::TabPosition"/>
+  <enum-type name="QTabWidget::TabShape"/>
+  <enum-type name="QTableWidgetItem::ItemType"/>
+  <enum-type name="QTabletEvent::PointerType"/>
+  <enum-type name="QTabletEvent::TabletDevice"/>
+  <enum-type name="QTextCharFormat::UnderlineStyle"/>
+  <enum-type name="QTextCharFormat::VerticalAlignment"/>
+  <enum-type name="QTextCursor::MoveMode"/>
+  <enum-type name="QTextCursor::MoveOperation"/>
+  <enum-type name="QTextCursor::SelectionType"/>
+  <enum-type name="QTextDocument::FindFlag" flags="QTextDocument::FindFlags"/>
+  <enum-type name="QTextDocument::MetaInformation"/>
+  <enum-type name="QTextDocument::ResourceType"/>
+  <enum-type name="QTextEdit::AutoFormattingFlag" flags="QTextEdit::AutoFormatting"/>
+  <enum-type name="QTextEdit::LineWrapMode"/>
+  <enum-type name="QTextFormat::ObjectTypes"/>
+  <enum-type name="QTextFormat::PageBreakFlag" flags="QTextFormat::PageBreakFlags"/>
+  <enum-type name="QTextFrameFormat::Position"/>
+  <enum-type name="QTextFrameFormat::BorderStyle"/>
+  <enum-type name="QTextItem::RenderFlag" flags="QTextItem::RenderFlags"/>
+  <enum-type name="QTextLayout::CursorMode"/>
+  <enum-type name="QTextLength::Type"/>
+  <enum-type name="QTextLine::CursorPosition"/>
+  <enum-type name="QTextLine::Edge"/>
+  <enum-type name="QTextListFormat::Style"/>
+  <enum-type name="QTextOption::Flag" flags="QTextOption::Flags"/>
+  <enum-type name="QTextOption::WrapMode"/>
+  <enum-type name="QTextOption::TabType"/>
+  <enum-type name="QToolButton::ToolButtonPopupMode"/>
+  <enum-type name="QTreeWidgetItem::ItemType"/>
+  <enum-type name="QTreeWidgetItemIterator::IteratorFlag" flags="QTreeWidgetItemIterator::IteratorFlags"/>
+  <enum-type name="QValidator::State"/>
+  <enum-type name="QWidget::RenderFlag" flags="QWidget::RenderFlags"/>
+  <enum-type name="QWorkspace::WindowOrder"/>
+  <enum-type name="QDoubleValidator::Notation"/>
+  <enum-type name="QGraphicsScene::SceneLayer" flags="QGraphicsScene::SceneLayers"/>
+  <enum-type name="QStyleOptionToolBoxV2::SelectedPosition"/>
+  <enum-type name="QStyleOptionToolBoxV2::StyleOptionVersion"/>
+  <enum-type name="QStyleOptionToolBoxV2::TabPosition"/>
+  <enum-type name="QStyleOptionViewItemV3::StyleOptionVersion"/>
+  <enum-type name="QTransform::TransformationType"/>
+  <enum-type name="QTreeWidgetItem::ChildIndicatorPolicy"/>
+  <enum-type name="QWizard::WizardOption" flags="QWizard::WizardOptions"/>
+  <enum-type name="QWizard::WizardPixmap"/>
+  <enum-type name="QWizard::WizardStyle"/>
+  <enum-type name="QImageIOPlugin::Capability" flags="QImageIOPlugin::Capabilities"/>
+  <enum-type name="QStackedLayout::StackingMode"/>
+
+  <enum-type name="QWizard::WizardButton">
+    <reject-enum-value name="NStandardButtons"/>
+    <reject-enum-value name="NButtons"/>
+  </enum-type>
+
+  <enum-type name="QAccessible::Action">
+    <reject-enum-value name="FirstStandardAction"/>
+    <reject-enum-value name="LastStandardAction"/>
+  </enum-type>
+
+  <enum-type name="QBoxLayout::Direction">
+    <reject-enum-value name="Down"/>
+    <reject-enum-value name="Up"/>
+  </enum-type>
+
+
+  <enum-type name="QClipboard::Mode">
+    <reject-enum-value name="LastMode"/>
+  </enum-type>
+
+  <enum-type name="QDialogButtonBox::StandardButton" flags="QDialogButtonBox::StandardButtons">
+    <reject-enum-value name="FirstButton"/>
+    <reject-enum-value name="LastButton"/>
+    <reject-enum-value name="YesAll"/>
+    <reject-enum-value name="NoAll"/>
+    <reject-enum-value name="Default"/>
+    <reject-enum-value name="Escape"/>
+    <reject-enum-value name="FlagMask"/>
+    <reject-enum-value name="ButtonMask"/>
+  </enum-type>
+
+  <enum-type name="QDockWidget::DockWidgetFeature" flags="QDockWidget::DockWidgetFeatures"/>
+
+  <enum-type name="QFont::StyleHint">
+    <reject-enum-value name="SansSerif"/>
+    <reject-enum-value name="Serif"/>
+    <reject-enum-value name="TypeWriter"/>
+    <reject-enum-value name="Decorative"/>
+  </enum-type>
+
+  <enum-type name="QFontDatabase::WritingSystem">
+    <reject-enum-value name="Other"/>
+  </enum-type>
+
+  <enum-type name="QHeaderView::ResizeMode">
+    <reject-enum-value name="Custom"/>
+  </enum-type>
+
+
+  <enum-type name="QMessageBox::StandardButton" flags="QMessageBox::StandardButtons">
+    <reject-enum-value name="FirstButton"/>
+    <reject-enum-value name="LastButton"/>
+    <reject-enum-value name="YesAll"/>
+    <reject-enum-value name="NoAll"/>
+  </enum-type>
+
+  <enum-type name="QPalette::ColorGroup">
+    <reject-enum-value name="Normal"/>
+  </enum-type>
+
+  <enum-type name="QPalette::ColorRole">
+    <reject-enum-value name="NColorRoles"/>
+    <reject-enum-value name="Foreground"/>
+    <reject-enum-value name="Background"/>
+  </enum-type>
+
+  <enum-type name="QPrinter::PageSize">
+    <reject-enum-value name="NPageSize"/>
+    <reject-enum-value name="NPaperSize"/>
+  </enum-type>
+
+  <enum-type name="QSlider::TickPosition">
+<!--    <reject-enum-value name="TicksLeft"/>
+    <reject-enum-value name="TicksRight"/>-->
+  </enum-type>
+
+  <enum-type name="QStyle::StyleHint" extensible="yes">
+    <reject-enum-value name="SH_ScrollBar_StopMouseOverSlider"/>
+  </enum-type>
+
+
+  <enum-type name="QTextFormat::FormatType"/>
+
+  <enum-type name="QTextFormat::Property">
+    <reject-enum-value name="FontSizeIncrement"/>
+    <reject-enum-value name="FirstFontProperty"/>
+    <reject-enum-value name="LastFontProperty"/>
+  </enum-type>
+
+  <value-type name="QTransform">
+    <modify-function signature="operator=(QTransform)" remove="all"/>
+    <modify-function signature="map(int,int,int*,int*)const" remove="all"/>
+    <modify-function signature="map(double,double,double*,double*)const" remove="all"/>
+
+    <modify-function signature="operator*=(double)" access="private"/>
+    <modify-function signature="operator+=(double)" access="private"/>
+    <modify-function signature="operator-=(double)" access="private"/>
+    <modify-function signature="operator/=(double)" access="private"/>
+    <modify-function signature="operator*(QTransform)const" rename="multiplied"/>
+    <modify-function signature="operator*=(QTransform)" access="private"/>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTransform___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="inverted(bool*)const">
+            <access modifier="private"/>
+            <modify-argument index="1">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="rotate(double,Qt::Axis)">
+            <modify-argument index="1">
+                <remove-default-expression/>
+            </modify-argument>
+            <access modifier="private"/>
+            <rename to="rotate_private"/>
+        </modify-function>
+        <inject-code>
+    /**
+     * Rotates the transformation around the given axis.
+     *
+     * @return The rotated transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="rotate"/>
+            <replace from="%ARGUMENTS" to="double angle, Qt.Axis axis"/>
+            <replace from="%ARGUMENT_NAMES" to="angle, axis"/>
+        </insert-template>
+
+    /**
+     * Rotates the transformation around the z-axis.
+     *
+     * @return The rotated transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="rotate"/>
+            <replace from="%ARGUMENTS" to="double angle"/>
+            <replace from="%ARGUMENT_NAMES" to="angle"/>
+        </insert-template>
+        </inject-code>
+
+        <modify-function signature="rotateRadians(double,Qt::Axis)">
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <access modifier="private"/>
+        <rename to="rotateRadians_private"/>
+    </modify-function>
+    <inject-code>
+    /**
+     * Rotates the transformation around the given axis.
+     *
+     * @return The rotated transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="rotateRadians"/>
+            <replace from="%ARGUMENTS" to="double angle, Qt.Axis axis"/>
+            <replace from="%ARGUMENT_NAMES" to="angle, axis"/>
+        </insert-template>
+
+    /**
+     * Rotates the transformation around the z-axis.
+     *
+     * @return The rotated transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="rotateRadians"/>
+            <replace from="%ARGUMENTS" to="double angle"/>
+            <replace from="%ARGUMENT_NAMES" to="angle"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="scale(double,double)">
+        <access modifier="private"/>
+        <rename to="scale_private"/>
+    </modify-function>
+    <inject-code>
+    /**
+     * Scales the transformation using x and y.
+     *
+     * @return The scaled transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="scale"/>
+            <replace from="%ARGUMENTS" to="double x, double y"/>
+            <replace from="%ARGUMENT_NAMES" to="x, y"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="shear(double,double)">
+        <access modifier="private"/>
+        <rename to="shear_private"/>
+    </modify-function>
+    <inject-code>
+    /**
+      * Shears the transformation using x and y.
+      *
+      * @return The sheared transformation.
+      */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="shear"/>
+            <replace from="%ARGUMENTS" to="double x, double y"/>
+            <replace from="%ARGUMENT_NAMES" to="x, y"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="translate(double,double)">
+        <access modifier="private"/>
+        <rename to="translate_private"/>
+    </modify-function>
+    <inject-code>
+    /**
+     * Translates the transformation using x and y.
+     *
+     * @return The translated transformation.
+     */
+        <insert-template name="core.private_function_return_self">
+            <replace from="%RETURN_TYPE" to="QTransform"/>
+            <replace from="%FUNCTION_NAME" to="translate"/>
+            <replace from="%ARGUMENTS" to="double x, double y"/>
+            <replace from="%ARGUMENT_NAMES" to="x, y"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="quadToQuad(QPolygonF,QPolygonF,QTransform&amp;)">
+        <access modifier="private"/>
+        <rename to="quadToQuadPrivate"/>
+    </modify-function>
+
+    <modify-function signature="quadToSquare(QPolygonF,QTransform&amp;)">
+        <access modifier="private"/>
+        <rename to="quadToSquarePrivate"/>
+    </modify-function>
+
+    <modify-function signature="squareToQuad(QPolygonF,QTransform&amp;)">
+        <access modifier="private"/>
+        <rename to="squareToQuadPrivate"/>
+    </modify-function>
+
+    </value-type>
+
+  <value-type name="QStyleOption" delete-in-main-thread="yes" polymorphic-base="yes" polymorphic-id-expression="%1-&gt;type == QStyleOption::SO_Default">
+      <modify-function signature="operator=(QStyleOption)" remove="all"/>
+      <modify-function signature="init(const QWidget*)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-field name="version">
+          <rename to="version_"/>
+      </modify-field>
+  </value-type>
+  <value-type name="QStyleOptionGraphicsItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionGraphicsItem::Type &amp;&amp; %1-&gt;version == QStyleOptionGraphicsItem::Version"/>
+  <value-type name="QStyleOptionSizeGrip" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSizeGrip::Type &amp;&amp; %1-&gt;version == QStyleOptionSizeGrip::Version"/>
+  <value-type name="QStyleOptionButton" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionButton::Type &amp;&amp; %1-&gt;version == QStyleOptionButton::Version"/>
+  <value-type name="QStyleOptionComboBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionComboBox::Type &amp;&amp; %1-&gt;version == QStyleOptionComboBox::Version"/>
+  <value-type name="QStyleOptionComplex" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionComplex::Type &amp;&amp; %1-&gt;version == QStyleOptionComplex::Version"/>
+  <value-type name="QStyleOptionDockWidget" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionDockWidget::Type &amp;&amp; %1-&gt;version == QStyleOptionDockWidget::Version"/>
+  <value-type name="QStyleOptionDockWidgetV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionDockWidgetV2::Type &amp;&amp; %1-&gt;version == QStyleOptionDockWidgetV2::Version">
+      <modify-function signature="operator=(QStyleOptionDockWidget)" remove="all"/>
+  </value-type>
+  <value-type name="QStyleOptionFocusRect" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFocusRect::Type &amp;&amp; %1-&gt;version == QStyleOptionFocusRect::Version"/>
+  <value-type name="QStyleOptionFrame" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFrame::Type &amp;&amp; %1-&gt;version == QStyleOptionFrame::Version"/>
+
+  <value-type name="QStyleOptionFrameV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionFrameV2::Type &amp;&amp; %1-&gt;version == QStyleOptionFrameV2::Version">
+    <modify-function signature="operator=(QStyleOptionFrame)" remove="all"/>
+  </value-type>
+
+  <value-type name="QStyleOptionGroupBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionGroupBox::Type &amp;&amp; %1-&gt;version == QStyleOptionGroupBox::Version"/>
+  <value-type name="QStyleOptionHeader" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionHeader::Type &amp;&amp; %1-&gt;version == QStyleOptionHeader::Version"/>
+  <value-type name="QStyleOptionMenuItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionMenuItem::Type &amp;&amp; %1-&gt;version == QStyleOptionMenuItem::Version"/>
+  <value-type name="QStyleOptionProgressBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionProgressBar::Type &amp;&amp; %1-&gt;version == QStyleOptionProgressBar::Version"/>
+
+  <value-type name="QStyleOptionProgressBarV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionProgressBarV2::Type &amp;&amp; %1-&gt;version == QStyleOptionProgressBarV2::Version">
+    <modify-function signature="operator=(QStyleOptionProgressBar)" remove="all"/>
+  </value-type>
+
+  <value-type name="QStyleOptionRubberBand" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionRubberBand::Type &amp;&amp; %1-&gt;version == QStyleOptionRubberBand::Version"/>
+  <value-type name="QStyleOptionSlider" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSlider::Type &amp;&amp; %1-&gt;version == QStyleOptionSlider::Version"/>
+  <value-type name="QStyleOptionSpinBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionSpinBox::Type &amp;&amp; %1-&gt;version == QStyleOptionSpinBox::Version"/>
+  <value-type name="QStyleOptionTab" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTab::Type &amp;&amp; %1-&gt;version == QStyleOptionTab::Version"/>
+  <value-type name="QStyleOptionTabV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabV2::Type &amp;&amp; %1-&gt;version == QStyleOptionTabV2::Version">
+    <modify-function signature="operator=(const QStyleOptionTab &amp;)" remove="all"/>
+  </value-type>
+  <value-type name="QStyleOptionTabBarBase" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabBarBase::Type &amp;&amp; %1-&gt;version == QStyleOptionTabBarBase::Version"/>
+  <value-type name="QStyleOptionTabWidgetFrame" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTabWidgetFrame::Type &amp;&amp; %1-&gt;version == QStyleOptionTabWidgetFrame::Version"/>
+  <value-type name="QStyleOptionTitleBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionTitleBar::Type &amp;&amp; %1-&gt;version == QStyleOptionTitleBar::Version"/>
+  <value-type name="QStyleOptionToolBar" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBar::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBar::Version"/>
+  <value-type name="QStyleOptionToolBox" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBox::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBox::Version"/>
+  <value-type name="QStyleOptionToolBoxV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolBoxV2::Type &amp;&amp; %1-&gt;version == QStyleOptionToolBoxV2::Version">
+    <modify-function signature="operator=(QStyleOptionToolBox)" remove="all"/>
+  </value-type>
+  <value-type name="QStyleOptionToolButton" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionToolButton::Type &amp;&amp; %1-&gt;version == QStyleOptionToolButton::Version"/>
+  <value-type name="QStyleOptionViewItem" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItem::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItem::Version"/>
+  <value-type name="QStyleOptionViewItemV2" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV2::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV2::Version">
+    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
+  </value-type>
+  <value-type name="QStyleOptionViewItemV3" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV3::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV3::Version">
+    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
+  </value-type>
+  <value-type name="QStyleOptionViewItemV4" delete-in-main-thread="yes" polymorphic-id-expression="%1-&gt;type == QStyleOptionViewItemV4::Type &amp;&amp; %1-&gt;version == QStyleOptionViewItemV4::Version">
+    <modify-function signature="operator=(QStyleOptionViewItem)" remove="all"/>
+  </value-type>
+  <value-type name="QTextFragment" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QTextFragment)" remove="all"/>
+  </value-type>
+  <value-type name="QBitmap" delete-in-main-thread="yes">
+    <modify-function signature="operator=(const QPixmap &amp;)" remove="all"/>
+    <modify-function signature="QBitmap(QString,const char*)" access="private">
+        <modify-argument index="2"> <remove-default-expression/> </modify-argument>
+    </modify-function>
+
+    <modify-function signature="fromData(QSize,const unsigned char*,QImage::Format)">
+        <access modifier="private"/>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QBitmap___" quote-before-line="}// class"/>
+        </inject-code>
+    </value-type>
+  <value-type name="QTextInlineObject" delete-in-main-thread="yes"/>
+  <value-type name="QSizePolicy"/>
+  <value-type name="QTableWidgetSelectionRange"/>
+  <value-type name="QTextDocumentFragment" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QTextDocumentFragment)" remove="all"/>
+  </value-type>
+  <value-type name="QTextOption" delete-in-main-thread="yes">
+    <modify-function signature="operator=(const QTextOption &amp;)" remove="all"/>
+  </value-type>
+  <value-type name="QTextLine" delete-in-main-thread="yes">
+    <modify-function signature="cursorToX(int*,QTextLine::Edge)const">
+        <remove/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextLine___" quote-before-line="}// class"/>
+        </inject-code>
+    </value-type>
+  <value-type name="QTextTableFormat" delete-in-main-thread="yes"/>
+  <value-type name="QTextImageFormat" delete-in-main-thread="yes"/>
+  <value-type name="QTextFrameFormat" delete-in-main-thread="yes">
+    <modify-function signature="isValid()const" access="non-final"/>
+  </value-type>
+  <value-type name="QTextLength" delete-in-main-thread="yes"/>
+  <value-type name="QItemSelectionRange">
+      <modify-function signature="intersect(QItemSelectionRange)const" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+
+  <value-type name="QPainterPath">
+    <modify-function signature="operator=(QPainterPath)" remove="all"/>
+  </value-type>
+  <value-type name="QPalette">
+    <modify-function signature="operator=(const QPalette&amp;)" remove="all"/>
+
+      <modify-function signature="QPalette(QColor, QColor, QColor, QColor, QColor, QColor, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="background()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="foreground()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+  <value-type name="QKeySequence">
+    <modify-function signature="operator=(QKeySequence)" remove="all"/>
+    <modify-function signature="operator int()const" access="private"/>
+    <modify-function signature="operator[](uint)const" access="private"/>
+
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QKeySequence___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QPicture" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QPicture)" remove="all"/>
+    <modify-function signature="pictureFormat(QString)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="inputFormatList()" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="inputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="outputFormatList()" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="outputFormats()" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPicture___" quote-before-line="}// class"/>
+        </inject-code>
+        <extra-includes>
+            <include file-name="qt.core.QIODevice" location="java"/>
+        </extra-includes>
+        <modify-function signature="load(QIODevice*,const char*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+
+        <modify-function signature="load(QString,const char*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+
+        <modify-function signature="save(QIODevice*,const char*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+
+        <modify-function signature="save(QString,const char*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+<!--
+        <modify-function signature="setData(const char*,uint)">
+            <modify-argument index="1">
+                <replace-type modified-type="byte[]"/>
+                <conversion-rule class="shell">
+                    jbyteArray %out = __jni_env-&gt;NewByteArray(%2);
+                    __jni_env-&gt;SetByteArrayRegion(%out, 0, %2, (jbyte *) %in);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    char *%out = (char *) __jni_env-&gt;GetByteArrayElements((jbyteArray) %in, 0);
+                    char *__ptr = %out;
+                    Q_UNUSED(__ptr)
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                    int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+-->
+        <modify-function signature="pictureFormat(QString)">
+            <remove/>
+        </modify-function>
+
+        <modify-function signature="data()const">
+            <access modifier="private"/>
+            <rename to="data_private"/>
+        </modify-function>
+
+    </value-type>
+
+  <value-type name="QRegion"> <!-- expense-limit="4096"> -->
+    <modify-function signature="operator=(QRegion)" remove="all"/>
+    <modify-function signature="operator&amp;=(QRegion)" remove="all"/>
+    <modify-function signature="operator+=(QRegion)" remove="all"/>
+    <modify-function signature="operator-=(QRegion)" remove="all"/>
+    <modify-function signature="operator^=(QRegion)" remove="all"/>
+    <modify-function signature="operator|=(QRegion)" remove="all"/>
+    <modify-function signature="operator&amp;(QRegion)const" remove="all"/>
+    <modify-function signature="operator+(QRegion)const" remove="all"/>
+    <modify-function signature="operator-(QRegion)const" remove="all"/>
+    <modify-function signature="operator^(QRegion)const" remove="all"/>
+    <modify-function signature="operator|(QRegion)const" remove="all"/>
+    <modify-function signature="eor(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="intersect(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="subtract(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="unite(QRegion)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="operator&amp;=(QRect)" remove="all"/>
+    <modify-function signature="operator+=(QRect)" remove="all"/>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QRegion___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="setRects(const QRect*,int)">
+            <access modifier="private"/>
+        </modify-function>
+
+    </value-type>
+
+  <value-type name="QTextBlock" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QTextBlock)" remove="all"/>
+    <modify-function signature="setUserData(QTextBlockUserData *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+     </modify-function>
+  </value-type>
+  <value-type name="QTextBlockFormat" delete-in-main-thread="yes"/>
+  <value-type name="QTextTableCellFormat" delete-in-main-thread="yes"/>
+  <value-type name="QTextCharFormat" delete-in-main-thread="yes">
+    <modify-function signature="isValid()const" access="non-final"/>
+
+      <modify-function signature="anchorName()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setAnchorName(QString)" remove="all"/> <!--### Obsolete in 4.3-->
+  </value-type>
+  <value-type name="QTextFormat" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QTextFormat)" remove="all"/>
+    <modify-function signature="isValid()const" access="non-final"/>
+
+  </value-type>
+
+  <value-type name="QTextListFormat" delete-in-main-thread="yes"/>
+  <value-type name="QPolygon">
+    <extra-includes>
+        <include file-name="qt.core.QPoint" location="java"/>
+    </extra-includes>
+    
+    <modify-function signature="QPolygon(int, const int *)" remove="all"/>
+    <modify-function signature="operator+(QVector&lt;QPoint&gt;)const" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(QPoint)" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(QVector&lt;QPoint&gt;)" remove="all"/>
+    
+    <inject-code class="java">
+    public final void insert(int i, QPoint t) {
+        qtd_QPolygon_insert_int_QPoint(nativeId, i, t);
+    }
+    
+    public final void insert(int i, int n, QPoint t) {
+        qtd_QPolygon_insert_int_int_QPoint(nativeId, i, n, t);
+    }
+    </inject-code>
+    <inject-code class="java-free">
+private extern(C) void  qtd_QPolygon_insert_int_QPoint(void* __this_nativeId,
+ int i0,
+ QPoint t1);
+private extern(C) void  qtd_QPolygon_insert_int_int_QPoint(void* __this_nativeId,
+ int i0,
+ int n1,
+ QPoint t2);
+    </inject-code>
+    <inject-code class="native">
+// QPolygon::insert(int i, const QPoint &amp; t)
+extern "C" DLL_PUBLIC void qtd_QPolygon_insert_int_QPoint
+(void* __this_nativeId,
+ int i0,
+ QPoint t1)
+{
+    QPolygon *__qt_this = (QPolygon *) __this_nativeId;
+    __qt_this->insert((int )i0, (const QPoint&amp; )t1);
+
+}
+
+// QPolygon::insert(int i, int n, const QPoint &amp; t)
+extern "C" DLL_PUBLIC void qtd_QPolygon_insert_int_int_QPoint
+(void* __this_nativeId,
+ int i0,
+ int n1,
+ QPoint t2)
+{
+    QPolygon *__qt_this = (QPolygon *) __this_nativeId;
+    __qt_this->insert((int )i0, (int )n1, (const QPoint&amp; )t2);
+
+}
+    </inject-code>
+    
+    <inject-code>
+        <import-file name="typesystem_gui-java.java" quote-after-line="class QPolygon___" quote-before-line="}// class"/>
+    </inject-code>
+<!-- qtd2
+        <inject-code class="native">
+      extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QPolygon_add_1private)
+      (JNIEnv *__jni_env, jobject, jlong nativeId, jint x, jint y)
+      {
+          Q_UNUSED(__jni_env);
+          QPolygon *polygon = (QPolygon *) qtjambi_from_jlong(nativeId);
+          if (!polygon)
+              return;
+          *polygon &lt;&lt; QPoint(x, y);
+      }
+        </inject-code> -->
+    </value-type>
+
+  <value-type name="QPolygonF">
+    <modify-function signature="operator+(QVector&lt;QPointF&gt;)const" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(QPointF)" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(QVector&lt;QPointF&gt;)" remove="all"/>
+  
+        <extra-includes>
+            <include file-name="qt.core.QPoint" location="java"/>
+        </extra-includes>
+
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPolygonF___" quote-before-line="}// class"/>
+        </inject-code>
+<!--
+        <inject-code class="native">
+      extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QPolygonF_add_1private)
+      (JNIEnv *__jni_env, jobject, jlong nativeId, jdouble x, jdouble y)
+      {
+          Q_UNUSED(__jni_env);
+          QPolygonF *polygon = (QPolygonF *) qtjambi_from_jlong(nativeId);
+          if (!polygon)
+              return;
+          *polygon &lt;&lt; QPointF(x, y);
+      }
+        </inject-code>
+		-->
+    <inject-code class="java">
+    public final void insert(int i, QPointF t) {
+        qtd_QPolygonF_insert_int_QPointF(nativeId, i, t);
+    }
+
+    public final void insert(int i, int n, QPointF t) {
+        qtd_QPolygonF_insert_int_int_QPointF(nativeId, i, n, t);
+    }
+    </inject-code>
+    <inject-code class="java-free">
+private extern(C) void  qtd_QPolygonF_insert_int_QPointF(void* __this_nativeId,
+ int i0,
+ QPointF t1);
+private extern(C) void  qtd_QPolygonF_insert_int_int_QPointF(void* __this_nativeId,
+ int i0,
+ int n1,
+ QPointF t2);
+    </inject-code>
+    <inject-code class="native">
+// QPolygonF::insert(int i, const QPointF &amp; t)
+extern "C" DLL_PUBLIC void qtd_QPolygonF_insert_int_QPointF
+(void* __this_nativeId,
+ int i0,
+ QPointF t1)
+{
+    QPolygonF *__qt_this = (QPolygonF *) __this_nativeId;
+    __qt_this->insert((int )i0, (const QPointF&amp; )t1);
+
+}
+
+// QPolygonF::insert(int i, int n, const QPointF &amp; t)
+extern "C" DLL_PUBLIC void qtd_QPolygonF_insert_int_int_QPointF
+(void* __this_nativeId,
+ int i0,
+ int n1,
+ QPointF t2)
+{
+    QPolygonF *__qt_this = (QPolygonF *) __this_nativeId;
+    __qt_this->insert((int )i0, (int )n1, (const QPointF&amp; )t2);
+
+}
+    </inject-code>
+    </value-type>
+
+  <value-type name="QIcon" delete-in-main-thread="yes">
+
+    <inject-code class="java">
+        <insert-template name="gui.class_from_variant_java">
+            <replace from="%CLASS_NAME" to="QIcon"/>
+        </insert-template>
+
+    </inject-code>   
+    <inject-code class="java-free">
+        <insert-template name="gui.class_from_variant_java_free">
+            <replace from="%CLASS_NAME" to="QIcon"/>
+        </insert-template>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="gui.class_from_variant_native">
+            <replace from="%CLASS_NAME" to="QIcon"/>
+        </insert-template>
+    </inject-code>
+
+    <modify-function signature="operator=(QIcon)" remove="all"/>
+    <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="QIcon(QIconEngineV2 *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QIcon(QIconEngine *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="operator QVariant()const" access="private"/>
+    <inject-code class="java">
+        public final QVariant toVariant() {
+            return operator_cast_QVariant();
+        }
+    </inject-code>
+
+  </value-type>
+
+  <value-type name="QTextFrame::iterator" delete-in-main-thread="yes">
+    <include file-name="QTextFrame" location="global"/>
+    <modify-function signature="operator++(int)" remove="all"/>
+    <modify-function signature="operator--(int)" remove="all"/>
+    <modify-function signature="operator=(QTextFrame::iterator)" remove="all"/>
+    <modify-function signature="operator++()" access="private"/>
+    <modify-function signature="operator--()" access="private"/>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextFrame_iterator___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QTreeWidgetItemIterator" delete-in-main-thread="yes">
+    <custom-constructor>
+    return new QTreeWidgetItemIterator(*copy);
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+    <modify-function signature="operator=(QTreeWidgetItemIterator)" remove="all"/>
+    <modify-function signature="operator++(int)" remove="all"/>
+    <modify-function signature="operator--(int)" remove="all"/>
+    <modify-function signature="operator+=(int)" access="private"/>
+    <modify-function signature="operator-=(int)" access="private"/>
+    <modify-function signature="operator++()" access="private"/>
+    <modify-function signature="operator--()" access="private"/>
+    <modify-function signature="operator*()const" access="private"/>
+   
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTreeWidgetItemIterator___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QTextBlock::iterator" delete-in-main-thread="yes">
+    <include file-name="QTextBlock" location="global"/>
+
+    <modify-function signature="operator++()" access="private"/>
+    <modify-function signature="operator--()" access="private"/>
+    <modify-function signature="operator++(int)" remove="all"/>
+    <modify-function signature="operator--(int)" remove="all"/>
+   
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextBlock_iterator___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QAbstractTextDocumentLayout::PaintContext" delete-in-main-thread="yes">
+    <include file-name="QAbstractTextDocumentLayout" location="global"/>
+  </value-type>
+  <value-type name="QAbstractTextDocumentLayout::Selection" delete-in-main-thread="yes"/>
+
+  <value-type name="QPixmap" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QPixmap)" remove="all"/>
+    <modify-function signature="operator!()const" remove="all"/>
+    <modify-function signature="operator QVariant()const" access="private"/>
+    <modify-function signature="QPixmap(const char **)" access="private"/>
+    <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPixmap___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="fill(const QColor &amp;)">
+            <modify-argument index="1">
+                <replace-default-expression with="QColor.White"/>
+            </modify-argument>
+        </modify-function>
+
+
+        <extra-includes>
+            <include file-name="QBitmap" location="global"/>
+            <include file-name="QMatrix" location="global"/>
+        </extra-includes>
+        
+    <inject-code class="java">
+        <insert-template name="gui.class_from_variant_java">
+            <replace from="%CLASS_NAME" to="QPixmap"/>
+        </insert-template>
+    </inject-code>   
+    <inject-code class="java-free">
+        <insert-template name="gui.class_from_variant_java_free">
+            <replace from="%CLASS_NAME" to="QPixmap"/>
+        </insert-template>
+    </inject-code>
+    <inject-code class="native">
+        <insert-template name="gui.class_from_variant_native_shell">
+            <replace from="%CLASS_NAME" to="QPixmap"/>
+        </insert-template>
+    </inject-code>
+
+        <modify-function signature="save(QIODevice *, const char *, int) const">
+            <access modifier="private"/>
+            <rename to="private_save"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_save">
+                <replace from="%INPUT_TYPE" to="qt.core.QIODevice"/>
+                <replace from="%INPUT_NAME" to="dev"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="save(const QString &amp;, const char *, int) const">
+            <access modifier="private"/>
+            <rename to="private_save"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_save">
+                <replace from="%INPUT_TYPE" to="String"/>
+                <replace from="%INPUT_NAME" to="fileName"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="QPixmap(QString,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_constructor"/>
+        </inject-code>
+
+        <modify-function signature="load(QString,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_load">
+                <replace from="%FUNCTION_NAME" to="load"/>
+                <replace from="%INPUT_TYPE" to="String"/>
+                <replace from="%INPUT_NAME" to="fileName"/>
+                <replace from="%OUTPUT_NAME" to="fileName"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="loadFromData(const unsigned char*,uint,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
+            <access modifier="private"/>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="4">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_load">
+                <replace from="%FUNCTION_NAME" to="loadFromData"/>
+                <replace from="%INPUT_TYPE" to="byte[]"/>
+                <replace from="%INPUT_NAME" to="data"/>
+                <replace from="%OUTPUT_NAME" to="qt.internal.QtJambiInternal.byteArrayToNativePointer(data), data.length"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="loadFromData(QByteArray,const char*,QFlags&lt;Qt::ImageConversionFlag&gt;)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_load">
+                <replace from="%FUNCTION_NAME" to="loadFromData"/>
+                <replace from="%INPUT_TYPE" to="qt.core.QByteArray"/>
+                <replace from="%INPUT_NAME" to="data"/>
+                <replace from="%OUTPUT_NAME" to="data"/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QTextCursor" delete-in-main-thread="yes">
+    <extra-includes>
+        <include file-name="QTextBlock" location="global"/>
+        <include file-name="QTextDocumentFragment" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QTextCursor)" remove="all"/>
+    <modify-function signature="selectedTableCells(int*,int*,int*,int*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextCursor___" quote-before-line="}// class"/>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QTextLayout::FormatRange">
+    <include file-name="QTextLayout" location="global"/>
+  </value-type>
+
+  <value-type name="QInputMethodEvent::Attribute">
+    <include file-name="QInputMethodEvent" location="global"/>
+    <custom-constructor>
+    return new QInputMethodEvent::Attribute(copy-&gt;type, copy-&gt;start, copy-&gt;length, copy-&gt;value);
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+  </value-type>
+
+  <value-type name="QItemSelection" delete-in-main-thread="yes">
+
+    <modify-function signature="operator+(const QList&lt;QItemSelectionRange&gt;&amp;)const" remove="all"/>
+    <modify-function signature="operator+=(const QList&lt;QItemSelectionRange&gt;&amp;)" remove="all"/>
+    <modify-function signature="operator+=(const QItemSelectionRange&amp;)" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(const QList&lt;QItemSelectionRange&gt;&amp;)" remove="all"/>
+    <modify-function signature="operator&lt;&lt;(QItemSelectionRange)" remove="all"/>
+<!--  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QItemSelection___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="split(QItemSelectionRange,QItemSelectionRange,QItemSelection*)">
+            <access modifier="private"/>
+        </modify-function>
+-->
+
+    </value-type>
+
+  <value-type name="QMatrix">
+      <extra-includes>
+        <include file-name="QPainterPath" location="global"/>
+      </extra-includes>
+
+      <modify-function signature="map(int,int,int*,int*)const" remove="all"/>
+      <modify-function signature="map(double,double,double*,double*)const" remove="all"/>
+      <modify-function signature="operator=(QMatrix)" remove="all"/>
+
+      <modify-function signature="operator*(QMatrix)const" access="private"/>
+      <modify-function signature="operator*=(QMatrix)" access="private"/>
+      <modify-function signature="rotate(double)" access="private" rename="rotate_private"/>
+      <modify-function signature="scale(double,double)" access="private" rename="scale_private"/>
+      <modify-function signature="shear(double,double)" access="private" rename="shear_private"/>
+      <modify-function signature="translate(double,double)" access="private" rename="translate_private"/>
+
+      <modify-function signature="inverted(bool*)const">
+        <access modifier="private"/>
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+      </modify-function>
+
+    <inject-code>
+      <insert-template name="core.unary_other_type">
+        <replace from="%FUNCTION_NAME" to="rotate"/>
+        <replace from="%OUT_TYPE" to="QMatrix"/>
+        <replace from="%IN_TYPE" to="double"/>
+      </insert-template>
+
+      <insert-template name="core.private_function_return_self">
+        <replace from="%RETURN_TYPE" to="QMatrix"/>
+        <replace from="%FUNCTION_NAME" to="scale"/>
+        <replace from="%ARGUMENTS" to="double sx, double sy"/>
+        <replace from="%ARGUMENT_NAMES" to="sx, sy"/>
+      </insert-template>
+
+      <insert-template name="core.private_function_return_self">
+        <replace from="%RETURN_TYPE" to="QMatrix"/>
+        <replace from="%FUNCTION_NAME" to="shear"/>
+        <replace from="%ARGUMENTS" to="double sh, double sv"/>
+        <replace from="%ARGUMENT_NAMES" to="sh, sv"/>
+      </insert-template>
+
+      <insert-template name="core.private_function_return_self">
+        <replace from="%RETURN_TYPE" to="QMatrix"/>
+        <replace from="%FUNCTION_NAME" to="translate"/>
+        <replace from="%ARGUMENTS" to="double dx, double dy"/>
+        <replace from="%ARGUMENT_NAMES" to="dx, dy"/>
+      </insert-template>
+    </inject-code>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QMatrix___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QConicalGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::ConicalGradient">
+    <custom-constructor>
+    return new QConicalGradient(copy-&gt;center(), copy-&gt;angle());
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+  </value-type>
+
+  <value-type name="QFontInfo"> <!-- delete-in-main-thread="yes" expense-cost="1" expense-limit="1000"> -->
+    <custom-constructor>
+    return new QFontInfo(*copy);
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+    <modify-function signature="operator=(QFontInfo)" remove="all"/>
+
+  </value-type>
+
+  <value-type name="QRadialGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::RadialGradient">
+    <custom-constructor>
+    return new QRadialGradient(copy-&gt;center(), copy-&gt;radius(), copy-&gt;focalPoint());
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+  </value-type>
+
+  <value-type name="QPainterPath::Element">
+    <modify-field name="x" write="false"/>
+    <modify-field name="y" write="false"/>
+    <modify-field name="type" write="false"/>
+    <include file-name="QPainterPath" location="global"/>
+    <modify-function signature="operator QPointF()const" access="private"/>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPainterPath_Element___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </value-type>
+
+  <value-type name="QTextEdit::ExtraSelection" delete-in-main-thread="yes">
+    <include file-name="QTextEdit" location="global"/>
+  </value-type>
+
+  <value-type name="QFont" delete-in-main-thread="yes"> <!-- <expense-cost="1" expense-limit="1000"> -->
+
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QFont)" remove="all"/>
+  </value-type>
+
+  <value-type name="QTextTableCell" delete-in-main-thread="yes">
+    <extra-includes>
+        <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QTextTableCell)" remove="all"/>
+  </value-type>
+
+  <value-type name="QImage"> <!-- expense-limit="67108864" expense-cost="height()*bytesPerLine()"> -->
+    <modify-function signature="QImage(const char *, const char *)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="QImage(const char **)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="QImage(const unsigned char*,int,int,int,QImage::Format)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="bits()const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="scanLine(int)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="QImage(const unsigned char *, int, int, QImage::Format)">
+        <remove/>
+    </modify-function>
+
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QMatrix" location="global"/>
+    </extra-includes>
+    <modify-function signature="save(const QString &amp;, const char *, int) const">
+        <access modifier="private"/>
+        <rename to="private_save"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="QImage(unsigned char*,int,int,QImage::Format)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="QImage(QString,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="load(QString,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="load(QIODevice*,const char*)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="loadFromData(const unsigned char*,int,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="loadFromData(QByteArray,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="operator=(QImage)" remove="all"/>
+
+    <modify-function signature="setText(const char*,const char*,QString)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="text(const char*,const char*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="fromData(QByteArray,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="fromData(const unsigned char*,int,const char*)">
+        <remove/>
+    </modify-function>
+
+      <modify-function signature="serialNumber()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="textLanguages()const" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QImage___" quote-before-line="}// class"/>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.pixmap_save">
+                <replace from="%INPUT_TYPE" to="String"/>
+                <replace from="%INPUT_NAME" to="fileName"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="save(QIODevice *, const char *, int) const">
+            <access modifier="private"/>
+            <rename to="private_save"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.pixmap_save">
+                <replace from="%INPUT_TYPE" to="qt.core.QIODevice"/>
+                <replace from="%INPUT_NAME" to="dev"/>
+            </insert-template>
+        </inject-code>
+
+        <template name="gui.image_load">
+        public final boolean %FUNCTION_NAME(%ARGUMENT_TYPE %ARGUMENT_NAME, String format) {
+            return %FUNCTION_NAME(%OUT_ARGUMENT_NAME, format != null ? QNativePointer.createCharPointer(format) : null);
+        }
+
+        public final boolean %FUNCTION_NAME(%ARGUMENT_TYPE %ARGUMENT_NAME) {
+            return %FUNCTION_NAME(%ARGUMENT_NAME, (String) null);
+        }
+        </template>
+<!--
+        <inject-code>
+            <insert-template name="gui.image_load">
+                <replace from="%FUNCTION_NAME" to="load"/>
+                <replace from="%ARGUMENT_TYPE" to="String"/>
+                <replace from="%ARGUMENT_NAME" to="fileName"/>
+                <replace from="%OUT_ARGUMENT_NAME" to="fileName"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.image_load">
+                <replace from="%FUNCTION_NAME" to="load"/>
+                <replace from="%ARGUMENT_TYPE" to="qt.core.QIODevice"/>
+                <replace from="%ARGUMENT_NAME" to="device"/>
+                <replace from="%OUT_ARGUMENT_NAME" to="device"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.image_load">
+                <replace from="%FUNCTION_NAME" to="loadFromData"/>
+                <replace from="%ARGUMENT_TYPE" to="byte[]"/>
+                <replace from="%ARGUMENT_NAME" to="data"/>
+                <replace from="%OUT_ARGUMENT_NAME" to="qt.internal.QtJambiInternal.byteArrayToNativePointer(data), data.length"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.image_load">
+                <replace from="%FUNCTION_NAME" to="loadFromData"/>
+                <replace from="%ARGUMENT_TYPE" to="qt.core.QByteArray"/>
+                <replace from="%ARGUMENT_NAME" to="data"/>
+                <replace from="%OUT_ARGUMENT_NAME" to="data"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.image_load">
+                <replace from="%FUNCTION_NAME" to="fromData"/>
+                <replace from="%ARGUMENT_TYPE" to="qt.core.QByteArray"/>
+                <replace from="%ARGUMENT_NAME" to="data"/>
+                <replace from="%OUT_ARGUMENT_NAME" to="data"/>
+                <replace from="boolean" to="QImage"/>
+                <replace from="final" to="static"/>
+            </insert-template>
+        </inject-code>
+		-->
+    </value-type>
+
+  <value-type name="QColormap" delete-in-main-thread="yes">
+    <modify-function signature="operator=(QColormap)" remove="all"/>
+    <extra-includes>
+        <include file-name="QColor" location="global"/>
+    </extra-includes>
+    <custom-constructor>
+    return new QColormap(*copy);
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+  </value-type>
+
+  <value-type name="QCursor" delete-in-main-thread="yes">
+     <extra-includes>
+        <include file-name="QPixmap" location="global"/>
+    </extra-includes>
+    <modify-function signature="operator=(QCursor)" remove="all"/>
+<!--  
+        <template name="gui.cursor_bitmap_getter">
+            <insert-template name="gui.getter_returning_nativepointer">
+                <replace from="%RETURN_TYPE" to="QBitmap"/>
+            </insert-template>
+        </template>
+
+        <modify-function signature="bitmap()const">
+            <access modifier="private"/>
+            <rename to="bitmap_private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.cursor_bitmap_getter">
+                <replace from="%FUNCTION_NAME" to="bitmap"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="mask()const">
+            <access modifier="private"/>
+            <rename to="mask_private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.cursor_bitmap_getter">
+                <replace from="%FUNCTION_NAME" to="mask"/>
+            </insert-template>
+        </inject-code>
+		-->
+    </value-type>
+
+  <value-type name="QFontDatabase" delete-in-main-thread="yes">
+      <extra-includes>
+        <include file-name="QStringList" location="global"/>
+    </extra-includes>
+  </value-type>
+
+  <value-type name="QPen">
+      <extra-includes>
+        <include file-name="QBrush" location="global"/>
+    </extra-includes>
+
+    <modify-function signature="operator=(QPen)" remove="all"/>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPen___" quote-before-line="}// class"/>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QBrush">
+    <modify-function signature="QBrush(Qt::GlobalColor, Qt::BrushStyle)" remove="all"/>
+    <modify-function signature="operator=(const QBrush &amp;)" remove="all"/>
+	<!-- restore later - abstract class not handled-->
+	<modify-function signature="gradient() const" remove="all"/>
+    
+	<extra-includes>
+        <include file-name="QPixmap" location="global"/>
+    </extra-includes>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QBrush___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+        <modify-function signature="gradient()const">
+            <!-- Use custom constructors already defined for gradient -->
+            <modify-argument index="0">
+                <replace-type modified-type="qt.gui.QGradient"/>
+                <conversion-rule class="native">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QGradient", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QGradient_2", true);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+    </value-type>
+
+  <value-type name="QColor">
+    <modify-function signature="QColor(QColor::Spec)" remove="all"/>
+    <modify-function signature="operator=(QColor)" remove="all"/>
+    <modify-function signature="operator=(Qt::GlobalColor)" remove="all"/>
+
+    <modify-function signature="QColor(const char*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getCmyk(int*,int*,int*,int*,int*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getCmykF(double*,double*,double*,double*,double*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getHsv(int*,int*,int*,int*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getHsvF(double*,double*,double*,double*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getRgb(int*,int*,int*,int*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getRgbF(double*,double*,double*,double*)const">
+        <remove/>
+    </modify-function>
+
+      <modify-function signature="dark(int)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="light(int)const" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QColor___" quote-before-line="}// class"/>
+        </inject-code>
+    </value-type>
+
+  <value-type name="QFontMetricsF" delete-in-main-thread="yes"> <!-- expense-cost="1" expense-limit="1000"> -->
+<!--    <custom-constructor>
+        return new QFontMetricsF(*copy);
+    </custom-constructor>
+    <custom-destructor>
+        delete copy;
+    </custom-destructor>
+    -->
+    <modify-function signature="operator!=(const QFontMetricsF &amp;)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="operator==(const QFontMetricsF &amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="boundingRect(QRectF,int,QString,int,int*)const">
+        <access modifier="private"/>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="operator=(QFontMetrics)" remove="all"/>
+    <modify-function signature="operator=(QFontMetricsF)" remove="all"/>
+
+    <modify-function signature="size(int,QString,int,int*)const">
+        <access modifier="private"/>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+   
+        <template name="gui.fontmetricsf_boundingrect">
+            <insert-template name="gui.fontmetrics_tabarray_function">
+                <replace from="%RETURN_TYPE" to="qt.core.QRectF"/>
+                <replace from="%FUNCTION_NAME" to="boundingRect"/>
+                <replace from="%RECT_ARGUMENTS" to="%RECT_ARGUMENTS, "/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="%RECT_CALL_ARGUMENTS, "/>
+            </insert-template>
+        </template>
+
+        <inject-code>
+            <insert-template name="gui.fontmetricsf_boundingrect">
+                <replace from="%RECT_ARGUMENTS" to="qt.core.QRectF rect"/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="rect"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.fontmetrics_tabarray_function">
+                <replace from="%RETURN_TYPE" to="qt.core.QSizeF"/>
+                <replace from="%FUNCTION_NAME" to="size"/>
+                <replace from="%RECT_ARGUMENTS" to=""/>
+                <replace from="%RECT_CALL_ARGUMENTS" to=""/>
+            </insert-template>
+        </inject-code>
+    </value-type>
+   <value-type name="QTextOption::Tab"/>
+
+  <value-type name="QFontMetrics" delete-in-main-thread="yes"> <!-- <expense-cost="1" expense-limit="1000">
+    <custom-constructor>
+        return new QFontMetrics(*copy);
+    </custom-constructor>
+    <custom-destructor>
+        delete copy;
+    </custom-destructor>-->
+    <modify-function signature="operator!=(const QFontMetrics &amp;)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="operator==(const QFontMetrics &amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="boundingRect(int,int,int,int,int,QString,int,int*)const">
+        <access modifier="private"/>
+        <modify-argument index="7">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="8">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="boundingRect(QRect,int,QString,int,int*)const">
+        <access modifier="private"/>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="operator=(QFontMetrics)" remove="all"/>
+
+    <modify-function signature="size(int,QString,int,int*)const">
+        <access modifier="private"/>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+ <!-- 
+        <template name="gui.fontmetrics_tabarray_function">
+        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text, int tabStops, int tabArray[]) {
+            QNativePointer np = tabArray == null ? null : new QNativePointer(QNativePointer.Type.Int, tabArray.length + 1);
+            if (np != null) {
+                for (int i=0; i&lt;tabArray.length; ++i) np.setIntAt(i, tabArray[i]);
+                np.setIntAt(tabArray.length, 0);
+            }
+            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, tabStops, np);
+        }
+
+        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text, int tabStops) {
+            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, tabStops, (int []) null);
+        }
+
+        public final %RETURN_TYPE %FUNCTION_NAME(%RECT_ARGUMENTSint flags, String text) {
+            return %FUNCTION_NAME(%RECT_CALL_ARGUMENTSflags, text, 0);
+        }
+        </template>
+
+        <template name="gui.fontmetrics_boundingrect">
+            <insert-template name="gui.fontmetrics_tabarray_function">
+                <replace from="%RETURN_TYPE" to="qt.core.QRect"/>
+                <replace from="%FUNCTION_NAME" to="boundingRect"/>
+                <replace from="%RECT_ARGUMENTS" to="%RECT_ARGUMENTS, "/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="%RECT_CALL_ARGUMENTS, "/>
+            </insert-template>
+        </template>
+
+        <inject-code>
+            <insert-template name="gui.fontmetrics_boundingrect">
+                <replace from="%RECT_ARGUMENTS" to="int x, int y, int width, int height"/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="x, y, width, height"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.fontmetrics_boundingrect">
+                <replace from="%RECT_ARGUMENTS" to="qt.core.QRect rect"/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="rect"/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.fontmetrics_tabarray_function">
+                <replace from="%RETURN_TYPE" to="qt.core.QSize"/>
+                <replace from="%FUNCTION_NAME" to="size"/>
+                <replace from="%RECT_ARGUMENTS" to=""/>
+                <replace from="%RECT_CALL_ARGUMENTS" to=""/>
+            </insert-template>
+        </inject-code>-->
+    </value-type>
+
+  <value-type name="QGradient" force-abstract="yes" polymorphic-base="yes" polymorphic-id-expression="%1-&gt;type() == QGradient::NoGradient">
+    <custom-constructor>
+    Q_UNUSED(copy)
+    qWarning("Copying empty QGradient object");
+    return new QGradient();
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+    <modify-function signature="operator==(const QGradient &amp;)">
+        <remove/>
+    </modify-function>
+  </value-type>
+
+  <value-type name="QLinearGradient" polymorphic-id-expression="%1-&gt;type() == QGradient::LinearGradient">
+    <custom-constructor>
+    QLinearGradient *lg = new QLinearGradient(copy-&gt;start(), copy-&gt;finalStop());
+    lg-&gt;setSpread(copy-&gt;spread());
+    lg-&gt;setStops(copy-&gt;stops());
+    return (void *) lg;
+    </custom-constructor>
+    <custom-destructor>
+    delete copy;
+    </custom-destructor>
+  </value-type>
+
+  <value-type name="QPrinterInfo">
+    <modify-function signature="operator=(const QPrinterInfo &amp;)" remove="all"/>
+  </value-type>
+
+  <interface-type name="QLayoutItem">
+    <modify-field name="align">
+      <rename to="align_"/>
+    </modify-field>
+  </interface-type>
+  <interface-type name="QPaintDevice">
+	
+	<modify-function signature="paintEngine () const">
+		<store-result/>
+	</modify-function>
+	
+  </interface-type>
+  
+  <interface-type name="QGraphicsItem" delete-in-main-thread="yes">
+	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+	
+    <modify-function signature="matrix()const" remove="all"/>
+    <modify-function signature="resetMatrix()" remove="all"/>
+    <modify-function signature="sceneMatrix()const" remove="all"/>
+    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
+
+    <modify-function signature="children()const" remove="all"/>
+  <!--
+    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
+
+    <modify-function signature="paint(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="collidesWithItem(const QGraphicsItem*,Qt::ItemSelectionMode)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="contextMenuEvent(QGraphicsSceneContextMenuEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragEnterEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragLeaveEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragMoveEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dropEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusInEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusOutEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="hoverEnterEvent(QGraphicsSceneHoverEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="hoverLeaveEvent(QGraphicsSceneHoverEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="hoverMoveEvent(QGraphicsSceneHoverEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="isObscuredBy(const QGraphicsItem*)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyPressEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseDoubleClickEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseMoveEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mousePressEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseReleaseEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="sceneEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="sceneEventFilter(QGraphicsItem*,QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+        <modify-argument index="2" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="wheelEvent(QGraphicsSceneWheelEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="children()const" remove="all"/>
+    <modify-function signature="installSceneEventFilter(QGraphicsItem *)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeSceneEventFilter(QGraphicsItem *)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  
+
+        <modify-function signature="QGraphicsItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+            if (%1 != null)
+                disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+
+        <modify-function signature="paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *)">
+            <modify-argument index="2">
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionGraphicsItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    const QStyleOptionGraphicsItem *%out = (QStyleOptionGraphicsItem *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem"/>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="setGroup(QGraphicsItemGroup*)">
+            <modify-argument index="1">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="beginning">
+                qt.gui.QGraphicsItemGroup oldGroup = group();
+            </inject-code>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+            if (%1 == null &amp;&amp; oldGroup != null &amp;&amp; oldGroup.parentItem() == null)
+                reenableGarbageCollection();
+            else
+                disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+
+        <modify-function signature="setParentItem(QGraphicsItem*)">
+            <modify-argument index="1">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+            if (%1 == null)
+                reenableGarbageCollection();
+            else
+                disableGarbageCollection();
+            </inject-code>
+        </modify-function> -->
+    </interface-type>
+
+  <object-type name="QAbstractGraphicsShapeItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+  <!--
+    <modify-function signature="QAbstractGraphicsShapeItem(QGraphicsItem*,QGraphicsScene*)">
+        <inject-code position="end">
+            <argument-map index="1" meta-name="%1"/>
+            if (%1 != null) disableGarbageCollection();
+        </inject-code>
+    </modify-function>
+   -->
+    <modify-function signature="matrix()const" remove="all"/>
+    <modify-function signature="resetMatrix()" remove="all"/>
+    <modify-function signature="sceneMatrix()const" remove="all"/>
+    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/>
+    <!--
+        <modify-function signature="QAbstractGraphicsShapeItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+            if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+
+  <object-type name="QAbstractItemView">
+<!--     <extra-includes>
+        <include file-name="tango.util.container.HashMap" location="java"/>
+    </extra-includes>-->
+      <modify-function signature="update()" remove="all"/>
+      <modify-function signature="horizontalStepsPerItem()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setHorizontalStepsPerItem(int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setVerticalStepsPerItem(int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="verticalStepsPerItem()const" remove="all"/> <!--### Obsolete in 4.3-->
+
+      <modify-function signature="edit(QModelIndex,QAbstractItemView::EditTrigger,QEvent*)">
+        <modify-argument index="3" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="selectionCommand(QModelIndex,const QEvent*)const">
+        <modify-argument index="2" invalidate-after-use="yes"/>
+      </modify-function>
+
+<!--      <modify-function signature="QAbstractItemView(QWidget*)">
+        <inject-code class="java" position="end">
+    __rcDelegatesForColumns = new HashMap!(int, QAbstractItemDelegate);
+    __rcDelegatesForRows = new HashMap!(int, QAbstractItemDelegate);
+        </inject-code>
+      </modify-function>
+ --> 
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractItemView___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+        <modify-function signature="setIndexWidget(const QModelIndex &amp;,QWidget *)">
+            <modify-argument index="2">
+                <!-- Safe to ignore because view reparents widget -->
+                <reference-count action="ignore"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="setItemDelegate(QAbstractItemDelegate *)">
+            <modify-argument index="1">
+                <reference-count action="set" variable-name="__rcItemDelegate"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="setModel(QAbstractItemModel *)">
+            <modify-argument index="1">
+                <reference-count action="set" variable-name="__rcItemModel"/>
+            </modify-argument>
+            <inject-code class="java" position="end">
+                // setModel() creates a new selection model for the object
+                __rcItemSelectionModel = null;
+            </inject-code>
+        </modify-function>
+        <modify-function signature="setSelectionModel(QItemSelectionModel *)">
+            <modify-argument index="1">
+                <no-null-pointer/>
+                <reference-count action="set" variable-name="__rcItemSelectionModel"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="setItemDelegateForColumn(int,QAbstractItemDelegate*)">
+            <modify-argument index="2">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 is null)
+                    __rcDelegatesForColumns.remove(%1);
+                else
+                    __rcDelegatesForColumns[%1] = %2;
+            </inject-code>
+        </modify-function>
+        <modify-function signature="setItemDelegateForRow(int,QAbstractItemDelegate*)">
+            <modify-argument index="2">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 is null)
+                    __rcDelegatesForRows.remove(%1);
+                else
+                    __rcDelegatesForRows[%1] = %2;
+            </inject-code>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QAbstractPageSetupDialog"/>
+  <object-type name="QAbstractPrintDialog"/>
+  <object-type name="QAbstractSlider"/>
+  <object-type name="QAbstractTextDocumentLayout">
+    <modify-function signature="setPaintDevice(QPaintDevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcPaintDevice"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="draw(QPainter*,QAbstractTextDocumentLayout::PaintContext)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawInlineObject(QPainter*,QRectF,QTextInlineObject,int,QTextFormat)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QAccessible">
+    <modify-function signature="initialize()" remove="all"/>
+    <modify-function signature="cleanup()" remove="all"/>
+    <modify-function signature="setRootObject(QObject *)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="queryAccessibleInterface(QObject *)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="java"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QAccessibleBridge">
+    <modify-function signature="setRootObject(QAccessibleInterface *)">
+        <modify-argument index="1">
+            <define-ownership class="shell" owner="java"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="notifyAccessibilityUpdate(int,QAccessibleInterface*,int)">
+        <modify-argument invalidate-after-use="yes" index="2"/>
+    </modify-function>
+  </object-type>
+  <object-type name="QAccessible2Interface"/>
+<!--  <object-type name="QAccessibleTableInterface">
+    <modify-function signature="qAccessibleTableCastHelper()" remove="all"/>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAccessibleTableInterface___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+        <modify-function signature="cellAtIndex(int,int*,int*,int*,int*,bool*)">
+        <modify-argument index="2">
+            <remove-argument/>
+            <conversion-rule class="native">
+                int rowHolder;
+                int *%out = &amp;rowHolder;
+            </conversion-rule>
+            <conversion-rule class="shell">
+                // nothing
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-argument/>
+            <conversion-rule class="native">
+                int columnHolder;
+                int *%out = &amp;columnHolder;
+            </conversion-rule>
+            <conversion-rule class="shell">
+                // nothing
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-argument/>
+            <conversion-rule class="native">
+                int rowSpanHolder;
+                int *%out = &amp;rowSpanHolder;
+            </conversion-rule>
+            <conversion-rule class="shell">
+                // nothing
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-argument/>
+            <conversion-rule class="native">
+                int columnSpanHolder;
+                int *%out = &amp;columnSpanHolder;
+            </conversion-rule>
+            <conversion-rule class="shell">
+                // nothing
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="6">
+            <remove-argument/>
+            <conversion-rule class="native">
+                bool isSelectedHolder = false;
+                bool *%out = &amp;isSelectedHolder;
+            </conversion-rule>
+            <conversion-rule class="shell">
+                // no conversion
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="return">
+            <replace-type modified-type="qt.gui.QAccessibleTableInterface$CellAtIndex"/>
+            <conversion-rule class="native">
+                jobject %out = qtjambi_to_cellatindex(__jni_env, rowHolder, columnHolder, rowSpanHolder, columnSpanHolder, isSelectedHolder);
+            </conversion-rule>
+            <conversion-rule class="shell">
+                qtjambi_from_cellatindex(__jni_env, %in, %2, %3, %4, %5, %6);
+            </conversion-rule>
+        </modify-argument>
+        </modify-function>
+
+        <modify-function signature="selectedColumns(int,QList&lt;int&gt;*)">
+        <modify-argument index="2">
+            <replace-type modified-type="java.util.List&lt;Integer&gt;"/>
+            <conversion-rule class="shell">
+                StaticCache *sc = StaticCache::instance();
+                sc-&gt;resolveArrayList();
+                sc-&gt;resolveCollection();
+                sc-&gt;resolveInteger();
+
+                jobject columnsHolder = 0;
+                if (%in != 0) {
+                    columnsHolder = __jni_env-&gt;NewObject(sc-&gt;ArrayList.class_ref, sc-&gt;ArrayList.constructor, %in-&gt;size());
+                    qtjambi_exception_check(__jni_env);
+                    if (columnsHolder != 0) for (int i=0; i&lt;%in-&gt;size(); i++) {
+                        __jni_env-&gt;CallVoidMethod(columnsHolder, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, %in-&gt;at(i)));
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+                jobject %out = columnsHolder;
+            </conversion-rule>
+            <conversion-rule class="native">
+                StaticCache *sc = StaticCache::instance();
+                sc-&gt;resolveCollection();
+
+                QList&lt;int&gt; columnHolder;
+                if (%in != 0) {
+                    jobjectArray columnsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(%in, sc-&gt;Collection.toArray);
+                    if (columnsAsArray != 0) {
+                        int len = __jni_env-&gt;GetArrayLength(columnsAsArray);
+                        for (int i=0; i&lt;len; ++i) {
+                            columnHolder.append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(columnsAsArray, i)));
+                        }
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+                QList&lt;int&gt; *%out = &amp;columnHolder;
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="return">
+            <conversion-rule class="shell">
+                // Copy back
+                if (columnsHolder != 0) {
+                    jobjectArray columnsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(columnsHolder, sc-&gt;Collection.toArray);
+                    if (columnsAsArray != 0) {
+                        int len = __jni_env-&gt;GetArrayLength(columnsAsArray);
+                        %2-&gt;clear();
+                        for (int i=0; i&lt;len; ++i) {
+                            %2-&gt;append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(columnsAsArray, i)));
+                        }
+                    }
+                }
+
+                int %out = %in;
+            </conversion-rule>
+            <conversion-rule class="native">
+                // Copy back
+                if (%2 != 0) {
+                    __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.clear);
+                    for (int i=0; i&lt;columnHolder.size(); ++i) {
+                        __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, columnHolder.at(i)));
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+
+                jint %out = %in;
+            </conversion-rule>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="selectedRows(int,QList&lt;int&gt;*)">
+        <modify-argument index="2">
+            <replace-type modified-type="java.util.List&lt;Integer&gt;"/>
+            <conversion-rule class="shell">
+                StaticCache *sc = StaticCache::instance();
+                sc-&gt;resolveArrayList();
+                sc-&gt;resolveCollection();
+                sc-&gt;resolveInteger();
+
+                jobject rowsHolder = 0;
+                if (%in != 0) {
+                    rowsHolder = __jni_env-&gt;NewObject(sc-&gt;ArrayList.class_ref, sc-&gt;ArrayList.constructor, %in-&gt;size());
+                    qtjambi_exception_check(__jni_env);
+                    if (rowsHolder != 0) for (int i=0; i&lt;%in-&gt;size(); i++) {
+                        __jni_env-&gt;CallVoidMethod(rowsHolder, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, %in-&gt;at(i)));
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+                jobject %out = rowsHolder;
+            </conversion-rule>
+            <conversion-rule class="native">
+                StaticCache *sc = StaticCache::instance();
+                sc-&gt;resolveCollection();
+
+                QList&lt;int&gt; rowsHolder;
+                if (%in != 0) {
+                    jobjectArray rowsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(%in, sc-&gt;Collection.toArray);
+                    if (rowsAsArray != 0) {
+                        int len = __jni_env-&gt;GetArrayLength(rowsAsArray);
+                        for (int i=0; i&lt;len; ++i) {
+                            rowsHolder.append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(rowsAsArray, i)));
+                        }
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+                QList&lt;int&gt; *%out = &amp;rowsHolder;
+            </conversion-rule>
+        </modify-argument>
+        <modify-argument index="return">
+            <conversion-rule class="shell">
+                // Copy back
+                if (rowsHolder != 0) {
+                    jobjectArray rowsAsArray = (jobjectArray) __jni_env-&gt;CallObjectMethod(rowsHolder, sc-&gt;Collection.toArray);
+                    if (rowsAsArray != 0) {
+                        int len = __jni_env-&gt;GetArrayLength(rowsAsArray);
+                        %2-&gt;clear();
+                        for (int i=0; i&lt;len; ++i) {
+                            %2-&gt;append(qtjambi_to_int(__jni_env, __jni_env-&gt;GetObjectArrayElement(rowsAsArray, i)));
+                        }
+                    }
+                }
+
+                int %out = %in;
+            </conversion-rule>
+            <conversion-rule class="native">
+                // Copy back
+                if (%2 != 0) {
+                    __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.clear);
+                    for (int i=0; i&lt;rowsHolder.size(); ++i) {
+                        __jni_env-&gt;CallVoidMethod(%2, sc-&gt;Collection.add, qtjambi_from_int(__jni_env, rowsHolder.at(i)));
+                    }
+                    qtjambi_exception_check(__jni_env);
+                }
+
+                jint %out = %in;
+            </conversion-rule>
+        </modify-argument>
+        </modify-function>
+
+    </object-type>         -->
+
+  <object-type name="QAccessibleInterface">
+    <modify-function signature="indexOfChild(const QAccessibleInterface*)const">
+        <modify-argument invalidate-after-use="yes" index="1"/>
+    </modify-function>
+    <modify-function signature="relationTo(int,const QAccessibleInterface*,int)const">
+        <modify-argument invalidate-after-use="yes" index="2"/>
+    </modify-function>
+    
+<!--    <modify-function signature="navigate(QAccessible::RelationFlag,int,QAccessibleInterface**)const" remove="all"/> --><!-- TODO -->
+
+<!--  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAccessibleInterface___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+        <template name="gui.accessible_interface_to_target">
+        jclass __target_class = resolveClass(__jni_env, "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
+        QTJAMBI_EXCEPTION_CHECK(__jni_env);
+        Q_ASSERT(__target_class);
+
+        jmethodID __target_constructor = resolveMethod(__jni_env, "&lt;init&gt;", "(ILcom/trolltech/qt/gui/QAccessibleInterface;)V", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
+        QTJAMBI_EXCEPTION_CHECK(__jni_env);
+        Q_ASSERT(__target_constructor);
+
+        jobject __java_interface = %TARGET != 0 ? qtjambi_from_object(__jni_env, %TARGET, "QAccessibleInterface$ConcreteWrapper", "com/trolltech/qt/gui/", true) : 0;
+
+        jobject %OUTPUT = __jni_env-&gt;NewObject(__target_class, __target_constructor, %CHILD_INDEX, __java_interface);
+        </template>
+
+        <modify-function signature="navigate(QAccessible::RelationFlag,int,QAccessibleInterface**)const">
+            <modify-argument index="3">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QAccessibleInterface *__qt_interface = 0;
+                    QAccessibleInterface **%out = &amp;__qt_interface;
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <replace-type modified-type="qt.gui.QAccessibleInterface$Target"/>
+                <conversion-rule class="native">
+                    <insert-template name="gui.accessible_interface_to_target">
+                        <replace from="%TARGET" to="__qt_interface"/>
+                        <replace from="%CHILD_INDEX" to="%in"/>
+                        <replace from="%OUTPUT" to="%out"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    jfieldID __childIndex_id = resolveField(__jni_env, "childIndex", "I", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
+                    Q_ASSERT(__childIndex_id);
+
+                    jfieldID __target_id = resolveField(__jni_env, "target", "Lcom/trolltech/qt/gui/QAccessibleInterface;", "QAccessibleInterface$Target", "com/trolltech/qt/gui/");
+                    Q_ASSERT(__target_id);
+
+                    jint %out = __jni_env-&gt;GetIntField(%in, __childIndex_id);
+
+                    jobject __java_interface = __jni_env-&gt;GetObjectField(%in, __target_id);
+                    QtJambiLink *__qt_link = __java_interface != 0 ? QtJambiLink::findLink(__jni_env, __java_interface) : 0;
+                    if (__qt_link != 0) __qt_link-&gt;disableGarbageCollection(__jni_env, __java_interface);
+                    QAccessibleInterface *__qt_interface = __qt_link != 0 ? (QAccessibleInterface *) __qt_link-&gt;pointer() : 0;
+
+                    if (%3 != 0) *%3 = __qt_interface;
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+        -->
+    </object-type>
+  <object-type name="QAccessibleInterfaceEx"/>
+  <object-type name="QAccessibleObject"/>
+  <object-type name="QAccessibleObjectEx"/>
+  <object-type name="QAccessibleWidget"/>
+  <object-type name="QAccessibleWidgetEx"/>
+  <object-type name="QActionGroup">
+        <modify-function signature="addAction(QAction*)">
+            <modify-argument index="1">
+                <reference-count action="add" variable-name="__rcActions"/>
+            </modify-argument>
+<!--            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                qt.GeneratorUtilities.setField(%1, QAction.class, "__rcActionGroup", this);
+            </inject-code> -->
+        </modify-function>
+        <modify-function signature="removeAction(QAction*)">
+            <modify-argument index="1">
+                <reference-count action="remove" variable-name="__rcActions"/>
+            </modify-argument>
+<!--            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                qt.GeneratorUtilities.setField(%1, QAction.class, "__rcActionGroup", null);
+            </inject-code> -->
+        </modify-function>
+    </object-type>
+  <object-type name="QCDEStyle">
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QCheckBox">
+<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionButton"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+  <object-type name="QCleanlooksStyle">
+    <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QCommonStyle">
+      <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*,const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QDataWidgetMapper">
+    <modify-function signature="addMapping(QWidget*,int)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcMappings"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addMapping(QWidget*,int,QByteArray)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcMappings"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeMapping(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcMappings"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemDelegate(QAbstractItemDelegate*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcItemDelegate"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcModel"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QDateEdit"/>
+  <object-type name="QDesktopServices">
+    <modify-function signature="setUrlHandler(const QString &amp;, QObject *, const char *)" access="private">
+        <modify-argument index="2">
+            <reference-count action="ignore"/> <!-- Handled in injected code -->
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QDesktopServices___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+  <object-type name="QDialog">
+<!--     <modify-function signature="setVisible(bool)" remove="all"/> // properties_d -->
+
+    <modify-function signature="setExtension(QWidget*)" remove="all"/>
+    <modify-function signature="exec()" access="non-final"/>
+    <modify-function signature="open()" virtual-slot="yes" />
+    <modify-function signature="extension()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="orientation()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="setOrientation(Qt::Orientation)" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="showExtension(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+  <object-type name="QDialogButtonBox">
+    <modify-function signature="addButton(QAbstractButton*,QDialogButtonBox::ButtonRole)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeButton(QAbstractButton*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QDirModel">
+    <modify-function signature="parent()const" remove="java"/>
+    <modify-function signature="setIconProvider(QFileIconProvider*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcIconProvider"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QDoubleValidator"/>
+  <object-type name="QFileIconProvider"/>
+  <object-type name="QWizard">
+    <!-- ### Requires correct class name in meta object -->
+    <modify-function signature="setDefaultProperty(const char *, const char *, const char *)" remove="all"/>
+    <modify-function signature="addPage(QWizardPage*)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setButton(QWizard::WizardButton,QAbstractButton*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setPage(int,QWizardPage*)">
+        <modify-argument index="2">
+            <no-null-pointer/>
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QWizardPage">
+    <!-- ### Reduced functionality due to meta object having missing information -->
+    <modify-function signature="registerField(const QString &amp;, QWidget *, const char *, const char *)">
+        <access modifier="private"/>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QWizardPage___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+  <object-type name="QFocusFrame">
+<!--    <modify-function signature="initStyleOption(QStyleOption*)const">
+        <access modifier="private"/>
+    </modify-function> -->
+    <modify-function signature="setWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcWidget"/>
+        </modify-argument>
+    </modify-function>
+<!--    <inject-code>
+        <insert-template name="gui.init_style_option">
+            <replace from="%TYPE" to="QStyleOption"/>
+        </insert-template>
+    </inject-code> -->
+  </object-type>
+  <object-type name="QFontComboBox"/>
+  <object-type name="QFontDialog">
+      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+<!--        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QFontDialog___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <template name="gui.fontdialog_get_font_general">
+            public static Result getFont(%FONT_ARGUMENT %COMMA QWidget parent %STRING_ARGUMENT) {
+                QNativePointer np = new QNativePointer(QNativePointer.Type.Boolean);
+                QFont returned = getFont(np, %FONT_CALL_ARGUMENT %COMMA parent %STRING_CALL_ARGUMENT);
+                return new Result(returned, np.booleanValue());
+            }
+        </template>
+
+        <template name="gui.fontdialog_get_font_nocaption">
+            <insert-template name="gui.fontdialog_get_font_general">
+                <replace from="%STRING_ARGUMENT" to=""/>
+                <replace from="%STRING_CALL_ARGUMENT" to=""/>
+            </insert-template>
+
+            public static Result getFont(%FONT_ARGUMENT) {
+                return getFont(%FONT_CALL_ARGUMENT %COMMA (QWidget) null);
+            }
+        </template>
+
+        <modify-function signature="getFont(bool*,QFont,QWidget*,QString)">
+            <access modifier="private"/>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.fontdialog_get_font_general">
+                <replace from="%FONT_ARGUMENT %COMMA" to="QFont initial,"/>
+                <replace from="%STRING_ARGUMENT" to=", String caption"/>
+                <replace from="%FONT_CALL_ARGUMENT %COMMA" to="initial,"/>
+                <replace from="%STRING_CALL_ARGUMENT" to=", caption"/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="getFont(bool*,QWidget*)">
+            <access modifier="private"/>
+            <modify-argument index="2">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.fontdialog_get_font_nocaption">
+                <replace from="%FONT_ARGUMENT" to=""/>
+                <replace from="%COMMA" to=""/>
+                <replace from="%FONT_CALL_ARGUMENT" to=""/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="getFont(bool*,QFont,QWidget*)">
+            <access modifier="private"/>
+            <modify-argument index="3">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+        <inject-code>
+            <insert-template name="gui.fontdialog_get_font_nocaption">
+                <replace from="%FONT_ARGUMENT" to="QFont initial"/>
+                <replace from="%COMMA" to=", "/>
+                <replace from="%FONT_CALL_ARGUMENT" to="initial"/>
+            </insert-template>
+        </inject-code>
+        -->
+    </object-type>
+  <object-type name="QGraphicsEllipseItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+  <!--
+        <modify-function signature="QGraphicsEllipseItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsEllipseItem(const QRectF &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsEllipseItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="5" meta-name="%5"/>
+                if (%5 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>-->
+    </object-type>
+  <object-type name="QGraphicsItemAnimation">
+    <modify-function signature="setItem(QGraphicsItem*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcItem"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setTimeLine(QTimeLine*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcTimeLine"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QGraphicsItemGroup" delete-in-main-thread="yes">
+      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
+  <!--
+        <modify-function signature="QGraphicsItemGroup(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="addToGroup(QGraphicsItem*)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="removeFromGroup(QGraphicsItem*)">
+            <modify-argument index="1">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (parentItem() == null)
+                %1.reenableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+  <object-type name="QGraphicsLineItem" delete-in-main-thread="yes">
+      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
+      	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+    <!--
+        <modify-function signature="QGraphicsLineItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsLineItem(const QLineF &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsLineItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="5" meta-name="%5"/>
+                if (%5 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+  <object-type name="QGraphicsPathItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+  <!--
+        <modify-function signature="QGraphicsPathItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsPathItem(const QPainterPath &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+
+  <object-type name="QGraphicsPixmapItem" delete-in-main-thread="yes">
+      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
+      	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+    <!--
+        <modify-function signature="QGraphicsPixmapItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsPixmapItem(const QPixmap &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+  <object-type name="QGraphicsPolygonItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+    <!--
+        <modify-function signature="QGraphicsPolygonItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsPolygonItem(const QPolygonF &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+  <object-type name="QGraphicsRectItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+  <!--
+        <modify-function signature="QGraphicsRectItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsRectItem(double,double,double,double,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="5" meta-name="%5"/>
+                if (%5 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsRectItem(const QRectF &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function> -->
+    </object-type>
+  <object-type name="QGraphicsSimpleTextItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+    <!--
+        <modify-function signature="QGraphicsSimpleTextItem(QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                if (%1 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+        <modify-function signature="QGraphicsSimpleTextItem(const QString &amp;,QGraphicsItem*,QGraphicsScene*)">
+            <inject-code position="end">
+                <argument-map index="2" meta-name="%2"/>
+                if (%2 != null) disableGarbageCollection();
+            </inject-code>
+        </modify-function>
+    -->
+    </object-type>
+  <object-type name="QHBoxLayout"/>
+  <object-type name="QHeaderView">
+<!--    <modify-function signature="initStyleOption(QStyleOptionHeader*)const">
+        <access modifier="private"/>
+    </modify-function>
+-->
+    <modify-function signature="paintSection(QPainter*,QRect,int)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+<!--
+    <inject-code>
+        <insert-template name="gui.init_style_option">
+            <replace from="%TYPE" to="QStyleOptionHeader"/>
+        </insert-template>
+    </inject-code>-->
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QIconEngine">
+    <modify-function signature="paint(QPainter*,QRect,QIcon::Mode,QIcon::State)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+  </object-type>
+  <object-type name="QIconEngineV2">
+        <extra-includes>
+            <include file-name="qt.core.QSize" location="java"/>
+        </extra-includes>
+    <modify-function signature="read(QDataStream&amp;)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="write(QDataStream&amp;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="virtual_hook(int,void*)" remove="all"/>
+
+    <modify-function signature="clone()const">
+        <remove class="java"/>
+<!--        <modify-argument index="return">
+            <define-ownership class="shell" owner="c++"/>
+        </modify-argument>-->
+    </modify-function>
+	
+    <inject-code>
+        <import-file name="typesystem_gui-java.java" quote-after-line="class QIconEngineV2___" quote-before-line="}// class"/>
+    </inject-code>
+  </object-type>
+  <object-type name="QImageWriter">
+  <modify-function signature="setDevice(QIODevice*)">
+    <modify-argument index="1">
+        <reference-count action="set" variable-name="__rcDevice"/>
+    </modify-argument>
+  </modify-function>
+      <modify-function signature="description()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setDescription(QString)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+  <object-type name="QInputContextFactory"/>
+  <object-type name="QIntValidator"/>
+  <object-type name="QItemDelegate">
+    <modify-function signature="doLayout(QStyleOptionViewItem,QRect*,QRect*,QRect*,bool)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="drawCheck(QPainter*,QStyleOptionViewItem,QRect,Qt::CheckState)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawDecoration(QPainter*,QStyleOptionViewItem,QRect,QPixmap)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawDisplay(QPainter*,QStyleOptionViewItem,QRect,QString)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawFocus(QPainter*,QStyleOptionViewItem,QRect)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+
+    <modify-function signature="selected(QPixmap,QPalette,bool)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setItemEditorFactory(QItemEditorFactory*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcItemEditorFactory"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QItemEditorCreatorBase"/>
+  <object-type name="QItemEditorFactory">
+    <modify-function signature="registerEditor(QVariant::Type, QItemEditorCreatorBase *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setDefaultFactory(QItemEditorFactory *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDefaultItemEditorFactory"/>
+        </modify-argument>
+    </modify-function>
+  
+        <modify-function signature="setDefaultFactory(QItemEditorFactory*)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+  <object-type name="QItemSelectionModel"/>
+  <object-type name="QTreeModel"/>
+  <object-type name="QListView"/>
+  <object-type name="QColumnView">
+    <modify-function signature="setPreviewWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QMainWindow">
+    <modify-function signature="addDockWidget(Qt::DockWidgetArea,QDockWidget*,Qt::Orientation)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addDockWidget(Qt::DockWidgetArea,QDockWidget*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addToolBar(QToolBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addToolBar(Qt::ToolBarArea,QToolBar*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertToolBar(QToolBar*,QToolBar*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertToolBarBreak(QToolBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeDockWidget(QDockWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeToolBar(QToolBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeToolBarBreak(QToolBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCentralWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setMenuBar(QMenuBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setMenuWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStatusBar(QStatusBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QMdiArea">
+    <modify-function signature="addSubWindow(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="removeSubWindow(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setActiveSubWindow(QMdiSubWindow*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setupViewport(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QMdiSubWindow">
+    <modify-function signature="setSystemMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QMenu">
+    <modify-function signature="addAction(QAction *)" remove="all"/>
+    <modify-function signature="addMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcMenus"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertMenu(QAction*,QMenu*)">
+        <modify-argument index="2">
+            <reference-count action="add" variable-name="__rcMenus"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertSeparator(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setActiveAction(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setDefaultAction(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setNoReplayFor(QWidget*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="initStyleOption(QStyleOptionMenuItem*,const QAction*)const">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="addAction(QString,const QObject*,const char*,QKeySequence)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="addAction(QIcon,QString,const QObject*,const char*,QKeySequence)">
+        <remove/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QMenu___" quote-before-line="}// class"/>
+        </inject-code>
+
+<!--
+        <template name="gui.addAction">
+        public final QAction addAction(%EXTRA String text, Object receiver, String method %END_EXTRA) {
+            QAction returned = addAction(%CALL_EXTRA text %END_CALL_EXTRA);
+            %POST_CALL
+            returned.triggered.connect(receiver, method);
+
+            return returned;
+        }
+
+        public final QAction addAction(%EXTRA String text, qt.QSignalEmitter.AbstractSignal signal %END_EXTRA) {
+            QAction returned = addAction(%CALL_EXTRA text %END_CALL_EXTRA);
+            %POST_CALL
+            returned.triggered.connect(signal);
+            return returned;
+        }
+        </template>
+
+        <template name="gui.addAction_with_shortcut">
+            <insert-template name="gui.addAction">
+                <replace from="%POST_CALL" to="returned.setShortcut(shortcut);"/>
+                <replace from=" %END_EXTRA" to=", QKeySequence shortcut"/>
+                <replace from=" %END_CALL_EXTRA" to=""/>
+            </insert-template>
+
+        public final QAction addAction(%EXTRA String text, Object receiver, String method) {
+            return addAction(%CALL_EXTRA text, receiver, method, new QKeySequence(0));
+        }
+
+        public final QAction addAction(%EXTRA String text, qt.QSignalEmitter.AbstractSignal signal) {
+            return addAction(%CALL_EXTRA text, signal, new QKeySequence(0));
+        }
+        </template>
+
+        <inject-code>
+            <insert-template name="gui.addAction_with_shortcut">
+                <replace from="%EXTRA " to=""/>
+                <replace from="%CALL_EXTRA " to=""/>
+            </insert-template>
+        </inject-code>
+
+        <inject-code>
+            <insert-template name="gui.addAction_with_shortcut">
+                <replace from="%EXTRA" to="QIcon icon,"/>
+                <replace from="%CALL_EXTRA" to="icon,"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QMenuBar">
+    <modify-function signature="addAction(QAction *)" remove="all"/>
+    <modify-function signature="addAction(QString,const QObject*,const char*)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="addMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcMenus"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertMenu(QAction*,QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="add" variable-name="__rcMenus"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertSeparator(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setActiveAction(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCornerWidget(QWidget*,Qt::Corner)    ">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QMenuBar___" quote-before-line="}// class"/>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.addAction">
+                <replace from="%POST_CALL" to=""/>
+                <replace from=" %END_EXTRA" to=""/>
+                <replace from=" %END_CALL_EXTRA" to=""/>
+                <replace from="%EXTRA " to=""/>
+                <replace from="%CALL_EXTRA " to=""/>
+            </insert-template>
+        </inject-code>
+
+
+    </object-type>
+  <object-type name="QMotifStyle">
+    <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QPainterPathStroker"/>
+
+  <object-type name="QPictureIO">
+      <modify-function signature="QPictureIO(QIODevice*,const char*)">
+        <access modifier="private"/>
+         <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setIODevice(QIODevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="QPictureIO(QString,const char*)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="format()const">
+        <access modifier="private"/>
+        <rename to="format_private"/>
+    </modify-function>
+
+    <modify-function signature="parameters()const">
+        <access modifier="private"/>
+        <rename to="parameters_private"/>
+    </modify-function>
+
+    <modify-function signature="setFormat(const char*)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="setParameters(const char*)">
+        <access modifier="private"/>
+    </modify-function>
+
+  
+        <inject-code>
+
+        public this(QIODevice ioDevice, string format) {
+            this(ioDevice, toStringz(format));
+        }
+        
+        public this(string fileName, string format) {
+            this(fileName, toStringz(format));
+        }
+
+            <insert-template name="core.return_string_instead_of_char*">
+                <replace from="%FUNCTION_NAME" to="format"/>
+            </insert-template>
+            <insert-template name="core.return_string_instead_of_char*">
+                <replace from="%FUNCTION_NAME" to="parameters"/>
+            </insert-template>
+            <insert-template name="core.call_with_string_instead_of_char*">
+                <replace from="%FUNCTION_NAME" to="setFormat"/>
+                <replace from="%ARG_NAME" to="format"/>
+            </insert-template>
+            <insert-template name="core.call_with_string_instead_of_char*">
+                <replace from="%FUNCTION_NAME" to="setParameters"/>
+                <replace from="%ARG_NAME" to="parameters"/>
+            </insert-template>
+        </inject-code>
+    </object-type>
+
+  <object-type name="QPixmapCache">
+    <modify-function signature="find(QString)">
+        <remove/>
+    </modify-function>
+<!--
+    <modify-function signature="find(QString,QPixmap&amp;)">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPixmapCache___" quote-before-line="}// class"/>
+        </inject-code>
+-->
+    </object-type>
+  <object-type name="QPlastiqueStyle">
+    <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+    <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType, QSizePolicy::ControlType, Qt::Orientation, const QStyleOption *, const QWidget *) const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QPrintDialog">
+      <modify-function signature="accepted(QPrinter *)">
+          <rename to="accepted_printer"/>
+      </modify-function>
+      <modify-function signature="accepted()" remove="all"/>
+      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+  </object-type>
+  <object-type name="QPrintEngine"/>
+  <object-type name="QProgressBar">
+<!--    <modify-function signature="initStyleOption(QStyleOptionProgressBar*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionProgressBar"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+  <object-type name="QPushButton">
+<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
+        <access modifier="private"/>
+    </modify-function>
+-->
+<!--     <modify-function signature="setDefault(bool)" rename="default_"/> // properties_d -->
+
+
+    <modify-function signature="setMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcMenu"/>
+        </modify-argument>
+    </modify-function>
+  <!--
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionButton"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+  <object-type name="QRegExpValidator"/>
+  <object-type name="QScrollArea">
+    <modify-function signature="setWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QSessionManager"/>
+  <object-type name="QShortcut">
+    <modify-function signature="QShortcut(QKeySequence,QWidget*,const char*,const char*,Qt::ShortcutContext)">
+        <access modifier="private"/>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QShortcut___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+  <object-type name="QSizeGrip"/>
+  <object-type name="QSound"/>
+  <object-type name="QSpacerItem">
+  </object-type>
+  <object-type name="QStandardItem">
+    <modify-function signature="operator=(QStandardItem)" remove="all"/>
+    <modify-function signature="operator&lt;(QStandardItem)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="read(QDataStream&amp;)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="write(QDataStream&amp;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+  
+        <modify-function signature="appendColumn(const QList&lt;QStandardItem *&gt; &amp;)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="appendRow(const QList&lt;QStandardItem *&gt; &amp;)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="appendRow(QStandardItem *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="insertColumn(int, const QList&lt;QStandardItem *&gt; &amp;)">
+            <modify-argument index="2">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="insertRow(int, const QList&lt;QStandardItem *&gt; &amp;)">
+            <modify-argument index="2">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="insertRow(int, QStandardItem *)">
+            <modify-argument index="2">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="setChild(int,int,QStandardItem *)">
+            <modify-argument index="3">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="setChild(int,QStandardItem *)">
+            <modify-argument index="2">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="takeChild(int,int)">
+            <modify-argument index="return">
+                <define-ownership class="java" owner="default"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="takeColumn(int)">
+            <modify-argument index="return">
+                <define-ownership class="java" owner="default"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="takeRow(int)">
+            <modify-argument index="return">
+                <define-ownership class="java" owner="default"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="clone()const">
+            <modify-argument index="return">
+                <define-ownership class="shell" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+  <object-type name="QStatusBar">
+    <modify-function signature="addPermanentWidget(QWidget *, int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget *, int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeWidget(QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertPermanentWidget(int, QWidget *, int)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(int, QWidget *, int)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QStringListModel"/>
+  <object-type name="QStyleFactory"/>
+  <object-type name="QStyleHintReturn">
+        <modify-field name="version">
+          <rename to="version_"/>
+      </modify-field>
+  </object-type>
+  <object-type name="QStyleHintReturnVariant"/>
+  <object-type name="QStyleHintReturnMask"/>
+  <object-type name="QStylePainter" delete-in-main-thread="yes"/>
+  <object-type name="QSyntaxHighlighter">
+    <modify-function signature="setCurrentBlockUserData(QTextBlockUserData*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setDocument(QTextDocument*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDocument"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+  <object-type name="QSystemTrayIcon">
+    <modify-function signature="setContextMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcContextMenu"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QTableView">
+    <modify-function signature="setHorizontalHeader(QHeaderView*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setVerticalHeader(QHeaderView*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="sortByColumn(int)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+  <object-type name="QTextBlockGroup" delete-in-main-thread="yes"/>
+  <object-type name="QTextBlockUserData" delete-in-main-thread="yes"/>
+  <object-type name="QTextItem" delete-in-main-thread="yes"/>
+  <object-type name="QTextList" delete-in-main-thread="yes">
+    <modify-function signature="format()const" rename="textListFormat"/>
+
+      <modify-function signature="isEmpty()const" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+  <object-type name="QTextObject" delete-in-main-thread="yes"/>
+  <object-type name="QTextObjectInterface" delete-in-main-thread="yes">
+    <modify-function signature="drawObject(QPainter*,QRectF,QTextDocument*,int,QTextFormat)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+  </object-type>
+  <object-type name="QTimeEdit"/>
+  <object-type name="QToolBox">
+    <modify-function signature="addItem(QWidget*,QString)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addItem(QWidget*,QIcon,QString)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertItem(int,QWidget*,QIcon,QString)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertItem(int,QWidget*,QString)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentWidget(QWidget*)  ">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QToolButton">
+<!--    <modify-function signature="initStyleOption(QStyleOptionToolButton*)const">
+        <access modifier="private"/>
+    </modify-function>
+-->
+    <modify-function signature="setDefaultAction(QAction *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDefaultAction"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setMenu(QMenu *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcMenu"/>
+        </modify-argument>
+    </modify-function>
+  <!--
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionToolButton"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+  <object-type name="QToolTip"/>
+  <object-type name="QTreeView">
+
+    <modify-function signature="drawBranches(QPainter*,QRect,QModelIndex)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawRow(QPainter*,QStyleOptionViewItem,QModelIndex)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="setHeader(QHeaderView*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+   </modify-function>
+   <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemModel"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setSelectionModel(QItemSelectionModel*)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count declare-variable="QAbstractItemView" action="set" variable-name="__rcItemSelectionModel"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="sortByColumn(int)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+  <object-type name="QUndoCommand">
+    <modify-function signature="mergeWith(const QUndoCommand*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+  </object-type>
+  <object-type name="QUndoGroup">
+    <modify-function signature="addStack(QUndoStack*)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcStacks"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeStack(QUndoStack*)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcStacks"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setActiveStack(QUndoStack*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QUndoStack">
+        <modify-function signature="push(QUndoCommand *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QUndoView">
+    <modify-function signature="setGroup(QUndoGroup *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcGroupOrStack"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStack(QUndoStack *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcGroupOrStack"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QUndoView(QUndoGroup *,QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcGroupOrStack"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QUndoView(QUndoStack *,QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcGroupOrStack"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QVBoxLayout"/>
+  <object-type name="QValidator">
+<!--        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QValidator___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+        <modify-function signature="fixup(QString&amp;)const">
+            <modify-argument index="1">
+                <replace-type modified-type="java.lang.String"/>
+                <conversion-rule class="shell">
+                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, %in);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QString %out = qtjambi_to_qstring(__jni_env, (jstring) %in);
+                    QString *__qt_converted = &amp;%out;
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <replace-type modified-type="java.lang.String"/>
+                <conversion-rule class="native">
+                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, *__qt_converted);
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    %1 = qtjambi_to_qstring(__jni_env, (jstring) %in);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="validate(QString&amp;,int&amp;)const">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QValidator$QValidationData"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.convert_validationdata_to_java">
+                        <replace from="%STRING" to="%1"/>
+                        <replace from="%POS" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_validationdata_to_string"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing needed
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_validationdata_to_pos">
+                        <replace from="%VALIDATIONDATA" to="%1"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="return">
+                <conversion-rule class="native">
+                    <insert-template name="gui.cleanup_validationdata_from_java"/>
+                    jint %out = %in;
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.cleanup_validationdata_to_java">
+                        <replace from="%STRING" to="%1"/>
+                        <replace from="%POS" to="%2"/>
+                    </insert-template>
+                    QValidator::State %out = (QValidator::State) qtjambi_to_enumerator(__jni_env, %in);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+-->
+  </object-type>
+  <object-type name="QWhatsThis"/>
+  <object-type name="QWidgetAction">
+    <modify-function signature="createWidget(QWidget*)">
+        <modify-argument index="return">
+            <define-ownership class="shell" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+  
+        <modify-function signature="setDefaultWidget(QWidget*)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+  <object-type name="QWidgetItem"/>
+  <object-type name="QWindowsStyle">
+      <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+  </object-type>
+  <object-type name="QWorkspace">
+    <modify-function signature="addWindow(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setActiveWindow(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QActionEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ActionAdded || %1-&gt;type() == QEvent::ActionRemoved || %1-&gt;type() == QEvent::ActionChanged">
+        <extra-includes>
+            <include file-name="qt.core.QObject" location="java"/>
+        </extra-includes>
+  </object-type>
+  <object-type name="QClipboardEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Clipboard"/>
+  <object-type name="QCloseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Close"/>
+  <object-type name="QContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ContextMenu"/>
+  <object-type name="QDragEnterEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragEnter"/>
+  <object-type name="QDragLeaveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragLeave"/>
+  <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove">
+    <modify-function signature="accept()" remove="all"/>
+    <modify-function signature="ignore()" remove="all"/>
+  </object-type>
+  <object-type name="QDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Drop">
+    <modify-function signature="encodedData(const char*)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="format(int)const">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="provides(const char*)const">
+        <remove/>
+    </modify-function>
+    <modify-field name="fmts" read="false" write="false"/> <!-- obsolete in Qt4 -->
+
+  </object-type>
+  <object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen"/>
+  <object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut">
+        <modify-function signature="reason()const">
+            <remove/>
+        </modify-function>
+  </object-type>
+
+  <object-type name="QGraphicsSceneContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneContextMenu"/>
+  <object-type name="QGraphicsSceneDragDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneDragEnter || %1-&gt;type() == QEvent::GraphicsSceneDragLeave || %1-&gt;type() == QEvent::GraphicsSceneDragMove || %1-&gt;type() == QEvent::GraphicsSceneDrop">
+    <modify-function signature="setMimeData(const QMimeData *)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setSource(QWidget *)">
+        <remove/>
+    </modify-function>
+  </object-type>
+  <object-type name="QGraphicsSceneEvent">
+    <modify-function signature="setWidget(QWidget *)">
+        <remove/>
+    </modify-function>
+  </object-type>
+  <object-type name="QGraphicsSceneMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneMove"/>
+  <object-type name="QGraphicsSceneResizeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneResize"/>
+  <object-type name="QGraphicsSceneHelpEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneHelp"/>
+  <object-type name="QGraphicsSceneHoverEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneHoverEnter || %1-&gt;type() == QEvent::GraphicsSceneHoverLeave || %1-&gt;type() == QEvent::GraphicsSceneHoverMove"/>
+  <object-type name="QGraphicsSceneMouseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneMouseDoubleClick || %1-&gt;type() == QEvent::GraphicsSceneMouseMove || %1-&gt;type() == QEvent::GraphicsSceneMousePress || %1-&gt;type() == QEvent::GraphicsSceneMouseRelease"/>
+  <object-type name="QGraphicsSceneWheelEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneWheel"/>
+  <object-type name="QHelpEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ToolTip || %1-&gt;type() == QEvent::WhatsThis"/>
+  <object-type name="QHideEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Hide"/>
+  <object-type name="QHoverEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::HoverEnter || %1-&gt;type() == QEvent::HoverLeave || %1-&gt;type() == QEvent::HoverMove"/>
+  <object-type name="QIconDragEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::IconDrag"/>
+  <object-type name="QInputMethodEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::InputMethod"/>
+  <object-type name="QMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Move"/>
+  <object-type name="QResizeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Resize"/>
+  <object-type name="QShortcutEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Shortcut">
+        <!-- All these have const overloads that are used instead -->
+        <modify-function signature="isAmbiguous()">
+            <remove/>
+        </modify-function>
+        <modify-function signature="shortcutId()">
+            <remove/>
+        </modify-function>
+        <modify-function signature="key()">
+            <remove/>
+        </modify-function>
+  </object-type>
+  <object-type name="QShowEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Show"/>
+  <object-type name="QStatusTipEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::StatusTip"/>
+  <object-type name="QTabletEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::TabletMove || %1-&gt;type() == QEvent::TabletPress || %1-&gt;type() == QEvent::TabletRelease"/>
+  <object-type name="QToolBarChangeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ToolBarChange"/>
+  <object-type name="QWhatsThisClickedEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::WhatsThisClicked"/>
+  <object-type name="QWheelEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Wheel"/>
+  <object-type name="QWindowStateChangeEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::WindowStateChange"/>
+  <object-type name="QDragResponseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragResponse"/>
+  <object-type name="QInputEvent">
+    <modify-function signature="modifiers()const" access="non-final"/>
+  </object-type>
+  <object-type name="QKeyEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::KeyPress || %1-&gt;type() == QEvent::KeyRelease">
+	<modify-function signature="createExtendedKeyEvent(QEvent::Type,int,QFlags&lt;Qt::KeyboardModifier&gt;,uint,uint,uint,const QString &amp;,bool,unsigned short)" remove="all"/>
+  </object-type>
+  <object-type name="QMouseEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::MouseButtonDblClick || %1-&gt;type() == QEvent::MouseButtonPress || %1-&gt;type() == QEvent::MouseButtonRelease || %1-&gt;type() == QEvent::MouseMove">
+  	<modify-function signature="createExtendedMouseEvent(QEvent::Type, const QPointF &amp;, const QPoint &amp;, Qt::MouseButton, QFlags&lt;Qt::MouseButton&gt;, QFlags&lt;Qt::KeyboardModifier&gt;)" remove="all"/>
+  </object-type>
+  <object-type name="QPaintEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Paint"/>
+  <object-type name="QAccessibleEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::AccessibilityDescription || %1-&gt;type() == QEvent::AccessibilityHelp"/>
+
+  <object-type name="QAbstractButton">
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractButton___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+
+  <object-type name="QStyle">
+      <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/>
+      <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType, QSizePolicy::ControlType, Qt::Orientation, const QStyleOption *, const QWidget *) const" virtual-slot="yes"/>
+
+      <modify-function signature="drawComplexControl(QStyle::ComplexControl,const QStyleOptionComplex*,QPainter*,const QWidget*)const">
+        <modify-argument index="3" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="drawControl(QStyle::ControlElement,const QStyleOption*,QPainter*,const QWidget*)const">
+        <modify-argument index="3" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="drawPrimitive(QStyle::PrimitiveElement,const QStyleOption*,QPainter*,const QWidget*)const">
+        <modify-argument index="3" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="styleHint(QStyle::StyleHint,const QStyleOption*,const QWidget*,QStyleHintReturn*)const">
+        <modify-argument index="4" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="drawItemPixmap(QPainter*,QRect,int,QPixmap)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+      </modify-function>
+      <modify-function signature="drawItemText(QPainter*,QRect,int,QPalette,bool,QString,QPalette::ColorRole)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+      </modify-function>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QStyle___" quote-before-line="}// class"/>
+        </inject-code>
+		<!--
+        <modify-function signature="drawControl(QStyle::ControlElement, const QStyleOption *, QPainter *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawComplexControl(QStyle::ComplexControl, const QStyleOptionComplex *, QPainter *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawPrimitive(QStyle::PrimitiveElement, const QStyleOption *, QPainter *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="hitTestComplexControl(QStyle::ComplexControl, const QStyleOptionComplex *, const QPoint &amp;, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="pixelMetric(QStyle::PixelMetric, const QStyleOption *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="sizeFromContents(QStyle::ContentsType, const QStyleOption *, const QSize &amp;, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="standardIcon(QStyle::StandardPixmap, const QStyleOption *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="styleHint(QStyle::StyleHint, const QStyleOption *, const QWidget *, QStyleHintReturn *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="subControlRect(QStyle::ComplexControl, const QStyleOptionComplex *, QStyle::SubControl, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOptionComplex"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoptioncomplex_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QStyleOptionComplex *%out = (QStyleOptionComplex *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="subElementRect(QStyle::SubElement, const QStyleOption *, const QWidget *) const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="generatedIconPixmap(QIcon::Mode,QPixmap,const QStyleOption*)const">
+            <modify-argument index="3">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="polish(QPalette&amp;)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QPalette"/>
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, &amp;%in, "QPalette", "com/trolltech/qt/gui/", false);
+                    jobject __invalidate_me = %out;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QtJambiLink *link = QtJambiLink::findLink(__jni_env, %in);
+                    Q_ASSERT(link != 0);
+
+                    QPalette dummy;
+                    QPalette &amp;%out = link != 0 ? * (QPalette *) link-&gt;pointer() : dummy;
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="0">
+                <conversion-rule class="shell">
+                    if (__invalidate_me != 0)
+                    qtjambi_invalidate_object(__jni_env, __invalidate_me);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="standardIconImplementation(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const">
+            <modify-argument index="2">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+-->
+        <modify-function signature="combinedLayoutSpacing(QFlags&lt;QSizePolicy::ControlType&gt;,QFlags&lt;QSizePolicy::ControlType&gt;,Qt::Orientation,QStyleOption*,QWidget*)const">
+            <access modifier="private"/>
+            <modify-argument index="4">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="5">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+
+        <modify-function signature="layoutSpacing(QSizePolicy::ControlType,QSizePolicy::ControlType,Qt::Orientation,const QStyleOption*,const QWidget*)const">
+            <access modifier="private"/>
+            <modify-argument index="4">
+                <remove-default-expression/>
+            </modify-argument>
+            <modify-argument index="5">
+                <remove-default-expression/>
+            </modify-argument>
+        </modify-function>
+
+<!--
+        <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType,QSizePolicy::ControlType,Qt::Orientation,const QStyleOption*,const QWidget*)const">
+            <modify-argument index="4">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui::qstyleoption_from_object"/>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui::qstyleoption_to_object"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+-->
+
+
+        <inject-code class="shell-declaration"> <!-- Remove in Qt 5 -->
+            QPixmap standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*) const { return QPixmap(); }
+        </inject-code>
+
+        <modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/> <!--### Obsolete in 4.3-->
+    </object-type>
+
+  <object-type name="QColorDialog">
+    <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+    <modify-function signature="getColor(const QColor &amp;, QWidget *)">
+      <modify-argument index="1">
+        <replace-default-expression with="QColor.White"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="getRgba(uint,bool*,QWidget*)">
+        <remove/>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QLayout">
+  
+    <modify-function signature="addItem(QLayoutItem*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="setSpacing(int)" rename="setWidgetSpacing"/>
+    <modify-function signature="spacing()const" rename="widgetSpacing"/>
+    <modify-function signature="addWidget(QWidget *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count variable-name="__rcWidgets" action="add"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addChildWidget(QWidget *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count variable-name="__rcWidgets" action="add"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeWidget(QWidget *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count variable-name="__rcWidgets" action="remove"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setAlignment(QWidget*,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setAlignment(QLayout*,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setMenuBar(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcMenuBar"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="getContentsMargins(int*,int*,int*,int*)const">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="margin()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <!-- <modify-function signature="setMargin(int)" remove="all"/> --> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QLayout___" quote-before-line="}// class"/>
+        </inject-code>
+        <modify-function signature="addItem(QLayoutItem *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="removeItem(QLayoutItem *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="default"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addChildLayout(QLayout *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addChildLayout(QLayout *)">
+            <modify-argument index="1">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="itemAt(int) const">
+<!--            <modify-argument index="return">
+                <define-ownership class="java" owner="c++"/>
+            </modify-argument>-->
+        </modify-function>
+
+
+    </object-type>
+
+  <object-type name="QStackedLayout">
+    <modify-function signature="addItem(QLayoutItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="itemAt(int) const">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget *)">
+        <rename to="addStackedWidget"/>
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count action="add" declare-variable="QLayout" variable-name="__rcWidgets"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(int,QWidget*)">
+        <modify-argument index="2">
+            <no-null-pointer/>
+            <reference-count action="add" declare-variable="QLayout" variable-name="__rcWidgets"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentWidget(QWidget*)">
+        <modify-argument index="1">
+            <!-- Safe to ignore because current widget must have been added to layout already -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QBoxLayout">
+    <modify-function signature="addWidget(QWidget *, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addItem(QLayoutItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertLayout(int, QLayout *, int)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertItem(int, QLayoutItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addSpacerItem(QSpacerItem*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertSpacerItem(int,QSpacerItem*)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="addLayout(QLayout *, int)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget*,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(int,QWidget*,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="2">
+            <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStretchFactor(QWidget*,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStretchFactor(QLayout*,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QGridLayout">
+    <modify-function signature="addWidget(QWidget *)" remove="all"/>
+    <modify-function signature="addItem(QLayoutItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addItem(QLayoutItem *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addLayout(QLayout *, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addLayout(QLayout *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+        <modify-function signature="addWidget(QWidget*,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+            <modify-argument index="1">
+                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addWidget(QWidget*,int,int,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+            <modify-argument index="1">
+                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
+            </modify-argument>
+        </modify-function>
+        <modify-function signature="addWidget(QWidget*)">
+            <modify-argument index="1">
+                <reference-count declare-variable="QLayout" action="add" variable-name="__rcWidgets"/>
+            </modify-argument>
+        </modify-function>
+    <modify-function signature="getItemPosition(int,int*,int*,int*,int*)">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QGridLayout___" quote-before-line="}// class"/>
+        </inject-code>
+
+
+    </object-type>
+
+  <object-type name="QGraphicsView">
+    <extra-includes>
+      <include file-name="QPainterPath" location="global"/>
+      <include file-name="QVarLengthArray" location="global"/>
+    </extra-includes>
+    <modify-function signature="fitInView(const QGraphicsItem *, Qt::AspectRatioMode)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setupViewport(QWidget *)" access="non-final"/>
+    <modify-function signature="setScene(QGraphicsScene*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcScene"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setupViewport(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="drawBackground(QPainter*,QRectF)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawForeground(QPainter*,QRectF)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)" remove="all" />
+
+<!--
+    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*)">
+        <modify-argument index="2">
+            <remove-argument/>
+            <conversion-rule class="shell">
+                // nothing
+            </conversion-rule>
+            <conversion-rule class="native">
+                <insert-template name="core.get_array_length">
+                    <replace from="%ARRAY" to="%3"/>
+                </insert-template>
+                int __length = %out;
+            </conversion-rule>
+        </modify-argument>
+
+        <modify-argument index="3">
+            <replace-type modified-type="qt.gui.QGraphicsItemInterface[]"/>
+            <conversion-rule class="shell">
+                <insert-template name="gui.convert_graphicsitem_array_to_java">
+                    <replace from="%LENGTH" to="%2"/>
+                </insert-template>
+                jobjectArray graphicsItemArrayHolder = %out;
+            </conversion-rule>
+            <conversion-rule class="native">
+                <insert-template name="gui.convert_graphicsitem_array_from_java"/>
+            </conversion-rule>
+        </modify-argument>
+
+        <modify-argument index="4">
+            <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem[]"/>
+            <conversion-rule class="shell">
+                <insert-template name="gui.convert_styleoptiongraphicsitem_array_to_java">
+                    <replace from="%LENGTH" to="%2"/>
+                </insert-template>
+                jobjectArray styleOptionArrayHolder = %out;
+            </conversion-rule>
+            <conversion-rule class="native">
+                <insert-template name="gui.convert_styleoptiongraphicsitem_array_from_java"/>
+            </conversion-rule>
+        </modify-argument>
+
+        <modify-argument index="return">
+            <conversion-rule class="shell">
+                qtjambi_invalidate_array(__jni_env, styleOptionArrayHolder);
+                qtjambi_invalidate_array(__jni_env, graphicsItemArrayHolder);
+            </conversion-rule>
+        </modify-argument>
+
+    </modify-function>
+    -->
+  </object-type>
+
+  <object-type name="QInputDialog">
+    <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+    <modify-function signature="getDouble(QWidget *, const QString &amp;, const QString &amp;, double, double, double, int, bool *, QFlags&lt;Qt::WindowType&gt;)">
+        <rename to="getDouble_private"/>
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="getInteger(QWidget *, const QString &amp;, const QString &amp;, int, int, int, int, bool *, QFlags&lt;Qt::WindowType&gt;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="getInt(QWidget*,QString,QString,int,int,int,int,bool*,QFlags&lt;Qt::WindowType&gt;)">
+        <rename to="getInt_private" />
+        <access modifier="private" />
+    </modify-function>
+
+    <modify-function signature="getItem(QWidget *, const QString &amp;, const QString &amp;, const QStringList&lt;QString&gt; &amp;, int, bool, bool *, QFlags&lt;Qt::WindowType&gt;)">
+        <rename to="getItem_private"/>
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="getText(QWidget *, const QString &amp;, const QString &amp;, QLineEdit::EchoMode, const QString &amp;, bool *, QFlags&lt;Qt::WindowType&gt;)">
+        <rename to="getText_private"/>
+        <access modifier="private"/>
+    </modify-function>
+    <inject-code>
+        <import-file name="typesystem_gui-java.java" quote-after-line="class QInputDialog___" quote-before-line="}// class"/>
+    </inject-code>
+
+    </object-type>
+
+
+  <object-type name="QGraphicsScene">
+    <extra-includes>
+        <include file-name="QVarLengthArray" location="global"/>
+    </extra-includes>
+    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)" remove="all"/> <!-- TODO: What is '_ConcreteWrapper'? -->
+    <!--
+    <modify-function signature="contextMenuEvent(QGraphicsSceneContextMenuEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragEnterEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragLeaveEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragMoveEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawBackground(QPainter*,QRectF)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawForeground(QPainter*,QRectF)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dropEvent(QGraphicsSceneDragDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusInEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusOutEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="helpEvent(QGraphicsSceneHelpEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyPressEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseDoubleClickEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseMoveEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mousePressEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseReleaseEvent(QGraphicsSceneMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="wheelEvent(QGraphicsSceneWheelEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="setActiveWindow(QGraphicsWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStyle(QStyle*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="addItem(QGraphicsItem *)">
+      <modify-argument index="1">
+        <define-ownership class="java" owner="c++"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="addEllipse(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)">
+      <modify-argument index="return">
+        <define-ownership class="java" owner="c++"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="addLine(const QLineF &amp;, const QPen &amp;)">
+      <modify-argument index="return">
+        <define-ownership class="java" owner="c++"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="addPath(const QPainterPath &amp;, const QPen &amp;, const QBrush &amp;)">
+      <modify-argument index="return">
+        <define-ownership class="java" owner="c++"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="addPixmap(const QPixmap &amp;)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addPolygon(const QPolygonF &amp;, const QPen &amp;, const QBrush &amp;)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addRect(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addText(const QString &amp;, const QFont &amp;)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeItem(QGraphicsItem*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setFocusItem(QGraphicsItem*,Qt::FocusReason)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcFocusItem"/>
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QGraphicsScene___" quote-before-line="}// class"/>
+        </inject-code>
+
+        <modify-function signature="addEllipse(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addEllipse(double, double, double, double, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addLine(const QLineF &amp;, const QPen &amp;)" remove="all"/>
+        <modify-function signature="addLine(double, double, double, double, const QPen &amp;)" remove="all"/>
+        <modify-function signature="addPath(const QPainterPath &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addPixmap(const QPixmap &amp;)" remove="all"/>
+        <modify-function signature="addPolygon(const QPolygonF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addRect(const QRectF &amp;, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addRect(double, double, double, double, const QPen &amp;, const QBrush &amp;)" remove="all"/>
+        <modify-function signature="addSimpleText(const QString &amp;, const QFont &amp;)" remove="all"/>
+        <modify-function signature="addText(const QString &amp;, const QFont &amp;)" remove="all"/>
+
+        <modify-function signature="drawItems(QPainter*,int,QGraphicsItem**,const QStyleOptionGraphicsItem*,QWidget*)">
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="core.get_array_length">
+                        <replace from="%ARRAY" to="%3"/>
+                    </insert-template>
+                    int __length = %out;
+                </conversion-rule>
+
+            </modify-argument>
+
+            <modify-argument index="3">
+                <replace-type modified-type="qt.gui.QGraphicsItemInterface[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.convert_graphicsitem_array_to_java">
+                        <replace from="%LENGTH" to="%2"/>
+                    </insert-template>
+                    jobjectArray graphicsItemArrayHolder = %out;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_graphicsitem_array_from_java"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="return">
+                <conversion-rule class="shell">
+                    qtjambi_invalidate_array(__jni_env, styleOptionArrayHolder);
+                    qtjambi_invalidate_array(__jni_env, graphicsItemArrayHolder);
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="4">
+                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem[]"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.convert_styleoptiongraphicsitem_array_to_java">
+                        <replace from="%LENGTH" to="%2"/>
+                    </insert-template>
+                    jobjectArray styleOptionArrayHolder = %out;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_styleoptiongraphicsitem_array_from_java"/>
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+	-->
+    </object-type>
+
+
+  <object-type name="QCalendarWidget">
+    <extra-includes>
+      <include file-name="QTextCharFormat" location="global"/>
+    </extra-includes>
+
+      <modify-function signature="isHeaderVisible()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setHeaderVisible(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+
+      <modify-function signature="paintCell(QPainter*,QRect,QDate)const">
+        <modify-argument invalidate-after-use="yes" index="1"/>
+      </modify-function>
+  </object-type>
+
+  <object-type name="QTreeWidget">
+    <modify-function signature="mimeData(const QList&lt;QTreeWidgetItem*&gt;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dropMimeData(QTreeWidgetItem*,int,const QMimeData*,Qt::DropAction)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="isSortingEnabled()const" remove="all"/>
+    <modify-function signature="setSortingEnabled(bool)" remove="all"/>
+    <modify-function signature="indexOfTopLevelItem(QTreeWidgetItem *)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="addTopLevelItem(QTreeWidgetItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeTopLevelItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addTopLevelItems(const QList&lt;QTreeWidgetItem*&gt; &amp;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertTopLevelItem(int, QTreeWidgetItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertTopLevelItems(int, const QList&lt;QTreeWidgetItem*&gt; &amp;)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setHeaderItem(QTreeWidgetItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeTopLevelItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeItemWidget(QTreeWidgetItem*,int)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QTreeWidgetItem*,int,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setFirstItemColumnSpanned(const QTreeWidgetItem*,bool)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QTreeWidgetItem*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QTreeWidgetItem*,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemExpanded(const QTreeWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemExpanded(const QTreeWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setItemHidden(const QTreeWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemHidden(const QTreeWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemSelected(const QTreeWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setItemSelected(const QTreeWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setItemWidget(QTreeWidgetItem*,int,QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="items(const QMimeData*)const" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QAbstractItemDelegate">
+    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
+        <modify-argument index="1">
+            <!-- Safe to ignore because this implementation is documented to do nothing -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="paint(QPainter*,QStyleOptionViewItem,QModelIndex)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="editorEvent(QEvent*,QAbstractItemModel*,QStyleOptionViewItem,QModelIndex)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+      <modify-function signature="elidedText(QFontMetrics, int, Qt::TextElideMode, QString)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QTableWidgetItem" delete-in-main-thread="yes">
+    <modify-function signature="operator=(const QTableWidgetItem&amp;)" remove="all"/>
+    <modify-function signature="clone() const">
+        <modify-argument index="return">
+            <define-ownership class="shell" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="backgroundColor()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setBackgroundColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setTextColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="textColor()const" remove="all"/> <!--### Obsolete in 4.3-->
+
+    <modify-function signature="operator&lt;(QTableWidgetItem)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="read(QDataStream&amp;)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="write(QDataStream&amp;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+  </object-type>
+
+  <object-type name="QListWidgetItem" delete-in-main-thread="yes">
+
+    <modify-function signature="operator&lt;(QListWidgetItem)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="read(QDataStream&amp;)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="write(QDataStream&amp;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+
+    <modify-function signature="operator=(const QListWidgetItem&amp;)" remove="all"/>
+<!--    <modify-function signature="QListWidgetItem(QListWidget *, int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QListWidgetItem(const QString &amp;, QListWidget *, int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QListWidgetItem(const QIcon &amp;, const QString &amp;, QListWidget *, int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="clone() const">
+        <modify-argument index="return">
+            <define-ownership class="shell" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+-->
+      <modify-function signature="backgroundColor()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setBackgroundColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setTextColor(QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="textColor()const" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QGraphicsTextItem"> <!-- a QObject so main-thread delete redundant -->
+    <extra-includes>
+      <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+    	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+    <!--
+    <modify-function signature="QGraphicsTextItem(QGraphicsItem*,QGraphicsScene*)">
+        <inject-code position="end">
+            <argument-map index="1" meta-name="%1"/>
+            if (%1 != null) disableGarbageCollection();
+        </inject-code>
+    </modify-function>
+    <modify-function signature="QGraphicsTextItem(const QString &amp;,QGraphicsItem*,QGraphicsScene*)">
+        <inject-code position="end">
+            <argument-map index="2" meta-name="%2"/>
+            if (%2 != null) disableGarbageCollection();
+        </inject-code>
+    </modify-function>
+    <modify-function signature="setDocument(QTextDocument*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDocument"/>
+        </modify-argument>
+    </modify-function>
+    -->
+      <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="resetMatrix()" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="sceneMatrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QCompleter">
+    <modify-function signature="activated(const QModelIndex &amp;)">
+        <rename to="activatedIndex"/>
+    </modify-function>
+    <modify-function signature="highlighted(const QModelIndex &amp;)">
+        <rename to="highlightedIndex"/>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcModel"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setPopup(QAbstractItemView *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setWidget(QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcWidget"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+
+  <object-type name="QTreeWidgetItem" delete-in-main-thread="yes">
+
+    <modify-function signature="operator&lt;(QTreeWidgetItem)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="read(QDataStream&amp;)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="write(QDataStream&amp;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="QTreeWidgetItem(const QTreeWidgetItem &amp;)" remove="all"/>
+    <modify-function signature="operator=(const QTreeWidgetItem&amp;)" remove="all"/>
+
+    <modify-function signature="QTreeWidgetItem(QTreeWidget *,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QTreeWidgetItem(QTreeWidget *,const QStringList&lt;QString&gt; &amp;,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QTreeWidgetItem(QTreeWidget *,QTreeWidgetItem *,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,const QStringList&lt;QString&gt; &amp;,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="QTreeWidgetItem(QTreeWidgetItem *,QTreeWidgetItem *,int)">
+        <modify-argument index="this">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="clone() const">
+        <modify-argument index="return">
+            <define-ownership class="shell" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addChild(QTreeWidgetItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addChildren(const QList&lt;QTreeWidgetItem*&gt; &amp;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertChild(int, QTreeWidgetItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertChildren(int, const QList&lt;QTreeWidgetItem*&gt; &amp;)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeChild(QTreeWidgetItem*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeChild(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeChildren()">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="backgroundColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setBackgroundColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setTextColor(int, QColor)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="textColor(int)const" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QListWidget">
+    <modify-function signature="mimeData(const QList&lt;QListWidgetItem *&gt;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="addItem(QListWidgetItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertItem(int, QListWidgetItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeItemWidget(QListWidgetItem*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QListWidgetItem*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QListWidgetItem*,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemHidden(const QListWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemHidden(const QListWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setItemSelected(const QListWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemSelected(const QListWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="takeItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemWidget(QListWidgetItem*,QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  
+<!--        <modify-function signature="addItem(const QString &amp;)" remove="all"/>-->
+        <modify-function signature="addItems(const QStringList&lt;QString&gt; &amp;)" remove="all"/>
+        <modify-function signature="insertItem(int, const QString &amp;)" remove="all"/>
+        <modify-function signature="insertItems(int, const QStringList&lt;QString&gt; &amp;)" remove="all"/>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QListWidget___" quote-before-line="}// class"/>
+        </inject-code>
+    </object-type>
+
+  <object-type name="QWidget">
+    <extra-includes>
+        <include file-name="QIcon" location="global"/>
+        <include file-name="QMessageBox" location="global"/>
+    </extra-includes>
+
+<!-- These should be restored later after fixing abstract classes issue -->
+<!--<modify-function signature="inputContext()" remove="all"/>
+<modify-function signature="layout() const" remove="all"/>
+<modify-function signature="setLayout(QLayout*)" remove="all"/>-->
+<modify-function signature="style () const" remove="all"/>
+<!--                                                                    -->
+
+    <modify-function signature="actionEvent(QActionEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="changeEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="closeEvent(QCloseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="contextMenuEvent(QContextMenuEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragEnterEvent(QDragEnterEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragLeaveEvent(QDragLeaveEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dragMoveEvent(QDragMoveEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="dropEvent(QDropEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="enterEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusInEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="focusOutEvent(QFocusEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="hideEvent(QHideEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="inputMethodEvent(QInputMethodEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyPressEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="keyReleaseEvent(QKeyEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="leaveEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseDoubleClickEvent(QMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseMoveEvent(QMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mousePressEvent(QMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseReleaseEvent(QMouseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="moveEvent(QMoveEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="paintEvent(QPaintEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="resizeEvent(QResizeEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="showEvent(QShowEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="tabletEvent(QTabletEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="wheelEvent(QWheelEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+<!-- qtd
+    <modify-function signature="render(QPainter*,QPoint,QRegion,QFlags&lt;QWidget::RenderFlag&gt;)">
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <inject-code class="native">
+        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QWidget__1_1qt_1QMessageBox_1setWindowTitle)
+        (JNIEnv *__jni_env,
+            jclass,
+            jlong __this_nativeId,
+            jobject title0)
+        {
+            QTJAMBI_DEBUG_TRACE("(native) entering: QMessageBox::setWindowTitle(const QString &amp; title)");
+            QString __qt_title0 =  qtjambi_to_qstring(__jni_env, (jstring) title0);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            QMessageBox *__qt_this = (QMessageBox *) qtjambi_from_jlong(__this_nativeId);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            Q_ASSERT(__qt_this);
+            __qt_this-&gt;setWindowTitle((const QString&amp; )__qt_title0);
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QMessageBox::setWindowTitle(const QString &amp; title)");
+        }
+    </inject-code>
+
+    <inject-code class="native">
+        extern "C" JNIEXPORT void JNICALL QTJAMBI_FUNCTION_PREFIX(Java_com_trolltech_qt_gui_QWidget__1_1qt_1QMessageBox_1setWindowModality)
+        (JNIEnv *__jni_env,
+            jclass,
+            jlong __this_nativeId,
+            jint windowModality0)
+        {
+            Q_UNUSED(__jni_env);
+            QTJAMBI_DEBUG_TRACE("(native) entering: QMessageBox::setWindowModality(Qt::WindowModality modality)");
+            Qt::WindowModality __qt_windowModality0 = (Qt::WindowModality) windowModality0;
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            QMessageBox *__qt_this = (QMessageBox *) qtjambi_from_jlong(__this_nativeId);
+            QTJAMBI_EXCEPTION_CHECK(__jni_env);
+            Q_ASSERT(__qt_this);
+            __qt_this-&gt;setWindowModality((Qt::WindowModality )__qt_windowModality0);
+            QTJAMBI_DEBUG_TRACE("(native) -&gt; leaving: QMessageBox::setWindowModality(Qt::WindowModality modality)");
+        }
+    </inject-code>
+
+    <modify-function signature="render(QPaintDevice *, const QPoint &amp;, const QRegion &amp;, QFlags&lt;QWidget::RenderFlag&gt;)">
+        <modify-argument index="4">
+            <replace-default-expression with="RenderFlag.DrawWindowBackground, RenderFlag.DrawChildren"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="render(QPainter *, const QPoint &amp;, const QRegion &amp;, QFlags&lt;QWidget::RenderFlag&gt;)">
+        <modify-argument index="4">
+            <replace-default-expression with="RenderFlag.DrawWindowBackground, RenderFlag.DrawChildren"/>
+        </modify-argument>
+    </modify-function>
+-->	
+<!--    <modify-function signature="setFocusProxy(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcFocusProxy"/>
+        </modify-argument>
+    </modify-function> -->
+    <modify-function signature="setInputContext(QInputContext*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+	<!--
+    <modify-function signature="setLayout(QLayout*)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+	-->
+    <modify-function signature="setParent(QWidget*,QFlags&lt;Qt::WindowType&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setParent(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+	<!--
+    <modify-function signature="setStyle(QStyle*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcStyle"/>
+        </modify-argument>
+    </modify-function>
+	-->
+    <modify-function signature="setTabOrder(QWidget*,QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="getContentsMargins(int*,int*,int*,int*)const">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="addAction(QAction *)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcActions"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="insertAction(QAction *, QAction *)">
+        <modify-argument index="2">
+            <reference-count action="add" variable-name="__rcActions"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="addActions(const QList&lt;QAction *&gt; &amp;)">
+        <modify-argument index="1">
+            <reference-count action="add-all" variable-name="__rcActions"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="insertActions(QAction *, const QList&lt;QAction *&gt; &amp;)">
+        <modify-argument index="2">
+            <reference-count action="add-all" variable-name="__rcActions"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="removeAction(QAction *)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcActions"/>
+        </modify-argument>
+    </modify-function>
+      <modify-function signature="enabledChange(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="fontChange(QFont)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="isEnabledToTLW()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="isTopLevel()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="paletteChange(QPalette)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setShown(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="topLevelWidget()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="windowActivationChange(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QWidget___" quote-before-line="}// class"/>
+        </inject-code>
+<!--
+        <modify-function signature="setWindowTitle(const QString &amp;)">
+            <inject-code class="java">
+                <argument-map index="1" meta-name="%1"/>
+            if (this instanceof QMessageBox) {
+                qt.GeneratorUtilities.threadCheck(this);
+                if (nativeId() == 0)
+                    throw new QNoNativeResourcesException("Function call on incomplete object of type: " +getClass().getName());
+                __qt_QMessageBox_setWindowTitle(nativeId(), %1);
+                return ;
+            }
+            </inject-code>
+        </modify-function>
+
+
+        <modify-function signature="setWindowModality(Qt::WindowModality)">
+            <inject-code class="java">
+                <argument-map index="1" meta-name="%1"/>
+            if (this instanceof QMessageBox) {
+                qt.GeneratorUtilities.threadCheck(this);
+                if (nativeId() == 0)
+                    throw new QNoNativeResourcesException("Function call on incomplete object of type: " +getClass().getName());
+                __qt_QMessageBox_setWindowModality(nativeId(), %1.value());
+                return ;
+            }
+            </inject-code>
+        </modify-function>
+-->
+
+
+
+    </object-type>
+
+  <object-type name="QMessageBox">
+    <modify-function signature="open()" remove="all"/>
+    <modify-function signature="setWindowTitle(const QString &amp;)" remove="all"/>
+    <modify-function signature="setWindowModality(Qt::WindowModality)" remove="all"/>
+    <extra-includes>
+        <include file-name="QPixmap" location="global"/>
+    </extra-includes>
+    <modify-function signature="addButton(QAbstractButton*,QMessageBox::ButtonRole)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeButton(QAbstractButton*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setDefaultButton(QPushButton*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setEscapeButton(QAbstractButton*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="QMessageBox(QString,QString,QMessageBox::Icon,int,int,int,QWidget*,QFlags&lt;Qt::WindowType&gt;)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="buttonText(int)const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setButtonText(int, QString)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="standardIcon(QMessageBox::Icon)" remove="all"/> <!--### Obsolete in 4.3-->
+
+      <modify-function signature="critical(QWidget*,QString,QString,int,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="critical(QWidget*,QString,QString,QString,QString,QString,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="information(QWidget*,QString,QString,int,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="information(QWidget*,QString,QString,QString,QString,QString,int,int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="question(QWidget*, QString, QString, int, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="question(QWidget*, QString, QString, QString, QString, QString, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="warning(QWidget*, QString, QString, int, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="warning(QWidget*, QString, QString, QString, QString, QString, int, int)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QAbstractSpinBox">
+    <modify-function signature="initStyleOption(QStyleOptionSpinBox*)const">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="setLineEdit(QLineEdit*)">
+        <modify-argument index="1">
+            <!-- Safe to ignore because the spinbox reparents the line edit -->
+            <reference-count action="ignore"/>
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+<!--  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionSpinBox"/>
+                <replace from="final" to=""/>
+            </insert-template>
+        </inject-code>
+
+        <modify-function signature="fixup(QString&amp;)const">
+            <modify-argument index="1">
+                <replace-type modified-type="java.lang.String"/>
+                <conversion-rule class="shell">
+                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, %in);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QString %out = qtjambi_to_qstring(__jni_env, (jstring) %in);
+                    QString *__qt_converted = &amp;%out;
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <replace-type modified-type="java.lang.String"/>
+                <conversion-rule class="native">
+                    jobject %out = (jobject) qtjambi_from_qstring(__jni_env, *__qt_converted);
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    %1 = qtjambi_to_qstring(__jni_env, (jstring) %in);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="validate(QString&amp;,int&amp;)const">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QValidator$QValidationData"/>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.convert_validationdata_to_java">
+                        <replace from="%STRING" to="%1"/>
+                        <replace from="%POS" to="%2"/>
+                    </insert-template>
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_validationdata_to_string"/>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                    // nothing needed
+                </conversion-rule>
+                <conversion-rule class="native">
+                    <insert-template name="gui.convert_validationdata_to_pos">
+                        <replace from="%VALIDATIONDATA" to="%1"/>
+                    </insert-template>
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="0">
+                <conversion-rule class="native">
+                    <insert-template name="gui.cleanup_validationdata_from_java"/>
+                    jint %out = %in;
+                </conversion-rule>
+                <conversion-rule class="shell">
+                    <insert-template name="gui.cleanup_validationdata_to_java">
+                        <replace from="%STRING" to="%1"/>
+                        <replace from="%POS" to="%2"/>
+                    </insert-template>
+                    QValidator::State %out = (QValidator::State) qtjambi_to_enumerator(__jni_env, %in);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>-->
+    </object-type>
+
+  <object-type name="QTextFrame" delete-in-main-thread="yes">
+    <extra-includes>
+        <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QImageIOHandler">
+    <extra-includes>
+        <include file-name="QRect" location="global"/>
+    </extra-includes>
+    <modify-function signature="setFormat(const QByteArray &amp;)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setDevice(QIODevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="read(QImage*)">
+        <modify-argument index="1">
+            <replace-type modified-type="QImage"/>
+<!--            <conversion-rule class="shell">
+                jobject %out = qtjambi_from_object(__jni_env, %in, "QImage", "com/trolltech/qt/gui/", false);
+
+                QtJambiLink *__link = %out != 0 ? QtJambiLink::findLink(__jni_env, %out) : 0;
+            </conversion-rule>
+            <conversion-rule class="native">
+                QImage *%out = (QImage *) qtjambi_to_object(__jni_env, %in);
+            </conversion-rule> -->
+        </modify-argument>
+<!--        <modify-argument index="0">
+            <conversion-rule class="shell">
+                // Invalidate object
+                if (__link != 0) __link-&gt;resetObject(__jni_env);
+                bool %out = (bool) %in;
+            </conversion-rule>
+        </modify-argument>-->
+    </modify-function>
+
+      <modify-function signature="name()const" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QProxyModel">
+    <modify-function signature="parent()const" remove="all"/>
+    <extra-includes>
+        <include file-name="QPixmap" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcModel"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QImageReader">
+    <extra-includes>
+        <include file-name="QColor" location="global"/>
+        <include file-name="QRect" location="global"/>
+        <include file-name="QSize" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QImage" location="global"/>
+    </extra-includes>
+    <modify-function signature="read(QImage*) ">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setDevice(QIODevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QMovie">
+    <extra-includes>
+        <include file-name="QColor" location="global"/>
+        <include file-name="QImage" location="global"/>
+        <include file-name="QPixmap" location="global"/>
+        <include file-name="QRect" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+    <modify-function signature="cacheMode()">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setDevice(QIODevice*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDevice"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QPageSetupDialog">
+      <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+  </object-type>
+
+  <object-type name="QTabWidget">
+<!--    <modify-function signature="initStyleOption(QStyleOptionTabWidgetFrame*)const">
+        <access modifier="private"/>
+    </modify-function>
+    <inject-code>
+        <insert-template name="gui.init_style_option">
+            <replace from="%TYPE" to="QStyleOptionTabWidgetFrame"/>
+        </insert-template>
+    </inject-code>-->
+    <modify-function signature="addTab(QWidget*,QIcon,QString)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addTab(QWidget*,QString)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertTab(int,QWidget*,QString)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertTab(int,QWidget*,QIcon,QString)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCornerWidget(QWidget*,Qt::Corner)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setTabBar(QTabBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QDrag">
+    <extra-includes>
+        <include file-name="QPoint" location="global"/>
+        <include file-name="QPixmap" location="global"/>
+    </extra-includes>
+    <modify-function signature="setMimeData(QMimeData*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="start(QFlags&lt;Qt::DropAction&gt;)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QDateTimeEdit">
+    <modify-function signature="setCalendarWidget(QCalendarWidget*)">
+        <modify-argument index="1">
+            <!-- Safe to ignore because widget is reparented -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    </object-type>
+
+  <object-type name="QSortFilterProxyModel">
+     <modify-function signature="parent()const" remove="all"/>
+    <extra-includes>
+        <include file-name="QItemSelection" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+
+    <modify-function signature="setSourceModel(QAbstractItemModel *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcSourceModel"/>
+        </modify-argument>
+    </modify-function>
+
+      <modify-function signature="clear()" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="filterChanged()" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <modify-function signature="match(QModelIndex, int, QVariant, int, QFlags&lt;Qt::MatchFlag&gt;) const">
+            <modify-argument index="5">
+                <replace-default-expression with="Qt.MatchFlag.MatchStartsWith | Qt.MatchFlag.MatchWrap"/>
+            </modify-argument>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QSlider">
+<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionSlider"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QInputContext">
+    <extra-includes>
+        <include file-name="QTextFormat" location="global"/>
+    </extra-includes>
+    <modify-function signature="setFocusWidget(QWidget*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="filterEvent(const QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="mouseHandler(int,QMouseEvent*)">
+        <modify-argument index="2" invalidate-after-use="yes"/>
+    </modify-function>
+
+  </object-type>
+
+  <object-type name="QProgressDialog">
+        <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+
+    <modify-function signature="setBar(QProgressBar*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCancelButton(QPushButton*)">
+        <modify-argument index="1">
+            <!-- Safe to ignore because button is reparented -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setLabel(QLabel*)">
+        <modify-argument index="1">
+            <!-- Safe to ignore because label is reparented -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+
+  <object-type name="QLabel">
+<!--    <modify-function signature="picture()const">
+        <access modifier="private"/>
+        <rename to="picture_private"/>
+    </modify-function>
+-->
+    <modify-function signature="setBuddy(QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcBuddy"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setMovie(QMovie *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcMovie"/>
+        </modify-argument>
+    </modify-function>
+<!--    <modify-function signature="pixmap()const">
+        <access modifier="private"/>
+        <rename to="pixmap_private"/>
+    </modify-function>
+
+        <inject-code>
+            <insert-template name="gui.getter_returning_nativepointer">
+                <replace from="%RETURN_TYPE" to="QPicture"/>
+                <replace from="%FUNCTION_NAME" to="picture"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.getter_returning_nativepointer">
+                <replace from="%RETURN_TYPE" to="QPixmap"/>
+                <replace from="%FUNCTION_NAME" to="pixmap"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+
+  <object-type name="QFileDialog">
+    <extra-includes>
+        <include file-name="QUrl" location="global"/>
+    </extra-includes>
+    <modify-function signature="open()" remove="all"/>
+<!--     <modify-function signature="setVisible(bool)" remove="all"/> // properties_d -->
+    <modify-function signature="getOpenFileName(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+<!--        <modify-argument index="6">
+            <remove-default-expression/>
+        </modify-argument>-->
+    </modify-function>
+<!--
+    <modify-function signature="getOpenFileNames(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
+        <access modifier="private"/>
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="6">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+-->
+    <modify-function signature="getSaveFileName(QWidget*,QString,QString,QString,QString*,QFlags&lt;QFileDialog::Option&gt;)">
+        <modify-argument index="1">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="3">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+        <modify-argument index="5">
+            <remove-default-expression/>
+        </modify-argument>
+<!--        <modify-argument index="6">
+            <remove-default-expression/>
+        </modify-argument>-->
+    </modify-function>
+
+    <modify-function signature="setIconProvider(QFileIconProvider*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcIconProvider"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setItemDelegate(QAbstractItemDelegate*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcItemDelegate"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setProxyModel(QAbstractProxyModel*)">
+        <modify-argument index="1">
+            <!-- Reparented -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QFileDialog___" quote-before-line="}// class"/>
+        </inject-code>
+<!--
+        <template name="gui.filedialog_get_xxx_filename">
+        public static %TYPE %FUNCTION_NAME(QWidget parent, string caption, String dir, Filter filter, Options options) {
+            QNativePointer np = filter != null ? new QNativePointer(QNativePointer.Type.String) : null;
+            %TYPE returned = %FUNCTION_NAME(parent, caption, dir, filter != null ? filter.filter : "", np, options);
+            if (filter != null)
+                filter.selectedFilter = np.stringValue();
+            return returned;
+        }
+
+        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir, Filter filter, Option ... options) {
+            QNativePointer np = filter != null ? new QNativePointer(QNativePointer.Type.String) : null;
+            %TYPE returned = %FUNCTION_NAME(parent, caption, dir, filter != null ? filter.filter : "", np, options);
+            if (filter != null)
+                filter.selectedFilter = np.stringValue();
+            return returned;
+        }
+
+        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir, Filter filter) {
+            return %FUNCTION_NAME(parent, caption, dir, filter, new Options(0));
+        }
+
+        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption, String dir) {
+            return %FUNCTION_NAME(parent, caption, dir, null);
+        }
+
+        public static %TYPE %FUNCTION_NAME(QWidget parent, String caption) {
+            return %FUNCTION_NAME(parent, caption, "");
+        }
+
+        public static %TYPE %FUNCTION_NAME(QWidget parent) {
+            return %FUNCTION_NAME(parent, "");
+        }
+
+        public static %TYPE %FUNCTION_NAME() {
+            return %FUNCTION_NAME(null);
+        }
+
+        </template>
+
+        <inject-code>
+            <insert-template name="gui.filedialog_get_xxx_filename">
+                <replace from="%FUNCTION_NAME" to="getOpenFileName"/>
+                <replace from="%TYPE" to="String"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.filedialog_get_xxx_filename">
+                <replace from="%FUNCTION_NAME" to="getOpenFileNames"/>
+                <replace from="%TYPE" to="java.util.List&lt;String&gt;"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.filedialog_get_xxx_filename">
+                <replace from="%FUNCTION_NAME" to="getSaveFileName"/>
+                <replace from="%TYPE" to="String"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QErrorMessage"/>
+
+  <object-type name="QTabBar">
+    <extra-includes>
+        <include file-name="QIcon" location="global"/>
+    </extra-includes>
+<!--    <modify-function signature="initStyleOption(QStyleOptionTab*,int)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTabBar___" quote-before-line="}// class"/>
+        </inject-code>
+-->
+    </object-type>
+
+  <object-type name="QStandardItemModel">
+    <modify-function signature="insertColumn(int,const QModelIndex &amp;)" remove="all"/>
+    <modify-function signature="insertRow(int,const QModelIndex &amp;)" remove="all"/>
+    <modify-function signature="parent()const" remove="all"/>
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+
+    <modify-function signature="appendColumn(const QList&lt;QStandardItem *&gt;&amp;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeColumn(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeRow(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeHorizontalHeaderItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeVerticalHeaderItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeItem(int,int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="appendRow(const QList&lt;QStandardItem *&gt;&amp;)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="appendRow(QStandardItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertColumn(int, const QList&lt;QStandardItem *&gt;&amp;)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int, const QList&lt;QStandardItem *&gt;&amp;)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int, QStandardItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setHorizontalHeaderItem(int, QStandardItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItem(int, int, QStandardItem *)">
+        <modify-argument index="3">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItem(int, QStandardItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemPrototype(const QStandardItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setVerticalHeaderItem(int, QStandardItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QRadioButton">
+<!--    <modify-function signature="initStyleOption(QStyleOptionButton*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionButton"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QScrollBar">
+<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionSlider"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QClipboard">
+    <extra-includes>
+        <include file-name="QImage" location="global"/>
+        <include file-name="QPixmap" location="global"/>
+    </extra-includes>
+    <modify-function signature="setMimeData(QMimeData *, QClipboard::Mode)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QClipboard___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+
+  <object-type name="QAbstractScrollArea">
+    <modify-function signature="setupViewport(QWidget *)" access="non-final"/>
+    <modify-function signature="addScrollBarWidget(QWidget*,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCornerWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setHorizontalScrollBar(QScrollBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setVerticalScrollBar(QScrollBar*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setViewport(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="setupViewport(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="viewportEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAbstractScrollArea___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+
+  <object-type name="QPaintEngineState">
+    <extra-includes>
+        <include file-name="QPainterPath" location="global"/>
+    </extra-includes>
+	<modify-function signature="painter() const">
+		<store-result/>
+	</modify-function>
+  </object-type>
+
+  <object-type name="QRubberBand">
+<!--    <modify-function signature="initStyleOption(QStyleOptionRubberBand*)const">
+        <access modifier="private"/>
+    </modify-function>-->
+    <modify-function signature="move(int,int)" rename="moveRubberBand"/>
+    <modify-function signature="move(const QPoint &amp;)" rename="moveRubberBand"/>
+    <modify-function signature="resize(int,int)" rename="resizeRubberBand"/>
+    <modify-function signature="resize(const QSize &amp;)" rename="resizeRubberBand"/>
+    <modify-function signature="setGeometry(int,int,int,int)" rename="setRubberBandGeometry"/>
+    <modify-function signature="setGeometry(const QRect &amp;)" rename="setRubberBandGeometry"/>
+  
+<!--        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionRubberBand"/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+
+  <object-type name="QTextLayout">
+    <extra-includes>
+        <include file-name="QTextOption" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QTableWidget">
+    <modify-function signature="mimeData(const QList&lt;QTableWidgetItem*&gt;)const">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="isSortingEnabled()const" remove="all"/>
+    <modify-function signature="setSortingEnabled(bool)" remove="all"/>
+    <modify-function signature="setHorizontalHeaderItem(int, QTableWidgetItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItem(int, int, QTableWidgetItem *)">
+        <modify-argument index="3">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeHorizontalHeaderItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeVerticalHeaderItem(int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="takeItem(int,int)">
+        <modify-argument index="return">
+            <define-ownership class="java" owner="default"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemPrototype(const QTableWidgetItem *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setVerticalHeaderItem(int, QTableWidgetItem *)">
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCellWidget(int,int,QWidget*)">
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QTableWidgetItem*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentItem(QTableWidgetItem*,QFlags&lt;QItemSelectionModel::SelectionFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemSelected(const QTableWidgetItem*,bool)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="isItemSelected(const QTableWidgetItem*)const">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QTextDocument">
+    <extra-includes>
+        <include file-name="QTextBlock" location="global"/>
+        <include file-name="QTextFormat" location="global"/>
+        <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+    <modify-function signature="setDocumentLayout(QAbstractTextDocumentLayout*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+<!--  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QTextDocument___" quote-before-line="}// class"/>
+        </inject-code>
+-->
+    </object-type>
+
+  <object-type name="QSplitter">
+
+    <modify-function signature="getRange(int,int*,int*)const">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget *)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(int, QWidget *)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QSplitter___" quote-before-line="}// class"/>
+        </inject-code>
+
+    </object-type>
+
+  <object-type name="QGroupBox">
+<!--    <modify-function signature="initStyleOption(QStyleOptionGroupBox*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionGroupBox"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QStackedWidget">
+    <modify-function signature="addWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(int,QWidget*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setCurrentWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QSplitterHandle">
+  </object-type>
+
+  <object-type name="QDial">
+<!--    <modify-function signature="initStyleOption(QStyleOptionSlider*)const">
+        <access modifier="private"/>
+    </modify-function>
+  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionSlider"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QLineEdit">
+<!--    <modify-function signature="initStyleOption(QStyleOptionFrame*)const">
+        <access modifier="private"/>
+    </modify-function>-->
+    <modify-function signature="setCompleter(QCompleter *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcCompleter"/>
+        </modify-argument>
+    </modify-function>
+     <modify-function signature="setValidator(const QValidator *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcValidator"/>
+        </modify-argument>
+    </modify-function>
+<!--  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionFrame"/>
+            </insert-template>
+        </inject-code>-->
+    </object-type>
+
+  <object-type name="QLCDNumber"/>
+
+  <object-type name="QSplashScreen">
+    <modify-function signature="showMessage(const QString &amp;, int, const QColor &amp;)">
+      <modify-argument index="3">
+        <replace-default-expression with="QColor.Black"/>
+      </modify-argument>
+    </modify-function>
+    <modify-function signature="repaint()" remove="all"/>
+    <modify-function signature="drawContents(QPainter*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QDockWidget">
+<!--    <modify-function signature="initStyleOption(QStyleOptionDockWidget*)const">
+        <access modifier="private"/>
+    </modify-function>
+	
+    <inject-code>
+        <insert-template name="gui.init_style_option">
+            <replace from="%TYPE" to="QStyleOptionDockWidget"/>
+        </insert-template>
+    </inject-code>-->
+    <modify-function signature="setTitleBarWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QAbstractProxyModel">
+    <extra-includes>
+        <include file-name="QItemSelection" location="global"/>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+
+    <modify-function signature="setSourceModel(QAbstractItemModel *)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcSourceModel"/>
+        </modify-argument>
+    </modify-function>
+
+  </object-type>
+
+  <object-type name="QDesktopWidget">
+  </object-type>
+
+  <object-type name="QFrame">
+  </object-type>
+
+  <object-type name="QTextTable">
+    <modify-function signature="format() const">
+        <rename to="tableFormat"/>
+    </modify-function>
+    <extra-includes>
+        <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QSpinBox">
+    <modify-function signature="valueChanged(const QString &amp;)">
+        <rename to="valueStringChanged"/>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QTextBrowser">
+    <modify-function signature="highlighted(const QString &amp;)">
+        <rename to="highlightedString"/>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QDoubleSpinBox">
+    <modify-function signature="valueChanged(const QString &amp;)">
+        <rename to="valueStringChanged"/>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QButtonGroup">
+    <modify-function signature="buttonClicked(int)">
+        <rename to="buttonIdClicked"/>
+    </modify-function>
+    <modify-function signature="buttonPressed(int)">
+        <rename to="buttonIdPressed"/>
+    </modify-function>
+    <modify-function signature="buttonReleased(int)">
+        <rename to="buttonIdReleased"/>
+    </modify-function>
+    <modify-function signature="addButton(QAbstractButton *)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcButtons"/>
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addButton(QAbstractButton *, int)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcButtons"/>
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeButton(QAbstractButton *)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcButtons"/>
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setId(QAbstractButton *,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QToolBar">
+    <modify-function signature="addAction(QAction *)" remove="all"/>
+<!--    <modify-function signature="initStyleOption(QStyleOptionToolBar*)const">
+        <access modifier="private"/>
+    </modify-function>-->
+    <modify-function signature="addAction(QIcon,QString,const QObject*,const char*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="addAction(QString,const QObject*,const char*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="addWidget(QWidget*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertWidget(QAction*,QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertSeparator(QAction*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QToolBar___" quote-before-line="}// class"/>
+        </inject-code>
+<!--  
+        <inject-code>
+            <insert-template name="gui.init_style_option">
+                <replace from="%TYPE" to="QStyleOptionToolBar"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.addAction">
+                <replace from="%POST_CALL" to=""/>
+                <replace from=" %END_EXTRA" to=""/>
+                <replace from=" %END_CALL_EXTRA" to=""/>
+                <replace from="%EXTRA" to="QIcon icon,"/>
+                <replace from="%CALL_EXTRA" to="icon,"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.addAction">
+                <replace from="%POST_CALL" to=""/>
+                <replace from=" %END_EXTRA" to=""/>
+                <replace from=" %END_CALL_EXTRA" to=""/>
+                <replace from="%EXTRA " to=""/>
+                <replace from="%CALL_EXTRA " to=""/>
+            </insert-template>
+        </inject-code> -->
+    </object-type>
+
+  <object-type name="QPaintEngine">
+
+	<modify-function signature="painter() const">
+		<store-result/>
+	</modify-function>
+
+    <modify-function signature="begin(QPaintDevice*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="updateState(QPaintEngineState)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="drawTextItem(QPointF,QTextItem)">
+        <modify-argument index="2" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <extra-includes>
+        <include file-name="QVarLengthArray" location="global"/>
+    </extra-includes>
+    <modify-function signature="setPaintDevice(QPaintDevice*)">
+        <remove/>
+    </modify-function>
+    <modify-field name="state" read="false" write="false"/>
+<!--  
+        <modify-function signature="drawLines(const QLine *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QLine[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QLine", "com/trolltech/qt/gui/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QLine, 32&gt; __lines;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __lines.append(*(QLine *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QLine *%out = %1 == 0 ? 0 : __lines.constData();
+                </conversion-rule>
+
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawLines(const QLineF *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QLineF[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QLineF", "com/trolltech/qt/gui/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QLineF, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QLineF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QLineF *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawRects(const QRectF *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QRectF[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QRectF", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QRectF, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QRectF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QRectF *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawRects(const QRect *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QRect[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QRect", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QRect, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QRect *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QRect *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawPoints(const QPoint *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QPoint[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QPoint", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QPoint, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QPoint *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QPoint *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawPoints(const QPointF *, int)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QPointF[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QPointF", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QPointF, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QPointF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QPointF *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawPolygon(const QPoint *, int, QPaintEngine::PolygonDrawMode)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QPoint[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QPoint", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QPoint, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QPoint *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QPoint *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+
+        <modify-function signature="drawPolygon(const QPointF *, int, QPaintEngine::PolygonDrawMode)">
+            <modify-argument index="1">
+                <replace-type modified-type="qt.core.QPointF[]"/>
+                <conversion-rule class="shell">
+                jobjectArray %out = qtjambi_from_array(__jni_env, %in, %2,
+                                                       "QPointF", "com/trolltech/qt/core/");
+                </conversion-rule>
+                <conversion-rule class="native">
+                QVarLengthArray&lt;QPointF, 32&gt; __data;
+                int __size = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                for (int i=0; i&lt;__size; ++i)
+                    __data.append(*(QPointF *)qtjambi_to_object(__jni_env, __jni_env-&gt;GetObjectArrayElement((jobjectArray) %in, i)));
+                const QPointF *%out = %1 == 0 ? 0 : __data.constData();
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="2">
+                <remove-argument/>
+                <conversion-rule class="shell">
+                /* nothing */
+                </conversion-rule>
+                <conversion-rule class="native">
+                int %out = %1 == 0 ? 0 : __jni_env-&gt;GetArrayLength((jarray) %1);
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>
+		-->
+    </object-type>
+
+  <object-type name="QAbstractTableModel">
+<!--  <modify-function signature="parent(const QModelIndex &amp;)const" remove="all"/>
+  <modify-function signature="hasChildren(const QModelIndex &amp;)const" remove="all"/> -->
+    <extra-includes>
+        <include file-name="QStringList" location="global"/>
+        <include file-name="QSize" location="global"/>
+    </extra-includes>
+  </object-type>
+
+  <object-type name="QGuiSignalMapper">
+        <modify-function signature="setMapping(QObject*,QWidget*)">
+            <modify-argument index="1">
+                <reference-count action="add" declare-variable="qt.core.QSignalMapper" variable-name="__rcMappings"/>
+            </modify-argument>
+            <inject-code class="java" position="end">
+                <argument-map index="1" meta-name="%1"/>
+                <argument-map index="2" meta-name="%2"/>
+                java.util.Hashtable&lt;qt.core.QObject, Object&gt; __rcWidgetForObject = (java.util.Hashtable&lt;qt.core.QObject, Object&gt;) qt.GeneratorUtilities.fetchField(this, qt.core.QSignalMapper.class, "__rcWidgetForObject");
+                if (%2 == null)
+                    __rcWidgetForObject.remove(%1);
+                else
+                    __rcWidgetForObject.put(%1,%2);
+            </inject-code>
+        </modify-function>
+    </object-type>
+
+  <object-type name="QComboBox">
+<!--    <modify-function signature="initStyleOption(QStyleOptionComboBox*)const">
+        <access modifier="private"/>
+    </modify-function>-->
+    <modify-function signature="setCompleter(QCompleter*)">
+        <modify-argument index="1">
+            <reference-count variable-name="__rcCompleter" action="set"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setValidator(const QValidator*)">
+        <modify-argument index="1">
+            <reference-count variable-name="__rcValidator" action="set"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItemDelegate(QAbstractItemDelegate *)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setView(QAbstractItemView *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <!-- Safe to ignore because combo box reparents view -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setLineEdit(QLineEdit *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <!-- Safe to ignore because combo box reparents line edit -->
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModel(QAbstractItemModel *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+            <reference-count action="set" variable-name="__rcModel"/>
+        </modify-argument>
+    </modify-function>
+<!--    <inject-code>
+        <insert-template name="gui.init_style_option">
+            <replace from="%TYPE" to="QStyleOptionComboBox"/>
+        </insert-template>
+    </inject-code>-->
+    <inject-code>
+        <import-file name="typesystem_gui-java.java" quote-after-line="class QComboBox___" quote-before-line="}// class"/>
+    </inject-code>
+    <modify-function signature="activated(int)">&gt;
+        <rename to="activatedIndex"/>
+    </modify-function>
+    <modify-function signature="currentIndexChanged(const QString &amp;)">
+        <rename to="currentStringChanged"/>
+    </modify-function>
+    <modify-function signature="highlighted(int)">
+        <rename to="highlightedIndex"/>
+    </modify-function>
+
+      <modify-function signature="autoCompletion()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="autoCompletionCaseSensitivity()const" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setAutoCompletion(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+      <modify-function signature="setAutoCompletionCaseSensitivity(Qt::CaseSensitivity)" remove="all"/> <!--### Obsolete in 4.3-->
+  </object-type>
+
+  <object-type name="QTextEdit">
+    <extra-includes>
+        <include file-name="QTextCursor" location="global"/>
+    </extra-includes>
+    <modify-function signature="setDocument(QTextDocument*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDocument"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertFromMimeData(const QMimeData*)    ">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+
+  <object-type name="QPrinter" delete-in-main-thread="yes">
+  
+  
+    <modify-function signature="setEngines(QPrintEngine*,QPaintEngine*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcPrintEngine"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="set" variable-name="__rcPaintEngine"/>
+        </modify-argument>
+    </modify-function>
+  
+        <modify-function signature="getPageMargins(double*,double*,double*,double*,QPrinter::Unit)const" access="private"/>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPrinter___" quote-before-line="}// class"/>
+        </inject-code>
+    </object-type>
+
+  <object-type name="QAction">
+      <modify-function signature="setMenu(QMenu*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcMenu"/>
+        </modify-argument>
+    </modify-function>
+
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QAction___" quote-before-line="}// class"/>
+        </inject-code>
+<!--
+        <modify-function signature="setActionGroup(QActionGroup*)">
+            <modify-argument index="1">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+            java.util.Collection&lt;Object&gt; __rcTmp = null;
+            if (__rcActionGroup != null) {
+                __rcTmp = (java.util.Collection&lt;Object&gt;)qt.GeneratorUtilities.fetchField(__rcActionGroup, QActionGroup.class, "__rcActions");
+                while (__rcTmp.contains(this))
+                    __rcTmp.remove(this);
+            }
+            __rcActionGroup = %1;
+            if (__rcActionGroup != null) {
+                __rcTmp = (java.util.Collection&lt;Object&gt;)qt.GeneratorUtilities.fetchField(__rcActionGroup, QActionGroup.class, "__rcActions");
+                __rcTmp.add(this);
+            }
+            </inject-code>
+        </modify-function>
+		-->
+    </object-type>
+
+  <object-type name="QPainter">
+<!--  <add-class name="QPaintEngineState"/> -->
+    <extra-includes>
+      <include file-name="QWidget" location="global"/>
+      <include file-name="QPainterPath" location="global"/>
+      <include file-name="QPixmap" location="global"/>
+	  <include file-name="qt.gui.QGradient" location="java"/>
+    </extra-includes>
+
+    <modify-function signature="drawText(const QPointF &amp;, const QString &amp;, int, int)" remove="all"/>
+
+    <modify-function signature="drawConvexPolygon(const QPoint *, int)">
+      <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawConvexPolygon(const QPointF *, int)">
+      <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawLines(const QLine *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawLines(const QLineF *, int)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="drawPoints(const QPoint *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawPoints(const QPointF *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    
+    <modify-function signature="drawPolygon(const QPoint *, int, Qt::FillRule)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawPolygon(const QPointF *, int, Qt::FillRule)">
+        <access modifier="private"/>
+    </modify-function>
+
+    <modify-function signature="drawPolyline(const QPoint *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawPolyline(const QPointF *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    
+    <modify-function signature="drawRects(const QRect *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="drawRects(const QRectF *, int)">
+        <access modifier="private"/>
+    </modify-function>
+    
+    <!-- removed stuff -->
+    <modify-function signature="drawRects(const QVector&lt;QRect&gt; &amp;)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="drawRects(const QVector&lt;QRectF&gt; &amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="drawLines(const QVector&lt;QLine&gt; &amp;)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="drawLines(const QVector&lt;QLineF&gt; &amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="drawLines(const QVector&lt;QPoint&gt; &amp;)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="drawLines(const QVector&lt;QPointF&gt; &amp;)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="drawLines(const QPoint *, int)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="drawLines(const QPointF *, int)">
+        <remove/>
+    </modify-function>
+
+
+    <modify-function signature="QPainter(QPaintDevice *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="begin(QPaintDevice *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="initFrom(const QWidget *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setRedirected(const QPaintDevice *, QPaintDevice *, const QPoint &amp;)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="restoreRedirected(const QPaintDevice *)">
+        <modify-argument index="1">
+            <no-null-pointer/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="drawText(QRect,int,QString,QRect*)">
+        <access modifier="private"/>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="drawText(QRectF,int,QString,QRectF*)">
+        <access modifier="private"/>
+        <modify-argument index="4">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="drawText(int,int,int,int,int,QString,QRect*)">
+        <access modifier="private"/>
+        <modify-argument index="7">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="redirected(const QPaintDevice*,QPoint*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="matrix()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="matrixEnabled()const" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="setMatrix(QMatrix, bool)" remove="all"/> <!--### Obsolete in 4.3-->
+    <modify-function signature="setMatrixEnabled(bool)" remove="all"/> <!--### Obsolete in 4.3-->
+  
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QPainter___" quote-before-line="}// class"/>
+        </inject-code>
+<!--
+    <inject-code class="destructor-function">
+      if (((QPainter *) ptr)-&gt;isActive()) {
+          qWarning("QPainter: trying to delete an active painter, "
+                       "did you forget to call \"end()\"?\n");
+              return;
+          }
+        </inject-code>
+
+        <template name="gui.painter_draw_text_general">
+        public final void drawText(%RECT_ARGUMENTS, int flags, String text, %RECT_TYPE boundingRect) {
+            drawText(%RECT_CALL_ARGUMENTS, flags, text, boundingRect == null ? null : boundingRect.nativePointer());
+        }
+
+        public final void drawText(%RECT_ARGUMENTS, int flags, String text) {
+            drawText(%RECT_CALL_ARGUMENTS, flags, text, (%RECT_TYPE) null);
+        }
+        </template>
+
+        <template name="gui.painter_draw_text_qrect">
+            <insert-template name="gui.painter_draw_text_general">
+                <replace from="%RECT_ARGUMENTS" to="%RECT_TYPE rectangle"/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="rectangle"/>
+            </insert-template>
+        </template>
+        <inject-code>
+            <insert-template name="gui.painter_draw_text_qrect">
+                <replace from="%RECT_TYPE" to="qt.core.QRect"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.painter_draw_text_qrect">
+                <replace from="%RECT_TYPE" to="qt.core.QRectF"/>
+            </insert-template>
+        </inject-code>
+        <inject-code>
+            <insert-template name="gui.painter_draw_text_general">
+                <replace from="%RECT_TYPE" to="qt.core.QRect"/>
+                <replace from="%RECT_ARGUMENTS" to="int x, int y, int width, int height"/>
+                <replace from="%RECT_CALL_ARGUMENTS" to="x, y, width, height"/>
+            </insert-template>
+        </inject-code>
+
+
+        <modify-function signature="setRedirected(const QPaintDevice*, QPaintDevice*, const QPoint &amp;)">
+            <modify-argument index="1">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <modify-argument index="2">
+                <reference-count action="ignore"/>
+            </modify-argument>
+            <inject-code position="end">
+                <argument-map index="1" meta-name="%1"/>
+                <argument-map index="2" meta-name="%2"/>
+            __rcRedirections.push(%1);
+            __rcRedirections.push(%2);
+            </inject-code>
+        </modify-function>
+        <modify-function signature="restoreRedirected(const QPaintDevice*)">
+            <inject-code position="end">
+            if (!__rcRedirections.empty()) __rcRedirections.pop();
+            if (!__rcRedirections.empty()) __rcRedirections.pop();
+            </inject-code>
+        </modify-function>
+		-->
+    </object-type>
+
+  <object-type name="QApplication">
+    <extra-includes>
+      <include file-name="QBasicTimer" location="global"/>
+      <include file-name="QFont" location="global"/>
+      <include file-name="QFontMetrics" location="global"/>
+      <include file-name="QPalette" location="global"/>
+      <include file-name="QIcon" location="global"/>
+      <include file-name="QLocale" location="global"/>
+
+      <include file-name="qt.qtd.Str" location="java"/>
+    </extra-includes>
+
+    <!-- qtd2 -->
+    <modify-function signature="inputContext() const" remove="all"/>
+    <modify-function signature="setStyle(QStyle*)" remove="all"/>
+    <modify-function signature="setStyle(const QString&amp;)" remove="all"/>
+    <modify-function signature="style()" remove="all"/>
+
+
+    <modify-function signature="QApplication(int &amp;, char  **, int)">
+        <access modifier="private"/>
+    </modify-function>
+    <modify-function signature="QApplication(int &amp;, char **, QApplication::Type, int)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="QApplication(int &amp;, char **, bool, int)">
+        <remove/>
+    </modify-function>
+
+    <modify-function signature="font(const char*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setFont(QFont,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="palette(const char*)">
+        <remove/>
+    </modify-function>
+    <modify-function signature="setPalette(QPalette,const char*)">
+        <access modifier="private"/>
+        <modify-argument index="2">
+            <remove-default-expression/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="overrideCursor()">
+        <access modifier="private"/>
+        <rename to="overrideCursor_private"/>
+    </modify-function>
+
+    <modify-function signature="setInputContext(QInputContext*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setActiveWindow(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+<!--    <modify-function signature="setStyle(QStyle*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  -->
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QApplication___" quote-before-line="}// class"/>
+        </inject-code>
+<!--        <modify-function signature="QApplication(int &amp;, char  **, int)">
+            <inject-code class="shell">
+                qtjambi_register_variant_handler();
+            </inject-code>
+        </modify-function>-->
+        <template name="gui.application_char_pointer_function">
+        public static %RETURN_TYPE %FUNCTION_NAME(%PRE_ARGUMENTS %COMMA QByteArray className) {
+            return %FUNCTION_NAME(%PRE_CALL_ARGUMENTS %COMMA className == null ? null : className.data());
+        }
+        </template>
+    </object-type>
+
+  <object-type name="QCommandLinkButton"/>
+  <object-type name="QFileSystemModel">
+    <modify-function signature="setIconProvider(QFileIconProvider*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcIconProvider"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QFormLayout">
+    <modify-function signature="addRow(QWidget*,QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addRow(QLayout*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addRow(QWidget*,QLayout*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="addRow(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addRow(QString,QLayout*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addRow(QString,QWidget*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QLayout*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QWidget*,QLayout*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QWidget*,QWidget*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QWidget*)">
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QString,QLayout*)">
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertRow(int,QString,QWidget*)">
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setLayout(int,QFormLayout::ItemRole,QLayout*)">
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setWidget(int,QFormLayout::ItemRole,QWidget*)">
+        <modify-argument index="3">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setItem(int,QFormLayout::ItemRole,QLayoutItem*)" access="private" rename="setItem_private">
+        <modify-argument index="3">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addItem(QLayoutItem*)">
+        <modify-argument index="1">
+            <define-ownership class="java" owner="c++"/>
+        </modify-argument>
+    </modify-function>
+  
+        <modify-function signature="getLayoutPosition(QLayout*,int*,QFormLayout::ItemRole*)const" access="private"/>
+        <modify-function signature="getWidgetPosition(QWidget*,int*,QFormLayout::ItemRole*)const" access="private"/>
+        <modify-function signature="getItemPosition(int,int*,QFormLayout::ItemRole*)const" access="private"/>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QFormLayout___" quote-before-line="}// class"/>
+        </inject-code>
+    </object-type>
+  <object-type name="QGraphicsGridLayout" delete-in-main-thread="yes">
+    <modify-function signature="addItem(QGraphicsLayoutItem*,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcItems"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="addItem(QGraphicsLayoutItem*,int,int,int,int,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcItems"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setAlignment(QGraphicsLayoutItem*,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QGraphicsLayout" delete-in-main-thread="yes">
+
+    <modify-function signature="widgetEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="setParentLayoutItem(QGraphicsLayoutItem*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcParentLayoutItem"/>
+        </modify-argument>
+    </modify-function>
+  
+       <!-- <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/> -->
+	<modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all"/>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
+        </inject-code>
+    </object-type>
+  <interface-type name="QGraphicsLayoutItem" delete-in-main-thread="yes">
+  	<modify-function signature="setExtension(QGraphicsItem::Extension,QVariant)" remove="all"/>
+	<modify-function signature="supportsExtension(QGraphicsItem::Extension)const" remove="all"/>
+	<modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all"/>
+  <!--
+    <modify-function signature="setParentLayoutItem(QGraphicsLayoutItem*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcParentLayoutItem"/>
+        </modify-argument>
+    </modify-function>
+  
+        <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/>
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
+        </inject-code>
+        <inject-code class="interface">
+            public QMarginsF getContentsMargins();
+        </inject-code>  
+    -->
+    </interface-type>
+ 
+  <object-type name="QGraphicsLinearLayout" delete-in-main-thread="yes">
+    <modify-function signature="addItem(QGraphicsLayoutItem*)">
+        <modify-argument index="1">
+            <reference-count action="add" variable-name="__rcItems"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertItem(int,QGraphicsLayoutItem*)">
+        <modify-argument index="2">
+            <reference-count action="add" variable-name="__rcItems"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="removeItem(QGraphicsLayoutItem*)">
+        <modify-argument index="1">
+            <reference-count action="remove" variable-name="__rcItems"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setAlignment(QGraphicsLayoutItem*,QFlags&lt;Qt::AlignmentFlag&gt;)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setStretchFactor(QGraphicsLayoutItem*,int)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QGraphicsProxyWidget">
+    <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" remove="all" />  
+    <!--
+    <modify-function signature="setWidget(QWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <inject-code>
+            <argument-map index="1" meta-name="%1"/>
+            if (%1 != null)
+                %1.disableGarbageCollection();
+            else if (widget() != null)
+                widget().reenableGarbageCollection();
+        </inject-code>
+    </modify-function>
+    -->
+    </object-type> <!-- a QObject so main-thread delete redundant -->
+  <object-type name="QGraphicsWidget">  <!-- a QObject so main-thread delete redundant -->
+    <!-- Duplicate function to QObject::children() to override accidental shadowing which is not present in Jambi -->
+    <modify-function signature="children()const" remove="all"/>
+    <modify-function signature="setLayout(QGraphicsLayout*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcLayout"/>
+        </modify-argument>
+    </modify-function>
+
+    <modify-function signature="changeEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="closeEvent(QCloseEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="grabKeyboardEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="grabMouseEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="hideEvent(QHideEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="moveEvent(QGraphicsSceneMoveEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="paintWindowFrame(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="resizeEvent(QGraphicsSceneResizeEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="showEvent(QShowEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="ungrabKeyboardEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="ungrabMouseEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+    <modify-function signature="windowFrameEvent(QEvent*)">
+        <modify-argument index="1" invalidate-after-use="yes"/>
+    </modify-function>
+
+    <modify-function signature="setStyle(QStyle*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcStyle"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setTabOrder(QGraphicsWidget*,QGraphicsWidget*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+        <modify-argument index="2">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  <!--
+        <modify-function signature="getContentsMargins(double*,double*,double*,double*)const" access="private"/>
+        <modify-function signature="getWindowFrameMargins(double*,double*,double*,double*)const" access="private"/>
+   
+        <inject-code>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class QGraphicsWidget___" quote-before-line="}// class"/>
+            <import-file name="typesystem_gui-java.java" quote-after-line="class Subclass_of_QGraphicsLayoutItem___" quote-before-line="}// class"/>
+        </inject-code>
+    -->
+        <modify-function signature="initStyleOption(QStyleOption*)const">
+	    <!--
+            <modify-argument index="1">
+                <replace-type modified-type="qt.gui.QStyleOption"/>
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOption", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", false);
+                    jobject __tmp = %out;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QStyleOption *%out = (QStyleOption *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="return">
+                <conversion-rule class="shell">
+                    // Make sure the java object is not usable after this, since
+                    // the QStyleOption* may be deleted at any time.
+                    qtjambi_invalidate_object(__jni_env, __tmp);
+                    __tmp = 0;
+                </conversion-rule>
+            </modify-argument>
+	    -->
+        </modify-function>
+
+        <modify-function signature="paintWindowFrame(QPainter*,const QStyleOptionGraphicsItem*,QWidget*)">
+	<!--
+            <modify-argument index="2">
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionGraphicsItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", true);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    const QStyleOptionGraphicsItem *%out = (QStyleOptionGraphicsItem *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+                <replace-type modified-type="qt.gui.QStyleOptionGraphicsItem"/>
+            </modify-argument>
+	 -->
+        </modify-function>
+
+    </object-type>
+  <object-type name="QPlainTextDocumentLayout"/>
+  <object-type name="QPlainTextEdit">
+    <modify-function signature="setDocument(QTextDocument*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcDocument"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="insertFromMimeData(const QMimeData*)">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+  </object-type>
+  <object-type name="QPrintPreviewDialog">
+        <modify-function signature="open(QObject *, const char *)" remove="all"/> <!-- # TODO -->
+  </object-type>
+  <object-type name="QPrintPreviewWidget"/>
+  <object-type name="QStyledItemDelegate">
+    <modify-function signature="setItemEditorFactory(QItemEditorFactory*)">
+        <modify-argument index="1">
+            <reference-count action="set" variable-name="__rcItemEditorFactory"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setEditorData(QWidget*,QModelIndex)const">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+    <modify-function signature="setModelData(QWidget*,QAbstractItemModel*,QModelIndex)const">
+        <modify-argument index="1">
+            <reference-count action="ignore"/>
+        </modify-argument>
+    </modify-function>
+<!--  
+        <modify-function signature="initStyleOption(QStyleOptionViewItem*,QModelIndex)const">
+            <modify-argument index="1">
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QStyleOptionViewItem", "com/trolltech/qt/gui/", "Lcom_trolltech_qt_gui_QStyleOption_2", false);
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QStyleOptionViewItem *%out = (QStyleOptionViewItem *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+                <replace-type modified-type="qt.gui.QStyleOptionViewItem"/>
+            </modify-argument>
+        </modify-function>
+        -->
+    </object-type>
+
+  <interface-type name="QAccessibleFactoryInterface" java-name="QAbstractAccessibleFactory"/>
+  <interface-type name="QIconEngineFactoryInterfaceV2" java-name="QAbstractIconEngineFactoryV2"/>
+  <interface-type name="QImageIOHandlerFactoryInterface" java-name="QAbstractImageIOHandlerFactory"/>
+  <interface-type name="QInputContextFactoryInterface" java-name="QAbstractInputContextFactory"/>
+  <interface-type name="QStyleFactoryInterface" java-name="QAbstractStyleFactory"/>
+  <interface-type name="QTextCodecFactoryInterface" java-name="QAbstractTextCodecFactory"/>
+  <interface-type name="QPictureFormatInterface" java-name="QAbstractPictureFormat">
+<!--        <modify-function signature="loadPicture(QString,QString,QPicture*)">
+            <modify-argument index="3">
+                <replace-type modified-type="QPicture"/>
+                <conversion-rule class="shell">
+                    jobject %out = qtjambi_from_object(__jni_env, %in, "QPicture", "com/trolltech/qt/gui/", false);
+                    jobject __tmp = %out;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    QPicture *%out = (QPicture *) qtjambi_to_object(__jni_env, %in);
+                </conversion-rule>
+            </modify-argument>
+            <modify-argument index="return">
+                <conversion-rule class="shell">
+                    // Make sure the java object is not usable after this, since
+                    // the QPicture* may be deleted at any time.
+                    qtjambi_invalidate_object(__jni_env, __tmp);
+                    __tmp = 0;
+                    bool %out = (bool) %in;
+                </conversion-rule>
+                <conversion-rule class="native">
+                    jboolean %out = (jboolean) %in;
+                </conversion-rule>
+            </modify-argument>
+        </modify-function>-->
+    </interface-type>
+
+  <object-type name="QIconEnginePluginV2"/>
+  <object-type name="QAccessiblePlugin"/>
+  <object-type name="QImageIOPlugin"/>
+  <object-type name="QInputContextPlugin"/>
+  <object-type name="QPictureFormatPlugin"/>
+  <object-type name="QStylePlugin"/>
+  <object-type name="QTextCodecPlugin"/>
+
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QPixmap::QPixmap', unmatched parameter type 'QPixmapData*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*Private const\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTextEngine\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QFontEngine\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QPixmap::Type'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QInputDialog::Type'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QTextFrameLayoutData\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QAbstractUndoItem\*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type '*QImageTextKeyLang*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: non-public function '*' in interface '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: hiding of function '*' in class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value 'QVector&lt;FormatRange&gt;()' of argument in function '*', class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value 'QVariantList()' of argument in function '*', class '*'"/>
+  <suppress-warning text="WARNING(CppImplGenerator) :: protected function '*' in final class '*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QTextLayout::QTextLayout', unmatched parameter type 'QTextEngine*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value of argument in function 'doAction', class 'QAccessibleInterface'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QFileDialog::QFileDialog', unmatched parameter type 'QFileDialogArgs const&amp;'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unsupported default value '0., 0., 1000000000., 1000000000.' of argument in function 'update', class 'QAbstractTextDocumentLayout'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QWidget::windowSurface', unmatched return type 'QWindowSurface*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QWidget::setWindowSurface', unmatched parameter type 'QWindowSurface*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: enum 'QStyleOption::StyleOptionType' does not have a type entry or is not an enum"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unhandled enum value: ~FlagMask in QMessageBox::StandardButton"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: unmatched enum ~FlagMask"/>
+  <suppress-warning text="WARNING(MetaInfoGenerator) :: class 'QGraphicsSceneEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set"/>
+  <suppress-warning text="WARNING(MetaInfoGenerator) :: class 'QInputEvent' inherits from polymorphic class 'QEvent', but has no polymorphic id set"/>
+  <suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcMenus' in 'qt.gui.QMenu' but not both"/>
+  <suppress-warning text="WARNING(JavaGenerator) :: either add or remove specified for reference count variable '__rcMenus' in 'qt.gui.QMenuBar' but not both"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QBrush' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFrame_iterator' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QRegion' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPolygon' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextTableCell' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextLength' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPalette' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextBlock_iterator' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextBlock' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextCursor' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFont' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QMatrix' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPen' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QColor' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTransform' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPainterPath_Element' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPainterPath' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QItemSelection' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QKeySequence' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QLine' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QPolygonF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QSizePolicy' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFragment' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetrics' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGradient' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QFontMetricsF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextFormat' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QLineF' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QImage' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QNetworkCookie' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QNetworkRequest' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping function 'QPixmap::pixmapData', unmatched return type 'QPixmapData*'"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: object type 'QAccessible' extended by interface type 'QAbstractAccessibleFactory'. The resulting API will be less expressive than the original."/>
+
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QTextOption_Tab' has equals operators but no qHash() function"/>
+  <suppress-warning text="WARNING(MetaJavaBuilder) :: Rejected enum has no alternative...: QPalette::NColorRoles"/>
+
+</typesystem>