forked from qt-creator/qt-creator
CppTools: Add basic completion support for qt5 style signals/slots
Trigger completion for Qt5 signals/slots as soon as the user types '&'
in
connect(object, &
connect(object, &Foo:signal, object2, &
Change-Id: I338a26415196959e3dc413bdfd023314812f3aaa
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
This commit is contained in:
@@ -132,11 +132,13 @@ private:
|
||||
void completeNamespace(CPlusPlus::ClassOrNamespace *binding);
|
||||
void completeClass(CPlusPlus::ClassOrNamespace *b, bool staticLookup = true);
|
||||
void addClassMembersToCompletion(CPlusPlus::Scope *scope, bool staticLookup);
|
||||
bool completeQtMethod(const QList<CPlusPlus::LookupItem> &results, bool wantSignals);
|
||||
bool completeSignal(const QList<CPlusPlus::LookupItem> &results)
|
||||
{ return completeQtMethod(results, true); }
|
||||
bool completeSlot(const QList<CPlusPlus::LookupItem> &results)
|
||||
{ return completeQtMethod(results, false); }
|
||||
enum CompleteQtMethodMode {
|
||||
CompleteQt4Signals,
|
||||
CompleteQt4Slots,
|
||||
CompleteQt5Signals,
|
||||
CompleteQt5Slots,
|
||||
};
|
||||
bool completeQtMethod(const QList<CPlusPlus::LookupItem> &results, CompleteQtMethodMode type);
|
||||
void globalCompletion(CPlusPlus::Scope *scope);
|
||||
|
||||
void addCompletionItem(const QString &text,
|
||||
@@ -152,6 +154,10 @@ private:
|
||||
QSet<QString> *processed,
|
||||
QSet<QString> *definedMacros);
|
||||
|
||||
enum {
|
||||
CompleteQt5SignalTrigger = CPlusPlus::T_LAST_TOKEN + 1,
|
||||
CompleteQtSlotTrigger
|
||||
};
|
||||
CPlusPlus::LanguageFeatures m_languageFeatures;
|
||||
QScopedPointer<const CppCompletionAssistInterface> m_interface;
|
||||
QScopedPointer<CppAssistProposalModel> m_model;
|
||||
|
||||
Reference in New Issue
Block a user