summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/qml/qmlinspectoragent.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: Convert to Tr::trhjk2022-07-081-6/+2
| | | | | Change-Id: I5d2475c790851c68f9997ac6af72b5eaca58482d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QML Debugger: Fix object hierarchyUlf Hermann2018-11-221-1/+1
| | | | | | | | | | | | | | | | | Make sure to always find the correct parent and engine IDs for objects to be inserted, and that root objects are always added as children of their engines. As the root objects don't show up in the engine's children(), but we adjust the root objects' parent IDs to point to the engines, the root objects were sometimes shown as children of the engines, and sometimes as top level root objects. Furthermore, make sure not to fetch any parents of engines. Otherwise we get a much more complicated object hierarchy than what we actually want to see, and the invariant that each engine is at the root of the tree breaks. Change-Id: I6967f0b369149a8d6db3ab89f1479c942f6fcbf7 Reviewed-by: hjk <hjk@qt.io>
* Debugger: Add multi-engine support for QML inspectorUlf Hermann2018-11-211-7/+10
| | | | | | | | | | The engines are listed as virtual root items for their contents. This way, when we need an engineID we can walk up the tree of watch items and the last valid one will be the engine. Fixes: QTCREATORBUG-21486 Change-Id: Ib110457dc65523c1e2b75aa073f6cd399bbc9532 Reviewed-by: hjk <hjk@qt.io>
* QML Inspector: Use lists of int as selectionsUlf Hermann2018-11-201-9/+3
| | | | | | | | | | The inspector service natively supports multi-selection. Instead of converting between multi and single selection all the time, just use the multi selections and only collapse to one row when interacting with the view. Change-Id: Ie969225f955c61b306cfbec4973ffc724ef1e224 Reviewed-by: hjk <hjk@qt.io>
* QML Inspector: SimplifyUlf Hermann2018-11-201-36/+15
| | | | | | | | Since we don't need to support the Qt Quick 1 clients anymore, we can drop some code. Change-Id: I7afcad8024392f058a35b3ed0d28d2172587552a Reviewed-by: hjk <hjk@qt.io>
* Debugger: Make most views per-engine instead of singletonshjk2018-08-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a step towards properly supporting multiple debugger sessions side-by-side. The combined C++-and-QML engine has been removed, instead a combined setup creates now two individual engines, under a single DebuggerRunTool but mostly independent with no combined state machine. This requires a few more clicks in some cases, but makes it easier to direct e.g. interrupt requests to the interesting engine. Care has been taken to not change the UX of the single debugger session use case if possible. The fat debug button operates as-before in that case, i.e. switches to Interrupt if the single active runconfiguration runs in the debugger etc. Most views are made per-engine, running an engine creates a new Perspective, which is destroyed when the run control dies. The snapshot view remains global and becomes primary source of information on a "current engine" that receives all menu and otherwise global input. There is a new global "Breakpoint Preset" view containing all "static" breakpoint data. When an engine starts up it "claims" breakpoint it believes it can handle, but operates on a copy of the static data. The markers of the static version are suppressed as long as an engine controls a breakpoint (that inclusive all resolved locations), but are re-instatet once the engine quits. The old Breakpoint class that already contained this split per-instance was split into a new Breakpoint and a GlobalBreakpoint class, with a per-engine model for Breakpoints, and a singleton model containing GlobalBreakpoints. There is a new CppDebuggerEngine intermediate level serving as base for C++ (or, rather, "compiled") binary debugging, i.e. {Gdb,Lldb,Cdb}Engine, taking over bits of the current DebuggerEngine base that are not applicable to non-binary debuggers. Change-Id: I9994f4c188379b4aee0c4f379edd4759fbb0bd43 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: ModernizeAlessandro Portale2018-07-251-9/+9
| | | | | | | | | | | | | modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using modernize-use-default-member-init modernize-use-equals-default Change-Id: I91a6874f0d7b94e9079ab4ef07c23c60c80be9c0 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: Fix QmlInspector state update connectionhjk2017-05-191-4/+1
| | | | | Change-Id: I1693d593ec08c14c48b2c2800ce2f240f9e5f438 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: Slim down public QmlInspectorAgent interfacehjk2016-08-041-5/+4
| | | | | Change-Id: Ia2f728029530dfe4e3f4cc9c18313453f4851bc4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Debugger: Remove debuggerstringutils.hhjk2016-06-091-2/+2
| | | | | | | | | | With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on QString is feasible again. Take this as opportunity to move debugger encoding handling closer to a 'conversion on input and output if needed, storage in QString only' scheme. Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Wholesale conversion to #pragma oncehjk2016-03-301-4/+1
| | | | | | | Kudos to cgmb and https://github.com/cgmb/guardonce Change-Id: Ifa8970734b8d43fd08c9260c645bdb0228633791 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Debugger: Work on WatchModel performancehjk2016-01-061-3/+3
| | | | | | | | | | | | | | | | | Don't instantiate repeating boilerplate item data in some cases (such as large arrays). This makes it necessary to access parent WatchItems in a lot more cases than before and needs another separation of WatchItem/WatchModel code to keep the dumper autotests in a functional state. For a plain std::vector<int> with 1 mio items this reduces extraction time from more than 2 minutes to about 3 seconds. Change-Id: I175c5f6ee90434a6e85342d8bb71bd10a04dd271 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* QML Inspector: Don't misinterpret objects with ID 0Ulf Hermann2015-12-151-1/+1
| | | | | | | | | | The invalid ID is -1 and we shouldn't send 0 to the engine debug service by default as that will select some random object as context for expression evaluation. Change-Id: Ide245468f787cc449ff50ac846c7ff31620c01b4 Task-number: QTCREATORBUG-14931 Reviewed-by: hjk <hjk@theqtcompany.com>
* Remove unused includeUlf Hermann2015-11-191-1/+0
| | | | | Change-Id: Ica45c05004aacbd209067eb2a77bb5b94585a2a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Merge remote-tracking branch 'origin/3.5'Eike Ziller2015-09-011-1/+2
|\ | | | | | | Change-Id: Iebaabfc2f724cd493b7cab025406531cea5cd2dc
| * QmlInspector: Fix crash on engine ramp downhjk2015-08-261-1/+2
| | | | | | | | | | | | | | Task-number: QTCREATORBUG-14972 Change-Id: Ia2a508fab872ac4496c2cb3fa932186e8e29278d Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
* | Debugger: Merge QmlInspectorAdapter into QmlInspectorAgenthjk2015-08-281-40/+60
|/ | | | | | | | | There's a 1:1 relation, and the abstraction is not needed anymore. Also remove some unused code. Change-Id: I09a2522deb5d522f46ec7518d19978a038032fbb Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
* Debugger: Remove most remaining occurrences of WatchDatahjk2015-03-201-1/+1
| | | | | | | | | ... in WatchHandler and DebuggerEngine interface. Adjust using code. Change-Id: I6371f3e96ba46a783e23a5767cdde24a10d3fce7 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: hjk <hjk@theqtcompany.com>
* Debugger: Replace uses of one of the depracted WatchHandler membershjk2015-03-201-2/+2
| | | | | Change-Id: I1761b75c0c2605e2d3157f318f26da5158cc6395 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'Eike Ziller2015-02-121-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/tooltip/tipcontents.cpp src/libs/utils/tooltip/tipcontents.h src/plugins/android/androiddeployqtstep.cpp src/plugins/baremetal/baremetalconstants.h src/plugins/baremetal/baremetaldevice.cpp src/plugins/baremetal/baremetaldevice.h src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp src/plugins/baremetal/baremetaldeviceconfigurationwidget.h src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h src/plugins/baremetal/baremetalplugin.cpp src/plugins/baremetal/baremetalplugin.h src/plugins/baremetal/baremetalruncontrolfactory.cpp src/plugins/baremetal/baremetalruncontrolfactory.h src/plugins/cppeditor/cppcodemodelinspectordialog.cpp src/plugins/cppeditor/cppdoxygen_test.cpp src/plugins/cppeditor/cppdoxygen_test.h src/plugins/debugger/breakpointmarker.cpp src/plugins/debugger/debuggeritemmodel.cpp src/plugins/debugger/debuggeritemmodel.h src/plugins/debugger/loadcoredialog.cpp src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp src/plugins/projectexplorer/addnewmodel.cpp src/plugins/projectexplorer/addnewmodel.h src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp src/plugins/qmlprofiler/abstracttimelinemodel.cpp src/plugins/qmlprofiler/abstracttimelinemodel.h src/plugins/qmlprofiler/notesmodel.cpp src/plugins/qmlprofiler/qml/CategoryLabel.qml src/plugins/qmlprofiler/qml/MainView.qml src/plugins/qmlprofiler/qml/Overview.js src/plugins/qmlprofiler/qml/Overview.qml src/plugins/qmlprofiler/qml/TimeDisplay.qml src/plugins/qmlprofiler/qml/TimeMarks.qml src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp src/plugins/qmlprofiler/sortedtimelinemodel.cpp src/plugins/qmlprofiler/sortedtimelinemodel.h src/plugins/qmlprofiler/timelinemodelaggregator.cpp src/plugins/qmlprofiler/timelinemodelaggregator.h src/plugins/qmlprofiler/timelinerenderer.cpp src/plugins/qmlprofiler/timelinerenderer.h src/plugins/qmlprojectmanager/QmlProjectManager.json.in src/plugins/texteditor/findinfiles.cpp src/plugins/vcsbase/vcsconfigurationpage.cpp src/shared/qbs src/shared/scriptwrapper/interface_wrap_helpers.h src/shared/scriptwrapper/wrap_helpers.h tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp tests/system/suite_debugger/tst_debug_empty_main/test.py tests/system/suite_debugger/tst_qml_js_console/test.py tests/system/suite_debugger/tst_qml_locals/test.py Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
| * Update LicenseEike Ziller2015-01-161-6/+6
| | | | | | | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Debugger: Make DebuggerEngine internalhjk2014-12-151-3/+1
|/ | | | | | | | | | Expose less of debugger internals to the device plugins. Change-Id: Ie78756b033fae3fe02bff92eadf26b7319990605 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* QmlDebugClient: Rename "status" to "state" for consistencyUlf Hermann2014-05-061-1/+1
| | | | | | | | | | | | | "state" is the more widely used term and we should follow that convention. We also need to distinguish between the state of the underlying network socket and the client itself. The change makes this explicit. As preparation for the upcoming centralized debug support the "State" enum of the debug client is also moved into the QmlDebugClient class. Change-Id: Ib9d7e03d23528f16ed696ed3518e813d11ea1c32 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Merge remote-tracking branch 'origin/2.7'Eike Ziller2013-05-031-1/+0
|\ | | | | | | | | | | | | Conflicts: share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp Change-Id: I7f319154d5865c47ccfd5f525f0fd7983733dd0e
| * Fix crashOrgad Shaneh2013-05-011-1/+0
| | | | | | | | | | | | Task-number: QTCREATORBUG-9230 Change-Id: I24a6277c9ca5f35c803e276da82ca2b9e9d79f57 Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
* | Clean headers in debugger plugin.Friedemann Kleint2013-03-221-2/+0
|/ | | | | Change-Id: Ia50e61a82101b699390b23b4f1ea9509619314bb Reviewed-by: hjk <hjk121@nokiamail.com>
* Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* QML/JS Console: Update contextAurindam Jana2012-11-271-1/+1
| | | | | | | | Update context from QML object tree or the stack frame depending upon debugger engine state. Change-Id: I4e6affba37acc016513ad95cd278a400aaa18c49 Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
* Inspector: Update Editor on object selectionAurindam Jana2012-11-261-0/+2
| | | | | | | | | | | When an object is selected in the Inspector, the Editor is updated to show the relevant code. Task-number: QTCREATORBUG-8246 Change-Id: I4f7fbcccdeb22849682fa72c63e87a78f48d185b Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
* Inspector: Fetch objects lazilyAurindam Jana2012-11-241-1/+1
| | | | | | | | | | QML objects are fetched lazily when constructing the object tree. Incase parents have not been previously fetched, we fetch the required data to construct only the relevant branch of the tree. Task-number: QTCREATORBUG-8246 Change-Id: Id529c3b2334d33ff4eb46b14f50cf042ad2960e2 Reviewed-by: hjk <qthjk@ovi.com>
* Inspector: Refactor data insertionsAurindam Jana2012-10-111-1/+0
| | | | | Change-Id: I188c41a5335ff626cce519a0622e2201197df0fa Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
* Adjust license headershjk2012-10-051-21/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* QmlInspector: Fetch data when neededAurindam Jana2012-10-011-2/+2
| | | | | | | | | | | Fetch data on demand for 4.x. Since, parentIds are not known, the tree will be reset when new objects are created. Related changes in Qt side: https://codereview.qt-project.org/#change,35982 Task-number: QTCREATORBUG-7779 Change-Id: I8b53604979bbbc2e6f01bc7b785929811a76f398 Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Debugger: Prompt for reload if set/reset binding fails.Simjees Abraham2012-06-051-0/+1
| | | | | | | | | | QtCreator takes into account the result of message from qtdeclarative for setting, resetting and updating the method body. Task-number: QTCREATORBUG-3264 Change-Id: I15d1a33990175e86bb3f2fee08f75dd5b7b1b628 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QmlJSInspector: Improve performanceAurindam Jana2012-05-301-2/+2
| | | | | | | | Populating watchhandler can be expensive. Update with just the necessary data. Change-Id: I06c28e1c8f5437cc05d3f9cef139d3df9da10c81 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* QmlJSInspector: Remove dependency on QmlJSToolsAurindam Jana2012-05-291-2/+3
| | | | | | | | | As Location information is already cached, there is no need to fetch the information from the QmlJS Semantic info. Task-number: QTCREATORBUG-7409 Change-Id: I9cc3dce0910632cfe517f7697d74691e6675793b Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* Debugger: Engines Queried on Reload of Qml.Simjees Abraham2012-05-291-1/+1
| | | | | Change-Id: I75de9fa584af8eb22a3eac6b0ab9d30b87d2ed69 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* Debugger: Change in response for message "destroyObject".Simjees Abraham2012-05-291-0/+1
| | | | | | | | | Response for "destroyObject" now has the debugId of the destroyed object. This is used to fetch the parent object rather than querying the engine context. Change-Id: I2e5b7650cbe847117cce6952206dd479ee696f0e Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QmlJSInspector: Set property valuesAurindam Jana2012-05-251-0/+2
| | | | | | | | | | | QML property values could be set in the inspector. Regression introduced by 7f09d0b756ff3f9bb52737d4aaf65ed84d751316. This patch is a partial fix. Only values can be assigned currently. For expressions, use the console. Change-Id: I945b11109cd7788dd0f5277af206bf9658844aee Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com> Reviewed-by: hjk <qthjk@ovi.com>
* QmlJSInspectorAgent: Refactor codeAurindam Jana2012-05-251-28/+17
| | | | | | | | Try to use the watchHandler for referring to the object tree instead of caching the object tree locally. Change-Id: I68624771ef49d50f2cf0d6d580b1b34d57483178 Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
* debugger: rework WatchModelhjk2012-05-241-0/+1
| | | | | | | | | | | It's one model for all locals, watch, return, tooltip and inspector data. This allows more streamlined code paths and better isolation of the model data from the WatchHandler. WatchItems are now registered in a hash indexed by iname, so inames can be used as the primary handle to watch data in the WatchHandler interface. Change-Id: Idac0a808b5d785307496d1de4198a1f2e9ce3880 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
* QmlJSInspector: New Objects createdAurindam Jana2012-05-221-1/+1
| | | | | | | Send the engineid, objectid and parentid. Change-Id: I7b340c1f20ba3eb3f1690d45b28819f6efaae013 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlInspector: Fetch objects for locationAurindam Jana2012-05-131-0/+3
| | | | | | | | | Since the object tree is fetched lazily, we might have objects whose debugIds are not known. In such cases, objects can be fetched by passing the location info. Change-Id: I2001460cc14401e011efef9be9194c9f7868d617 Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
* QmlDebug: RenamingKai Koehne2012-05-101-26/+24
| | | | | | | | | Move Status enum out of QmlDebugClient and drop "QmlDebug" prefix for the different 'Reference' structs. Allows to avoid 'using namespace in QmlDebug' in header files. Change-Id: Id9857977300e86d637cf128ff3417d8b24c8e995 Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>