Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
flatpak-qt-creator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
d4546072
Commit
d4546072
authored
Dec 10, 2008
by
Roberto Raggi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented tooltip and lookat for #include directives.
parent
6ae2cc0b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
59 additions
and
13 deletions
+59
-13
src/libs/cplusplus/CppDocument.cpp
src/libs/cplusplus/CppDocument.cpp
+7
-3
src/libs/cplusplus/CppDocument.h
src/libs/cplusplus/CppDocument.h
+21
-2
src/libs/cplusplus/pp-client.h
src/libs/cplusplus/pp-client.h
+2
-1
src/libs/cplusplus/pp-engine.cpp
src/libs/cplusplus/pp-engine.cpp
+2
-2
src/plugins/cppeditor/cppeditor.cpp
src/plugins/cppeditor/cppeditor.cpp
+11
-1
src/plugins/cpptools/cpphoverhandler.cpp
src/plugins/cpptools/cpphoverhandler.cpp
+10
-0
src/plugins/cpptools/cppmodelmanager.cpp
src/plugins/cpptools/cppmodelmanager.cpp
+6
-4
No files found.
src/libs/cplusplus/CppDocument.cpp
View file @
d4546072
...
...
@@ -131,12 +131,16 @@ QString Document::fileName() const
QStringList
Document
::
includedFiles
()
const
{
return
_includedFiles
;
QStringList
files
;
foreach
(
const
Include
&
i
,
_includes
)
files
.
append
(
i
.
fileName
());
files
.
removeDuplicates
();
return
files
;
}
void
Document
::
addIncludeFile
(
const
QString
&
fileName
)
void
Document
::
addIncludeFile
(
const
QString
&
fileName
,
unsigned
line
)
{
_include
dFiles
.
append
(
fileName
);
_include
s
.
append
(
Include
(
fileName
,
line
)
);
}
void
Document
::
appendMacro
(
const
Macro
&
macro
)
...
...
src/libs/cplusplus/CppDocument.h
View file @
d4546072
...
...
@@ -65,7 +65,7 @@ public:
QString
fileName
()
const
;
QStringList
includedFiles
()
const
;
void
addIncludeFile
(
const
QString
&
fileName
);
void
addIncludeFile
(
const
QString
&
fileName
,
unsigned
line
);
void
appendMacro
(
const
Macro
&
macro
);
void
addMacroUse
(
const
Macro
&
macro
,
unsigned
offset
,
unsigned
length
);
...
...
@@ -181,6 +181,22 @@ public:
{
return
pos
>=
_begin
&&
pos
<
_end
;
}
};
class
Include
{
QString
_fileName
;
unsigned
_line
;
public:
Include
(
const
QString
&
fileName
,
unsigned
line
)
:
_fileName
(
fileName
),
_line
(
line
)
{
}
QString
fileName
()
const
{
return
_fileName
;
}
unsigned
line
()
const
{
return
_line
;
}
};
class
MacroUse
:
public
Block
{
Macro
_macro
;
...
...
@@ -196,6 +212,9 @@ public:
{
return
_macro
;
}
};
QList
<
Include
>
includes
()
const
{
return
_includes
;
}
QList
<
Block
>
skippedBlocks
()
const
{
return
_skippedBlocks
;
}
...
...
@@ -207,11 +226,11 @@ private:
private:
QString
_fileName
;
QStringList
_includedFiles
;
Control
*
_control
;
TranslationUnit
*
_translationUnit
;
Namespace
*
_globalNamespace
;
QList
<
DiagnosticMessage
>
_diagnosticMessages
;
QList
<
Include
>
_includes
;
QList
<
Macro
>
_definedMacros
;
QList
<
Block
>
_skippedBlocks
;
QList
<
MacroUse
>
_macroUses
;
...
...
src/libs/cplusplus/pp-client.h
View file @
d4546072
...
...
@@ -63,7 +63,8 @@ public:
{
}
virtual
void
macroAdded
(
const
Macro
&
macro
)
=
0
;
virtual
void
sourceNeeded
(
QString
&
fileName
,
IncludeType
mode
)
=
0
;
// ### FIX the signature.
virtual
void
sourceNeeded
(
QString
&
fileName
,
IncludeType
mode
,
unsigned
line
)
=
0
;
// ### FIX the signature.
virtual
void
startExpandingMacro
(
unsigned
offset
,
const
Macro
&
macro
,
...
...
src/libs/cplusplus/pp-engine.cpp
View file @
d4546072
...
...
@@ -818,7 +818,7 @@ void pp::processInclude(bool skipCurentPath,
QString
fn
=
QString
::
fromUtf8
(
path
.
constData
(),
path
.
length
());
if
(
client
)
client
->
sourceNeeded
(
fn
,
Client
::
IncludeGlobal
);
client
->
sourceNeeded
(
fn
,
Client
::
IncludeGlobal
,
firstToken
->
lineno
);
}
else
if
(
tk
->
is
(
T_ANGLE_STRING_LITERAL
)
||
tk
->
is
(
T_STRING_LITERAL
))
{
const
QByteArray
spell
=
tokenSpell
(
*
tk
);
const
char
*
beginOfPath
=
spell
.
constBegin
();
...
...
@@ -831,7 +831,7 @@ void pp::processInclude(bool skipCurentPath,
QString
fn
=
QString
::
fromUtf8
(
path
.
constData
(),
path
.
length
());
if
(
client
)
client
->
sourceNeeded
(
fn
,
Client
::
IncludeLocal
);
client
->
sourceNeeded
(
fn
,
Client
::
IncludeLocal
,
firstToken
->
lineno
);
}
}
}
...
...
src/plugins/cppeditor/cppeditor.cpp
View file @
d4546072
...
...
@@ -480,13 +480,23 @@ void CPPEditor::jumpToDefinition()
Document
::
Ptr
doc
=
m_modelManager
->
document
(
file
()
->
fileName
());
if
(
!
doc
)
return
;
QTextCursor
tc
=
textCursor
();
unsigned
lineno
=
tc
.
blockNumber
()
+
1
;
foreach
(
const
Document
::
Include
&
incl
,
doc
->
includes
())
{
if
(
incl
.
line
()
==
lineno
)
{
if
(
TextEditor
::
BaseTextEditor
::
openEditorAt
(
incl
.
fileName
(),
0
,
0
))
return
;
// done
break
;
}
}
Symbol
*
lastSymbol
=
doc
->
findSymbolAt
(
line
,
column
);
if
(
!
lastSymbol
)
return
;
// Get the expression under the cursor
const
int
endOfName
=
endOfNameUnderCursor
();
QTextCursor
tc
=
textCursor
();
tc
.
setPosition
(
endOfName
);
ExpressionUnderCursor
expressionUnderCursor
;
const
QString
expression
=
expressionUnderCursor
(
tc
);
...
...
src/plugins/cpptools/cpphoverhandler.cpp
View file @
d4546072
...
...
@@ -177,6 +177,16 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
}
}
if
(
m_toolTip
.
isEmpty
())
{
unsigned
lineno
=
tc
.
blockNumber
()
+
1
;
foreach
(
const
Document
::
Include
&
incl
,
doc
->
includes
())
{
if
(
lineno
==
incl
.
line
())
{
m_toolTip
=
incl
.
fileName
();
break
;
}
}
}
if
(
m_toolTip
.
isEmpty
())
{
// Move to the end of a qualified name
bool
stop
=
false
;
...
...
src/plugins/cpptools/cppmodelmanager.cpp
View file @
d4546072
...
...
@@ -138,7 +138,8 @@ protected:
virtual
void
stopExpandingMacro
(
unsigned
offset
,
const
Macro
&
macro
);
virtual
void
startSkippingBlocks
(
unsigned
offset
);
virtual
void
stopSkippingBlocks
(
unsigned
offset
);
virtual
void
sourceNeeded
(
QString
&
fileName
,
IncludeType
type
);
virtual
void
sourceNeeded
(
QString
&
fileName
,
IncludeType
type
,
unsigned
line
);
private:
QPointer
<
CppModelManager
>
m_modelManager
;
...
...
@@ -176,7 +177,7 @@ void CppPreprocessor::setProjectFiles(const QStringList &files)
{
m_projectFiles
=
files
;
}
void
CppPreprocessor
::
run
(
QString
&
fileName
)
{
sourceNeeded
(
fileName
,
IncludeGlobal
);
}
{
sourceNeeded
(
fileName
,
IncludeGlobal
,
/*line = */
0
);
}
void
CppPreprocessor
::
operator
()(
QString
&
fileName
)
{
run
(
fileName
);
}
...
...
@@ -361,7 +362,8 @@ void CppPreprocessor::stopSkippingBlocks(unsigned offset)
m_currentDoc
->
stopSkippingBlocks
(
offset
);
}
void
CppPreprocessor
::
sourceNeeded
(
QString
&
fileName
,
IncludeType
type
)
void
CppPreprocessor
::
sourceNeeded
(
QString
&
fileName
,
IncludeType
type
,
unsigned
line
)
{
if
(
fileName
.
isEmpty
())
return
;
...
...
@@ -369,7 +371,7 @@ void CppPreprocessor::sourceNeeded(QString &fileName, IncludeType type)
QByteArray
contents
=
tryIncludeFile
(
fileName
,
type
);
if
(
m_currentDoc
)
{
m_currentDoc
->
addIncludeFile
(
fileName
);
m_currentDoc
->
addIncludeFile
(
fileName
,
line
);
if
(
contents
.
isEmpty
()
&&
!
QFileInfo
(
fileName
).
isAbsolute
())
{
QString
msg
;
msg
+=
fileName
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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