changeset 48:2085c2157b50

started work on duic
author eldar
date Mon, 18 May 2009 00:22:14 +0000
parents bbdccfc07d8e
children e00776053828
files tools/duic/d/dwritedeclaration.cpp tools/duic/d/dwriteincludes.cpp tools/duic/d/dwriteinitialization.cpp tools/duic/tests/ui_mainwindow.d
diffstat 4 files changed, 183 insertions(+), 174 deletions(-) [+]
line wrap: on
line diff
--- a/tools/duic/d/dwritedeclaration.cpp	Sun May 17 21:57:30 2009 +0000
+++ b/tools/duic/d/dwritedeclaration.cpp	Mon May 18 00:22:14 2009 +0000
@@ -104,7 +104,7 @@
              << indent << "        return error.toString();\n"
              << indent << "    }\n\n"
              << indent << "    QScriptEngine scriptEngine;\n"
-             << indent << "};\n\n";
+             << indent << "}\n\n";
     }
 }
 
@@ -153,7 +153,7 @@
     if (namespaceList.count())
         m_output << "\n";
 
-    m_output << "class " << exportMacro << m_option.prefix << className << "\n"
+    m_output << "template " << exportMacro << m_option.prefix << className << "\n"
            << "{\n"
            << "public:\n";
 
@@ -184,7 +184,7 @@
             WriteIconDeclaration(m_uic).acceptUI(node);
 
             m_output << m_option.indent << m_option.indent << "unknown_ID\n"
-                << m_option.indent << "};\n";
+                << m_option.indent << "}\n";
 
             WriteIconInitialization(m_uic).acceptUI(node);
         }
@@ -195,13 +195,19 @@
         writeScriptContextClass(m_option.indent, m_output);
     }
 
-    m_output << "};\n\n";
+    m_output << "}\n\n";
 
     closeNameSpaces(namespaceList, m_output);
 
     if (namespaceList.count())
         m_output << "\n";
 
+    // qtd
+    m_output << "struct " << className << " {\n"
+             << "    mixin " << m_option.prefix << className << ";\n"
+             << "}\n";
+    // ---
+
     if (m_option.generateNamespace && !m_option.prefix.isEmpty()) {
         namespaceList.append(QLatin1String("Ui"));
 
@@ -225,14 +231,14 @@
     if (node->hasAttributeClass())
         className = node->attributeClass();
 
-    m_output << m_option.indent << m_uic->customWidgetsInfo()->realClassName(className) << " *" << m_driver->findOrInsertWidget(node) << ";\n";
+    m_output << m_option.indent << m_uic->customWidgetsInfo()->realClassName(className) << " " << m_driver->findOrInsertWidget(node) << ";\n";
 
     TreeWalker::acceptWidget(node);
 }
 
 void WriteDeclaration::acceptSpacer(DomSpacer *node)
 {
-     m_output << m_option.indent << "QSpacerItem *" << m_driver->findOrInsertSpacer(node) << ";\n";
+     m_output << m_option.indent << "QSpacerItem " << m_driver->findOrInsertSpacer(node) << ";\n";
      TreeWalker::acceptSpacer(node);
 }
 
@@ -242,21 +248,21 @@
     if (node->hasAttributeClass())
         className = node->attributeClass();
 
-    m_output << m_option.indent << className << " *" << m_driver->findOrInsertLayout(node) << ";\n";
+    m_output << m_option.indent << className << " " << m_driver->findOrInsertLayout(node) << ";\n";
 
     TreeWalker::acceptLayout(node);
 }
 
 void WriteDeclaration::acceptActionGroup(DomActionGroup *node)
 {
-    m_output << m_option.indent << "QActionGroup *" << m_driver->findOrInsertActionGroup(node) << ";\n";
+    m_output << m_option.indent << "QActionGroup " << m_driver->findOrInsertActionGroup(node) << ";\n";
 
     TreeWalker::acceptActionGroup(node);
 }
 
 void WriteDeclaration::acceptAction(DomAction *node)
 {
-    m_output << m_option.indent << "QAction *" << m_driver->findOrInsertAction(node) << ";\n";
+    m_output << m_option.indent << "QAction " << m_driver->findOrInsertAction(node) << ";\n";
 
     TreeWalker::acceptAction(node);
 }
--- a/tools/duic/d/dwriteincludes.cpp	Sun May 17 21:57:30 2009 +0000
+++ b/tools/duic/d/dwriteincludes.cpp	Mon May 18 00:22:14 2009 +0000
@@ -120,7 +120,7 @@
     TreeWalker::acceptUI(node);
 
     QString qualifiedClassName = node->elementClass();
-    m_output << "module ui." << qualifiedClassName << "\n\n";
+    m_output << "module ui." << qualifiedClassName << ";\n\n";
 
     writeHeaders(m_globalIncludes, true);
     writeHeaders(m_localIncludes, false);
--- a/tools/duic/d/dwriteinitialization.cpp	Sun May 17 21:57:30 2009 +0000
+++ b/tools/duic/d/dwriteinitialization.cpp	Mon May 18 00:22:14 2009 +0000
@@ -54,7 +54,7 @@
     // They are currently stored as "BottomToolBarArea" instead of "Qt::BottomToolBarArea".
     // due to MO issues. This might be fixed in the future.
     void fixQtEnumerationName(QString& name) {
-        static const QLatin1String prefix("qt.core.Qt.");
+        static const QLatin1String prefix("Qt.");
         if (name.indexOf(prefix) != 0)
             name.prepend(prefix);
     }
@@ -67,7 +67,7 @@
 
         switch (pstyle->kind()) {
         case DomProperty::Number: {
-            QString area = QLatin1String("(cast(qt.core.Qt.ToolBarArea)(");
+            QString area = QLatin1String("(cast(Qt.ToolBarArea)(");
             area += QString::number(pstyle->elementNumber());
             area += QLatin1String(")), ");
             return area;
@@ -99,19 +99,19 @@
                            properties.value(QLatin1String("sizeType"))->elementEnum() :
                            QString::fromLatin1("Expanding");
 
-        if (!sizeType.startsWith(QLatin1String("qt.core.QSizePolicy.")))
-            sizeType.prepend(QLatin1String("qt.core.QSizePolicy."));
+        if (!sizeType.startsWith(QLatin1String("QSizePolicy.")))
+            sizeType.prepend(QLatin1String("QSizePolicy."));
         // orientation
         bool isVspacer = false;
         if (properties.contains(QLatin1String("orientation"))) {
             const QString orientation = properties.value(QLatin1String("orientation"))->elementEnum();
-            if (orientation == QLatin1String("qt.core.Qt.Vertical") || orientation == QLatin1String("Vertical"))  isVspacer = true;
+            if (orientation == QLatin1String("Qt.Vertical") || orientation == QLatin1String("Vertical"))  isVspacer = true;
         }
 
         if (isVspacer)
-            output << "qt.core.QSizePolicy.Minimum, " << sizeType << ')';
+            output << "QSizePolicy.Minimum, " << sizeType << ')';
         else
-            output << sizeType << ", qt.core.QSizePolicy.Minimum)";
+            output << sizeType << ", QSizePolicy.Minimum)";
     }
 
 
@@ -672,7 +672,7 @@
         } else if (m_uic->customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"))) {
             QString area;
             if (DomProperty *pstyle = attributes.value(QLatin1String("dockWidgetArea"))) {
-                area += QLatin1String("(cast(qt.core.Qt.DockWidgetArea)(");
+                area += QLatin1String("(cast(Qt.DockWidgetArea)(");
                 area += QString::number(pstyle->elementNumber());
                 area += QLatin1String(")), ");
             }
@@ -792,7 +792,7 @@
             isGroupBox = true;
             // special case for group box
 
-            m_output << m_option.indent << parent << ".setColumnLayout(0, qt.core.Qt.Vertical);\n";
+            m_output << m_option.indent << parent << ".setColumnLayout(0, Qt.Vertical);\n";
             QString objectName = parent;
             objectName += QLatin1String(".layout()");
             int marginType = Use43UiFile;
@@ -813,14 +813,14 @@
 
     if (isGroupBox) {
         const QString tempName = m_driver->unique(QLatin1String("boxlayout"));
-        m_output << m_option.indent << "QBoxLayout *" << tempName << " = qobject_cast<QBoxLayout *>(" <<
+        m_output << m_option.indent << "QBoxLayout " << tempName << " = qobject_cast<QBoxLayout *>(" <<
                     m_driver->findOrInsertWidget(m_widgetChain.top()) << ".layout());\n";
         m_output << m_option.indent << "if (" << tempName << ")\n";
         m_output << m_option.indent << "    " << tempName << ".addLayout(" << varName << ");\n";
     }
 
     if (isGroupBox) {
-        m_output << m_option.indent << varName << ".setAlignment(qt.core.Qt.AlignTop);\n";
+        m_output << m_option.indent << varName << ".setAlignment(Qt.AlignTop);\n";
     }  else {
         // Suppress margin on a read child layout
         const bool suppressMarginDefault = m_layoutChain.top();
@@ -920,7 +920,7 @@
         if (layout->attributeClass() == QLatin1String("QFormLayout")) {
             methodPrefix = QLatin1String("set");
             const int row = node->attributeRow();
-            const QString role = node->attributeColumn() == 0 ? QLatin1String("qt.gui.QFormLayout.LabelRole") : QLatin1String("qt.gui.QFormLayout.FieldRole");
+            const QString role = node->attributeColumn() == 0 ? QLatin1String("QFormLayout.LabelRole") : QLatin1String("QFormLayout.FieldRole");
             addArgs = QString::fromLatin1("%1, %2, %3").arg(row).arg(role).arg(itemName);
         } else {
             addArgs = itemName;
@@ -1025,7 +1025,7 @@
         DomPropertyMap properties = propertyMap(lst);
         if (properties.contains(QLatin1String("control"))) {
             DomProperty *p = properties.value(QLatin1String("control"));
-            m_output << m_option.indent << varName << ".setControl(qt.core.QString.fromUtf8("
+            m_output << m_option.indent << varName << ".setControl(QString.fromUtf8("
                    << fixString(toString(p->elementString()), m_option.indent) << "));\n";
         }
     }
@@ -1037,7 +1037,7 @@
         indent = QLatin1String("    ");
         m_output << m_option.indent << "if (" << varName << ".objectName().isEmpty())\n";
     }
-    m_output << m_option.indent << indent << varName << ".setObjectName(qt.core.QString.fromUtf8(" << fixString(varName, m_option.indent) << "));\n";
+    m_output << m_option.indent << indent << varName << ".setObjectName(QString.fromUtf8(" << fixString(varName, m_option.indent) << "));\n";
 
     int leftMargin, topMargin, rightMargin, bottomMargin;
     leftMargin = topMargin = rightMargin = bottomMargin = -1;
@@ -1092,14 +1092,14 @@
         } else if (propertyName == QLatin1String("orientation")
                     && m_uic->customWidgetsInfo()->extends(className, QLatin1String("Line"))) {
             // Line support
-            QString shape = QLatin1String("qt.gui.QFrame.HLine");
-            if (p->elementEnum() == QLatin1String("qt.core.Qt.Vertical"))
-                shape = QLatin1String("qt.gui.QFrame.VLine");
+            QString shape = QLatin1String("QFrame.HLine");
+            if (p->elementEnum() == QLatin1String("Qt.Vertical"))
+                shape = QLatin1String("QFrame.VLine");
 
             m_output << m_option.indent << varName << ".setFrameShape(" << shape << ");\n";
             // QFrame Default is 'Plain'. Make the line 'Sunken' unless otherwise specified
             if (!frameShadowEncountered)
-                m_output << m_option.indent << varName << ".setFrameShadow(qt.gui.QFrame.Sunken);\n";
+                m_output << m_option.indent << varName << ".setFrameShadow(QFrame.Sunken);\n";
             continue;
         } else if ((flags & WritePropertyIgnoreMargin)  && propertyName == QLatin1String("margin")) {
             continue;
@@ -1161,13 +1161,13 @@
             }
             break;
         case DomProperty::Cursor:
-            propertyValue = QString::fromLatin1("qt.gui.QCursor(cast(qt.core.Qt.CursorShape)(%1))")
+            propertyValue = QString::fromLatin1("QCursor(cast(Qt.CursorShape)(%1))")
                             .arg(p->elementCursor());
             break;
         case DomProperty::CursorShape:
             if (p->hasAttributeStdset() && !p->attributeStdset())
                 varNewName += QLatin1String(".viewport()");
-            propertyValue = QString::fromLatin1("QCursor(qt.core.Qt.%1)")
+            propertyValue = QString::fromLatin1("QCursor(Qt.%1)")
                             .arg(p->elementCursorShape());
             break;
         case DomProperty::Enum:
@@ -1195,42 +1195,42 @@
             const QString paletteName = m_driver->unique(QLatin1String("palette"));
             m_output << m_option.indent << "QPalette " << paletteName << ";\n";
 
-            writeColorGroup(pal->elementActive(), QLatin1String("qt.gui.QPalette.Active"), paletteName);
-            writeColorGroup(pal->elementInactive(), QLatin1String("qt.gui.QPalette.Inactive"), paletteName);
-            writeColorGroup(pal->elementDisabled(), QLatin1String("qt.gui.QPalette.Disabled"), paletteName);
+            writeColorGroup(pal->elementActive(), QLatin1String("QPalette.Active"), paletteName);
+            writeColorGroup(pal->elementInactive(), QLatin1String("QPalette.Inactive"), paletteName);
+            writeColorGroup(pal->elementDisabled(), QLatin1String("QPalette.Disabled"), paletteName);
 
             propertyValue = paletteName;
             break;
         }
         case DomProperty::Point: {
             const DomPoint *po = p->elementPoint();
-            propertyValue = QString::fromLatin1("qt.core.QPoint(%1, %2)")
+            propertyValue = QString::fromLatin1("QPoint(%1, %2)")
                             .arg(po->elementX()).arg(po->elementY());
             break;
         }
         case DomProperty::PointF: {
             const DomPointF *pof = p->elementPointF();
-            propertyValue = QString::fromLatin1("qt.core.QPointF(%1, %2)")
+            propertyValue = QString::fromLatin1("QPointF(%1, %2)")
                             .arg(pof->elementX()).arg(pof->elementY());
             break;
         }
         case DomProperty::Rect: {
             const DomRect *r = p->elementRect();
-            propertyValue = QString::fromLatin1("qt.core.QRect(%1, %2, %3, %4)")
+            propertyValue = QString::fromLatin1("QRect(%1, %2, %3, %4)")
                             .arg(r->elementX()).arg(r->elementY())
                             .arg(r->elementWidth()).arg(r->elementHeight());
             break;
         }
         case DomProperty::RectF: {
             const DomRectF *rf = p->elementRectF();
-            propertyValue = QString::fromLatin1("qt.core.QRectF(%1, %2, %3, %4)")
+            propertyValue = QString::fromLatin1("QRectF(%1, %2, %3, %4)")
                             .arg(rf->elementX()).arg(rf->elementY())
                             .arg(rf->elementWidth()).arg(rf->elementHeight());
             break;
         }
         case DomProperty::Locale: {
              const DomLocale *locale = p->elementLocale();
-             propertyValue = QString::fromLatin1("qt.core.QLocale(qt.core.QLocale.%1, qt.core.QLocale.%2)")
+             propertyValue = QString::fromLatin1("QLocale(QLocale.%1, QLocale.%2)")
                              .arg(locale->attributeLanguage()).arg(locale->attributeCountry());
             break;
         }
@@ -1245,13 +1245,13 @@
         }
         case DomProperty::Size: {
              const DomSize *s = p->elementSize();
-              propertyValue = QString::fromLatin1("qt.core.QSize(%1, %2)")
+              propertyValue = QString::fromLatin1("QSize(%1, %2)")
                              .arg(s->elementWidth()).arg(s->elementHeight());
             break;
         }
         case DomProperty::SizeF: {
             const DomSizeF *sf = p->elementSizeF();
-             propertyValue = QString::fromLatin1("qt.core.QSizeF(%1, %2)")
+             propertyValue = QString::fromLatin1("QSizeF(%1, %2)")
                             .arg(sf->elementWidth()).arg(sf->elementHeight());
             break;
         }
@@ -1299,13 +1299,13 @@
             break;
         case DomProperty::Char: {
             const DomChar *c = p->elementChar();
-            propertyValue = QString::fromLatin1("qt.core.QChar(%1)")
+            propertyValue = QString::fromLatin1("QChar(%1)")
                             .arg(c->elementUnicode());
             break;
         }
         case DomProperty::Date: {
             const DomDate *d = p->elementDate();
-            propertyValue = QString::fromLatin1("qt.core.QDate(%1, %2, %3)")
+            propertyValue = QString::fromLatin1("QDate(%1, %2, %3)")
                             .arg(d->elementYear())
                             .arg(d->elementMonth())
                             .arg(d->elementDay());
@@ -1313,7 +1313,7 @@
         }
         case DomProperty::Time: {
             const DomTime *t = p->elementTime();
-            propertyValue = QString::fromLatin1("qt.core.QTime(%1, %2, %3)")
+            propertyValue = QString::fromLatin1("QTime(%1, %2, %3)")
                             .arg(t->elementHour())
                             .arg(t->elementMinute())
                             .arg(t->elementSecond());
@@ -1321,7 +1321,7 @@
         }
         case DomProperty::DateTime: {
             const DomDateTime *dt = p->elementDateTime();
-            propertyValue = QString::fromLatin1("qt.core.QDateTime(qt.core.QDate(%1, %2, %3), qt.core.QTime(%4, %5, %6))")
+            propertyValue = QString::fromLatin1("QDateTime(QDate(%1, %2, %3), QTime(%4, %5, %6))")
                             .arg(dt->elementYear())
                             .arg(dt->elementMonth())
                             .arg(dt->elementDay())
@@ -1331,7 +1331,7 @@
             break;
         }
         case DomProperty::StringList:
-            propertyValue = QLatin1String("qt.core.QStringList()");
+            propertyValue = QLatin1String("QStringList()");
             if (p->elementStringList()->elementString().size()) {
                 const QStringList lst = p->elementStringList()->elementString();
                 for (int i=0; i<lst.size(); ++i) {
@@ -1343,7 +1343,7 @@
 
         case DomProperty::Url: {
             const DomUrl* u = p->elementUrl();
-            propertyValue = QString::fromLatin1("qt.core.QUrl(%1)")
+            propertyValue = QString::fromLatin1("QUrl(%1)")
                             .arg(fixString(u->elementString()->text(), m_option.indent));
             break;
         }
@@ -1411,15 +1411,15 @@
     const QString spName = m_driver->unique(QLatin1String("sizePolicy"));
     m_sizePolicyNameMap.insert(sizePolicyHandle, spName);
 
-    m_output << m_option.indent << "qt.core.QSizePolicy " << spName;
+    m_output << m_option.indent << "QSizePolicy " << spName;
     do {
         if (sp->hasElementHSizeType() && sp->hasElementVSizeType()) {
-            m_output << "(cast(qt.core.QSizePolicy.Policy)(" << sp->elementHSizeType()
-                << "), cast(qt.core.QSizePolicy.Policy)(" << sp->elementVSizeType() << "));\n";
+            m_output << "(cast(QSizePolicy.Policy)(" << sp->elementHSizeType()
+                << "), cast(QSizePolicy.Policy)(" << sp->elementVSizeType() << "));\n";
             break;
         }
         if (sp->hasAttributeHSizeType() && sp->hasAttributeVSizeType()) {
-                m_output << "(qt.core.QSizePolicy." << sp->attributeHSizeType() << ", QSizePolicy."
+                m_output << "(QSizePolicy." << sp->attributeHSizeType() << ", QSizePolicy."
                 << sp->attributeVSizeType() << ");\n";
             break;
         }
@@ -1450,7 +1450,7 @@
 
     m_output << m_option.indent << "QFont " << fontName << ";\n";
     if (f->hasElementFamily() && !f->elementFamily().isEmpty()) {
-        m_output << m_option.indent << fontName << ".setFamily(qt.core.QString.fromUtf8(" << fixString(f->elementFamily(), m_option.indent)
+        m_output << m_option.indent << fontName << ".setFamily(QString.fromUtf8(" << fixString(f->elementFamily(), m_option.indent)
             << "));\n";
     }
     if (f->hasElementPointSize() && f->elementPointSize() > 0) {
@@ -1484,10 +1484,10 @@
     }
     if (f->hasElementAntialiasing()) {
         m_output << m_option.indent << fontName << ".setStyleStrategy("
-            << (f->elementAntialiasing() ? "qt.gui.QFont.PreferDefault" : "qt.gui.QFont.NoAntialias") << ");\n";
+            << (f->elementAntialiasing() ? "QFont.PreferDefault" : "QFont.NoAntialias") << ");\n";
     }
     if (f->hasElementStyleStrategy()) {
-         m_output << m_option.indent << fontName << ".setStyleStrategy(qt.core.QFont."
+         m_output << m_option.indent << fontName << ".setStyleStrategy(QFont."
             << f->elementStyleStrategy() << ");\n";
     }
     return  fontName;
@@ -1506,26 +1506,26 @@
     const QString iconName = m_driver->unique(QLatin1String("icon"));
     m_iconPropertiesNameMap.insert(IconHandle(i), iconName);
     if (isIconFormat44(i)) {
-        const QString pixmap = QLatin1String("qt.gui.QPixmap");
-        m_output << m_option.indent << "qt.gui.QIcon " << iconName << ";\n";
+        const QString pixmap = QLatin1String("QPixmap");
+        m_output << m_option.indent << "QIcon " << iconName << ";\n";
         if (i->hasElementNormalOff())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementNormalOff()->text()) << ", qt.gui.QIcon.Normal, qt.gui.QIcon.Off);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementNormalOff()->text()) << ", QIcon.Normal, QIcon.Off);\n";
         if (i->hasElementNormalOn())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementNormalOn()->text()) << ", qt.gui.QIcon.Normal, qt.gui.QIcon.On);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementNormalOn()->text()) << ", QIcon.Normal, QIcon.On);\n";
         if (i->hasElementDisabledOff())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementDisabledOff()->text()) << ", qt.gui.QIcon.Disabled, qt.gui.QIcon.Off);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementDisabledOff()->text()) << ", QIcon.Disabled, QIcon.Off);\n";
         if (i->hasElementDisabledOn())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementDisabledOn()->text()) << ", qt.gui.QIcon.Disabled, qt.gui.QIcon.On);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementDisabledOn()->text()) << ", QIcon.Disabled, QIcon.On);\n";
         if (i->hasElementActiveOff())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementActiveOff()->text()) << ", qt.gui.QIcon.Active, qt.gui.QIcon.Off);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementActiveOff()->text()) << ", QIcon.Active, QIcon.Off);\n";
         if (i->hasElementActiveOn())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementActiveOn()->text()) << ", qt.gui.QIcon.Active, qt.gui.QIcon.On);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementActiveOn()->text()) << ", QIcon.Active, QIcon.On);\n";
         if (i->hasElementSelectedOff())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementSelectedOff()->text()) << ", qt.gui.QIcon.Selected, qt.gui.QIcon.Off);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementSelectedOff()->text()) << ", QIcon.Selected, QIcon.Off);\n";
         if (i->hasElementSelectedOn())
-            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementSelectedOn()->text()) << ", qt.gui.QIcon.Selected, qt.gui.QIcon.On);\n";
+            m_output << m_option.indent << iconName << ".addPixmap(" << pixCall(pixmap, i->elementSelectedOn()->text()) << ", QIcon.Selected, QIcon.On);\n";
     } else { // pre-4.4 legacy
-        m_output <<  m_option.indent << "const qt.gui.QIcon " << iconName << " = " << pixCall(QLatin1String("QIcon"), i->text())<< ";\n";
+        m_output <<  m_option.indent << "const QIcon " << iconName << " = " << pixCall(QLatin1String("QIcon"), i->text())<< ";\n";
     }
     return iconName;
 }
@@ -1533,12 +1533,12 @@
 QString WriteInitialization::domColor2QString(const DomColor *c)
 {
     if (c->hasAttributeAlpha())
-        return QString::fromLatin1("qt.gui.QColor(%1, %2, %3, %4)")
+        return QString::fromLatin1("QColor(%1, %2, %3, %4)")
             .arg(c->elementRed())
             .arg(c->elementGreen())
             .arg(c->elementBlue())
             .arg(c->attributeAlpha());
-    return QString::fromLatin1("qt.gui.QColor(%1, %2, %3)")
+    return QString::fromLatin1("QColor(%1, %2, %3)")
         .arg(c->elementRed())
         .arg(c->elementGreen())
         .arg(c->elementBlue());
@@ -1555,7 +1555,7 @@
         const DomColor *color = colors.at(i);
 
         m_output << m_option.indent << paletteName << ".setColor(" << group
-            << ", " << "cast(qt.gui.QPalette.ColorRole)(" << QString::number(i) << ')'
+            << ", " << "cast(QPalette.ColorRole)(" << QString::number(i) << ')'
             << ", " << domColor2QString(color)
             << ");\n";
     }
@@ -1568,7 +1568,7 @@
         if (colorRole->hasAttributeRole()) {
             const QString brushName = writeBrushInitialization(colorRole->elementBrush());
             m_output << m_option.indent << paletteName << ".setBrush(" << group
-                << ", " << "qt.gui.QPalette." << colorRole->attributeRole()
+                << ", " << "QPalette." << colorRole->attributeRole()
                 << ", " << brushName << ");\n";
         }
     }
@@ -1632,11 +1632,11 @@
                 << ", " << gradient->attributeAngle() << ");\n";
         }
 
-        m_output << m_option.indent << gradientName << ".setSpread(qt.gui.QGradient."
+        m_output << m_option.indent << gradientName << ".setSpread(QGradient."
             << gradient->attributeSpread() << ");\n";
 
         if (gradient->hasAttributeCoordinateMode()) {
-            m_output << m_option.indent << gradientName << ".setCoordinateMode(qt.gui.QGradient."
+            m_output << m_option.indent << gradientName << ".setCoordinateMode(QGradient."
                 << gradient->attributeCoordinateMode() << ");\n";
         }
 
@@ -1663,7 +1663,7 @@
             << domColor2QString(color) << ");\n";
 
         m_output << m_option.indent << brushName << ".setStyle("
-            << "qt.core.Qt." << style << ");\n";
+            << "Qt." << style << ");\n";
     }
 }
 
@@ -1697,7 +1697,7 @@
             continue;
         }
 
-        m_output << m_option.indent << "qt.gui.QWidget.setTabOrder(" << lastName << ", " << name << ");\n";
+        m_output << m_option.indent << "QWidget.setTabOrder(" << lastName << ", " << name << ");\n";
 
         lastName = name;
     }
@@ -1790,19 +1790,19 @@
 
         const QString txt = trCall(text->elementString());
         m_output << m_option.indent << varName << ".addColumn(" << txt << ");\n";
-        m_refreshOut << m_option.indent << varName << ".header()->setLabel(" << i << ", " << txt << ");\n";
+        m_refreshOut << m_option.indent << varName << ".header().setLabel(" << i << ", " << txt << ");\n";
 
         if (pixmap) {
-            m_output << m_option.indent << varName << ".header()->setLabel("
+            m_output << m_option.indent << varName << ".header().>setLabel("
                    << varName << ".header()->count() - 1, " << pixCall(pixmap) << ", " << txt << ");\n";
         }
 
         if (clickable != 0) {
-            m_output << m_option.indent << varName << ".header()->setClickEnabled(" << clickable->elementBool() << ", " << varName << ".header()->count() - 1);\n";
+            m_output << m_option.indent << varName << ".header().setClickEnabled(" << clickable->elementBool() << ", " << varName << ".header()->count() - 1);\n";
         }
 
         if (resizable != 0) {
-            m_output << m_option.indent << varName << ".header()->setResizeEnabled(" << resizable->elementBool() << ", " << varName << ".header()->count() - 1);\n";
+            m_output << m_option.indent << varName << ".header().setResizeEnabled(" << resizable->elementBool() << ", " << varName << ".header()->count() - 1);\n";
         }
     }
 
@@ -1862,7 +1862,7 @@
         const DomProperty *text = properties.value(QLatin1String("text"));
         const DomProperty *pixmap = properties.value(QLatin1String("pixmap"));
 
-        m_refreshOut << m_option.indent << varName << ".horizontalHeader()->setLabel(" << i << ", ";
+        m_refreshOut << m_option.indent << varName << ".horizontalHeader().setLabel(" << i << ", ";
         if (pixmap) {
             m_refreshOut << pixCall(pixmap) << ", ";
         }
@@ -1878,7 +1878,7 @@
         const DomProperty *text = properties.value(QLatin1String("text"));
         const DomProperty *pixmap = properties.value(QLatin1String("pixmap"));
 
-        m_refreshOut << m_option.indent << varName << ".verticalHeader()->setLabel(" << i << ", ";
+        m_refreshOut << m_option.indent << varName << ".verticalHeader().setLabel(" << i << ", ";
         if (pixmap) {
             m_refreshOut << pixCall(pixmap) << ", ";
         }
@@ -1934,7 +1934,7 @@
         if (m_option.extractImages) {
             const QString format = image->elementData()->attributeFormat();
             const QString extension = format.left(format.indexOf(QLatin1Char('.'))).toLower();
-            QString rc = QLatin1String("qt.gui.QPixmap(qt.core.QString.fromUtf8(\":/");
+            QString rc = QLatin1String("QPixmap(QString.fromUtf8(\":/");
             rc += m_generatedClass;
             rc += QLatin1String("/images/");
             rc += text;
@@ -1952,7 +1952,7 @@
 
     QString pixFunc = m_uic->pixmapFunction();
     if (pixFunc.isEmpty())
-        pixFunc = QLatin1String("qt.core.QString.fromUtf8");
+        pixFunc = QLatin1String("QString.fromUtf8");
 
     type += QLatin1Char('(');
     type += pixFunc;
@@ -2061,14 +2061,14 @@
         if (icon) {
             const QString iconValue = iconCall(icon);
             const QString itemName = m_driver->unique(QLatin1String("__listItem"));
-            m_output << m_option.indent << "QListWidgetItem *" << itemName << " = " << itemCreation;
+            m_output << m_option.indent << "QListWidgetItem " << itemName << " = " << itemCreation;
             m_output << m_option.indent << itemName << ".setIcon(" << iconValue << ");\n";
         } else {
             m_output << m_option.indent << itemCreation;
         }
 
         if (!toString(text->elementString()).isEmpty()) {
-            m_refreshOut << m_option.indent << varName << ".item(" << i << ")->setText(" << trCall(text->elementString()) << ");\n";
+            m_refreshOut << m_option.indent << varName << ".item(" << i << ").setText(" << trCall(text->elementString()) << ");\n";
         }
     }
     enableSorting(w, varName, tempName);
@@ -2090,12 +2090,12 @@
 
         if (!toString(text->elementString()).isEmpty()) {
             const QString txt = trCall(text->elementString());
-            m_refreshOut << m_option.indent << varName << ".headerItem()->setText(" << i << ", " << txt << ");\n";
+            m_refreshOut << m_option.indent << varName << ".headerItem().setText(" << i << ", " << txt << ");\n";
         }
 
         if (icon) {
             const QString iconValue = iconCall(icon);
-            m_output << m_option.indent << varName << ".headerItem()->setIcon("
+            m_output << m_option.indent << varName << ".headerItem().setIcon("
                    << i << ", " << iconValue << ");\n";
         }
     }
@@ -2125,7 +2125,7 @@
             const DomProperty *p = properties.at(j);
             if (p->attributeName() == QLatin1String("text")) {
                 if (!toString(p->elementString()).isEmpty()) {
-                    m_refreshOut << m_option.indent << parentPath << i << ")->setText(" << textCount << ", "
+                    m_refreshOut << m_option.indent << parentPath << i << ").setText(" << textCount << ", "
                         << trCall(p->elementString()) << ");\n";
                 }
                 textCount++;
@@ -2142,7 +2142,7 @@
             m_output << m_option.indent << "new QTreeWidgetItem(" << varName << ");\n";
         } else {
             const QString itemName = m_driver->unique(QLatin1String("__treeItem"));
-            m_output << m_option.indent << "QTreeWidgetItem *" << itemName << " = new QTreeWidgetItem(" << varName << ");\n";
+            m_output << m_option.indent << "QTreeWidgetItem " << itemName << " = new QTreeWidgetItem(" << varName << ");\n";
 
             QStringListIterator it(icons);
             while (it.hasNext())
@@ -2212,11 +2212,11 @@
         const DomProperty *icon = properties.value(QLatin1String("icon"));
         if (text || icon) {
             const QString itemName = m_driver->unique(QLatin1String("__rowItem"));
-            m_output << m_option.indent << "QTableWidgetItem *"
+            m_output << m_option.indent << "QTableWidgetItem "
                            << itemName << " = new QTableWidgetItem();\n";
 
             if (text && text->attributeName() == QLatin1String("text") && !toString(text->elementString()).isEmpty())
-                m_refreshOut << m_option.indent << varName << ".verticalHeaderItem(" << i << ")->setText("
+                m_refreshOut << m_option.indent << varName << ".verticalHeaderItem(" << i << ").setText("
                            << trCall(text->elementString()) << ");\n";
 
             if (icon && icon->attributeName() == QLatin1String("icon")) {
@@ -2241,12 +2241,12 @@
             const DomProperty *icon = properties.value(QLatin1String("icon"));
             if (text || icon) {
                 const QString itemName = m_driver->unique(QLatin1String("__tableItem"));
-                m_output << m_option.indent << "QTableWidgetItem *"
+                m_output << m_option.indent << "QTableWidgetItem "
                     << itemName << " = new QTableWidgetItem();\n";
 
                 if (text && text->attributeName() == QLatin1String("text") && !toString(text->elementString()).isEmpty())
                     m_refreshOut << m_option.indent << varName << ".item(" << item->attributeRow()
-                        << ", " << item->attributeColumn() << ")->setText("
+                        << ", " << item->attributeColumn() << ").setText("
                         << trCall(text->elementString()) << ");\n";
 
                 if (icon && icon->attributeName() == QLatin1String("icon")) {
@@ -2274,7 +2274,7 @@
     const QString comment = commentHint.isEmpty() ? QString(QLatin1Char('0')) : fixString(commentHint, m_option.indent);
 
     if (m_option.translateFunction.isEmpty()) {
-        result = QLatin1String("qt.gui.QApplication.translate(\"");
+        result = QLatin1String("QApplication.translate(\"");
         result += m_generatedClass;
         result += QLatin1Char('"');
         result += QLatin1String(", ");
@@ -2289,7 +2289,7 @@
 
     if (m_option.translateFunction.isEmpty()) {
         result += QLatin1String(", ");
-        result += QLatin1String("qt.gui.QApplication.UnicodeUTF8");
+        result += QLatin1String("QApplication.UnicodeUTF8");
     }
 
     result += QLatin1Char(')');
@@ -2486,7 +2486,7 @@
         }
         m_output << ";\n";
     }
-    m_output << m_option.indent << "scriptContext.run(qt.core.QString.fromUtf8("
+    m_output << m_option.indent << "scriptContext.run(QString.fromUtf8("
              << fixString(script, m_option.indent) << "), "
              << m_driver->findOrInsertWidget(node) << ", childWidgets);\n";
 }
--- a/tools/duic/tests/ui_mainwindow.d	Sun May 17 21:57:30 2009 +0000
+++ b/tools/duic/tests/ui_mainwindow.d	Mon May 18 00:22:14 2009 +0000
@@ -1,13 +1,13 @@
 /********************************************************************************
 ** Form generated from reading ui file 'mainwindow.ui'
 **
-** Created: Wed Dec 17 23:30:55 2008
-**      by: QtD User Interface Compiler version 4.4.3
+** Created: Mon May 18 06:21:12 2009
+**      by: QtD User Interface Compiler version 4.5.0
 **
 ** WARNING! All changes made in this file will be lost when recompiling ui file!
 ********************************************************************************/
 
-module ui.MainWindow
+module ui.MainWindow;
 
 import qt.core.QVariant;
 import qt.gui.QAction;
@@ -32,71 +32,71 @@
 
 mixin QT_BEGIN_NAMESPACE;
 
-class Ui_MainWindow
+template Ui_MainWindow
 {
 public:
-    QAction *actionOpen;
-    QAction *actionClose;
-    QAction *actionQuit;
-    QAction *actionCopy;
-    QAction *actionPaste;
-    QAction *actionCut;
-    QWidget *centralwidget;
-    QVBoxLayout *verticalLayout_3;
-    QWidget *widget;
-    QHBoxLayout *horizontalLayout_2;
-    QFontComboBox *fontComboBox;
-    QDoubleSpinBox *doubleSpinBox;
-    QFrame *frame;
-    QVBoxLayout *verticalLayout_2;
-    QListView *listView;
-    QTreeView *treeView;
-    QMenuBar *menubar;
-    QMenu *menuFile;
-    QMenu *menuEdit;
-    QStatusBar *statusbar;
-    QToolBar *toolBar;
-    QDockWidget *dockWidget;
-    QWidget *dockWidgetContents;
-    QHBoxLayout *horizontalLayout;
-    QGroupBox *groupBox;
-    QVBoxLayout *verticalLayout;
-    QRadioButton *radioButton;
-    QRadioButton *radioButton_2;
-    QRadioButton *radioButton_3;
+    QAction actionOpen;
+    QAction actionClose;
+    QAction actionQuit;
+    QAction actionCopy;
+    QAction actionPaste;
+    QAction actionCut;
+    QWidget centralwidget;
+    QVBoxLayout verticalLayout_3;
+    QWidget widget;
+    QHBoxLayout horizontalLayout_2;
+    QFontComboBox fontComboBox;
+    QDoubleSpinBox doubleSpinBox;
+    QFrame frame;
+    QVBoxLayout verticalLayout_2;
+    QListView listView;
+    QTreeView treeView;
+    QMenuBar menubar;
+    QMenu menuFile;
+    QMenu menuEdit;
+    QStatusBar statusbar;
+    QToolBar toolBar;
+    QDockWidget dockWidget;
+    QWidget dockWidgetContents;
+    QHBoxLayout horizontalLayout;
+    QGroupBox groupBox;
+    QVBoxLayout verticalLayout;
+    QRadioButton radioButton;
+    QRadioButton radioButton_2;
+    QRadioButton radioButton_3;
 
     void setupUi(QMainWindow *MainWindow)
     {
     if (MainWindow.objectName().isEmpty())
-        MainWindow.setObjectName(qt.core.QString.fromUtf8("MainWindow"));
+        MainWindow.setObjectName(QString.fromUtf8("MainWindow"));
     MainWindow.resize(800, 600);
     actionOpen = new QAction(MainWindow);
-    actionOpen.setObjectName(qt.core.QString.fromUtf8("actionOpen"));
+    actionOpen.setObjectName(QString.fromUtf8("actionOpen"));
     actionClose = new QAction(MainWindow);
-    actionClose.setObjectName(qt.core.QString.fromUtf8("actionClose"));
+    actionClose.setObjectName(QString.fromUtf8("actionClose"));
     actionQuit = new QAction(MainWindow);
-    actionQuit.setObjectName(qt.core.QString.fromUtf8("actionQuit"));
+    actionQuit.setObjectName(QString.fromUtf8("actionQuit"));
     actionCopy = new QAction(MainWindow);
-    actionCopy.setObjectName(qt.core.QString.fromUtf8("actionCopy"));
+    actionCopy.setObjectName(QString.fromUtf8("actionCopy"));
     actionPaste = new QAction(MainWindow);
-    actionPaste.setObjectName(qt.core.QString.fromUtf8("actionPaste"));
+    actionPaste.setObjectName(QString.fromUtf8("actionPaste"));
     actionCut = new QAction(MainWindow);
-    actionCut.setObjectName(qt.core.QString.fromUtf8("actionCut"));
+    actionCut.setObjectName(QString.fromUtf8("actionCut"));
     centralwidget = new QWidget(MainWindow);
-    centralwidget.setObjectName(qt.core.QString.fromUtf8("centralwidget"));
+    centralwidget.setObjectName(QString.fromUtf8("centralwidget"));
     verticalLayout_3 = new QVBoxLayout(centralwidget);
-    verticalLayout_3.setObjectName(qt.core.QString.fromUtf8("verticalLayout_3"));
+    verticalLayout_3.setObjectName(QString.fromUtf8("verticalLayout_3"));
     widget = new QWidget(centralwidget);
-    widget.setObjectName(qt.core.QString.fromUtf8("widget"));
+    widget.setObjectName(QString.fromUtf8("widget"));
     horizontalLayout_2 = new QHBoxLayout(widget);
-    horizontalLayout_2.setObjectName(qt.core.QString.fromUtf8("horizontalLayout_2"));
+    horizontalLayout_2.setObjectName(QString.fromUtf8("horizontalLayout_2"));
     fontComboBox = new QFontComboBox(widget);
-    fontComboBox.setObjectName(qt.core.QString.fromUtf8("fontComboBox"));
+    fontComboBox.setObjectName(QString.fromUtf8("fontComboBox"));
 
     horizontalLayout_2.addWidget(fontComboBox);
 
     doubleSpinBox = new QDoubleSpinBox(widget);
-    doubleSpinBox.setObjectName(qt.core.QString.fromUtf8("doubleSpinBox"));
+    doubleSpinBox.setObjectName(QString.fromUtf8("doubleSpinBox"));
 
     horizontalLayout_2.addWidget(doubleSpinBox);
 
@@ -104,18 +104,18 @@
     verticalLayout_3.addWidget(widget);
 
     frame = new QFrame(centralwidget);
-    frame.setObjectName(qt.core.QString.fromUtf8("frame"));
+    frame.setObjectName(QString.fromUtf8("frame"));
     frame.setFrameShape(QFrame.QFrame::StyledPanel);
     frame.setFrameShadow(QFrame.QFrame::Raised);
     verticalLayout_2 = new QVBoxLayout(frame);
-    verticalLayout_2.setObjectName(qt.core.QString.fromUtf8("verticalLayout_2"));
+    verticalLayout_2.setObjectName(QString.fromUtf8("verticalLayout_2"));
     listView = new QListView(frame);
-    listView.setObjectName(qt.core.QString.fromUtf8("listView"));
+    listView.setObjectName(QString.fromUtf8("listView"));
 
     verticalLayout_2.addWidget(listView);
 
     treeView = new QTreeView(frame);
-    treeView.setObjectName(qt.core.QString.fromUtf8("treeView"));
+    treeView.setObjectName(QString.fromUtf8("treeView"));
 
     verticalLayout_2.addWidget(treeView);
 
@@ -124,41 +124,41 @@
 
     MainWindow.setCentralWidget(centralwidget);
     menubar = new QMenuBar(MainWindow);
-    menubar.setObjectName(qt.core.QString.fromUtf8("menubar"));
-    menubar.setGeometry(qt.core.QRect(0, 0, 800, 27));
+    menubar.setObjectName(QString.fromUtf8("menubar"));
+    menubar.setGeometry(QRect(0, 0, 800, 27));
     menuFile = new QMenu(menubar);
-    menuFile.setObjectName(qt.core.QString.fromUtf8("menuFile"));
+    menuFile.setObjectName(QString.fromUtf8("menuFile"));
     menuEdit = new QMenu(menubar);
-    menuEdit.setObjectName(qt.core.QString.fromUtf8("menuEdit"));
+    menuEdit.setObjectName(QString.fromUtf8("menuEdit"));
     MainWindow.setMenuBar(menubar);
     statusbar = new QStatusBar(MainWindow);
-    statusbar.setObjectName(qt.core.QString.fromUtf8("statusbar"));
+    statusbar.setObjectName(QString.fromUtf8("statusbar"));
     MainWindow.setStatusBar(statusbar);
     toolBar = new QToolBar(MainWindow);
-    toolBar.setObjectName(qt.core.QString.fromUtf8("toolBar"));
-    MainWindow.addToolBar(qt.core.Qt.TopToolBarArea, toolBar);
+    toolBar.setObjectName(QString.fromUtf8("toolBar"));
+    MainWindow.addToolBar(Qt.TopToolBarArea, toolBar);
     dockWidget = new QDockWidget(MainWindow);
-    dockWidget.setObjectName(qt.core.QString.fromUtf8("dockWidget"));
+    dockWidget.setObjectName(QString.fromUtf8("dockWidget"));
     dockWidgetContents = new QWidget();
-    dockWidgetContents.setObjectName(qt.core.QString.fromUtf8("dockWidgetContents"));
+    dockWidgetContents.setObjectName(QString.fromUtf8("dockWidgetContents"));
     horizontalLayout = new QHBoxLayout(dockWidgetContents);
-    horizontalLayout.setObjectName(qt.core.QString.fromUtf8("horizontalLayout"));
+    horizontalLayout.setObjectName(QString.fromUtf8("horizontalLayout"));
     groupBox = new QGroupBox(dockWidgetContents);
-    groupBox.setObjectName(qt.core.QString.fromUtf8("groupBox"));
+    groupBox.setObjectName(QString.fromUtf8("groupBox"));
     verticalLayout = new QVBoxLayout(groupBox);
-    verticalLayout.setObjectName(qt.core.QString.fromUtf8("verticalLayout"));
+    verticalLayout.setObjectName(QString.fromUtf8("verticalLayout"));
     radioButton = new QRadioButton(groupBox);
-    radioButton.setObjectName(qt.core.QString.fromUtf8("radioButton"));
+    radioButton.setObjectName(QString.fromUtf8("radioButton"));
 
     verticalLayout.addWidget(radioButton);
 
     radioButton_2 = new QRadioButton(groupBox);
-    radioButton_2.setObjectName(qt.core.QString.fromUtf8("radioButton_2"));
+    radioButton_2.setObjectName(QString.fromUtf8("radioButton_2"));
 
     verticalLayout.addWidget(radioButton_2);
 
     radioButton_3 = new QRadioButton(groupBox);
-    radioButton_3.setObjectName(qt.core.QString.fromUtf8("radioButton_3"));
+    radioButton_3.setObjectName(QString.fromUtf8("radioButton_3"));
 
     verticalLayout.addWidget(radioButton_3);
 
@@ -166,7 +166,7 @@
     horizontalLayout.addWidget(groupBox);
 
     dockWidget.setWidget(dockWidgetContents);
-    MainWindow.addDockWidget((cast(qt.core.Qt.DockWidgetArea)(2)), dockWidget);
+    MainWindow.addDockWidget((cast(Qt.DockWidgetArea)(2)), dockWidget);
 
     menubar.addAction(menuFile.menuAction());
     menubar.addAction(menuEdit.menuAction());
@@ -187,23 +187,26 @@
 
     void retranslateUi(QMainWindow *MainWindow)
     {
-    MainWindow.setWindowTitle(qt.gui.QApplication.translate("MainWindow", "MainWindow", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionOpen.setText(qt.gui.QApplication.translate("MainWindow", "Open", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionClose.setText(qt.gui.QApplication.translate("MainWindow", "Close", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionQuit.setText(qt.gui.QApplication.translate("MainWindow", "Quit", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionCopy.setText(qt.gui.QApplication.translate("MainWindow", "Copy", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionPaste.setText(qt.gui.QApplication.translate("MainWindow", "Paste", 0, qt.gui.QApplication.UnicodeUTF8));
-    actionCut.setText(qt.gui.QApplication.translate("MainWindow", "Cut", 0, qt.gui.QApplication.UnicodeUTF8));
-    menuFile.setTitle(qt.gui.QApplication.translate("MainWindow", "File", 0, qt.gui.QApplication.UnicodeUTF8));
-    menuEdit.setTitle(qt.gui.QApplication.translate("MainWindow", "Edit", 0, qt.gui.QApplication.UnicodeUTF8));
-    toolBar.setWindowTitle(qt.gui.QApplication.translate("MainWindow", "toolBar", 0, qt.gui.QApplication.UnicodeUTF8));
-    groupBox.setTitle(qt.gui.QApplication.translate("MainWindow", "Some options", 0, qt.gui.QApplication.UnicodeUTF8));
-    radioButton.setText(qt.gui.QApplication.translate("MainWindow", "Option 1", 0, qt.gui.QApplication.UnicodeUTF8));
-    radioButton_2.setText(qt.gui.QApplication.translate("MainWindow", "Option 2", 0, qt.gui.QApplication.UnicodeUTF8));
-    radioButton_3.setText(qt.gui.QApplication.translate("MainWindow", "Option 3", 0, qt.gui.QApplication.UnicodeUTF8));
+    MainWindow.setWindowTitle(QApplication.translate("MainWindow", "MainWindow", 0, QApplication.UnicodeUTF8));
+    actionOpen.setText(QApplication.translate("MainWindow", "Open", 0, QApplication.UnicodeUTF8));
+    actionClose.setText(QApplication.translate("MainWindow", "Close", 0, QApplication.UnicodeUTF8));
+    actionQuit.setText(QApplication.translate("MainWindow", "Quit", 0, QApplication.UnicodeUTF8));
+    actionCopy.setText(QApplication.translate("MainWindow", "Copy", 0, QApplication.UnicodeUTF8));
+    actionPaste.setText(QApplication.translate("MainWindow", "Paste", 0, QApplication.UnicodeUTF8));
+    actionCut.setText(QApplication.translate("MainWindow", "Cut", 0, QApplication.UnicodeUTF8));
+    menuFile.setTitle(QApplication.translate("MainWindow", "File", 0, QApplication.UnicodeUTF8));
+    menuEdit.setTitle(QApplication.translate("MainWindow", "Edit", 0, QApplication.UnicodeUTF8));
+    toolBar.setWindowTitle(QApplication.translate("MainWindow", "toolBar", 0, QApplication.UnicodeUTF8));
+    groupBox.setTitle(QApplication.translate("MainWindow", "Some options", 0, QApplication.UnicodeUTF8));
+    radioButton.setText(QApplication.translate("MainWindow", "Option 1", 0, QApplication.UnicodeUTF8));
+    radioButton_2.setText(QApplication.translate("MainWindow", "Option 2", 0, QApplication.UnicodeUTF8));
+    radioButton_3.setText(QApplication.translate("MainWindow", "Option 3", 0, QApplication.UnicodeUTF8));
     } // retranslateUi
 
-};
+}
 
+struct MainWindow {
+    mixin Ui_MainWindow;
+}
 mixin QT_END_NAMESPACE;