forked from qt-creator/qt-creator
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:
@@ -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> *));
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -164,6 +164,8 @@ private slots:
|
||||
void testCopyModelRewriter1();
|
||||
void testCopyModelRewriter2();
|
||||
void testSubComponentManager();
|
||||
void testAnchorsAndRewriting();
|
||||
void testAnchorsAndRewritingCenter();
|
||||
|
||||
//
|
||||
// regression tests
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user