aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cppeditor.h
Commit message (Collapse)AuthorAgeFilesLines
* CppEditor: split CppEditor and CppEditorWidgetIvan Donchevskii2017-09-121-114/+0
| | | | | Change-Id: Id3c815184f7f3bace0276e947f6b6f76e61ec6de Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Remove the need to create ISnippetProvider subclassesEike Ziller2017-04-251-0/+3
| | | | | Change-Id: I1810aaa945136d9726a66dad41377429a6adc8e1 Reviewed-by: David Schulz <david.schulz@qt.io>
* CppEditor: Fix highlight of '#' Button for duplication caseNikolai Kosjar2017-02-031-0/+3
| | | | | Change-Id: Ib97f31912c9b2d619e3b92287ca8b192604f3831 Reviewed-by: David Schulz <david.schulz@qt.io>
* CppEditor: Show info bar for project-less fileNikolai Kosjar2017-01-261-7/+2
| | | | | | | | While at it, centralize the code for handling the info bars and actions. Change-Id: Ied62e3db268aaff3ef87e246bfe2b50399341be3 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* CppEditor: Clean up header error indicatorNikolai Kosjar2016-10-141-6/+1
| | | | | | | | | | | | | * Show/hide the error indicator button instead of enabling/disabling it. * Use "Minimize" instead of "Do Not Show Again" in the info bar button and use a custom setting to save this. The current info bar API does not signal addition/removal of global suppression ids which would be needed to update all editor widgets properly. We are the only client and it feels wrong to add this API there at the moment. * Remove not needed code anymore. Change-Id: I2bb872522b7410434f060cc359a3b62dfed0af4d Reviewed-by: David Schulz <david.schulz@qt.io>
* Clang: Show info bar for parse errors in header filesNikolai Kosjar2016-10-111-0/+12
| | | | | | | | | | | | | | | ...because those errors can lead to a substantial performance/functional regression. The actual diagnostics (possibly with children) are shown as details in the info bar. The info bar can be hidden with the "Do Not Show Again" button. Re-enabling the info bar is possible with the new editor tool bar button. Change-Id: I03394ff8e3c84127946b0b791930b28a385f5a46 Reviewed-by: David Schulz <david.schulz@qt.io>
* CppEditor: Replace QSignalMapper with a lambdaOrgad Shaneh2016-08-181-2/+0
| | | | | | | Change-Id: I403a5f9bb29240181a98390dd4cd8e34110957ee Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> Reviewed-by: Marco Bubke <marco.bubke@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
* Clang: Add clang refactoringMarco Bubke2016-08-041-0/+9
| | | | | | Change-Id: I2e3f36f810276da3f8dc7dcc587b06f8edb586d3 GPush-Base: d02f51b48fc752fddcdef6dcb32b3f7f6c0195a3 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* CppEditor: Use Qt5-style connectsOrgad Shaneh2016-05-301-4/+1
| | | | | | | The heavy lifting was done by clazy. Change-Id: I5ee3678f8293486cccfc634aaab5c75b066ed011 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@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>
* C++: Implement context-aware expand / shrink selection actions.Alexandru Croitor2016-02-291-0/+3
| | | | | | | | Implement selection expanding / shrinking, that is aware of C++ semantics, thus giving smart selection changing. Change-Id: I1386a20597fa6bb85c3aa0d8ddfb87cdb3fd7c38 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
* Clang: Indicate available "fix its" with a light bulbNikolai Kosjar2016-02-161-1/+4
| | | | | | | | | | | | ...at the end of the line, just like for the "Apply Function Signature Changes" refactor action. * Hovering the light bulb shows the tooltip "Inspect available fixits". * Clicking the light bulb leads to the refactoring menu, as if the user hit Alt+Return. Change-Id: Iaf7b3734c43e21fc28e6b0658f517d98858c0e0c Reviewed-by: Alessandro Portale <alessandro.portale@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>
* CppEditor: Fix inserting completion while in (local) rename modeTakumi ASAKI2015-07-011-0/+2
| | | | | | | | Fixes case 1 of QTCREATORBUG-14633. Task-number: QTCREATORBUG-14633 Change-Id: I1f57b8f831613668b85948f4ec588c4cf441b633 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* Add override keyword to IEditor & TextEditorWidget implementationsEike Ziller2015-06-091-1/+1
| | | | | Change-Id: I403101d788d9edfea5c5c9440ab4f39ad00e81f7 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* cppeditor: s/Q_DECL_OVERRIDE/override/gTobias Hunger2015-06-041-12/+12
| | | | | Change-Id: Ie0b75ea64ec3927732b484983311990c8ca0d057 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@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>
* | CppEditor: Remove forwarding functionNikolai Kosjar2015-02-091-2/+0
| | | | | | | | | | Change-Id: Iebc7b3c8e9cd119d95c15c723bad6e9782a956a9 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* | CppEditor: Move CppEditorOutline to CppToolsNikolai Kosjar2015-01-261-3/+6
| | | | | | | | | | Change-Id: I75768f548f8f914e76fbdeaf3c318c207782fe1b Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* | CppEditor: Move CppEditorWidget::linkToSymbol to CppToolsNikolai Kosjar2015-01-261-5/+0
|/ | | | | | | | | | | | | | | | | * Cuts direct dependency to CPlusPlus from cppeditor.h, but cppfunctiondecldeflink.h still pulls it in. * Cuts direct dependency to cppeditor.h from cppvirtualfunctionassistprovider.cpp, but it still depends on cppeditorconstants.h. * Cuts direct dependency to cppeditor.h from cppelementevaluator.cpp. The long-term goal is to make the CppEditor independent from concrete code model backends. Change-Id: I291ee0d0da5fc5ed1a839a763fe7be11dcf7a6fb Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
* C++: support smart splitting of strings.Francois Ferrand2014-10-151-0/+1
| | | | | | | | | | | | | | | | If 'enter' is pressed while the cursor is in the middle of a string, the string is ended at the current cursor position, and a new string is started on the next line. This makes it very easy to split a long string onto multiple lines. In addition, Shift+Enter insert an escape in the string, to continue the string at the beginning of next line. A setting can be used to enable or disable this option. Change-Id: Ia5f3c6989fc00d40d06bc4fe1182fe8b1318f565 Reviewed-by: Francois Ferrand <thetypz@gmail.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Merge remote-tracking branch 'origin/3.2'Eike Ziller2014-10-141-7/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/ipaddresslineedit.cpp src/libs/utils/logging.h src/plugins/analyzerbase/AnalyzerBase.pluginspec.in src/plugins/android/Android.pluginspec.in src/plugins/android/androiddeploystep.cpp src/plugins/android/androiddeploystep.h src/plugins/android/androiddeploystepfactory.cpp src/plugins/android/androiddeploystepwidget.cpp src/plugins/android/androidpackagecreationfactory.cpp src/plugins/android/androidpackagecreationstep.cpp src/plugins/android/androidpackagecreationstep.h src/plugins/android/androidpackagecreationwidget.cpp src/plugins/android/androidpackagecreationwidget.h src/plugins/android/javafilewizard.cpp src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/baremetal/BareMetal.pluginspec.in src/plugins/bazaar/Bazaar.pluginspec.in src/plugins/beautifier/Beautifier.pluginspec.in src/plugins/bineditor/BinEditor.pluginspec.in src/plugins/bookmarks/Bookmarks.pluginspec.in src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in src/plugins/clangcodemodel/clanghighlightingsupport.cpp src/plugins/clangcodemodel/clangsymbolsearcher.cpp src/plugins/classview/ClassView.pluginspec.in src/plugins/clearcase/ClearCase.pluginspec.in src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp src/plugins/cmakeprojectmanager/cmakehighlighter.cpp src/plugins/coreplugin/Core.pluginspec.in src/plugins/cpaster/CodePaster.pluginspec.in src/plugins/cppeditor/CppEditor.pluginspec.in src/plugins/cppeditor/cppfilewizard.cpp src/plugins/cpptools/CppTools.pluginspec.in src/plugins/cpptools/cpphighlightingsupportinternal.cpp src/plugins/cpptools/cppmodelmanagerinterface.cpp src/plugins/cpptools/cppmodelmanagerinterface.h src/plugins/cvs/CVS.pluginspec.in src/plugins/debugger/Debugger.pluginspec.in src/plugins/designer/Designer.pluginspec.in src/plugins/diffeditor/DiffEditor.pluginspec.in src/plugins/emacskeys/EmacsKeys.pluginspec.in src/plugins/fakevim/FakeVim.pluginspec.in src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in src/plugins/git/Git.pluginspec.in src/plugins/git/gitorious/gitorious.cpp src/plugins/git/gitorious/gitorious.h src/plugins/git/gitorious/gitoriousclonewizard.cpp src/plugins/git/gitorious/gitorioushostwidget.cpp src/plugins/git/gitorious/gitorioushostwidget.h src/plugins/git/gitorious/gitorioushostwizardpage.cpp src/plugins/git/gitorious/gitoriousprojectwidget.cpp src/plugins/git/gitorious/gitoriousprojectwidget.h src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp src/plugins/git/gitorious/gitoriousprojectwizardpage.h src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp src/plugins/git/gitorious/gitoriousrepositorywizardpage.h src/plugins/glsleditor/GLSLEditor.pluginspec.in src/plugins/glsleditor/glsleditorfactory.cpp src/plugins/glsleditor/glslfilewizard.cpp src/plugins/helloworld/HelloWorld.pluginspec.in src/plugins/help/Help.pluginspec.in src/plugins/imageviewer/ImageViewer.pluginspec.in src/plugins/ios/Ios.pluginspec.in src/plugins/macros/Macros.pluginspec.in src/plugins/mercurial/Mercurial.pluginspec.in src/plugins/perforce/Perforce.pluginspec.in src/plugins/projectexplorer/ProjectExplorer.pluginspec.in src/plugins/pythoneditor/PythonEditor.pluginspec.in src/plugins/pythoneditor/pythoneditorwidget.cpp src/plugins/pythoneditor/wizard/pythonfilewizard.cpp src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in src/plugins/qmakeprojectmanager/profileeditorfactory.cpp src/plugins/qmldesigner/QmlDesigner.pluginspec.in src/plugins/qmljseditor/QmlJSEditor.pluginspec.in src/plugins/qmljseditor/qmljseditorfactory.cpp src/plugins/qmljstools/QmlJSTools.pluginspec.in src/plugins/qmlprofiler/QmlProfiler.pluginspec.in src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in src/plugins/qnx/Qnx.pluginspec.in src/plugins/qtsupport/QtSupport.pluginspec.in src/plugins/remotelinux/RemoteLinux.pluginspec.in src/plugins/resourceeditor/ResourceEditor.pluginspec.in src/plugins/resourceeditor/resourcewizard.h src/plugins/subversion/Subversion.pluginspec.in src/plugins/tasklist/TaskList.pluginspec.in src/plugins/texteditor/TextEditor.pluginspec.in src/plugins/texteditor/basetexteditor_p.h src/plugins/texteditor/basetextmark.cpp src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h src/plugins/texteditor/codeassist/defaultassistinterface.h src/plugins/texteditor/codeassist/iassistproposalitem.cpp src/plugins/texteditor/itexteditor.cpp src/plugins/texteditor/itexteditor.h src/plugins/texteditor/itextmark.cpp src/plugins/texteditor/plaintexteditor.cpp src/plugins/texteditor/plaintexteditor.h src/plugins/texteditor/texteditoractionhandler.cpp src/plugins/todo/Todo.pluginspec.in src/plugins/updateinfo/UpdateInfo.pluginspec.in src/plugins/valgrind/Valgrind.pluginspec.in src/plugins/vcsbase/VcsBase.pluginspec.in src/plugins/welcome/Welcome.pluginspec.in src/plugins/winrt/WinRt.pluginspec.in tests/auto/debugger/temporarydir.h Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
| * License updateEike Ziller2014-10-091-7/+8
| | | | | | | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | TextEditor: Move CompletionAssistProvider constructionhjk2014-10-061-1/+0
| | | | | | | | | | | | | | | | | | ... to the editor factories and pass it to the document, not the widget. Saves some code, puts fewer objects into the object pool. Change-Id: Iaaf250af74dc4e0c62700873accbb40ba88b7d9e Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: David Schulz <david.schulz@digia.com>
* | TextEditor: Rename BaseTextEditorWidget to TextEditorWidgethjk2014-09-291-2/+2
| | | | | | | | | | | | | | ... and some of the related implementation details Change-Id: I1f03aa5acf2d3fb2cfc2a6a7845f3d3578b0408d Reviewed-by: David Schulz <david.schulz@digia.com>
* | Fix follow symbol in next split, and simplify codeEike Ziller2014-09-291-5/+0
| | | | | | | | | | | | | | | | | | | | Follow symbol in next split broke with fd9b2af9217ea295614b3061863c6b29080c42fe because the flag was no longer handled through EditorManager::openEditorAt Also remove the flag NoNewSplits which is no longer used, and simplify how links are opened from the C++ editor. Change-Id: I845cc3a0a43d82b79d5c46a273232b69fd6e3ea9 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | TextEditor: More BaseText* -> Text* renamingshjk2014-09-261-1/+1
| | | | | | | | | | | | | | *Document* and *Layout* classes, all basetext* files Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | Use Q_DECL_OVERRIDE instead of QTC_OVERRIDEThomas Hartmann2014-09-251-16/+15
| | | | | | | | | | | | | | | | | | This patch removes src/libs/utils/qtcoverride.h and uses Q_DECL_OVERRIDE from Qt 5 instead. Change-Id: I61ffa539648ffe996dc061eec7708c04580c0f09 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* | C++: Move preprocessor settings handling to the document.Erik Verbruggen2014-09-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the handling of those settings, and makes sure that the C++ document is setting those settings before parsing. This also prevents lock contention in the parser, because before this patch the document would kick of the initial parse (after opening a document), after which the editor would come in and try to set the preprocessor settings, resulting in the UI thread locking until the initial parse was done. Change-Id: Ia2e18a9667e10279f045c1c5849046ec4cfe85ae Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | TextEditor: Merge some "assist" related classeshjk2014-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Simplifies the code base by removing one level of unused and unneeded abstraction. - Merge {I,Default}AssistInterface to AssistInterface - Merge {IAssist,Basic}ProposalItem to AssistProposalItem - Merge {IGenericProposal,BasicProposalItemList}Model to GenericProposalModel Change-Id: I54ee7b095427383d67a00fc1d87c3808c21d812d Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | TextEditor: Reset mimetype after open() in all BaseTextEditorshjk2014-09-041-4/+0
| | | | | | | | | | | | | | | | This was already done in all major editors and should not harm all others. Change-Id: I7e19d285c4b85419a9a1f9afa961addecf682eaf Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* | TextEditor: Move CompletionAssistProvider to *Widgethjk2014-09-031-0/+1
| | | | | | | | | | | | | | All the others live there, too. Change-Id: I0a418bf235343d40a53fbee089234765386ee05d Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | CppEditor: Make local renaming more robust againNikolai Kosjar2014-08-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | This will update the use selections synchronously again in case the user triggered "Rename Symbol Under Cursor", just as before commit 89bd4ee C++: Base parsing on editor document instead of widget Change-Id: I8d4d3dcc7140a61f9ac611a505db09dc96a17740 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | {Cpp,Text}Editor: Fix duplicating CppEditorWidgetNikolai Kosjar2014-08-291-2/+3
| | | | | | | | | | | | | | | | Fixes local use highlighting and renaming in new split, among others. Done-with: hjk <hjk121@nokiamail.com> Change-Id: Ic604d37d2dc0082fa4a75c2af457f60d6d6cfa66 Reviewed-by: hjk <hjk121@nokiamail.com>
* | TextEditor: Remove some *Widget::createEditor implementationhjk2014-08-281-1/+0
| | | | | | | | | | | | | | | | This removes the ones that were not to be used anymore. The fallback in the base class is left in for now. Change-Id: I5e7ab16497a83eff9b11deb9e1feb390757eac0e Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | CppEditor: Convert to new construction schemehjk2014-08-271-4/+2
| | | | | | | | | | Change-Id: I947f76b4dbc3a197cd49993855c3b0f5e3dc7b49 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | CppEditor: Rename CPPEditor{,Document} to CppEditor{,Document}hjk2014-08-271-6/+6
| | | | | | | | | | | | | | | | Better in line with the rest. Change-Id: I692c8b6b9bebf22f059709fb60e53ea04fcb7d53 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* | Unslot onRefactorMarkerClickedOrgad Shaneh2014-08-261-1/+2
| | | | | | | | | | | | | | Follow-up of cc351381ae77e21019761dda49cdbdb667b878f8 Change-Id: Ieaa5267e763182605261b627b85a1e5e4c2eef59 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
* | C++: Base parsing on editor document instead of widgetNikolai Kosjar2014-08-251-30/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This mainly takes CppEditorSupport apart. * Parsing is now invoked by CPPEditorDocument itself by listening to QTextDocument::contentsChanged(). * Upon construction and destruction CPPEditorDocument creates and deletes an EditorDocumentHandle for (un)registration in the model manager. This handle provides everything to generate the working copy and to access the editor document processor. * A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that controls parsing, semantic info recalculation and the semantic highlighting for the document. This is more or less what is left from CppEditorSupport and can be considered as the backend of a CPPEditorDocument. CPPEditorDocument itself is quite small. * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor derive from BaseEditorDocumentProcessor and implement the gaps. * Since the semantic info calculation was bound to the widget, it also calculated the local uses, which depend on the cursor position. This calculation got moved into the extracted class UseSeletionsUpdater in the cppeditor plugin, which is run once the cursor position changes or the semantic info document is updated. * Some more logic got extracted: - SemanticInfoUpdater (logic was in CppEditorSupport) - SemanticHighlighter (logic was in CppEditorSupport) * The *Parser and *Processor classes can be easily accessed by the static function get(). * CppHighlightingSupport is gone since it turned out to be useless. * The editor dependency in CompletionAssistProviders is gone since we actually only need the file path now. Change-Id: I49d3a7bd138c5ed9620123e34480772535156508 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | CppEditor: Partially move to new editor setup schemehjk2014-08-221-1/+1
| | | | | | | | | | | | | | | | | | This needs more reorganization. For now, use a method to add cpp editor support directly without relying on a fully set up editor/widget/document combo. Change-Id: Id8631c75ccd209f418faef31f8b8a4c71e53d87d Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | CppEditor: Move two functions to cpptoolsreuse.{h,cpp}Nikolai Kosjar2014-08-201-4/+0
| | | | | | | | | | | | | | | | | | | | | | They do not really depend on CppEditorWidget and will be re-used in a follow-up change. CppEditorWidget::identifierUnderCursor() CppEditorWidget::findCanonicalMacro() Change-Id: I553bb68694fb4b5f1baa331debf33ae234e3dedf Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* | TextEditor: Further *Editor/*EditorWidget disentanglinghjk2014-08-191-2/+1
| | | | | | | | | | | | | | | | In most cases, the *Editor constructor does not need to access the *EditorWidget. Change-Id: I1f5c076a0f723d5d82b398e8c250c7bd1d47eb17 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | TextEditor: Merge the two sets of *EditorWidget constructorshjk2014-08-191-5/+1
| | | | | | | | | | Change-Id: I45d87d0be722ac36d64af222f03f8cb76242c9df Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | CppEditor: Move toolbar creation to Widget constructorhjk2014-08-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | It doesn't need the editor parameter anymore, so the two-phase setup can go. Note that both paths through ctor() finally hit *Widget::createEditor() (one directly, one indirectly through the first BaseTextEditorWidget::editor() call), so this doesn't change what's set up, only when. Change-Id: I65d9e317d796c8a5fe755d3d674cf79801e60617 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | TextEditor: Make completion assist provider a data memberhjk2014-07-311-2/+0
| | | | | | | | | | | | | | | | | | In case of the CppEditor a direct member is not possible due to setup restrictions inside the CppEditor machinery. I'd expect that to be fixable when the editor base system is in good shape. Change-Id: I184e219ca2dff6f67c9b58c182212eb12972cc84 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | Editors: Some renamings to enhance consistencyhjk2014-07-311-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The base pattern is FooEditor for BaseTextEditor derived classes and FooEditorWidget for BaseTextEditorWidget derived classes. So: CPPEditorWidget -> CppEditorWidget CPPEditorWidgetPrivate -> CppEditorWidgetPrivate ...::EditorWidget -> PythonEditorWidget GLSLTextEditorWidget -> GlslEditorWidget GLSLEditorEditable -> GlslEditor Change-Id: I76d34a3694c2fb35491982d86e83f7e4774c0be6 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* | TextEditor: Re-work comment definition handlinghjk2014-07-311-5/+0
|/ | | | | | | | No need for most of the machinery. Change-Id: I9078174582d83da94c6c7f20282fd3a5f1742911 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* CppEditor: Extract CppDocumentationCommentHelperNikolai Kosjar2014-06-131-9/+1
| | | | | Change-Id: Iefaff837565f0aaf7e52263daa40a58fc391df36 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* CppEditor: Extract CppEditorOutlineNikolai Kosjar2014-06-131-20/+3
| | | | | Change-Id: I3b41f91f17ce9fb24796f2f6bff353fb3c6177ec Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>