summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppelementevaluator.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge CppTools into CppEditorChristian Kandeler2021-09-011-128/+0
| | | | | | | | | | | | | | | | There was no proper separation of responsibilities between these plugins. In particular, CppTools had lots of editor-related functionality, so it's not clear why it was separated out in the first place. In fact, for a lot of code, it seemed quite arbitrary where it was put (just one example: switchHeaderSource() was in CppTools, wheras switchDeclarationDefinition() was in CppEditor). Merging the plugins will enable us to get rid of various convoluted pseudo-abstractions that were only introduced to keep up the artificial separation. Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Refactor CppElementEvaluatorJarek Kobus2021-01-131-41/+8
| | | | | | | | | | | | | Separate the use of CppElementEvaluator for CppHoverHandler from the use for CppTypeHierarchyWidget. They are in fact much different things. Fix CppHoverHandler (enabled when ClangCodeModel plugin is disabled) showing tooltips for symbols other than class or template. Fix CppHoverHandler showing full template arguments for typedefs. Change-Id: I5c44016014749d0d958b91a9a1ee9b35d3ea5eaa Reviewed-by: hjk <hjk@qt.io>
* Open type hierarchy from Type Hierarchy editorJarek Kobus2021-01-041-1/+19
| | | | | | | | | | | | | | | | | Make it possible to open type hierarchy for different class selected from Type Hierarchy editor. Make it available under context menu or on double click on class name (single click opens the class in cpp editor window as before). Double click doesn't expand / collapse items anymore (expanding available when pressing the visual arrow). Make navigation to editor more up to date - e.g. when linked location changed in meantime (source file was edited), it tries to find linked symbol quickly again (we introduce a small delay, up to 100-200 ms, depending on source file). Change-Id: Ifb4fd58e853589a17cd14be465b3a7695fa48193 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Modernize Type HierarchyJarek Kobus2020-12-071-8/+17
| | | | | | | | | | | | | | Don't freeze UI on request for show Type Hierarchy. Move the lookup code into a separate thread. Don't clear tree hierarchy when waiting for new one. Show progress indicator on top of old hierarchy instead. Add a task to ProgressManager when working on a new hierarchy. Handle canceling the process of showing Type Hierarchy. Implement simple progress reporting for this process. Optimize a bit DerivedHierarchyVisitor. Change-Id: I3894ac6ed3f4834831831f083f718f8385ca346f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Standardize on int for line and column valueshjk2019-07-261-2/+2
| | | | | | | | | | | | | | | Recently tons of warnings show up for presumably "problematic" singned <-> unsigned and size conversions. The Qt side uses 'int', and that's the biggest 'integration surface' for us, so instead of establishing some internal boundary between signed and unsigned areas, push that boundary out of creator core code, and use 'int' everywhere. Because it reduces friction further, also do it in libcplusplus. Change-Id: I84f3b79852c8029713e7ea6f133ffb9ef7030a70 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Move Help item from text editor to coreEike Ziller2019-01-251-2/+2
| | | | | | | The functionality is not text editor specific. Change-Id: Iee531572f14673e75129f4bfbb64a1437899d31e Reviewed-by: David Schulz <david.schulz@qt.io>
* CppTools: modernizeAlessandro Portale2019-01-211-1/+1
| | | | | | Change-Id: Iaf02e4d026f1ac8b216833d83cd7a735e21ff60a Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* Fix C++ type hierarchyEike Ziller2018-03-091-2/+8
| | | | | | | | | | | | | Dynamic casts between library boundaries tend to fail. Add an "explicit cast" to CppClass via virtual functions as a quickfix. This is a recurring issue, e.g. d2769f30037aa, 3f11ef92167ba and 2ffd0e2d0da5d to name just a few... This was introduced in 5e861d2be6729 Task-number: QTCREATORBUG-20001 Change-Id: Ie5a89a028d587e4e9d1ecec920a7c7d17497dbde Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* CppTools: Move some decls from header to sourceNikolai Kosjar2018-01-221-63/+0
| | | | | | | ...as there is no client using them. Change-Id: I2fbbe247e6f4bad537644a9574ddcc0606bfa13e Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
* CppTools: Move CppHoverHandler to CppToolsNikolai Kosjar2018-01-161-0/+191
This is in preparation for clang code model to provide its own hover handler. Change-Id: Ifbdd96f427989bd5d1fbc4badb9c38108485c2f2 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>