diff --git a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp b/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp index ece0b49637ce64a5183414cc01d8fee4f9e81c50..179bda9d7f217659ed8e65049b592c9f41c82126 100644 --- a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp +++ b/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp @@ -28,8 +28,8 @@ **************************************************************************/ #include "abstractformeditortool.h" -#include "qdeclarativedesignview.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver.h" +#include "qdeclarativeviewobserver_p.h" #include <QDeclarativeEngine> @@ -39,8 +39,8 @@ namespace QmlViewer { -AbstractFormEditorTool::AbstractFormEditorTool(QDeclarativeDesignView *editorView) - : QObject(editorView), m_view(editorView) +AbstractFormEditorTool::AbstractFormEditorTool(QDeclarativeViewObserver *editorView) + : QObject(editorView), m_observer(editorView) { } @@ -50,9 +50,14 @@ AbstractFormEditorTool::~AbstractFormEditorTool() } -QDeclarativeDesignView* AbstractFormEditorTool::view() const +QDeclarativeViewObserver *AbstractFormEditorTool::observer() const { - return m_view; + return m_observer; +} + +QDeclarativeView *AbstractFormEditorTool::view() const +{ + return m_observer->declarativeView(); } QGraphicsScene* AbstractFormEditorTool::scene() const @@ -67,12 +72,12 @@ void AbstractFormEditorTool::updateSelectedItems() QList<QGraphicsItem*> AbstractFormEditorTool::items() const { - return view()->selectedItems(); + return observer()->selectedItems(); } void AbstractFormEditorTool::enterContext(QGraphicsItem *itemToEnter) { - view()->data->enterContext(itemToEnter); + observer()->data->enterContext(itemToEnter); } bool AbstractFormEditorTool::topItemIsMovable(const QList<QGraphicsItem*> & itemList) @@ -92,7 +97,7 @@ bool AbstractFormEditorTool::topItemIsMovable(const QList<QGraphicsItem*> & item bool AbstractFormEditorTool::topSelectedItemIsMovable(const QList<QGraphicsItem*> &itemList) { - QList<QGraphicsItem*> selectedItems = view()->selectedItems(); + QList<QGraphicsItem*> selectedItems = observer()->selectedItems(); foreach (QGraphicsItem *item, itemList) { QDeclarativeItem *declarativeItem = toQDeclarativeItem(item); @@ -178,7 +183,7 @@ QString AbstractFormEditorTool::titleForItem(QGraphicsItem *item) QDeclarativeItem *declarativeItem = qobject_cast<QDeclarativeItem*>(gfxObject); if (declarativeItem) { - objectStringId = QDeclarativeDesignView::idStringForObject(declarativeItem); + objectStringId = QDeclarativeViewObserver::idStringForObject(declarativeItem); } if (!objectStringId.isEmpty()) { diff --git a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h b/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h index 63a3d3eb8538a33461188c7587798e8f05ff00c2..1cecc494bc9406331002cb9ea5048e5b80fa878a 100644 --- a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h +++ b/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h @@ -42,12 +42,12 @@ class QKeyEvent; class QGraphicsScene; class QGraphicsObject; class QWheelEvent; +class QDeclarativeView; QT_END_NAMESPACE namespace QmlViewer { -class QDeclarativeDesignView; - +class QDeclarativeViewObserver; class FormEditorView; @@ -55,7 +55,7 @@ class AbstractFormEditorTool : public QObject { Q_OBJECT public: - AbstractFormEditorTool(QDeclarativeDesignView* view); + AbstractFormEditorTool(QDeclarativeViewObserver* observer); virtual ~AbstractFormEditorTool(); @@ -92,11 +92,12 @@ public: protected: virtual void selectedItemsChanged(const QList<QGraphicsItem*> &objectList) = 0; - QDeclarativeDesignView *view() const; + QDeclarativeViewObserver *observer() const; + QDeclarativeView *view() const; QGraphicsScene* scene() const; private: - QDeclarativeDesignView *m_view; + QDeclarativeViewObserver *m_observer; QList<QGraphicsItem*> m_itemList; }; diff --git a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp b/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp index 43ebea001baca1264fec551ce687f62a94d1eeb0..b889e67bc974e0b7cc1e3734ddadb56ea9be5d15 100644 --- a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp +++ b/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp @@ -1,5 +1,5 @@ #include "boundingrecthighlighter.h" -#include "qdeclarativedesignview.h" +#include "qdeclarativeviewobserver.h" #include "qmlviewerconstants.h" #include <QGraphicsPolygonItem> @@ -48,8 +48,8 @@ int BoundingBoxPolygonItem::type() const return Constants::EditorItemType; } -BoundingRectHighlighter::BoundingRectHighlighter(QDeclarativeDesignView *view) : - LayerItem(view->scene()), +BoundingRectHighlighter::BoundingRectHighlighter(QDeclarativeViewObserver *view) : + LayerItem(view->declarativeView()->scene()), m_view(view), m_animFrame(0) { diff --git a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h b/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h index 139b1ac7877e493591e11d80d8dfc5d39155b086..16b1c506997bd0e5de247e527e2338cfb9de09fe 100644 --- a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h +++ b/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h @@ -14,14 +14,14 @@ QT_FORWARD_DECLARE_CLASS(QTimer); namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class BoundingBox; class BoundingRectHighlighter : public LayerItem { Q_OBJECT public: - explicit BoundingRectHighlighter(QDeclarativeDesignView *view); + explicit BoundingRectHighlighter(QDeclarativeViewObserver *view); ~BoundingRectHighlighter(); void clear(); void highlight(QList<QGraphicsObject*> items); @@ -42,7 +42,7 @@ private: private: Q_DISABLE_COPY(BoundingRectHighlighter); - QDeclarativeDesignView *m_view; + QDeclarativeViewObserver *m_view; QList<BoundingBox* > m_boxes; QList<BoundingBox* > m_freeBoxes; QTimer *m_animTimer; diff --git a/share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp b/share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp index 5bc349cba9023e4ccdebc008ec60c740fa1af14a..863ce9b8bc9996694ffa517ecdc968814a0d17d2 100644 --- a/share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp +++ b/share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp @@ -1,5 +1,5 @@ #include "colorpickertool.h" -#include "qdeclarativedesignview.h" +#include "qdeclarativeviewobserver.h" #include <QMouseEvent> #include <QKeyEvent> @@ -11,7 +11,7 @@ namespace QmlViewer { -ColorPickerTool::ColorPickerTool(QDeclarativeDesignView *view) : +ColorPickerTool::ColorPickerTool(QDeclarativeViewObserver *view) : AbstractFormEditorTool(view) { m_selectedColor.setRgb(0,0,0); diff --git a/share/qtcreator/qmljsdebugger/editor/colorpickertool.h b/share/qtcreator/qmljsdebugger/editor/colorpickertool.h index f762179c410186103a6cdfb1066f872cefa93dcc..b9beec58db007c02fe208839c230bd0c107776e1 100644 --- a/share/qtcreator/qmljsdebugger/editor/colorpickertool.h +++ b/share/qtcreator/qmljsdebugger/editor/colorpickertool.h @@ -13,7 +13,7 @@ class ColorPickerTool : public AbstractFormEditorTool { Q_OBJECT public: - explicit ColorPickerTool(QDeclarativeDesignView *view); + explicit ColorPickerTool(QDeclarativeViewObserver *view); virtual ~ColorPickerTool(); diff --git a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp b/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp index 8f24552890d439c9d9bb9340a51e51a650c2fa9b..66843e87ae666791694ab84055c8b38d25148fee 100644 --- a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp +++ b/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp @@ -28,13 +28,13 @@ **************************************************************************/ #include "rubberbandselectionmanipulator.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver_p.h" #include <QDebug> namespace QmlViewer { -RubberBandSelectionManipulator::RubberBandSelectionManipulator(QGraphicsObject *layerItem, QDeclarativeDesignView *editorView) +RubberBandSelectionManipulator::RubberBandSelectionManipulator(QGraphicsObject *layerItem, QDeclarativeViewObserver *editorView) : m_selectionRectangleElement(layerItem), m_editorView(editorView), m_beginFormEditorItem(0), @@ -66,7 +66,7 @@ void RubberBandSelectionManipulator::begin(const QPointF& beginPoint) m_selectionRectangleElement.setRect(m_beginPoint, m_beginPoint); m_selectionRectangleElement.show(); m_isActive = true; - m_beginFormEditorItem = topFormEditorItem(QDeclarativeDesignViewPrivate::get(m_editorView)->selectableItems(beginPoint)); + m_beginFormEditorItem = topFormEditorItem(QDeclarativeViewObserverPrivate::get(m_editorView)->selectableItems(beginPoint)); m_oldSelectionList = m_editorView->selectedItems(); } @@ -84,7 +84,7 @@ void RubberBandSelectionManipulator::end() void RubberBandSelectionManipulator::select(SelectionType selectionType) { - QList<QGraphicsItem*> itemList = QDeclarativeDesignViewPrivate::get(m_editorView)->selectableItems(m_selectionRectangleElement.rect(), + QList<QGraphicsItem*> itemList = QDeclarativeViewObserverPrivate::get(m_editorView)->selectableItems(m_selectionRectangleElement.rect(), Qt::IntersectsItemShape); QList<QGraphicsItem*> newSelectionList; diff --git a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h b/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h index 272d054b6503904a03a7338975918fa447f1be9b..feacc2d52a5abdf86b269286ce9a2a3f36a7ec3c 100644 --- a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h +++ b/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h @@ -35,7 +35,7 @@ namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class RubberBandSelectionManipulator { @@ -47,7 +47,7 @@ public: }; - RubberBandSelectionManipulator(QGraphicsObject *layerItem, QDeclarativeDesignView *editorView); + RubberBandSelectionManipulator(QGraphicsObject *layerItem, QDeclarativeViewObserver *editorView); void setItems(const QList<QGraphicsItem*> &itemList); @@ -72,7 +72,7 @@ private: QList<QGraphicsItem*> m_oldSelectionList; SelectionRectangle m_selectionRectangleElement; QPointF m_beginPoint; - QDeclarativeDesignView *m_editorView; + QDeclarativeViewObserver *m_editorView; QGraphicsItem *m_beginFormEditorItem; bool m_isActive; }; diff --git a/share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp b/share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp index 585b54999c50ba093ba24b00b14607605054b46a..8ebc1d71a9122f7ed4e08d09ab993d437b6f5a21 100644 --- a/share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp +++ b/share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp @@ -28,7 +28,7 @@ **************************************************************************/ #include "selectionindicator.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver_p.h" #include "qmlviewerconstants.h" #include <QPen> @@ -38,7 +38,7 @@ namespace QmlViewer { -SelectionIndicator::SelectionIndicator(QDeclarativeDesignView *editorView, QGraphicsObject *layerItem) +SelectionIndicator::SelectionIndicator(QDeclarativeViewObserver *editorView, QGraphicsObject *layerItem) : m_layerItem(layerItem), m_view(editorView) { } @@ -85,7 +85,7 @@ QPolygonF SelectionIndicator::addBoundingRectToPolygon(QGraphicsItem *item, QPol } foreach(QGraphicsItem *child, item->childItems()) { - if (!QDeclarativeDesignViewPrivate::get(m_view)->isEditorItem(child)) + if (!QDeclarativeViewObserverPrivate::get(m_view)->isEditorItem(child)) addBoundingRectToPolygon(child, polygon); } return polygon; diff --git a/share/qtcreator/qmljsdebugger/editor/selectionindicator.h b/share/qtcreator/qmljsdebugger/editor/selectionindicator.h index 9880111c6bdbfbdbc1bb20acb044d72df6111585..61dfa9af62f21acb7a48c890f608540c08dcb2a1 100644 --- a/share/qtcreator/qmljsdebugger/editor/selectionindicator.h +++ b/share/qtcreator/qmljsdebugger/editor/selectionindicator.h @@ -36,12 +36,12 @@ namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class SelectionIndicator { public: - SelectionIndicator(QDeclarativeDesignView* editorView, QGraphicsObject *layerItem); + SelectionIndicator(QDeclarativeViewObserver* editorView, QGraphicsObject *layerItem); ~SelectionIndicator(); void show(); @@ -57,7 +57,7 @@ private: private: QHash<QGraphicsItem*, QGraphicsPolygonItem *> m_indicatorShapeHash; QWeakPointer<QGraphicsObject> m_layerItem; - QDeclarativeDesignView *m_view; + QDeclarativeViewObserver *m_view; }; diff --git a/share/qtcreator/qmljsdebugger/editor/selectiontool.cpp b/share/qtcreator/qmljsdebugger/editor/selectiontool.cpp index dbcadd605bf6fe987f3f32fe10629fd7f08fe7c2..5e8a01dc1ff6e244f93ea42522f2fc453cb46418 100644 --- a/share/qtcreator/qmljsdebugger/editor/selectiontool.cpp +++ b/share/qtcreator/qmljsdebugger/editor/selectiontool.cpp @@ -31,7 +31,7 @@ #include "layeritem.h" //#include "resizehandleitem.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver_p.h" #include <QDeclarativeEngine> @@ -48,12 +48,12 @@ namespace QmlViewer { -SelectionTool::SelectionTool(QDeclarativeDesignView *editorView) +SelectionTool::SelectionTool(QDeclarativeViewObserver *editorView) : AbstractFormEditorTool(editorView), m_rubberbandSelectionMode(false), - m_rubberbandSelectionManipulator(QDeclarativeDesignViewPrivate::get(editorView)->manipulatorLayer, editorView), + m_rubberbandSelectionManipulator(QDeclarativeViewObserverPrivate::get(editorView)->manipulatorLayer, editorView), m_singleSelectionManipulator(editorView), - m_selectionIndicator(editorView, QDeclarativeDesignViewPrivate::get(editorView)->manipulatorLayer), + m_selectionIndicator(editorView, QDeclarativeViewObserverPrivate::get(editorView)->manipulatorLayer), //m_resizeIndicator(editorView->manipulatorLayer()), m_selectOnlyContentItems(true) { @@ -82,7 +82,7 @@ SingleSelectionManipulator::SelectionType SelectionTool::getSelectionType(Qt::Ke bool SelectionTool::alreadySelected(const QList<QGraphicsItem*> &itemList) const { - const QList<QGraphicsItem*> selectedItems = QDeclarativeDesignViewPrivate::get(view())->selectedItems(); + const QList<QGraphicsItem*> selectedItems = QDeclarativeViewObserverPrivate::get(observer())->selectedItems(); if (selectedItems.isEmpty()) return false; @@ -98,7 +98,7 @@ bool SelectionTool::alreadySelected(const QList<QGraphicsItem*> &itemList) const void SelectionTool::mousePressEvent(QMouseEvent *event) { - QList<QGraphicsItem*> itemList = QDeclarativeDesignViewPrivate::get(view())->selectableItems(event->pos()); + QList<QGraphicsItem*> itemList = QDeclarativeViewObserverPrivate::get(observer())->selectableItems(event->pos()); SingleSelectionManipulator::SelectionType selectionType = getSelectionType(event->modifiers()); if (event->buttons() & Qt::LeftButton) { @@ -109,7 +109,7 @@ void SelectionTool::mousePressEvent(QMouseEvent *event) } else { if (itemList.isEmpty()) { - QDeclarativeDesignViewPrivate::get(view())->setSelectedItems(itemList); + QDeclarativeViewObserverPrivate::get(observer())->setSelectedItems(itemList); return; } @@ -130,7 +130,7 @@ void SelectionTool::mousePressEvent(QMouseEvent *event) m_mousePressTimer.start(); if (itemList.isEmpty()) { - view()->setSelectedItems(itemList); + observer()->setSelectedItems(itemList); return; } @@ -159,7 +159,7 @@ void SelectionTool::mousePressEvent(QMouseEvent *event) void SelectionTool::createContextMenu(QList<QGraphicsItem*> itemList, QPoint globalPos) { - if (!QDeclarativeDesignViewPrivate::get(view())->mouseInsideContextItem()) + if (!QDeclarativeViewObserverPrivate::get(observer())->mouseInsideContextItem()) return; QMenu contextMenu; @@ -177,7 +177,7 @@ void SelectionTool::createContextMenu(QList<QGraphicsItem*> itemList, QPoint glo QString itemTitle = titleForItem(item); QAction *elementAction = contextMenu.addAction(itemTitle, this, SLOT(contextMenuElementSelected())); - if (view()->selectedItems().contains(item)) { + if (observer()->selectedItems().contains(item)) { QFont boldFont = elementAction->font(); boldFont.setBold(true); elementAction->setFont(boldFont); @@ -224,7 +224,7 @@ void SelectionTool::contextMenuElementHovered(QAction *action) int itemListIndex = action->data().toInt(); if (itemListIndex >= 0 && itemListIndex < m_contextMenuItemList.length()) { QGraphicsObject *item = m_contextMenuItemList.at(itemListIndex)->toGraphicsObject(); - QDeclarativeDesignViewPrivate::get(view())->highlight(item); + QDeclarativeViewObserverPrivate::get(observer())->highlight(item); } } @@ -274,16 +274,16 @@ void SelectionTool::hoverMoveEvent(QMouseEvent * event) // if (topSelectedItemIsMovable(itemList)) // view()->changeTool(Constants::MoveToolMode); // } - QList<QGraphicsItem*> selectableItemList = QDeclarativeDesignViewPrivate::get(view())->selectableItems(event->pos()); + QList<QGraphicsItem*> selectableItemList = QDeclarativeViewObserverPrivate::get(observer())->selectableItems(event->pos()); if (!selectableItemList.isEmpty()) { QGraphicsObject *item = selectableItemList.first()->toGraphicsObject(); if (item) - QDeclarativeDesignViewPrivate::get(view())->highlight(item); + QDeclarativeViewObserverPrivate::get(observer())->highlight(item); return; } - QDeclarativeDesignViewPrivate::get(view())->clearHighlight(); + QDeclarativeViewObserverPrivate::get(observer())->clearHighlight(); } void SelectionTool::mouseReleaseEvent(QMouseEvent *event) @@ -349,11 +349,11 @@ void SelectionTool::wheelEvent(QWheelEvent *event) if (event->orientation() == Qt::Horizontal || m_rubberbandSelectionMode) return; - QList<QGraphicsItem*> itemList = QDeclarativeDesignViewPrivate::get(view())->selectableItems(event->pos()); + QList<QGraphicsItem*> itemList = QDeclarativeViewObserverPrivate::get(observer())->selectableItems(event->pos()); int selectedIdx = 0; - if (!view()->selectedItems().isEmpty()) { - selectedIdx = itemList.indexOf(view()->selectedItems().first()); + if (!observer()->selectedItems().isEmpty()) { + selectedIdx = itemList.indexOf(observer()->selectedItems().first()); if (selectedIdx >= 0) { if (event->delta() > 0) { selectedIdx++; diff --git a/share/qtcreator/qmljsdebugger/editor/selectiontool.h b/share/qtcreator/qmljsdebugger/editor/selectiontool.h index 9fa6e8825e29065204d85125388a1151c0c978ac..e535786fe4c37fc2d9e2789b85170b1387724836 100644 --- a/share/qtcreator/qmljsdebugger/editor/selectiontool.h +++ b/share/qtcreator/qmljsdebugger/editor/selectiontool.h @@ -32,15 +32,14 @@ #include "abstractformeditortool.h" -#include "movemanipulator.h" #include "rubberbandselectionmanipulator.h" #include "singleselectionmanipulator.h" #include "selectionindicator.h" -#include "resizeindicator.h" #include <QHash> #include <QList> #include <QTime> +#include <QAction> QT_FORWARD_DECLARE_CLASS(QGraphicsItem); QT_FORWARD_DECLARE_CLASS(QMouseEvent); @@ -53,7 +52,7 @@ class SelectionTool : public AbstractFormEditorTool Q_OBJECT public: - SelectionTool(QDeclarativeDesignView* editorView); + SelectionTool(QDeclarativeViewObserver* editorView); ~SelectionTool(); void mousePressEvent(QMouseEvent *event); diff --git a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp b/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp index 3c5fed7cca358d647c02a74c0029db8ae7f326e1..191252ae8b9841c34b4af32754c05ada32113398 100644 --- a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp +++ b/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp @@ -28,13 +28,13 @@ **************************************************************************/ #include "singleselectionmanipulator.h" -#include "qdeclarativedesignview.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver.h" +#include "qdeclarativeviewobserver_p.h" #include <QtDebug> namespace QmlViewer { -SingleSelectionManipulator::SingleSelectionManipulator(QDeclarativeDesignView *editorView) +SingleSelectionManipulator::SingleSelectionManipulator(QDeclarativeViewObserver *editorView) : m_editorView(editorView), m_isActive(false) { @@ -45,7 +45,7 @@ void SingleSelectionManipulator::begin(const QPointF &beginPoint) { m_beginPoint = beginPoint; m_isActive = true; - m_oldSelectionList = QDeclarativeDesignViewPrivate::get(m_editorView)->selectedItems(); + m_oldSelectionList = QDeclarativeViewObserverPrivate::get(m_editorView)->selectedItems(); } void SingleSelectionManipulator::update(const QPointF &/*updatePoint*/) @@ -116,7 +116,7 @@ void SingleSelectionManipulator::select(SelectionType selectionType, const QList void SingleSelectionManipulator::select(SelectionType selectionType, bool selectOnlyContentItems) { - QList<QGraphicsItem*> itemList = QDeclarativeDesignViewPrivate::get(m_editorView)->selectableItems(m_beginPoint); + QList<QGraphicsItem*> itemList = QDeclarativeViewObserverPrivate::get(m_editorView)->selectableItems(m_beginPoint); select(selectionType, itemList, selectOnlyContentItems); } diff --git a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h b/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h index 04f339640fce9de40171a0e509c5ac27cb600323..bde990634d4cbfa40a5f5e60d8ed1e2a13a090fe 100644 --- a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h +++ b/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h @@ -37,12 +37,12 @@ QT_FORWARD_DECLARE_CLASS(QGraphicsItem); namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class SingleSelectionManipulator { public: - SingleSelectionManipulator(QDeclarativeDesignView *editorView); + SingleSelectionManipulator(QDeclarativeViewObserver *editorView); enum SelectionType { ReplaceSelection, @@ -67,7 +67,7 @@ public: private: QList<QGraphicsItem*> m_oldSelectionList; QPointF m_beginPoint; - QDeclarativeDesignView *m_editorView; + QDeclarativeViewObserver *m_editorView; bool m_isActive; }; diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp b/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp index 2bd96c80efd08eca61ee8d9d32cde4fe242a72a7..bdb7e6196064e1717e16c7ce10da629f6a09a301 100644 --- a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp +++ b/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp @@ -1,5 +1,5 @@ #include "subcomponenteditortool.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver_p.h" #include "subcomponentmasklayeritem.h" #include "layeritem.h" @@ -16,12 +16,12 @@ namespace QmlViewer { const qreal MaxOpacity = 0.5f; -SubcomponentEditorTool::SubcomponentEditorTool(QDeclarativeDesignView *view) +SubcomponentEditorTool::SubcomponentEditorTool(QDeclarativeViewObserver *view) : AbstractFormEditorTool(view), m_animIncrement(0.05f), m_animTimer(new QTimer(this)) { - m_mask = new SubcomponentMaskLayerItem(view, QDeclarativeDesignViewPrivate::get(view)->manipulatorLayer); + m_mask = new SubcomponentMaskLayerItem(view, QDeclarativeViewObserverPrivate::get(view)->manipulatorLayer); connect(m_animTimer, SIGNAL(timeout()), SLOT(animate())); m_animTimer->setInterval(20); } @@ -71,7 +71,7 @@ void SubcomponentEditorTool::mouseDoubleClickEvent(QMouseEvent *event) void SubcomponentEditorTool::hoverMoveEvent(QMouseEvent *event) { if (!containsCursor(event->pos()) && m_currentContext.size() > 1) { - QDeclarativeDesignViewPrivate::get(view())->clearHighlight(); + QDeclarativeViewObserverPrivate::get(observer())->clearHighlight(); } } @@ -164,8 +164,8 @@ void SubcomponentEditorTool::setCurrentItem(QGraphicsItem* contextItem) m_animIncrement = 0.05f; m_animTimer->start(); - QDeclarativeDesignViewPrivate::get(view())->clearHighlight(); - view()->setSelectedItems(QList<QGraphicsItem*>()); + QDeclarativeViewObserverPrivate::get(observer())->clearHighlight(); + observer()->setSelectedItems(QList<QGraphicsItem*>()); pushContext(gfxObject); } diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h b/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h index d54b6a71dc0a248794c536d4f91f1050a466cce0..c8196ed8e51225c7853af5ec61107bae44c24b0d 100644 --- a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h +++ b/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h @@ -18,7 +18,7 @@ class SubcomponentEditorTool : public AbstractFormEditorTool Q_OBJECT public: - SubcomponentEditorTool(QDeclarativeDesignView *view); + SubcomponentEditorTool(QDeclarativeViewObserver *view); ~SubcomponentEditorTool(); void mousePressEvent(QMouseEvent *event); diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp b/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp index ce1b43713196833d2563ac8d60e6a29f715354b6..4e6e911163eac29431ac49839eb56cd2598f4364 100644 --- a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp +++ b/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp @@ -1,13 +1,13 @@ #include "subcomponentmasklayeritem.h" #include "qmlviewerconstants.h" -#include "qdeclarativedesignview.h" +#include "qdeclarativeviewobserver.h" #include <QPolygonF> namespace QmlViewer { -SubcomponentMaskLayerItem::SubcomponentMaskLayerItem(QDeclarativeDesignView *view, QGraphicsItem *parentItem) : +SubcomponentMaskLayerItem::SubcomponentMaskLayerItem(QDeclarativeViewObserver *observer, QGraphicsItem *parentItem) : QGraphicsPolygonItem(parentItem), - m_view(view), + m_observer(observer), m_currentItem(0), m_borderRect(new QGraphicsRectItem(this)) { @@ -51,8 +51,8 @@ void SubcomponentMaskLayerItem::setCurrentItem(QGraphicsItem *item) if (!m_currentItem) return; - QPolygonF viewPoly(QRectF(m_view->rect())); - viewPoly = m_view->mapToScene(viewPoly.toPolygon()); + QPolygonF viewPoly(QRectF(m_observer->declarativeView()->rect())); + viewPoly = m_observer->declarativeView()->mapToScene(viewPoly.toPolygon()); QRectF itemRect = item->boundingRect() | item->childrenBoundingRect(); QPolygonF itemPoly(itemRect); diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h b/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h index 9a6463646121119904a9850157d34786d29d587c..598cd161955db975d648a8f0ccb8344333126c5a 100644 --- a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h +++ b/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h @@ -5,12 +5,12 @@ namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class SubcomponentMaskLayerItem : public QGraphicsPolygonItem { public: - explicit SubcomponentMaskLayerItem(QDeclarativeDesignView *view, QGraphicsItem *parentItem = 0); + explicit SubcomponentMaskLayerItem(QDeclarativeViewObserver *observer, QGraphicsItem *parentItem = 0); int type() const; void setCurrentItem(QGraphicsItem *item); void setBoundingBox(const QRectF &boundingBox); @@ -18,7 +18,7 @@ public: QRectF itemRect() const; private: - QDeclarativeDesignView *m_view; + QDeclarativeViewObserver *m_observer; QGraphicsItem *m_currentItem; QGraphicsRectItem *m_borderRect; QRectF m_itemPolyRect; diff --git a/share/qtcreator/qmljsdebugger/editor/zoomtool.cpp b/share/qtcreator/qmljsdebugger/editor/zoomtool.cpp index 05937eafc2c2ee4a1690d1be2b0824a2401ace0f..7a946cf9e8290874da64d6d11b25745f56a6f1cd 100644 --- a/share/qtcreator/qmljsdebugger/editor/zoomtool.cpp +++ b/share/qtcreator/qmljsdebugger/editor/zoomtool.cpp @@ -1,5 +1,5 @@ #include "zoomtool.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver_p.h" #include <QMouseEvent> #include <QWheelEvent> @@ -12,9 +12,9 @@ namespace QmlViewer { -ZoomTool::ZoomTool(QDeclarativeDesignView *view) : +ZoomTool::ZoomTool(QDeclarativeViewObserver *view) : AbstractFormEditorTool(view), - m_rubberbandManipulator(reinterpret_cast<QGraphicsObject *>(QDeclarativeDesignViewPrivate::get(view)->manipulatorLayer), view), + m_rubberbandManipulator(reinterpret_cast<QGraphicsObject *>(QDeclarativeViewObserverPrivate::get(view)->manipulatorLayer), view), m_smoothZoomMultiplier(0.05f), m_currentScale(1.0f) { diff --git a/share/qtcreator/qmljsdebugger/editor/zoomtool.h b/share/qtcreator/qmljsdebugger/editor/zoomtool.h index f3774efa11ca74b637c8472518e7dd49ea0f15f0..31159a1b6db9dac9ef0f57d3a47cdc80885a9a64 100644 --- a/share/qtcreator/qmljsdebugger/editor/zoomtool.h +++ b/share/qtcreator/qmljsdebugger/editor/zoomtool.h @@ -17,7 +17,7 @@ public: ZoomOut }; - explicit ZoomTool(QDeclarativeDesignView *view); + explicit ZoomTool(QDeclarativeViewObserver *view); virtual ~ZoomTool(); diff --git a/share/qtcreator/qmljsdebugger/include/qdeclarativedesignview.h b/share/qtcreator/qmljsdebugger/include/qdeclarativeviewobserver.h similarity index 78% rename from share/qtcreator/qmljsdebugger/include/qdeclarativedesignview.h rename to share/qtcreator/qmljsdebugger/include/qdeclarativeviewobserver.h index f06002dcd2a3960ec360182614dbba15e0a30c5b..b6ec2d0e8b2c9a6cc899f76c9bb13b6890af3f39 100644 --- a/share/qtcreator/qmljsdebugger/include/qdeclarativedesignview.h +++ b/share/qtcreator/qmljsdebugger/include/qdeclarativeviewobserver.h @@ -27,8 +27,8 @@ ** **************************************************************************/ -#ifndef QDECLARATIVEDESIGNVIEW_H -#define QDECLARATIVEDESIGNVIEW_H +#ifndef QDECLARATIVEVIEWOBSERVER_H +#define QDECLARATIVEVIEWOBSERVER_H #include "qmljsdebugger_global.h" #include "qmlviewerconstants.h" @@ -42,19 +42,21 @@ QT_FORWARD_DECLARE_CLASS(QToolBar); namespace QmlViewer { class CrumblePath; -class QDeclarativeDesignViewPrivate; +class QDeclarativeViewObserverPrivate; -class QMLJSDEBUGGER_EXPORT QDeclarativeDesignView : public QDeclarativeView +class QMLJSDEBUGGER_EXPORT QDeclarativeViewObserver : public QObject { Q_OBJECT public: - explicit QDeclarativeDesignView(QWidget *parent = 0); - ~QDeclarativeDesignView(); + explicit QDeclarativeViewObserver(QDeclarativeView *view, QObject *parent = 0); + ~QDeclarativeViewObserver(); void setSelectedItems(QList<QGraphicsItem *> items); QList<QGraphicsItem *> selectedItems(); + QDeclarativeView *declarativeView(); + QToolBar *toolbar() const; static QString idStringForObject(QObject *obj); QRectF adjustToScreenBoundaries(const QRectF &boundingRectInSceneSpace); @@ -87,19 +89,21 @@ Q_SIGNALS: void inspectorContextPopped(); protected: - void leaveEvent(QEvent *); - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - void keyPressEvent(QKeyEvent *event); - void keyReleaseEvent(QKeyEvent *keyEvent); - void mouseDoubleClickEvent(QMouseEvent *event); - void wheelEvent(QWheelEvent *event); + bool eventFilter(QObject *obj, QEvent *event); + + bool leaveEvent(QEvent *); + bool mousePressEvent(QMouseEvent *event); + bool mouseMoveEvent(QMouseEvent *event); + bool mouseReleaseEvent(QMouseEvent *event); + bool keyPressEvent(QKeyEvent *event); + bool keyReleaseEvent(QKeyEvent *keyEvent); + bool mouseDoubleClickEvent(QMouseEvent *event); + bool wheelEvent(QWheelEvent *event); void setSelectedItemsForTools(QList<QGraphicsItem *> items); private: - Q_DISABLE_COPY(QDeclarativeDesignView) + Q_DISABLE_COPY(QDeclarativeViewObserver) Q_PRIVATE_SLOT(d_func(), void _q_reloadView()) Q_PRIVATE_SLOT(d_func(), void _q_onStatusChanged(QDeclarativeView::Status)) Q_PRIVATE_SLOT(d_func(), void _q_onCurrentObjectsChanged(QList<QObject*>)) @@ -113,13 +117,13 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_changeContextPathIndex(int index)) Q_PRIVATE_SLOT(d_func(), void _q_clearComponentCache()); - inline QDeclarativeDesignViewPrivate *d_func() { return data.data(); } - QScopedPointer<QDeclarativeDesignViewPrivate> data; - friend class QDeclarativeDesignViewPrivate; + inline QDeclarativeViewObserverPrivate *d_func() { return data.data(); } + QScopedPointer<QDeclarativeViewObserverPrivate> data; + friend class QDeclarativeViewObserverPrivate; friend class AbstractFormEditorTool; }; } //namespace QmlViewer -#endif // QDECLARATIVEDESIGNVIEW_H +#endif // QDECLARATIVEVIEWOBSERVER_H diff --git a/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp b/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver.cpp similarity index 69% rename from share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp rename to share/qtcreator/qmljsdebugger/qdeclarativeviewobserver.cpp index f9e2a806de4814fb8d4e323cd2ce72e17d0b4e5b..d94de934b7a527f1a0ea5984f31832ebbaf1fb0c 100644 --- a/share/qtcreator/qmljsdebugger/qdeclarativedesignview.cpp +++ b/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver.cpp @@ -27,8 +27,8 @@ ** **************************************************************************/ -#include "qdeclarativedesignview.h" -#include "qdeclarativedesignview_p.h" +#include "qdeclarativeviewobserver.h" +#include "qdeclarativeviewobserver_p.h" #include "qdeclarativedesigndebugserver.h" #include "selectiontool.h" #include "zoomtool.h" @@ -56,7 +56,7 @@ namespace QmlViewer { const int SceneChangeUpdateInterval = 5000; -QDeclarativeDesignViewPrivate::QDeclarativeDesignViewPrivate(QDeclarativeDesignView *q) : +QDeclarativeViewObserverPrivate::QDeclarativeViewObserverPrivate(QDeclarativeViewObserver *q) : q(q), designModeBehavior(false), executionPaused(false), @@ -66,14 +66,15 @@ QDeclarativeDesignViewPrivate::QDeclarativeDesignViewPrivate(QDeclarativeDesignV { } -QDeclarativeDesignViewPrivate::~QDeclarativeDesignViewPrivate() +QDeclarativeViewObserverPrivate::~QDeclarativeViewObserverPrivate() { } -QDeclarativeDesignView::QDeclarativeDesignView(QWidget *parent) : - QDeclarativeView(parent), data(new QDeclarativeDesignViewPrivate(this)) +QDeclarativeViewObserver::QDeclarativeViewObserver(QDeclarativeView *view, QObject *parent) : + QObject(parent), data(new QDeclarativeViewObserverPrivate(this)) { - data->manipulatorLayer = new LayerItem(scene()); + data->view = view; + data->manipulatorLayer = new LayerItem(view->scene()); data->selectionTool = new SelectionTool(this); data->zoomTool = new ZoomTool(this); data->colorPickerTool = new ColorPickerTool(this); @@ -81,7 +82,8 @@ QDeclarativeDesignView::QDeclarativeDesignView(QWidget *parent) : data->subcomponentEditorTool = new SubcomponentEditorTool(this); data->currentTool = data->selectionTool; - setMouseTracking(true); + data->view->setMouseTracking(true); + data->view->viewport()->installEventFilter(this); data->debugServer = QDeclarativeDesignDebugServer::instance(); connect(data->debugServer, SIGNAL(designModeBehaviorChanged(bool)), SLOT(setDesignModeBehavior(bool))); @@ -102,7 +104,7 @@ QDeclarativeDesignView::QDeclarativeDesignView(QWidget *parent) : SLOT(_q_reparentQmlObject(QObject *, QObject *))); connect(data->debugServer, SIGNAL(contextPathIndexChanged(int)), SLOT(_q_changeContextPathIndex(int))); connect(data->debugServer, SIGNAL(clearComponentCacheRequested()), SLOT(_q_clearComponentCache())); - connect(this, SIGNAL(statusChanged(QDeclarativeView::Status)), SLOT(_q_onStatusChanged(QDeclarativeView::Status))); + connect(data->view, SIGNAL(statusChanged(QDeclarativeView::Status)), SLOT(_q_onStatusChanged(QDeclarativeView::Status))); connect(data->colorPickerTool, SIGNAL(selectedColorChanged(QColor)), SIGNAL(selectedColorChanged(QColor))); connect(data->colorPickerTool, SIGNAL(selectedColorChanged(QColor)), @@ -121,11 +123,11 @@ QDeclarativeDesignView::QDeclarativeDesignView(QWidget *parent) : setDebugMode(true); } -QDeclarativeDesignView::~QDeclarativeDesignView() +QDeclarativeViewObserver::~QDeclarativeViewObserver() { } -void QDeclarativeDesignView::setInspectorContext(int contextIndex) +void QDeclarativeViewObserver::setInspectorContext(int contextIndex) { if (data->subcomponentEditorTool->contextIndex() != contextIndex) { QGraphicsObject *object = data->subcomponentEditorTool->setContext(contextIndex); @@ -134,52 +136,101 @@ void QDeclarativeDesignView::setInspectorContext(int contextIndex) } } -void QDeclarativeDesignViewPrivate::_q_reloadView() +void QDeclarativeViewObserverPrivate::_q_reloadView() { subcomponentEditorTool->clear(); clearHighlight(); emit q->reloadRequested(); } -void QDeclarativeDesignViewPrivate::clearEditorItems() +void QDeclarativeViewObserverPrivate::clearEditorItems() { clearHighlight(); setSelectedItems(QList<QGraphicsItem*>()); } -void QDeclarativeDesignView::leaveEvent(QEvent *event) +bool QDeclarativeViewObserver::eventFilter(QObject *obj, QEvent *event) + { + switch (event->type()) { + case QEvent::Leave: { + if (leaveEvent(event)) + return true; + break; + } + case QEvent::MouseButtonPress: { + if (mousePressEvent(static_cast<QMouseEvent*>(event))) + return true; + break; + } + case QEvent::MouseMove: { + if (mouseMoveEvent(static_cast<QMouseEvent*>(event))) + return true; + break; + } + case QEvent::MouseButtonRelease: { + if (mouseReleaseEvent(static_cast<QMouseEvent*>(event))) + return true; + break; + } + case QEvent::KeyPress: { + if (keyPressEvent(static_cast<QKeyEvent*>(event))) + return true; + break; + } + case QEvent::KeyRelease: { + if (keyReleaseEvent(static_cast<QKeyEvent*>(event))) + return true; + break; + } + case QEvent::MouseButtonDblClick: { + if (mouseDoubleClickEvent(static_cast<QMouseEvent*>(event))) + return true; + break; + } + case QEvent::Wheel: { + if (wheelEvent(static_cast<QWheelEvent*>(event))) + return true; + break; + } + default: { + break; + } + } //switch + + // standard event processing + return QObject::eventFilter(obj, event); +} + +bool QDeclarativeViewObserver::leaveEvent(QEvent * /*event*/) { - if (!data->designModeBehavior) { - QDeclarativeView::leaveEvent(event); - return; - } + if (!data->designModeBehavior) + return false; data->clearHighlight(); + return true; } -void QDeclarativeDesignView::mousePressEvent(QMouseEvent *event) +bool QDeclarativeViewObserver::mousePressEvent(QMouseEvent *event) { - if (!data->designModeBehavior) { - QDeclarativeView::mousePressEvent(event); - return; - } + if (!data->designModeBehavior) + return false; data->cursorPos = event->pos(); data->currentTool->mousePressEvent(event); + return true; } -void QDeclarativeDesignView::mouseMoveEvent(QMouseEvent *event) +bool QDeclarativeViewObserver::mouseMoveEvent(QMouseEvent *event) { if (!data->designModeBehavior) { data->clearEditorItems(); - QDeclarativeView::mouseMoveEvent(event); - return; + return false; } data->cursorPos = event->pos(); QList<QGraphicsItem*> selItems = data->selectableItems(event->pos()); if (!selItems.isEmpty()) { - setToolTip(AbstractFormEditorTool::titleForItem(selItems.first())); + declarativeView()->setToolTip(AbstractFormEditorTool::titleForItem(selItems.first())); } else { - setToolTip(QString()); + declarativeView()->setToolTip(QString()); } if (event->buttons()) { data->subcomponentEditorTool->mouseMoveEvent(event); @@ -188,36 +239,35 @@ void QDeclarativeDesignView::mouseMoveEvent(QMouseEvent *event) data->subcomponentEditorTool->hoverMoveEvent(event); data->currentTool->hoverMoveEvent(event); } + return true; } -void QDeclarativeDesignView::mouseReleaseEvent(QMouseEvent *event) +bool QDeclarativeViewObserver::mouseReleaseEvent(QMouseEvent *event) { - if (!data->designModeBehavior) { - QDeclarativeView::mouseReleaseEvent(event); - return; - } + if (!data->designModeBehavior) + return false; data->subcomponentEditorTool->mouseReleaseEvent(event); data->cursorPos = event->pos(); data->currentTool->mouseReleaseEvent(event); data->debugServer->setCurrentObjects(AbstractFormEditorTool::toObjectList(selectedItems())); + return true; } -void QDeclarativeDesignView::keyPressEvent(QKeyEvent *event) +bool QDeclarativeViewObserver::keyPressEvent(QKeyEvent *event) { if (!data->designModeBehavior) { - QDeclarativeView::keyPressEvent(event); - return; + return false; } data->currentTool->keyPressEvent(event); + return true; } -void QDeclarativeDesignView::keyReleaseEvent(QKeyEvent *event) +bool QDeclarativeViewObserver::keyReleaseEvent(QKeyEvent *event) { if (!data->designModeBehavior) { - QDeclarativeView::keyReleaseEvent(event); - return; + return false; } switch(event->key()) { @@ -251,9 +301,10 @@ void QDeclarativeDesignView::keyReleaseEvent(QKeyEvent *event) } data->currentTool->keyReleaseEvent(event); + return true; } -void QDeclarativeDesignViewPrivate::_q_createQmlObject(const QString &qml, QObject *parent, const QStringList &importList, const QString &filename) +void QDeclarativeViewObserverPrivate::_q_createQmlObject(const QString &qml, QObject *parent, const QStringList &importList, const QString &filename) { if (!parent) return; @@ -263,8 +314,8 @@ void QDeclarativeDesignViewPrivate::_q_createQmlObject(const QString &qml, QObje imports += s + "\n"; } - QDeclarativeContext *parentContext = q->engine()->contextForObject(parent); - QDeclarativeComponent component(q->engine(), q); + QDeclarativeContext *parentContext = view->engine()->contextForObject(parent); + QDeclarativeComponent component(view->engine(), q); QByteArray constructedQml = QString(imports + qml).toLatin1(); component.setData(constructedQml, filename); @@ -279,7 +330,7 @@ void QDeclarativeDesignViewPrivate::_q_createQmlObject(const QString &qml, QObje } } -void QDeclarativeDesignViewPrivate::_q_reparentQmlObject(QObject *object, QObject *newParent) +void QDeclarativeViewObserverPrivate::_q_reparentQmlObject(QObject *object, QObject *newParent) { if (!newParent) return; @@ -292,31 +343,27 @@ void QDeclarativeDesignViewPrivate::_q_reparentQmlObject(QObject *object, QObjec } } -void QDeclarativeDesignViewPrivate::_q_clearComponentCache() +void QDeclarativeViewObserverPrivate::_q_clearComponentCache() { - q->engine()->clearComponentCache(); + view->engine()->clearComponentCache(); } -QGraphicsItem *QDeclarativeDesignViewPrivate::currentRootItem() const +QGraphicsItem *QDeclarativeViewObserverPrivate::currentRootItem() const { return subcomponentEditorTool->currentRootItem(); } -void QDeclarativeDesignView::mouseDoubleClickEvent(QMouseEvent *event) +bool QDeclarativeViewObserver::mouseDoubleClickEvent(QMouseEvent *event) { - if (!data->designModeBehavior) { - QDeclarativeView::mouseDoubleClickEvent(event); - return; - } + if (!data->designModeBehavior) + return false; if (data->currentToolMode != Constants::SelectionToolMode - && data->currentToolMode != Constants::MarqueeSelectionToolMode) - { - return; - } + && data->currentToolMode != Constants::MarqueeSelectionToolMode) + return true; QGraphicsItem *itemToEnter = 0; - QList<QGraphicsItem*> itemList = items(event->pos()); + QList<QGraphicsItem*> itemList = data->view->items(event->pos()); data->filterForSelection(itemList); if (data->selectedItems().isEmpty() && !itemList.isEmpty()) { @@ -337,18 +384,18 @@ void QDeclarativeDesignView::mouseDoubleClickEvent(QMouseEvent *event) data->debugServer->setCurrentObjects(QList<QObject*>() << objectToEnter); } + return true; } -void QDeclarativeDesignView::wheelEvent(QWheelEvent *event) +bool QDeclarativeViewObserver::wheelEvent(QWheelEvent *event) { - if (!data->designModeBehavior) { - QDeclarativeView::wheelEvent(event); - return; - } + if (!data->designModeBehavior) + return false; data->currentTool->wheelEvent(event); + return true; } -void QDeclarativeDesignViewPrivate::enterContext(QGraphicsItem *itemToEnter) +void QDeclarativeViewObserverPrivate::enterContext(QGraphicsItem *itemToEnter) { QGraphicsItem *itemUnderCurrentContext = itemToEnter; if (itemUnderCurrentContext) @@ -358,7 +405,7 @@ void QDeclarativeDesignViewPrivate::enterContext(QGraphicsItem *itemToEnter) subcomponentEditorTool->setCurrentItem(itemToEnter); } -void QDeclarativeDesignView::setDesignModeBehavior(bool value) +void QDeclarativeViewObserver::setDesignModeBehavior(bool value) { emit designModeBehaviorChanged(value); @@ -371,20 +418,20 @@ void QDeclarativeDesignView::setDesignModeBehavior(bool value) data->clearHighlight(); data->setSelectedItems(QList<QGraphicsItem*>()); - if (rootObject()) - data->subcomponentEditorTool->pushContext(rootObject()); + if (data->view->rootObject()) + data->subcomponentEditorTool->pushContext(data->view->rootObject()); } if (!data->designModeBehavior) data->clearEditorItems(); } -bool QDeclarativeDesignView::designModeBehavior() +bool QDeclarativeViewObserver::designModeBehavior() { return data->designModeBehavior; } -void QDeclarativeDesignViewPrivate::changeTool(Constants::DesignTool tool, Constants::ToolFlags /*flags*/) +void QDeclarativeViewObserverPrivate::changeTool(Constants::DesignTool tool, Constants::ToolFlags /*flags*/) { switch(tool) { case Constants::SelectionToolMode: @@ -397,7 +444,7 @@ void QDeclarativeDesignViewPrivate::changeTool(Constants::DesignTool tool, Const } } -void QDeclarativeDesignViewPrivate::setSelectedItemsForTools(QList<QGraphicsItem *> items) +void QDeclarativeViewObserverPrivate::setSelectedItemsForTools(QList<QGraphicsItem *> items) { currentSelection.clear(); foreach(QGraphicsItem *item, items) { @@ -410,13 +457,13 @@ void QDeclarativeDesignViewPrivate::setSelectedItemsForTools(QList<QGraphicsItem currentTool->updateSelectedItems(); } -void QDeclarativeDesignViewPrivate::setSelectedItems(QList<QGraphicsItem *> items) +void QDeclarativeViewObserverPrivate::setSelectedItems(QList<QGraphicsItem *> items) { setSelectedItemsForTools(items); debugServer->setCurrentObjects(AbstractFormEditorTool::toObjectList(items)); } -QList<QGraphicsItem *> QDeclarativeDesignViewPrivate::selectedItems() +QList<QGraphicsItem *> QDeclarativeViewObserverPrivate::selectedItems() { QList<QGraphicsItem *> selection; foreach(const QWeakPointer<QGraphicsObject> &selectedObject, currentSelection) { @@ -430,27 +477,32 @@ QList<QGraphicsItem *> QDeclarativeDesignViewPrivate::selectedItems() return selection; } -void QDeclarativeDesignView::setSelectedItems(QList<QGraphicsItem *> items) +void QDeclarativeViewObserver::setSelectedItems(QList<QGraphicsItem *> items) { data->setSelectedItems(items); } -QList<QGraphicsItem *> QDeclarativeDesignView::selectedItems() +QList<QGraphicsItem *> QDeclarativeViewObserver::selectedItems() { return data->selectedItems(); } -void QDeclarativeDesignViewPrivate::clearHighlight() +QDeclarativeView *QDeclarativeViewObserver::declarativeView() +{ + return data->view; +} + +void QDeclarativeViewObserverPrivate::clearHighlight() { boundingRectHighlighter->clear(); } -void QDeclarativeDesignViewPrivate::highlight(QGraphicsObject * item, ContextFlags flags) +void QDeclarativeViewObserverPrivate::highlight(QGraphicsObject * item, ContextFlags flags) { highlight(QList<QGraphicsObject*>() << item, flags); } -void QDeclarativeDesignViewPrivate::highlight(QList<QGraphicsObject *> items, ContextFlags flags) +void QDeclarativeViewObserverPrivate::highlight(QList<QGraphicsObject *> items, ContextFlags flags) { if (items.isEmpty()) return; @@ -471,31 +523,31 @@ void QDeclarativeDesignViewPrivate::highlight(QList<QGraphicsObject *> items, Co boundingRectHighlighter->highlight(objectList); } -bool QDeclarativeDesignViewPrivate::mouseInsideContextItem() const +bool QDeclarativeViewObserverPrivate::mouseInsideContextItem() const { return subcomponentEditorTool->containsCursor(cursorPos.toPoint()); } -QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::selectableItems(const QPointF &scenePos) const +QList<QGraphicsItem*> QDeclarativeViewObserverPrivate::selectableItems(const QPointF &scenePos) const { - QList<QGraphicsItem*> itemlist = q->scene()->items(scenePos); + QList<QGraphicsItem*> itemlist = view->scene()->items(scenePos); return filterForCurrentContext(itemlist); } -QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::selectableItems(const QPoint &pos) const +QList<QGraphicsItem*> QDeclarativeViewObserverPrivate::selectableItems(const QPoint &pos) const { - QList<QGraphicsItem*> itemlist = q->items(pos); + QList<QGraphicsItem*> itemlist = view->items(pos); return filterForCurrentContext(itemlist); } -QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::selectableItems(const QRectF &sceneRect, Qt::ItemSelectionMode selectionMode) const +QList<QGraphicsItem*> QDeclarativeViewObserverPrivate::selectableItems(const QRectF &sceneRect, Qt::ItemSelectionMode selectionMode) const { - QList<QGraphicsItem*> itemlist = q->scene()->items(sceneRect, selectionMode); + QList<QGraphicsItem*> itemlist = view->scene()->items(sceneRect, selectionMode); return filterForCurrentContext(itemlist); } -void QDeclarativeDesignViewPrivate::_q_changeToSingleSelectTool() +void QDeclarativeViewObserverPrivate::_q_changeToSingleSelectTool() { currentToolMode = Constants::SelectionToolMode; selectionTool->setRubberbandSelectionMode(false); @@ -506,7 +558,7 @@ void QDeclarativeDesignViewPrivate::_q_changeToSingleSelectTool() debugServer->setCurrentTool(Constants::SelectionToolMode); } -void QDeclarativeDesignViewPrivate::changeToSelectTool() +void QDeclarativeViewObserverPrivate::changeToSelectTool() { if (currentTool == selectionTool) return; @@ -517,7 +569,7 @@ void QDeclarativeDesignViewPrivate::changeToSelectTool() currentTool->updateSelectedItems(); } -void QDeclarativeDesignViewPrivate::_q_changeToMarqueeSelectTool() +void QDeclarativeViewObserverPrivate::_q_changeToMarqueeSelectTool() { changeToSelectTool(); currentToolMode = Constants::MarqueeSelectionToolMode; @@ -527,7 +579,7 @@ void QDeclarativeDesignViewPrivate::_q_changeToMarqueeSelectTool() debugServer->setCurrentTool(Constants::MarqueeSelectionToolMode); } -void QDeclarativeDesignViewPrivate::_q_changeToZoomTool() +void QDeclarativeViewObserverPrivate::_q_changeToZoomTool() { currentToolMode = Constants::ZoomMode; currentTool->clear(); @@ -538,7 +590,7 @@ void QDeclarativeDesignViewPrivate::_q_changeToZoomTool() debugServer->setCurrentTool(Constants::ZoomMode); } -void QDeclarativeDesignViewPrivate::_q_changeToColorPickerTool() +void QDeclarativeViewObserverPrivate::_q_changeToColorPickerTool() { if (currentTool == colorPickerTool) return; @@ -552,12 +604,12 @@ void QDeclarativeDesignViewPrivate::_q_changeToColorPickerTool() debugServer->setCurrentTool(Constants::ColorPickerMode); } -void QDeclarativeDesignViewPrivate::_q_changeContextPathIndex(int index) +void QDeclarativeViewObserverPrivate::_q_changeContextPathIndex(int index) { subcomponentEditorTool->setContext(index); } -void QDeclarativeDesignView::changeAnimationSpeed(qreal slowdownFactor) +void QDeclarativeViewObserver::changeAnimationSpeed(qreal slowdownFactor) { data->slowdownFactor = slowdownFactor; @@ -568,7 +620,7 @@ void QDeclarativeDesignView::changeAnimationSpeed(qreal slowdownFactor) } } -void QDeclarativeDesignView::continueExecution(qreal slowdownFactor) +void QDeclarativeViewObserver::continueExecution(qreal slowdownFactor) { Q_ASSERT(slowdownFactor > 0); @@ -585,7 +637,7 @@ void QDeclarativeDesignView::continueExecution(qreal slowdownFactor) data->debugServer->setAnimationSpeed(data->slowdownFactor); } -void QDeclarativeDesignView::pauseExecution() +void QDeclarativeViewObserver::pauseExecution() { QUnifiedTimer *timer = QUnifiedTimer::instance(); timer->setSlowdownFactor(0); @@ -596,13 +648,13 @@ void QDeclarativeDesignView::pauseExecution() data->debugServer->setAnimationSpeed(0); } -void QDeclarativeDesignViewPrivate::_q_applyChangesFromClient() +void QDeclarativeViewObserverPrivate::_q_applyChangesFromClient() { } -QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::filterForSelection(QList<QGraphicsItem*> &itemlist) const +QList<QGraphicsItem*> QDeclarativeViewObserverPrivate::filterForSelection(QList<QGraphicsItem*> &itemlist) const { foreach(QGraphicsItem *item, itemlist) { if (isEditorItem(item) || !subcomponentEditorTool->isChildOfContext(item)) @@ -612,7 +664,7 @@ QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::filterForSelection(QList<QG return itemlist; } -QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::filterForCurrentContext(QList<QGraphicsItem*> &itemlist) const +QList<QGraphicsItem*> QDeclarativeViewObserverPrivate::filterForCurrentContext(QList<QGraphicsItem*> &itemlist) const { foreach(QGraphicsItem *item, itemlist) { @@ -636,20 +688,20 @@ QList<QGraphicsItem*> QDeclarativeDesignViewPrivate::filterForCurrentContext(QLi return itemlist; } -bool QDeclarativeDesignViewPrivate::isEditorItem(QGraphicsItem *item) const +bool QDeclarativeViewObserverPrivate::isEditorItem(QGraphicsItem *item) const { return (item->type() == Constants::EditorItemType || item->type() == Constants::ResizeHandleItemType || item->data(Constants::EditorItemDataKey).toBool()); } -void QDeclarativeDesignViewPrivate::_q_onStatusChanged(QDeclarativeView::Status status) +void QDeclarativeViewObserverPrivate::_q_onStatusChanged(QDeclarativeView::Status status) { if (status == QDeclarativeView::Ready) { - if (q->rootObject()) { + if (view->rootObject()) { if (subcomponentEditorTool->contextIndex() != -1) subcomponentEditorTool->clear(); - subcomponentEditorTool->pushContext(q->rootObject()); + subcomponentEditorTool->pushContext(view->rootObject()); emit q->executionStarted(1.0f); } @@ -657,7 +709,7 @@ void QDeclarativeDesignViewPrivate::_q_onStatusChanged(QDeclarativeView::Status } } -void QDeclarativeDesignViewPrivate::_q_onCurrentObjectsChanged(QList<QObject*> objects) +void QDeclarativeViewObserverPrivate::_q_onCurrentObjectsChanged(QList<QObject*> objects) { QList<QGraphicsItem*> items; QList<QGraphicsObject*> gfxObjects; @@ -672,16 +724,16 @@ void QDeclarativeDesignViewPrivate::_q_onCurrentObjectsChanged(QList<QObject*> o } setSelectedItemsForTools(items); clearHighlight(); - highlight(gfxObjects, QDeclarativeDesignViewPrivate::IgnoreContext); + highlight(gfxObjects, QDeclarativeViewObserverPrivate::IgnoreContext); } -QString QDeclarativeDesignView::idStringForObject(QObject *obj) +QString QDeclarativeViewObserver::idStringForObject(QObject *obj) { return QDeclarativeDesignDebugServer::instance()->idStringForObject(obj); } // adjusts bounding boxes on edges of screen to be visible -QRectF QDeclarativeDesignView::adjustToScreenBoundaries(const QRectF &boundingRectInSceneSpace) +QRectF QDeclarativeViewObserver::adjustToScreenBoundaries(const QRectF &boundingRectInSceneSpace) { int marginFromEdge = 1; QRectF boundingRect(boundingRectInSceneSpace); @@ -689,29 +741,30 @@ QRectF QDeclarativeDesignView::adjustToScreenBoundaries(const QRectF &boundingRe boundingRect.setLeft(marginFromEdge); } - if (boundingRect.right() >= rect().right() ) { - boundingRect.setRight(rect().right() - marginFromEdge); + QRect rect = data->view->rect(); + if (boundingRect.right() >= rect.right() ) { + boundingRect.setRight(rect.right() - marginFromEdge); } if (qAbs(boundingRect.top()) - 1 < 2) { boundingRect.setTop(marginFromEdge); } - if (boundingRect.bottom() >= rect().bottom() ) { - boundingRect.setBottom(rect().bottom() - marginFromEdge); + if (boundingRect.bottom() >= rect.bottom() ) { + boundingRect.setBottom(rect.bottom() - marginFromEdge); } return boundingRect; } -QToolBar *QDeclarativeDesignView::toolbar() const +QToolBar *QDeclarativeViewObserver::toolbar() const { return data->toolbar; } -void QDeclarativeDesignViewPrivate::createToolbar() +void QDeclarativeViewObserverPrivate::createToolbar() { - toolbar = new QmlToolbar(q); + toolbar = new QmlToolbar(q->declarativeView()); QObject::connect(q, SIGNAL(selectedColorChanged(QColor)), toolbar, SLOT(setColorBoxColor(QColor))); QObject::connect(q, SIGNAL(designModeBehaviorChanged(bool)), toolbar, SLOT(setDesignModeBehavior(bool))); @@ -740,12 +793,12 @@ void QDeclarativeDesignViewPrivate::createToolbar() QObject::connect(q, SIGNAL(marqueeSelectToolActivated()), toolbar, SLOT(activateMarqueeSelectTool())); } -void QDeclarativeDesignView::setDebugMode(bool isDebugMode) +void QDeclarativeViewObserver::setDebugMode(bool isDebugMode) { if (isDebugMode && !data->jsDebuggerAgent) - data->jsDebuggerAgent = new JSDebuggerAgent(QDeclarativeEnginePrivate::getScriptEngine(engine())); + data->jsDebuggerAgent = new JSDebuggerAgent(QDeclarativeEnginePrivate::getScriptEngine(data->view->engine())); } } //namespace QmlViewer -#include <moc_qdeclarativedesignview.cpp> +#include <moc_qdeclarativeviewobserver.cpp> diff --git a/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h b/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver_p.h similarity index 91% rename from share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h rename to share/qtcreator/qmljsdebugger/qdeclarativeviewobserver_p.h index e5a63d998266c4f6963373cc8edab4bb7d5135d1..85e28b94c21f2369f2256e5abecb419fd64e725e 100644 --- a/share/qtcreator/qmljsdebugger/qdeclarativedesignview_p.h +++ b/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver_p.h @@ -34,14 +34,14 @@ #include <QPointF> #include <QTimer> -#include "qdeclarativedesignview.h" +#include "qdeclarativeviewobserver.h" #include "qdeclarativedesigndebugserver.h" QT_FORWARD_DECLARE_CLASS(JSDebuggerAgent) namespace QmlViewer { -class QDeclarativeDesignView; +class QDeclarativeViewObserver; class SelectionTool; class ZoomTool; class ColorPickerTool; @@ -52,7 +52,7 @@ class QmlToolbar; class CrumblePath; class AbstractFormEditorTool; -class QDeclarativeDesignViewPrivate +class QDeclarativeViewObserverPrivate { public: @@ -62,10 +62,11 @@ public: ContextSensitive }; - QDeclarativeDesignViewPrivate(QDeclarativeDesignView *); - ~QDeclarativeDesignViewPrivate(); + QDeclarativeViewObserverPrivate(QDeclarativeViewObserver *); + ~QDeclarativeViewObserverPrivate(); - QDeclarativeDesignView *q; + QDeclarativeView *view; + QDeclarativeViewObserver *q; QDeclarativeDesignDebugServer *debugServer; QPointF cursorPos; @@ -134,7 +135,7 @@ public: void _q_changeContextPathIndex(int index); void _q_clearComponentCache(); - static QDeclarativeDesignViewPrivate *get(QDeclarativeDesignView *v) { return v->d_func(); } + static QDeclarativeViewObserverPrivate *get(QDeclarativeViewObserver *v) { return v->d_func(); } }; } // namespace QmlViewer diff --git a/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri b/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri index 7421f0e9ec5e0562ece12a2afa46ce3c7b7de6fe..288b3f35427125e9b4fb0b9d6ca4a06bdd033874 100644 --- a/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri +++ b/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri @@ -17,15 +17,15 @@ include($$PWD/editor/editor.pri) ## Input HEADERS += \ include/jsdebuggeragent.h \ - include/qdeclarativedesignview.h \ + include/qdeclarativeviewobserver.h \ include/qdeclarativedesigndebugserver.h \ include/qmlviewerconstants.h \ include/qmljsdebugger_global.h \ - qdeclarativedesignview_p.h + qdeclarativeviewobserver_p.h SOURCES += \ jsdebuggeragent.cpp \ - qdeclarativedesignview.cpp \ + qdeclarativeviewobserver.cpp \ qdeclarativedesigndebugserver.cpp OTHER_FILES += qmljsdebugger.pri diff --git a/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.cpp b/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.cpp index 9af81c9a8507f14295bf5f1bbf5ca33dfe22125f..3a8547378851c6490b469ebfc5e94b0056716327 100644 --- a/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.cpp +++ b/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.cpp @@ -42,7 +42,7 @@ QString QmlApplicationViewerPrivate::adjustPath(const QString &path) QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) : #ifdef QMLINSPECTOR - QmlViewer::QDeclarativeDesignView(parent) + QmlViewer::QDeclarativeViewObserver(parent) #else QDeclarativeView(parent) #endif diff --git a/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.h b/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.h index 4327a825ee261bd0e6ccd62486e6e977f8cd3d31..1ad160b3579b38e73c2e8d3e68a23938b6acfb26 100644 --- a/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.h +++ b/share/qtcreator/templates/qmlapp/qmlapplicationviewer/qmlapplicationviewer.h @@ -2,8 +2,8 @@ #define QMLAPPLICATIONVIEWER_H #ifdef QMLINSPECTOR -#include <qdeclarativedesignview.h> -class QmlApplicationViewer : public QmlViewer::QDeclarativeDesignView +#include <qdeclarativeviewobserver.h> +class QmlApplicationViewer : public QmlViewer::QDeclarativeViewObserver #else // QMLINSPECTOR #include <QtDeclarative/QDeclarativeView> class QmlApplicationViewer : public QDeclarativeView diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index fbebb43aae634222f7b718a3fa16746eeca5e47e..d22b393b02c1dcf95ef92e811ecf68ca10f86009 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -307,11 +307,11 @@ static DebuggerEngineType engineForToolChain(int toolChainType) // unless the toolchain provides a hint. DebuggerEngineType DebuggerRunControl::engineForExecutable(const QString &executable) { - if (executable.endsWith(_("qmlviewer"))) { + /*if (executable.endsWith(_("qmlviewer"))) { if (d->m_enabledEngines & QmlEngineType) return QmlEngineType; d->m_errorMessage = msgEngineNotAvailable("Qml Engine"); - } + }*/ if (executable.endsWith(_(".js"))) { if (d->m_enabledEngines & ScriptEngineType) @@ -380,13 +380,13 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &startParams // Figure out engine according to toolchain, executable, attach or default. DebuggerEngineType engineType = NoEngineType; DebuggerLanguages activeLangs = DebuggerPlugin::instance()->activeLanguages(); - bool isQmlExecutable = sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver")); + /*bool isQmlExecutable = sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver")); #ifdef Q_OS_MAC isQmlExecutable = sp.executable.endsWith(_("QMLViewer.app")) || sp.executable.endsWith(_("QMLObserver.app")); #endif - if (isQmlExecutable) + if (isQmlExecutable && sp.startMode != AttachCore) engineType = QmlEngineType; - else if (sp.executable.endsWith(_(".js"))) + else */if (sp.executable.endsWith(_(".js"))) engineType = ScriptEngineType; else if (sp.executable.endsWith(_(".py"))) engineType = PdbEngineType; diff --git a/src/tools/qml/qmlobserver/qmlruntime.cpp b/src/tools/qml/qmlobserver/qmlruntime.cpp index 6e5bdcf335cf91d0d819056af0d979c251bc8a4b..fbbeda6efeb216c444e0104135d97f0d367638e7 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.cpp +++ b/src/tools/qml/qmlobserver/qmlruntime.cpp @@ -54,7 +54,7 @@ # include "ui_recopts.h" #endif -#include <qdeclarativedesignview.h> +#include <qdeclarativeviewobserver.h> #include <qdeclarativedesigndebugserver.h> #include <utils/crumblepath.h> @@ -613,13 +613,14 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) recdlg->warning->hide(); } - canvas = new QmlViewer::QDeclarativeDesignView(this); + canvas = new QDeclarativeView(this); + observer = new QmlViewer::QDeclarativeViewObserver(canvas, this); if (!(flags & Qt::FramelessWindowHint)) { m_crumblePathWidget = new Utils::CrumblePath(canvas); #ifndef Q_WS_MAC m_crumblePathWidget->setStyleSheet("QWidget { border-bottom: 1px solid black; }"); #endif - m_crumblePathWidget->setVisible(canvas->designModeBehavior()); + m_crumblePathWidget->setVisible(observer->designModeBehavior()); // CrumblePath is not in a layout, so that it overlays the central widget // The event filter ensures that its width stays in sync nevertheless @@ -641,15 +642,15 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) canvas->setFocus(); - QObject::connect(canvas, SIGNAL(reloadRequested()), this, SLOT(reload())); + QObject::connect(observer, SIGNAL(reloadRequested()), this, SLOT(reload())); QObject::connect(canvas, SIGNAL(sceneResized(QSize)), this, SLOT(sceneResized(QSize))); QObject::connect(canvas, SIGNAL(statusChanged(QDeclarativeView::Status)), this, SLOT(statusChanged())); if (m_crumblePathWidget) { - QObject::connect(canvas, SIGNAL(inspectorContextCleared()), m_crumblePathWidget, SLOT(clear())); - QObject::connect(canvas, SIGNAL(inspectorContextPushed(QString)), m_crumblePathWidget, SLOT(pushElement(QString))); - QObject::connect(canvas, SIGNAL(inspectorContextPopped()), m_crumblePathWidget, SLOT(popElement())); - QObject::connect(m_crumblePathWidget, SIGNAL(elementClicked(int)), canvas, SLOT(setInspectorContext(int))); - QObject::connect(canvas, SIGNAL(designModeBehaviorChanged(bool)), m_crumblePathWidget, SLOT(setVisible(bool))); + QObject::connect(observer, SIGNAL(inspectorContextCleared()), m_crumblePathWidget, SLOT(clear())); + QObject::connect(observer, SIGNAL(inspectorContextPushed(QString)), m_crumblePathWidget, SLOT(pushElement(QString))); + QObject::connect(observer, SIGNAL(inspectorContextPopped()), m_crumblePathWidget, SLOT(popElement())); + QObject::connect(m_crumblePathWidget, SIGNAL(elementClicked(int)), observer, SLOT(setInspectorContext(int))); + QObject::connect(observer, SIGNAL(designModeBehaviorChanged(bool)), m_crumblePathWidget, SLOT(setVisible(bool))); } QObject::connect(canvas->engine(), SIGNAL(quit()), QCoreApplication::instance (), SLOT(quit())); @@ -691,12 +692,12 @@ void QDeclarativeViewer::setDesignModeBehavior(bool value) { if (designModeBehaviorAction) designModeBehaviorAction->setChecked(value); - canvas->setDesignModeBehavior(value); + observer->setDesignModeBehavior(value); } void QDeclarativeViewer::setDebugMode(bool on) { - canvas->setDebugMode(on); + observer->setDebugMode(on); } void QDeclarativeViewer::enableExperimentalGestures() @@ -792,10 +793,10 @@ void QDeclarativeViewer::createMenu() designModeBehaviorAction = new QAction(tr("&Observer Mode"), this); designModeBehaviorAction->setShortcut(QKeySequence("Ctrl+D")); designModeBehaviorAction->setCheckable(true); - designModeBehaviorAction->setChecked(canvas->designModeBehavior()); + designModeBehaviorAction->setChecked(observer->designModeBehavior()); designModeBehaviorAction->setEnabled(QDeclarativeDesignDebugServer::hasDebuggingClient()); connect(designModeBehaviorAction, SIGNAL(triggered(bool)), this, SLOT(setDesignModeBehavior(bool))); - connect(canvas, SIGNAL(designModeBehaviorChanged(bool)), designModeBehaviorAction, SLOT(setChecked(bool))); + connect(observer, SIGNAL(designModeBehaviorChanged(bool)), designModeBehaviorAction, SLOT(setChecked(bool))); connect(QDeclarativeDesignDebugServer::instance(), SIGNAL(debuggingClientChanged(bool)), designModeBehaviorAction, SLOT(setEnabled(bool))); QAction *proxyAction = new QAction(tr("HTTP &Proxy..."), this); @@ -1060,7 +1061,7 @@ void QDeclarativeViewer::addPluginPath(const QString& plugin) void QDeclarativeViewer::reload() { - canvas->setDesignModeBehavior(false); + observer->setDesignModeBehavior(false); open(currentFileOrUrl); } diff --git a/src/tools/qml/qmlobserver/qmlruntime.h b/src/tools/qml/qmlobserver/qmlruntime.h index 2c6c5eefbd4a1612a5db80f93e3e5c4cceb3bfad..1160d91eb521d2da13f675122bfd7457d73f2bd5 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.h +++ b/src/tools/qml/qmlobserver/qmlruntime.h @@ -50,7 +50,7 @@ #include "loggerwidget.h" namespace QmlViewer { - class QDeclarativeDesignView; + class QDeclarativeViewObserver; } namespace Utils { class CrumblePath; @@ -167,7 +167,8 @@ private: LoggerWidget *loggerWindow; - QmlViewer::QDeclarativeDesignView *canvas; + QDeclarativeView *canvas; + QmlViewer::QDeclarativeViewObserver *observer; QSize initialSize; QString currentFileOrUrl; QTimer recordTimer;