MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / createSymbolItem

Method createSymbolItem

src/plugins/codeeditor/symbol/symbolview.cpp:82–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80}
81
82QStandardItem *SymbolViewPrivate::createSymbolItem(const QString &path, const newlsp::DocumentSymbol &symbol)
83{
84 QStandardItem *item = new QStandardItem();
85 const auto &name = SymbolManager::instance()->displayNameFromDocumentSymbol(static_cast<SymbolManager::SymbolKind>(symbol.kind),
86 symbol.name,
87 symbol.detail.value_or(QString()));
88 item->setText(name);
89 item->setToolTip(name);
90 item->setIcon(SymbolManager::instance()->iconFromKind(static_cast<SymbolManager::SymbolKind>(symbol.kind)));
91 item->setData(path, FilePathRole);
92 item->setData(QVariant::fromValue(symbol.range), SymbolRangeRole);
93
94 auto children = symbol.children.value_or(QList<newlsp::DocumentSymbol>());
95 for (const auto &child : children) {
96 auto childItem = createSymbolItem(path, child);
97 item->appendRow(childItem);
98 }
99
100 return item;
101}
102
103void SymbolViewPrivate::handleItemClicked(const QModelIndex &index)
104{

Callers 1

setSymbolPathMethod · 0.45

Calls 7

iconFromKindMethod · 0.80
QStringClass · 0.50
setTextMethod · 0.45
setIconMethod · 0.45
setDataMethod · 0.45
appendRowMethod · 0.45

Tested by

no test coverage detected