Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
6635ddbd
Commit
6635ddbd
authored
Apr 02, 2009
by
Roberto Raggi
Browse files
Introduced ICompletionCollector::isValid(editor).
parent
1997d8fb
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/plugins/cpptools/cppcodecompletion.cpp
View file @
6635ddbd
...
...
@@ -508,6 +508,9 @@ static int startOfOperator(TextEditor::ITextEditable *editor,
return
start
;
}
bool
CppCodeCompletion
::
isValid
(
TextEditor
::
ITextEditable
*
editor
)
{
return
m_manager
->
isCppEditor
(
editor
);
}
bool
CppCodeCompletion
::
triggersCompletion
(
TextEditor
::
ITextEditable
*
editor
)
{
if
(
!
m_manager
->
isCppEditor
(
editor
))
// ### remove me
...
...
src/plugins/cpptools/cppcodecompletion.h
View file @
6635ddbd
...
...
@@ -58,6 +58,7 @@ class CppCodeCompletion : public TextEditor::ICompletionCollector
public:
explicit
CppCodeCompletion
(
CppModelManager
*
manager
);
bool
isValid
(
TextEditor
::
ITextEditable
*
editor
);
bool
triggersCompletion
(
TextEditor
::
ITextEditable
*
editor
);
int
startCompletion
(
TextEditor
::
ITextEditable
*
editor
);
void
completions
(
QList
<
TextEditor
::
CompletionItem
>
*
completions
);
...
...
src/plugins/texteditor/completionsupport.cpp
View file @
6635ddbd
...
...
@@ -58,10 +58,11 @@ CompletionSupport::CompletionSupport()
m_completionList
(
0
),
m_startPosition
(
0
),
m_checkCompletionTrigger
(
false
),
m_editor
(
0
)
m_editor
(
0
),
m_completionCollector
(
0
)
{
m_completionCollector
=
ExtensionSystem
::
PluginManager
::
instance
()
->
getObject
<
ICompletionCollector
>
();
m_completionCollector
s
=
ExtensionSystem
::
PluginManager
::
instance
()
->
getObject
s
<
ICompletionCollector
>
();
}
void
CompletionSupport
::
performCompletion
(
const
CompletionItem
&
item
)
...
...
@@ -90,6 +91,15 @@ void CompletionSupport::cleanupCompletions()
void
CompletionSupport
::
autoComplete
(
ITextEditable
*
editor
,
bool
forced
)
{
m_completionCollector
=
0
;
foreach
(
ICompletionCollector
*
collector
,
m_completionCollectors
)
{
if
(
collector
->
isValid
(
editor
))
{
m_completionCollector
=
collector
;
break
;
}
}
if
(
!
m_completionCollector
)
return
;
...
...
src/plugins/texteditor/completionsupport.h
View file @
6635ddbd
...
...
@@ -69,6 +69,7 @@ private:
int
m_startPosition
;
bool
m_checkCompletionTrigger
;
// Whether to check for completion trigger after cleanup
ITextEditable
*
m_editor
;
QList
<
ICompletionCollector
*>
m_completionCollectors
;
ICompletionCollector
*
m_completionCollector
;
};
...
...
src/plugins/texteditor/icompletioncollector.h
View file @
6635ddbd
...
...
@@ -77,6 +77,11 @@ public:
ICompletionCollector
(
QObject
*
parent
=
0
)
:
QObject
(
parent
)
{}
virtual
~
ICompletionCollector
()
{}
/*
* Returns true if this completion collector can be used with the given editor.
*/
virtual
bool
isValid
(
ITextEditable
*
editor
)
=
0
;
/* This method should return whether the cursor is at a position which could
* trigger an autocomplete. It will be called each time a character is typed in
* the text editor.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment