ui: Added on-demand local reference navigation to code view navigation bar (issue #453, #538)

* show local reference navigation for local symbols and multiple edge references
* shortcut Ctrl/Cmd + T
* iterate with consecutive edge clicks
This commit is contained in:
Eberhard Graether
2018-07-23 03:13:41 +02:00
parent 1df330ff2c
commit 95ebfff19c
24 changed files with 511 additions and 99 deletions
+11 -4
View File
@@ -7,6 +7,7 @@
#include "utility/file/FilePath.h"
#include "utility/ResourcePaths.h"
#include "utility/utilityApp.h"
#include "utility/utility.h"
#include "data/location/SourceLocationFile.h"
#include "qt/element/QtCodeFile.h"
@@ -69,10 +70,6 @@ QtCodeFileList::QtCodeFileList(QtCodeNavigator* navigator)
connect(m_scrollArea->verticalScrollBar(), &QScrollBar::valueChanged, m_navigator, &QtCodeNavigator::scrolled);
}
QtCodeFileList::~QtCodeFileList()
{
}
void QtCodeFileList::clear()
{
for (QtCodeFile* file : m_files)
@@ -275,6 +272,16 @@ void QtCodeFileList::findScreenMatches(const std::wstring& query, std::vector<st
}
}
std::vector<std::pair<FilePath, Id>> QtCodeFileList::getLocationIdsForTokenIds(const std::set<Id>& tokenIds) const
{
std::vector<std::pair<FilePath, Id>> locationIds;
for (QtCodeFile* file : m_files)
{
utility::append(locationIds, file->getLocationIdsForTokenIds(tokenIds));
}
return locationIds;
}
void QtCodeFileList::setFileMinimized(const FilePath path)
{
if (path.empty())