diff options
author | Yann Bodson <yann.bodson@nokia.com> | 2009-10-26 04:41:13 (GMT) |
---|---|---|
committer | Yann Bodson <yann.bodson@nokia.com> | 2009-10-26 04:41:13 (GMT) |
commit | bace980199f6578ef453c57128fe7f0659bfeddf (patch) | |
tree | 22e0737f6773286883130d3191faa4952419b940 /tools | |
parent | d51e31dbbef822f8d48e4d2c4a7c7c03766c5cc7 (diff) | |
parent | 2559961affdbf66d1cfad3b71b439b6aea0bc66f (diff) | |
download | Qt-bace980199f6578ef453c57128fe7f0659bfeddf.zip Qt-bace980199f6578ef453c57128fe7f0659bfeddf.tar.gz Qt-bace980199f6578ef453c57128fe7f0659bfeddf.tar.bz2 |
Merge branch 'kinetic-declarativeui' of scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmldebugger/canvasframerate.cpp | 18 | ||||
-rw-r--r-- | tools/qmldebugger/canvasframerate.h | 4 | ||||
-rw-r--r-- | tools/qmldebugger/engine.cpp | 21 | ||||
-rw-r--r-- | tools/qmldebugger/engine.h | 5 | ||||
-rw-r--r-- | tools/qmldebugger/expressionquerywidget.cpp | 27 | ||||
-rw-r--r-- | tools/qmldebugger/expressionquerywidget.h | 7 | ||||
-rw-r--r-- | tools/qmldebugger/objectpropertiesview.cpp | 9 | ||||
-rw-r--r-- | tools/qmldebugger/objectpropertiesview.h | 5 | ||||
-rw-r--r-- | tools/qmldebugger/objecttree.cpp | 9 | ||||
-rw-r--r-- | tools/qmldebugger/objecttree.h | 5 | ||||
-rw-r--r-- | tools/qmldebugger/qmldebugger.cpp | 1 | ||||
-rw-r--r-- | tools/qmldebugger/watchtable.cpp | 13 | ||||
-rw-r--r-- | tools/qmldebugger/watchtable.h | 5 |
13 files changed, 98 insertions, 31 deletions
diff --git a/tools/qmldebugger/canvasframerate.cpp b/tools/qmldebugger/canvasframerate.cpp index 0d23050..7c5d089 100644 --- a/tools/qmldebugger/canvasframerate.cpp +++ b/tools/qmldebugger/canvasframerate.cpp @@ -32,7 +32,6 @@ public slots: protected: virtual void paintEvent(QPaintEvent *); - virtual QSize sizeHint() const; private slots: void scrollbarChanged(int); @@ -57,6 +56,8 @@ private: QLineGraph::QLineGraph(QWidget *parent) : QWidget(parent), sb(Qt::Horizontal, this), position(-1), samplesPerWidth(99), resolutionForHeight(50), ignoreScroll(false) { + setMinimumHeight(180); + sb.setMaximum(0); sb.setMinimum(0); sb.setSingleStep(1); @@ -68,11 +69,6 @@ QLineGraph::QLineGraph(QWidget *parent) QObject::connect(&sb, SIGNAL(valueChanged(int)), this, SLOT(scrollbarChanged(int))); } -QSize QLineGraph::sizeHint() const -{ - return QSize(800, 600); -} - void QLineGraph::scrollbarChanged(int v) { if(ignoreScroll) @@ -291,6 +287,16 @@ CanvasFrameRate::CanvasFrameRate(QmlDebugConnection *client, QWidget *parent) newTab(); } +void CanvasFrameRate::setSizeHint(const QSize &size) +{ + m_sizeHint = size; +} + +QSize CanvasFrameRate::sizeHint() const +{ + return m_sizeHint; +} + void CanvasFrameRate::newTab() { if (m_tabs->count()) { diff --git a/tools/qmldebugger/canvasframerate.h b/tools/qmldebugger/canvasframerate.h index cef267d..aa275aa 100644 --- a/tools/qmldebugger/canvasframerate.h +++ b/tools/qmldebugger/canvasframerate.h @@ -14,6 +14,9 @@ class CanvasFrameRate : public QWidget public: CanvasFrameRate(QmlDebugConnection *, QWidget *parent = 0); + void setSizeHint(const QSize &); + virtual QSize sizeHint() const; + private slots: void newTab(); void stateChanged(int); @@ -22,6 +25,7 @@ private: QTabWidget *m_tabs; QSpinBox *m_spin; QObject *m_plugin; + QSize m_sizeHint; }; QT_END_NAMESPACE diff --git a/tools/qmldebugger/engine.cpp b/tools/qmldebugger/engine.cpp index fac10f3..a1fd009 100644 --- a/tools/qmldebugger/engine.cpp +++ b/tools/qmldebugger/engine.cpp @@ -12,6 +12,7 @@ #include "engine.h" #include "objectpropertiesview.h" +#include "expressionquerywidget.h" #include "objecttree.h" #include "watchtable.h" @@ -37,7 +38,7 @@ private: }; EnginePane::EnginePane(QmlDebugConnection *conn, QWidget *parent) -: QWidget(parent), m_client(new QmlEngineDebug(conn, this)), m_engines(0), m_context(0), m_watchTableModel(0) +: QWidget(parent), m_client(new QmlEngineDebug(conn, this)), m_engines(0), m_context(0), m_watchTableModel(0), m_exprQueryWidget(0) { QVBoxLayout *layout = new QVBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); @@ -71,7 +72,7 @@ EnginePane::EnginePane(QmlDebugConnection *conn, QWidget *parent) WatchTableHeaderView *header = new WatchTableHeaderView(m_watchTableModel); m_watchTableView->setHorizontalHeader(header); - connect(m_objTree, SIGNAL(objectSelected(QmlDebugObjectReference)), + connect(m_objTree, SIGNAL(currentObjectChanged(QmlDebugObjectReference)), m_propertiesView, SLOT(reload(QmlDebugObjectReference))); connect(m_objTree, SIGNAL(expressionWatchRequested(QmlDebugObjectReference,QString)), m_watchTableModel, SLOT(expressionWatchRequested(QmlDebugObjectReference,QString))); @@ -83,10 +84,20 @@ EnginePane::EnginePane(QmlDebugConnection *conn, QWidget *parent) m_propertiesView, SLOT(watchCreated(QmlDebugWatch*))); connect(m_watchTableView, SIGNAL(objectActivated(int)), - m_objTree, SLOT(selectObject(int))); - + m_objTree, SLOT(setCurrentObject(int))); + + m_exprQueryWidget = new ExpressionQueryWidget(m_client); + connect(m_objTree, SIGNAL(currentObjectChanged(QmlDebugObjectReference)), + m_exprQueryWidget, SLOT(setCurrentObject(QmlDebugObjectReference))); + + QSplitter *propertiesTab = new QSplitter(Qt::Vertical); + propertiesTab->addWidget(m_propertiesView); + propertiesTab->addWidget(m_exprQueryWidget); + propertiesTab->setStretchFactor(0, 2); + propertiesTab->setStretchFactor(1, 1); + m_tabs = new QTabWidget(this); - m_tabs->addTab(m_propertiesView, tr("Properties")); + m_tabs->addTab(propertiesTab, tr("Properties")); m_tabs->addTab(m_watchTableView, tr("Watched")); splitter->addWidget(m_objTree); diff --git a/tools/qmldebugger/engine.h b/tools/qmldebugger/engine.h index 8e8c0f2..a3ebe46 100644 --- a/tools/qmldebugger/engine.h +++ b/tools/qmldebugger/engine.h @@ -17,6 +17,7 @@ class QmlDebugWatch; class ObjectTree; class WatchTableModel; class WatchTableView; +class ExpressionQueryWidget; class QTabWidget; @@ -45,12 +46,12 @@ private: ObjectTree *m_objTree; QTabWidget *m_tabs; WatchTableView *m_watchTableView; + WatchTableModel *m_watchTableModel; + ExpressionQueryWidget *m_exprQueryWidget; QmlView *m_engineView; QList<QObject *> m_engineItems; - WatchTableModel *m_watchTableModel; - ObjectPropertiesView *m_propertiesView; }; diff --git a/tools/qmldebugger/expressionquerywidget.cpp b/tools/qmldebugger/expressionquerywidget.cpp index b29b465..53ede3a 100644 --- a/tools/qmldebugger/expressionquerywidget.cpp +++ b/tools/qmldebugger/expressionquerywidget.cpp @@ -1,3 +1,5 @@ +#include <QtCore/qdebug.h> + #include <QtGui/qlabel.h> #include <QtGui/qtextedit.h> #include <QtGui/qlineedit.h> @@ -14,25 +16,21 @@ ExpressionQueryWidget::ExpressionQueryWidget(QmlEngineDebug *client, QWidget *pa m_style(Compact), m_client(client), m_query(0), - m_groupBox(0), m_textEdit(new QTextEdit), m_lineEdit(0), m_button(0) { m_prompt = QLatin1String(">> "); - m_groupBox = new QGroupBox; - QVBoxLayout *vbox = new QVBoxLayout(m_groupBox); - vbox->addWidget(m_textEdit); - QVBoxLayout *layout = new QVBoxLayout(this); - layout->addWidget(m_groupBox); + layout->setMargin(0); + layout->addWidget(m_textEdit); updateTitle(); if (m_style == Compact) { QHBoxLayout *hbox = new QHBoxLayout; - m_button = new QPushButton(tr("Execute")); + m_button = new QPushButton(tr("Query")); m_button->setEnabled(false); connect(m_button, SIGNAL(clicked()), SLOT(executeExpression())); m_lineEdit = new QLineEdit; @@ -41,7 +39,7 @@ ExpressionQueryWidget::ExpressionQueryWidget(QmlEngineDebug *client, QWidget *pa hbox->addWidget(new QLabel(tr("Expression:"))); hbox->addWidget(m_lineEdit); hbox->addWidget(m_button); - vbox->addLayout(hbox); + layout->addLayout(hbox); m_textEdit->setReadOnly(true); m_lineEdit->installEventFilter(this); @@ -50,17 +48,21 @@ ExpressionQueryWidget::ExpressionQueryWidget(QmlEngineDebug *client, QWidget *pa } } +void ExpressionQueryWidget::setEngineDebug(QmlEngineDebug *client) +{ + m_client = client; +} + void ExpressionQueryWidget::updateTitle() { if (m_currObject.debugId() < 0) { - m_groupBox->setTitle(tr("Expression queries")); + m_title = tr("Expression queries"); } else { QString desc = QLatin1String("<") + m_currObject.className() + QLatin1String(": ") + (m_currObject.name().isEmpty() ? QLatin1String("<unnamed>") : m_currObject.name()) + QLatin1String(">"); - m_groupBox->setTitle(tr("Expression queries (using context for %1)" - , "Selected object").arg(desc)); + m_title = tr("Expression queries (using context for %1)" , "Selected object").arg(desc); } } @@ -103,6 +105,9 @@ void ExpressionQueryWidget::showCurrentContext() void ExpressionQueryWidget::executeExpression() { + if (!m_client) + return; + if (m_style == Compact) m_expr = m_lineEdit->text().trimmed(); else diff --git a/tools/qmldebugger/expressionquerywidget.h b/tools/qmldebugger/expressionquerywidget.h index 8db8f9f..3d9b580 100644 --- a/tools/qmldebugger/expressionquerywidget.h +++ b/tools/qmldebugger/expressionquerywidget.h @@ -21,7 +21,9 @@ public: Shell }; - ExpressionQueryWidget(QmlEngineDebug *client, QWidget *parent = 0); + ExpressionQueryWidget(QmlEngineDebug *client = 0, QWidget *parent = 0); + + void setEngineDebug(QmlEngineDebug *client); protected: bool eventFilter(QObject *obj, QEvent *event); @@ -44,7 +46,6 @@ private: QmlEngineDebug *m_client; QmlDebugExpressionQuery *m_query; - QGroupBox *m_groupBox; QTextEdit *m_textEdit; QLineEdit *m_lineEdit; QPushButton *m_button; @@ -52,6 +53,8 @@ private: QString m_expr; QString m_lastExpr; + QString m_title; + QmlDebugObjectReference m_currObject; QmlDebugObjectReference m_objectAtLastFocus; }; diff --git a/tools/qmldebugger/objectpropertiesview.cpp b/tools/qmldebugger/objectpropertiesview.cpp index 61afe3f..274552a 100644 --- a/tools/qmldebugger/objectpropertiesview.cpp +++ b/tools/qmldebugger/objectpropertiesview.cpp @@ -53,8 +53,15 @@ ObjectPropertiesView::ObjectPropertiesView(QmlEngineDebug *client, QWidget *pare layout->addWidget(m_tree); } +void ObjectPropertiesView::setEngineDebug(QmlEngineDebug *client) +{ + m_client = client; +} + void ObjectPropertiesView::reload(const QmlDebugObjectReference &obj) { + if (!m_client) + return; if (m_query) delete m_query; @@ -68,7 +75,7 @@ void ObjectPropertiesView::reload(const QmlDebugObjectReference &obj) void ObjectPropertiesView::queryFinished() { - if (!m_query) + if (!m_client || !m_query) return; QmlDebugObjectReference obj = m_query->object(); diff --git a/tools/qmldebugger/objectpropertiesview.h b/tools/qmldebugger/objectpropertiesview.h index 0f72ff4..d555940 100644 --- a/tools/qmldebugger/objectpropertiesview.h +++ b/tools/qmldebugger/objectpropertiesview.h @@ -9,13 +9,16 @@ QT_BEGIN_NAMESPACE class QTreeWidget; class QTreeWidgetItem; +class QmlDebugConnection; class ObjectPropertiesView : public QWidget { Q_OBJECT public: - ObjectPropertiesView(QmlEngineDebug *client, QWidget *parent = 0); + ObjectPropertiesView(QmlEngineDebug *client = 0, QWidget *parent = 0); + void setEngineDebug(QmlEngineDebug *client); + signals: void activated(const QmlDebugObjectReference &, const QmlDebugPropertyReference &); diff --git a/tools/qmldebugger/objecttree.cpp b/tools/qmldebugger/objecttree.cpp index 0b92ceb..981a80b 100644 --- a/tools/qmldebugger/objecttree.cpp +++ b/tools/qmldebugger/objecttree.cpp @@ -18,13 +18,22 @@ ObjectTree::ObjectTree(QmlEngineDebug *client, QWidget *parent) m_query(0) { setHeaderHidden(true); + setMinimumWidth(250); connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(currentItemChanged(QTreeWidgetItem *))); } +void ObjectTree::setEngineDebug(QmlEngineDebug *client) +{ + m_client = client; +} + void ObjectTree::reload(int objectDebugId) { + if (!m_client) + return; + if (m_query) { delete m_query; m_query = 0; diff --git a/tools/qmldebugger/objecttree.h b/tools/qmldebugger/objecttree.h index 3c0a5c6..95820f3 100644 --- a/tools/qmldebugger/objecttree.h +++ b/tools/qmldebugger/objecttree.h @@ -11,14 +11,17 @@ class QmlEngineDebug; class QmlDebugObjectReference; class QmlDebugObjectQuery; class QmlDebugContextReference; +class QmlDebugConnection; class ObjectTree : public QTreeWidget { Q_OBJECT public: - ObjectTree(QmlEngineDebug *client, QWidget *parent = 0); + ObjectTree(QmlEngineDebug *client = 0, QWidget *parent = 0); + void setEngineDebug(QmlEngineDebug *client); + signals: void currentObjectChanged(const QmlDebugObjectReference &); void expressionWatchRequested(const QmlDebugObjectReference &, const QString &); diff --git a/tools/qmldebugger/qmldebugger.cpp b/tools/qmldebugger/qmldebugger.cpp index e0a76b6..2828026 100644 --- a/tools/qmldebugger/qmldebugger.cpp +++ b/tools/qmldebugger/qmldebugger.cpp @@ -46,6 +46,7 @@ QmlDebugger::QmlDebugger(QWidget *parent) layout->addWidget(m_tabs); CanvasFrameRate *cfr = new CanvasFrameRate(&client, this); + cfr->setSizeHint(QSize(800, 600)); m_tabs->addTab(cfr, tr("Frame Rate")); m_enginePane = new EnginePane(&client, this); diff --git a/tools/qmldebugger/watchtable.cpp b/tools/qmldebugger/watchtable.cpp index 512bfb2..774727b 100644 --- a/tools/qmldebugger/watchtable.cpp +++ b/tools/qmldebugger/watchtable.cpp @@ -23,6 +23,11 @@ WatchTableModel::~WatchTableModel() delete m_columns[i].watch; } +void WatchTableModel::setEngineDebug(QmlEngineDebug *client) +{ + m_client = client; +} + void WatchTableModel::addWatch(QmlDebugWatch *watch, const QString &title) { QString property; @@ -193,7 +198,7 @@ void WatchTableModel::addValue(int column, const QVariant &value) void WatchTableModel::togglePropertyWatch(const QmlDebugObjectReference &object, const QmlDebugPropertyReference &property) { - if (!property.hasNotifySignal()) + if (!m_client || !property.hasNotifySignal()) return; QmlDebugWatch *watch = findWatch(object.debugId(), property.name()); @@ -228,6 +233,9 @@ void WatchTableModel::watchedValueChanged(const QByteArray &propertyName, const void WatchTableModel::expressionWatchRequested(const QmlDebugObjectReference &obj, const QString &expr) { + if (!m_client) + return; + QmlDebugWatch *watch = m_client->addWatch(obj, expr, this); if (watch->state() == QmlDebugWatch::Dead) { @@ -241,6 +249,9 @@ void WatchTableModel::expressionWatchRequested(const QmlDebugObjectReference &ob void WatchTableModel::stopWatching(int column) { + if (!m_client) + return; + QmlDebugWatch *watch = findWatch(column); if (watch) { m_client->removeWatch(watch); diff --git a/tools/qmldebugger/watchtable.h b/tools/qmldebugger/watchtable.h index abada2b..772142c 100644 --- a/tools/qmldebugger/watchtable.h +++ b/tools/qmldebugger/watchtable.h @@ -13,6 +13,7 @@ QT_BEGIN_NAMESPACE class QmlDebugWatch; class QmlEngineDebug; +class QmlDebugConnection; class QmlDebugPropertyReference; class QmlDebugObjectReference; @@ -20,9 +21,11 @@ class WatchTableModel : public QAbstractTableModel { Q_OBJECT public: - WatchTableModel(QmlEngineDebug *client, QObject *parent = 0); + WatchTableModel(QmlEngineDebug *client = 0, QObject *parent = 0); ~WatchTableModel(); + void setEngineDebug(QmlEngineDebug *client); + QmlDebugWatch *findWatch(int column) const; int columnForWatch(QmlDebugWatch *watch) const; |