# HG changeset patch # User eldar # Date 1242684959 0 # Node ID d5a6b6269f44e80a2cbb74291c0e36cd2b8e2dfb # Parent 63c31e2211188aade2e506927f5aac922cebc5a8 duic is working now on the first testcase, if there are any issues with it please report diff -r 63c31e221118 -r d5a6b6269f44 generator/dgenerator.cpp --- a/generator/dgenerator.cpp Mon May 18 19:03:06 2009 +0000 +++ b/generator/dgenerator.cpp Mon May 18 22:15:59 2009 +0000 @@ -1909,9 +1909,9 @@ if (!m_isRecursive) { s << "public import qt.QGlobal;" << endl << "public import qt.core.Qt;" << endl - << "import qt.QtDObject;" << endl - << "import qt.core.QString;" << endl - << "import qt.qtd.Array;" << endl; + << "private import qt.QtDObject;" << endl + << "private import qt.qtd.Array;" << endl + << "private import qt.core.QString;" << endl; if (d_class->isQObject()) { s << "public import qt.Signal;" << endl; if (d_class->name() != "QObject") diff -r 63c31e221118 -r d5a6b6269f44 generator/typesystem_core-java.java --- a/generator/typesystem_core-java.java Mon May 18 19:03:06 2009 +0000 +++ b/generator/typesystem_core-java.java Mon May 18 22:15:59 2009 +0000 @@ -127,6 +127,19 @@ private int argc; private char **argv; +/* + public static string translate(string context, string key, string disambiguation, QCoreApplication_Encoding encoding) { + string res; + qtd_QCoreApplication_translate_nativepointerchar_nativepointerchar_nativepointerchar_Encoding(&res, toStringz(context), toStringz(key), toStringz(disambiguation), encoding); + return res; + } + + public static string translate(string context, string key, string disambiguation, QCoreApplication_Encoding encoding, int n) { + string res; + qtd_QCoreApplication_translate_nativepointerchar_nativepointerchar_nativepointerchar_Encoding_int(&res, toStringz(context), toStringz(key), toStringz(disambiguation), encoding, n); + return res; + } + */ }// class class QTranslator___ extends QTranslator { diff -r 63c31e221118 -r d5a6b6269f44 generator/typesystem_core.xml --- a/generator/typesystem_core.xml Mon May 18 19:03:06 2009 +0000 +++ b/generator/typesystem_core.xml Mon May 18 22:15:59 2009 +0000 @@ -2458,7 +2458,7 @@ // qtjambi_register_variant_handler(); - + - + diff -r 63c31e221118 -r d5a6b6269f44 generator/typesystem_gui-java.java --- a/generator/typesystem_gui-java.java Mon May 18 19:03:06 2009 +0000 +++ b/generator/typesystem_gui-java.java Mon May 18 22:15:59 2009 +0000 @@ -701,7 +701,7 @@ }// class class QMenuBar___ extends QMenuBar { - + alias QWidget.addAction addAction; }// class diff -r 63c31e221118 -r d5a6b6269f44 qt/core/QString.d --- a/qt/core/QString.d Mon May 18 19:03:06 2009 +0000 +++ b/qt/core/QString.d Mon May 18 22:15:59 2009 +0000 @@ -1,5 +1,7 @@ module qt.core.QString; +import qt.QGlobal; + version (Tango) { import tango.text.convert.Utf : toString; @@ -32,6 +34,10 @@ public void assign(char[] text) { __qtd_QString_operatorAssign(native_id, text.ptr, text.length); } + + public static string fromUtf8(string source) { + return source; + } } private extern (C) wchar* __qtd_QString_utf16(void* __this_nativeId); diff -r 63c31e221118 -r d5a6b6269f44 tools/duic/d/dwriteincludes.cpp --- a/tools/duic/d/dwriteincludes.cpp Mon May 18 19:03:06 2009 +0000 +++ b/tools/duic/d/dwriteincludes.cpp Mon May 18 22:15:59 2009 +0000 @@ -99,6 +99,7 @@ add(QLatin1String("QApplication")); add(QLatin1String("QVariant")); add(QLatin1String("QAction")); + add(QLatin1String("QString")); add(QLatin1String("QButtonGroup")); // ### only if it is really necessary @@ -120,7 +121,7 @@ TreeWalker::acceptUI(node); QString qualifiedClassName = node->elementClass(); - m_output << "module ui." << qualifiedClassName << ";\n\n"; + m_output << "module ui_" << qualifiedClassName.toLower() << ";\n\n"; writeHeaders(m_globalIncludes, true); writeHeaders(m_localIncludes, false); @@ -291,7 +292,7 @@ const bool mapped = hit != m_oldHeaderToNewHeader.constEnd(); const QString header = mapped ? hit.value() : sit.key(); if (!header.trimmed().isEmpty()) { - m_output << "import " << header << QLatin1Char(';') << QLatin1Char('\n'); + m_output << "public import " << header << QLatin1Char(';') << QLatin1Char('\n'); } } } diff -r 63c31e221118 -r d5a6b6269f44 tools/duic/d/dwriteinitialization.cpp --- a/tools/duic/d/dwriteinitialization.cpp Mon May 18 19:03:06 2009 +0000 +++ b/tools/duic/d/dwriteinitialization.cpp Mon May 18 22:15:59 2009 +0000 @@ -480,7 +480,7 @@ const QString widgetClassName = node->elementWidget()->attributeClass(); - m_output << m_option.indent << "void " << "setupUi(" << widgetClassName << " *" << varName << ")\n" + m_output << m_option.indent << "void " << "setupUi(" << widgetClassName << " " << varName << ")\n" << m_option.indent << "{\n"; if (m_activateScripts) @@ -532,7 +532,7 @@ m_output << "\n" << m_delayedInitialization << "\n"; if (m_option.autoConnection) - m_output << "\n" << m_option.indent << "QMetaObject.connectSlotsByName(" << varName << ");\n"; + m_output << "\n" << m_option.indent << "// QMetaObject.connectSlotsByName(" << varName << ");\n"; m_output << m_option.indent << "} // setupUi\n\n"; @@ -543,7 +543,7 @@ m_refreshInitialization +=QLatin1String(");\n"); } - m_output << m_option.indent << "void " << "retranslateUi(" << widgetClassName << " *" << varName << ")\n" + m_output << m_option.indent << "void " << "retranslateUi(" << widgetClassName << " " << varName << ")\n" << m_option.indent << "{\n" << m_refreshInitialization << m_option.indent << "} // retranslateUi\n\n"; @@ -1035,7 +1035,7 @@ QString indent; if (!m_widgetChain.top()) { indent = QLatin1String(" "); - m_output << m_option.indent << "if (" << varName << ".objectName().isEmpty())\n"; + m_output << m_option.indent << "if (" << varName << ".objectName().length == 0)\n"; } m_output << m_option.indent << indent << varName << ".setObjectName(QString.fromUtf8(" << fixString(varName, m_option.indent) << "));\n"; @@ -1172,11 +1172,12 @@ break; case DomProperty::Enum: propertyValue = p->elementEnum(); - if (!propertyValue.contains(QLatin1String("."))) { + if (!propertyValue.contains(QLatin1String("::"))) { QString scope = className; - scope += QLatin1String("."); + scope += QLatin1String("::"); propertyValue.prepend(scope); } + propertyValue = propertyValue.replace("::", "."); // qtd break; case DomProperty::Set: propertyValue = p->elementSet(); @@ -2271,7 +2272,7 @@ return QLatin1String("QString()"); QString result; - const QString comment = commentHint.isEmpty() ? QString(QLatin1Char('0')) : fixString(commentHint, m_option.indent); + const QString comment = commentHint.isEmpty() ? QString("null") : fixString(commentHint, m_option.indent); if (m_option.translateFunction.isEmpty()) { result = QLatin1String("QApplication.translate(\""); @@ -2417,16 +2418,16 @@ if (sender.isEmpty() || receiver.isEmpty()) return; - - m_output << m_option.indent << "QObject.connect(" + // qtd signal + QRegExp excl_brackets("\\((.*)\\)"); + QString stripped_signal = connection->elementSignal().remove(excl_brackets); + QString stripped_slot = connection->elementSlot().remove(excl_brackets); + m_output << m_option.indent << sender - << ", " - << "SIGNAL(" << connection->elementSignal() << ')' - << ", " - << receiver - << ", " - << "SLOT(" << connection->elementSlot() << ')' - << ");\n"; + << "." << stripped_signal + << ".connect" + << "(&" << receiver << "." + << stripped_slot << ");\n"; } DomImage *WriteInitialization::findImage(const QString &name) const diff -r 63c31e221118 -r d5a6b6269f44 tools/duic/tests/mainwindow.ui --- a/tools/duic/tests/mainwindow.ui Mon May 18 19:03:06 2009 +0000 +++ b/tools/duic/tests/mainwindow.ui Mon May 18 22:15:59 2009 +0000 @@ -1,7 +1,8 @@ - + + MainWindow - - + + 0 0 @@ -9,114 +10,114 @@ 600 - + MainWindow - - + + - - + + - + - + - - + + QFrame::StyledPanel - + QFrame::Raised - + - + - + - - + + 0 0 800 - 27 + 24 - - + + File - - - + + + - - + + Edit - - - + + + - - + + - - - + + + toolBar - + TopToolBarArea - + false - - + + - - + + 2 - - + + - - + + Some options - + - - + + Option 1 - - + + Option 2 - - + + Option 3 @@ -127,33 +128,33 @@ - - + + Open - - + + Close - - + + Quit - - + + Copy - - + + Paste - - + + Cut @@ -162,15 +163,15 @@ actionQuit - activated(int) + triggered() MainWindow close() - + -1 -1 - + 399 299 diff -r 63c31e221118 -r d5a6b6269f44 tools/duic/tests/ui_mainwindow.d --- a/tools/duic/tests/ui_mainwindow.d Mon May 18 19:03:06 2009 +0000 +++ b/tools/duic/tests/ui_mainwindow.d Mon May 18 22:15:59 2009 +0000 @@ -1,38 +1,39 @@ /******************************************************************************** ** Form generated from reading ui file 'mainwindow.ui' ** -** Created: Mon May 18 06:38:11 2009 +** Created: Tue May 19 04:13:07 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; -import qt.gui.QApplication; -import qt.gui.QButtonGroup; -import qt.gui.QDockWidget; -import qt.gui.QDoubleSpinBox; -import qt.gui.QFontComboBox; -import qt.gui.QFrame; -import qt.gui.QGroupBox; -import qt.gui.QHBoxLayout; -import qt.gui.QListView; -import qt.gui.QMainWindow; -import qt.gui.QMenu; -import qt.gui.QMenuBar; -import qt.gui.QRadioButton; -import qt.gui.QStatusBar; -import qt.gui.QToolBar; -import qt.gui.QTreeView; -import qt.gui.QVBoxLayout; -import qt.gui.QWidget; +public import qt.core.QString; +public import qt.core.QVariant; +public import qt.gui.QAction; +public import qt.gui.QApplication; +public import qt.gui.QButtonGroup; +public import qt.gui.QDockWidget; +public import qt.gui.QDoubleSpinBox; +public import qt.gui.QFontComboBox; +public import qt.gui.QFrame; +public import qt.gui.QGroupBox; +public import qt.gui.QHBoxLayout; +public import qt.gui.QListView; +public import qt.gui.QMainWindow; +public import qt.gui.QMenu; +public import qt.gui.QMenuBar; +public import qt.gui.QRadioButton; +public import qt.gui.QStatusBar; +public import qt.gui.QToolBar; +public import qt.gui.QTreeView; +public import qt.gui.QVBoxLayout; +public import qt.gui.QWidget; mixin QT_BEGIN_NAMESPACE; -template Ui_MainWindow +template Ui_MainWindow() { public: QAction actionOpen; @@ -65,9 +66,9 @@ QRadioButton radioButton_2; QRadioButton radioButton_3; - void setupUi(QMainWindow *MainWindow) + void setupUi(QMainWindow MainWindow) { - if (MainWindow.objectName().isEmpty()) + if (MainWindow.objectName().length == 0) MainWindow.setObjectName(QString.fromUtf8("MainWindow")); MainWindow.resize(800, 600); actionOpen = new QAction(MainWindow); @@ -105,8 +106,8 @@ frame = new QFrame(centralwidget); frame.setObjectName(QString.fromUtf8("frame")); - frame.setFrameShape(QFrame.QFrame::StyledPanel); - frame.setFrameShadow(QFrame.QFrame::Raised); + frame.setFrameShape(QFrame.StyledPanel); + frame.setFrameShadow(QFrame.Raised); verticalLayout_2 = new QVBoxLayout(frame); verticalLayout_2.setObjectName(QString.fromUtf8("verticalLayout_2")); listView = new QListView(frame); @@ -125,7 +126,7 @@ MainWindow.setCentralWidget(centralwidget); menubar = new QMenuBar(MainWindow); menubar.setObjectName(QString.fromUtf8("menubar")); - menubar.setGeometry(QRect(0, 0, 800, 27)); + menubar.setGeometry(QRect(0, 0, 800, 24)); menuFile = new QMenu(menubar); menuFile.setObjectName(QString.fromUtf8("menuFile")); menuEdit = new QMenu(menubar); @@ -180,27 +181,27 @@ toolBar.addAction(actionQuit); retranslateUi(MainWindow); - QObject.connect(actionQuit, SIGNAL(activated(int)), MainWindow, SLOT(close())); + actionQuit.triggered.connect(&MainWindow.close); - QMetaObject.connectSlotsByName(MainWindow); + // QMetaObject.connectSlotsByName(MainWindow); } // setupUi - void retranslateUi(QMainWindow *MainWindow) + void retranslateUi(QMainWindow MainWindow) { - 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)); + MainWindow.setWindowTitle(QApplication.translate("MainWindow", "MainWindow", null, QApplication.UnicodeUTF8)); + actionOpen.setText(QApplication.translate("MainWindow", "Open", null, QApplication.UnicodeUTF8)); + actionClose.setText(QApplication.translate("MainWindow", "Close", null, QApplication.UnicodeUTF8)); + actionQuit.setText(QApplication.translate("MainWindow", "Quit", null, QApplication.UnicodeUTF8)); + actionCopy.setText(QApplication.translate("MainWindow", "Copy", null, QApplication.UnicodeUTF8)); + actionPaste.setText(QApplication.translate("MainWindow", "Paste", null, QApplication.UnicodeUTF8)); + actionCut.setText(QApplication.translate("MainWindow", "Cut", null, QApplication.UnicodeUTF8)); + menuFile.setTitle(QApplication.translate("MainWindow", "File", null, QApplication.UnicodeUTF8)); + menuEdit.setTitle(QApplication.translate("MainWindow", "Edit", null, QApplication.UnicodeUTF8)); + toolBar.setWindowTitle(QApplication.translate("MainWindow", "toolBar", null, QApplication.UnicodeUTF8)); + groupBox.setTitle(QApplication.translate("MainWindow", "Some options", null, QApplication.UnicodeUTF8)); + radioButton.setText(QApplication.translate("MainWindow", "Option 1", null, QApplication.UnicodeUTF8)); + radioButton_2.setText(QApplication.translate("MainWindow", "Option 2", null, QApplication.UnicodeUTF8)); + radioButton_3.setText(QApplication.translate("MainWindow", "Option 3", null, QApplication.UnicodeUTF8)); } // retranslateUi }