Merge remote branch 'origin/2.0'

Conflicts:
	src/plugins/projectexplorer/miniprojecttargetselector.cpp
	src/plugins/qmldesigner/designercore/model/modeltotextmerger.cpp
	src/plugins/qmldesigner/designercore/model/rewriteactioncompressor.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h
	tests/manual/gdbdebugger/simple/app.cpp
This commit is contained in:
hjk
2010-05-27 11:11:53 +02:00
34 changed files with 551 additions and 3031 deletions

View File

@@ -1,3 +1,7 @@
#define private public // Give us access to private 'backward' member of QMapNode.
# include <QtCore/QMap>
#undef private
#include "gdb/gdbmi.h"
#include "tcf/json.h"
#include "gdbmacros.h"
@@ -1256,9 +1260,8 @@ template <typename T>
const QString typeStr = stripPtrType(typeToString<T>());
const QByteArray addrStr = valToString(curElem);
if (curElem != 0) {
expected.append("addr='").append(addrStr).append("',saddr='").
append(addrStr).append("',type='").append(typeStr).
append("',value='").
expected.append("addr='").append(addrStr).append("',type='").
append(typeStr).append("',value='").
append(derefValToString(curElem)).append("'");
} else {
expected.append("addr='").append(ptrToBa(&curElem)).append("',type='").
@@ -1426,9 +1429,9 @@ void tst_Debugger::dumpQList_int_star()
ilist.append(0);
testDumper("value='<2 items>',valueeditable='false',numchild='2',"
"internal='1',childtype='int*',childnumchild='1',children=["
"{saddr='" + str(&ilist.at(0)) + "',addr='" + str(deref(&ilist.at(0))) +
"{addr='" + str(deref(&ilist.at(0))) +
"',type='int',value='1'},"
"{saddr='" + str(&ilist.at(1)) + "',value='<null>',numchild='0'}]",
"{value='<null>',numchild='0'}]",
&ilist, NS"QList", true, "int*");
}
@@ -2327,15 +2330,13 @@ void tst_Debugger::dumpStdVector()
vector.push_back(new std::list<int>(list));
testDumper("value='<1 items>',valueeditable='false',numchild='1',"
"childtype='" + inner + "',childnumchild='1',"
"children=[{addr='" + str(deref(&vector[0])) + "',"
"saddr='" + str(deref(&vector[0])) + "',type='" + innerp + "'}]",
"children=[{addr='" + str(deref(&vector[0])) + "',type='" + innerp + "'}]",
&vector, "std::vector", true, inner, "", sizeof(std::list<int> *));
vector.push_back(0);
list.push_back(45);
testDumper("value='<2 items>',valueeditable='false',numchild='2',"
"childtype='" + inner + "',childnumchild='1',"
"children=[{addr='" + str(deref(&vector[0])) + "',"
"saddr='" + str(deref(&vector[0])) + "',type='" + innerp + "'},"
"children=[{addr='" + str(deref(&vector[0])) + "',type='" + innerp + "'},"
"{addr='" + str(&vector[1]) + "',"
"type='" + innerp + "',value='<null>',numchild='0'}]",
&vector, "std::vector", true, inner, "", sizeof(std::list<int> *));

View File

@@ -3343,6 +3343,117 @@ void TestCore::testSubComponentManager()
QVERIFY(myButtonMetaInfo.property("border.width", true).isValid());
}
void TestCore::testAnchorsAndRewriting()
{
const QString qmlString("import Qt 4.7\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
" y: 10;\n"
" Rectangle {\n"
" id: rectangle1\n"
" x: 10;\n"
" y: 10;\n"
" }\n"
" Component {\n"
" id: rectangleComponent\n"
" Rectangle {\n"
" x: 100;\n"
" y: 100;\n"
" }\n"
" }\n"
"}");
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView);
model->attachView(view.data());
// read in
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data());
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
QmlItemNode rootItemNode = view->rootQmlItemNode();
QVERIFY(rootItemNode.isValid());
QmlItemNode childNode = rootItemNode.allDirectSubModelNodes().first();
QVERIFY(childNode.isValid());
childNode.anchors().setMargin(AnchorLine::Left, 280);
childNode.anchors().setAnchor(AnchorLine::Left, rootItemNode, AnchorLine::Left);
childNode.anchors().setMargin(AnchorLine::Right, 200);
childNode.anchors().setAnchor(AnchorLine::Right, rootItemNode, AnchorLine::Right);
childNode.anchors().setMargin(AnchorLine::Bottom, 50);
childNode.anchors().setAnchor(AnchorLine::Bottom, rootItemNode, AnchorLine::Bottom);
{
RewriterTransaction transaction = view->beginRewriterTransaction();
childNode.anchors().setMargin(AnchorLine::Top, 100);
childNode.anchors().setAnchor(AnchorLine::Top, rootItemNode, AnchorLine::Top);
}
}
void TestCore::testAnchorsAndRewritingCenter()
{
const QString qmlString("import Qt 4.7\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
" y: 10;\n"
" Rectangle {\n"
" id: rectangle1\n"
" x: 10;\n"
" y: 10;\n"
" }\n"
" Component {\n"
" id: rectangleComponent\n"
" Rectangle {\n"
" x: 100;\n"
" y: 100;\n"
" }\n"
" }\n"
"}");
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView);
model->attachView(view.data());
// read in
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data());
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
QmlItemNode rootItemNode = view->rootQmlItemNode();
QVERIFY(rootItemNode.isValid());
QmlItemNode childNode = rootItemNode.allDirectSubModelNodes().first();
QVERIFY(childNode.isValid());
childNode.anchors().setAnchor(AnchorLine::VerticalCenter, rootItemNode, AnchorLine::VerticalCenter);
childNode.anchors().setAnchor(AnchorLine::HorizontalCenter, rootItemNode, AnchorLine::HorizontalCenter);
}
void TestCore::loadQml()
{
char qmlString[] = "import Qt 4.7\n"

View File

@@ -164,6 +164,8 @@ private slots:
void testCopyModelRewriter1();
void testCopyModelRewriter2();
void testSubComponentManager();
void testAnchorsAndRewriting();
void testAnchorsAndRewritingCenter();
//
// regression tests

View File

@@ -1652,6 +1652,17 @@ void testStuff()
++*p;
}
void testPassByReferenceHelper(Foo &f)
{
++f.a;
}
void testPassByReference()
{
Foo f(12);
testPassByReferenceHelper(f);
}
int main(int argc, char *argv[])
{
testColor();
@@ -1701,6 +1712,7 @@ int main(int argc, char *argv[])
testStdString();
testStdVector();
testPassByReference();
testPlugin();
testQList();
testQLinkedList();