Commit Graph

550 Commits

Author SHA1 Message Date
hjk
bf5e43be94 TextEditor: Merge ITextEditor and BaseTextEditor
Adjust all callers, de-export BaseTextEditorAnimator

Change-Id: I2329d976c1398e2449844bb480a4d4ed29859506
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-25 13:45:55 +02:00
Nikolai Kosjar
6a700ff057 CppEditor: Extract CanonicalSymbol
Change-Id: I42c55f844c4228725251df8c985bfc275925f2ff
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 18:21:48 +02:00
Nikolai Kosjar
3d849e377e CppEditor: Clean up CanonicalSymbol
* Remove the static function since it's not really needed
* Make it independent of SemanticInfo

Change-Id: I8d8ea5578f5f9364a26c543277e56bdb5b947049
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 18:21:30 +02:00
Nikolai Kosjar
d34654c1aa CppEditor: Extract CppDocumentationCommentHelper
Change-Id: Iefaff837565f0aaf7e52263daa40a58fc391df36
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 18:05:14 +02:00
Nikolai Kosjar
4ecadb38a0 CppEditor: Extract CppEditorOutline
Change-Id: I3b41f91f17ce9fb24796f2f6bff353fb3c6177ec
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 18:04:52 +02:00
Nikolai Kosjar
eaecac2fd9 CppEditor: Extract CppLocalRenaming
Now CppEditorWidget is much less convoluted with the local rename mode.

This class can be reused since there is no dependency on
CPPEditorWidget.

Change-Id: If513e59a03214cf9f2e3831f7e3616c001e1f036
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 18:04:40 +02:00
Nikolai Kosjar
4e8b1544b7 CppEditor: Further cleanup
* Kill duplicate code
* Kill useless forwarding function
* Regroup some declarations
* Replace include by declaration

Change-Id: I54656e4e97b1fbdf7cf2f4a87d17955128f3825e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 17:33:42 +02:00
Nikolai Kosjar
fd5da10b66 CppEditor: Pimpl CppEditorWidget
...to cut some build depedencies.

Change-Id: I11b7e5f3c12b6821d0825a94ad74a7e4b69c4b12
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-13 17:33:28 +02:00
Nikolai Kosjar
481776026d CppEditor: Extract CppEditorDocument
This one will get some more functionality.

Change-Id: Ifba410e32f98c28cbfbb5a72493906ab3d681225
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-12 16:30:00 +02:00
Nikolai Kosjar
5a7916d26e CppEditor: Clean up CppEditor/CppEditorWidget
* Excess includes and forward declarations
* Access protection levels
* QTC_OVERRIDE
* Remove declared but not implemented/used functions.
* Remove unused class

Change-Id: Ia19ddddccd9adde827a7875b466fde5ca4d96e7d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-10 15:13:45 +02:00
Nikolai Kosjar
e8fab22afb C++: Disable "Replace Dot for Arrow" auto-correction for ObjC sources
In the light of Obj-C properties this seems to annoy more than to help.

Change-Id: I48f92d505035369f48e8798d0972ef00306bdde0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-06-02 15:48:48 +02:00
Nikolai Kosjar
acbc4b9f07 C++: Get rid of {Name,Type}::isEqualTo()
...since it's superseded by the class Matcher.

For consistency, rename FullySpecifiedType::isEqualTo() to match().

Change-Id: I07640f9218d814e0350265de45f05929e5d595a9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:43:30 +02:00
Nikolai Kosjar
c6358e5d38 C++: Add utf16 indices to Macro and Document::MacroUse
In most cases we need to work with the utf16 indices. Only in
cppfindreferences the byte interface is still needed since there we read
in files and work on a QByteArray to save memory.

Change-Id: I6ef6a93fc1875a8c9a305c075d51a9ca034c41bb
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:34:01 +02:00
Nikolai Kosjar
bb7da966b8 Cpp{Tools,Editor}: Respect multi-QChar code points when handling identifiers
* Consolidate code dealing with C++ identifiers into cpptoolsreuse.h
* Handle code points that are represented with two QChars

Change-Id: I4fb4435aa539f65d88598cac0b50629f33f32440
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:33:34 +02:00
Nikolai Kosjar
41aa2cb3bd C++: Use Token::utf16chars{Begin,End} where appropriate
...especially in CppTools/CppEditor where the offsets are used with a
QString/QTextDocument.

Change-Id: Ic6d18fbc01fb9cc899a9bd2d7424cd2edae487f1
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-23 14:23:51 +02:00
hjk
3462c5ef42 IEditor: Make duplicatesSupported a value member
Change-Id: Iee75dd4155d5074bb319df79d006b6d5e2989e14
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-05-21 14:29:00 +02:00
Nikolai Kosjar
126e69137a C++: Clarify units of a Token
This will avoid confusion when later more length and indices methods are
added.

In Token:
    length() --> bytes()
    begin() --> bytesBegin()
    end() --> bytesEnd()

Change-Id: I244c69b022e239ee762b4114559e707f93ff344f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-15 15:55:38 +02:00
Nikolai Kosjar
ba76baa65f C++: Use getter functions of Token
They are already inlined. Now it's easier to find read-only accesses.

Change-Id: I9aaeca3bc5860e3a20a536a2484925e4334c005f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-05-15 15:55:11 +02:00
hjk
6e584b5b49 DocumentModel: Make interface static
Move item model implementation to private, adjust user code.

Change-Id: Ifbe94e7c7b9b1e8be1b4c531958dbd7a9413af13
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-05-13 11:48:30 +02:00
Orgad Shaneh
0ae6905525 CppEditor: Avoid repetitive function calls
Change-Id: I1f3e316336376887ec2e546fcb0cb714c777ee0b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-05-13 04:20:27 +02:00
Daniel Teske
da79a142b5 Move OverViewCombo to Utils::
Change-Id: I0724b6223ba9505effe151ce474f0f378671e60f
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-04-30 15:02:22 +02:00
Daniel Teske
f9c02faa24 CppOverViewCombo: Fix scoll wheel behavior
The combobox only allows to switch between top level items via the
scroll wheel. Fix that by implementing a ::wheelEvent() handler.

Change-Id: I793a79322d9b00ebe30fc6e0452f8b383bb4a8a0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-04-30 15:02:15 +02:00
Daniel Teske
42075c1224 OverViewComboBox: Move creation of TreeView into ctor
So that the class is more self-contained.

Change-Id: Ib6f3e5811d4d7d8647a797f451ec1ff8cc003b74
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-04-25 14:13:53 +02:00
Daniel Teske
502acf0723 OverviewComboBox: coding style
Change-Id: I69a68419c54ee6d366bca98f47d3ca2e9353766d
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-04-25 14:13:44 +02:00
Daniel Teske
ff7cf1534b OverViewComboBox: Remove ::sync method, call expandAll() directly
Change-Id: Ia30801e85bffc53434048189150ed2b09a09d7ae
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-04-25 14:13:38 +02:00
Daniel Teske
13af3e9d1e CppEditor::OverViewTreeView: Don't depend on ICore::mainWindow()
Change-Id: Ic212807eda4a56f54fd5c8f37c5ab1645b74243f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-04-25 14:13:26 +02:00
Oswald Buddenhagen
868428cc63 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	qbs/imports/QtcTool.qbs
	src/plugins/git/giteditor.cpp
	src/plugins/qmldesigner/qmldesignerplugin.cpp

Change-Id: Icafd32f713effb1479480a0d1f61a01e429fbec0
2014-03-18 14:46:29 +01:00
Nikolai Kosjar
cbf98ba819 CppEditor: Allow force highlighting if using clang
...so we can rehighlight if it's requested by the editor. This is e.g.
necessary if the font size changes.

Task-number: QTCREATORBUG-11502
Change-Id: I608921899fc37fcf1394db9ff041e6b378196bdd
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-03-17 14:39:50 +01:00
Nikolai Kosjar
1f0fd959fa CppEditor: Do not cancel highlighter on user interaction
e.g. changing cursor position or editing text.

CPPEditorWidget::updateUses() does not depend on the highlighter, but
only on the semantic info update.

Task-number: QTCREATORBUG-11367
Change-Id: Ia9f5ed7c2adc6899995a5d966a20e45b2f87d9e3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-03-17 14:38:32 +01:00
Nikolai Kosjar
8f6b4c784d CppTools: Remove useless parameter in recalculateSemanticInfo()
Change-Id: I24b6f6d698051d1ccfe3f0d83078c26d8de193fb
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-03-13 15:40:07 +01:00
Eike Ziller
5dd8d7cd9c Editors: Move id() from editor to document.
Change-Id: Ib81076842ab1c16832224790194b001206404d64
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-03-05 16:27:52 +01:00
hjk
6c6f47f86c Core: Make IEditor::id a value member and adjust users
Change-Id: I47e457c4a1821c515cd8a740d27bfe005a0c09e6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-25 10:36:25 +01:00
Eike Ziller
e60f355f05 CppEditor: Move isObjC property to document.
Change-Id: I2267c69001da6bc136d26d874331dd734c8693f5
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-20 08:32:23 +01:00
Eike Ziller
0be57cb505 CppEditor: Fix target of symbol drop-down
It was jumping to the symbol location in the active editor instead of
the editor for the combo box.

Task-number: QTCREATORBUG-11157
Change-Id: Ic261f2dd214c15ff41c8342a6ef72626b7db0f86
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-02-19 12:51:51 +01:00
Orgad Shaneh
6182841c13 CppEditor: Remove unused function
Change-Id: I4ebcf66d39192cd099d7cdc6ec27e74837975ed3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-07 10:41:21 +01:00
Eike Ziller
db897f8146 Fix build on Windows
For some reason it doesn't like signals with QFutures. Going back to
pointers, but copying the future from there when it's used.

Change-Id: I8dea0817b4e59ede6874ab8be01f22a92e7402a0
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-02-06 10:49:04 +01:00
Erik Verbruggen
58af02f074 C++: release more futures.
The CPPEditorWidget retained two futures, as did the attached future
watchers retained them too. Together, each future and the watcher held
on to a complete snapshot that would only get released when another
future was set. This could result into retaining old snapshots in
editors that were invisible/unused for long.

Change-Id: I1133e857c620437b4a69b9dad468f6bd458304b8
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-02-05 15:42:46 +01:00
Eike Ziller
a94d736881 TextEditors: Avoid sending contentsChanged signal when rehighlighting
That avoids a complete reparse of the document when font settings
change, but in turn now requires an explicit redo of semantic
highlighting in that case.
The cpp editor part of this patch is actually still doing semantic
parsing though. This will be fixed up in a later patch.

Change-Id: I6f51a18cba6325856c96e155700eb912f6d3aad5
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-04 09:58:51 +01:00
Eike Ziller
17c11f0642 TextEditors: Set syntax highlighter only once
Change-Id: Iad83e589be49aeab3f35420d071311c15ddac6b2
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:59 +01:00
Eike Ziller
0ec2a02fd4 TextEditors: Avoid multiple highlighting runs when changing font setting
And remove some unnecessary code in Python editor

Change-Id: I86cde74c244a16d1b36b0ac0e841ef8110ba832f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:45 +01:00
Eike Ziller
c99464dd9b TextEditors: Remove unnecessary duplicated caching
Change-Id: I3800360e3b9bd6874d6852dabcfc7a9a066e52c2
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:28 +01:00
Eike Ziller
3fa6b6737c TextEditors: Move font settings to document
Change-Id: I325764cbaa9684fa2758b0ea6c6ea58de142cb73
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:07 +01:00
Eike Ziller
4eff289e03 TextEditors: Remove widget's setTabSettings method
Change-Id: If212b45e2d526534b7853f3fa23b170f61e1976e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-21 11:22:16 +01:00
Eike Ziller
8aedff7f22 TextEditors: Move some auto-indentation code to document
From the editor widget. Also name them autoIndent/autoReindent to
distinguish from the manual indent functions.

Change-Id: I4e1b9d503f53870b669fee66467e5e567eacefec
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-16 15:50:56 +01:00
Eike Ziller
3ad3876611 TextEditors: Move indenter to document.
Change-Id: I8bdf7134562d007aa16cc63a34f5a15a708577ae
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-15 15:02:25 +01:00
Eike Ziller
355f104d0e BaseTextEditor: Remove some unnecessary indirections through widget
Change-Id: I4f71448d6788a4e553b1495b72263a004e65d8c0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:05:06 +01:00
Eike Ziller
7f03139442 CppEditor: Do not reimplement BaseTextEditorWidget::setMimeType
It's not necessary, since we have signals for that. And it's wrong to
handle the additional preprocessor directives there anyway.
The update if the editor supports objective-c/c++ is now done in a
mimeTypeChanged signal handler, the update of the additional
preprocessor directives on filePathChanged.

Change-Id: If88c70f5321c2bc21a21673e96be2598dc9ecf04
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:04:49 +01:00
Eike Ziller
cfad9bdc3c TextEditors: Move contentsChanged signal from editor to document
Change-Id: Ic935a8971705cb3238deda71aa2b5d19e4f62593
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:03:58 +01:00
Eike Ziller
2251958375 TextEditors: Avoid changing document after construction.
Also when duplicating editors, we don't want to change the document
after construction. Actually at some places (e.g. CppEditorSupport
creation) we don't handle document changes correctly, and we are only
lucky that things still (more or less?) work. Get rid of
BaseTextEditorWidget::duplicateFrom and use copy-constructor style instead.

Change-Id: I7f688b7fcc51d1bb5e222bb333f0d28479b597a6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-10 14:38:36 +01:00
Eike Ziller
f9ce335a6d Editors: Remove useless parent widget argument from create/duplicate
It was never called with a sensible value anyhow, and only complicates things.

Change-Id: I005848700b6c00114d91495670d4a0e15a2d2e64
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-08 11:46:11 +01:00