File indexing completed on 2024-04-28 15:52:42
0001 /* 0002 SPDX-FileCopyrightText: 2007 David Nolden <david.nolden.kdevelop@art-master.de> 0003 SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-only 0006 */ 0007 0008 #include "navigationwidget.h" 0009 #include "declarationnavigationcontext.h" 0010 #include "includenavigationcontext.h" 0011 #include "magicconstantnavigationcontext.h" 0012 0013 namespace Php 0014 { 0015 using namespace KDevelop; 0016 0017 NavigationWidget::NavigationWidget(KDevelop::DeclarationPointer declaration, KDevelop::TopDUContextPointer topContext, 0018 KDevelop::AbstractNavigationWidget::DisplayHints hints) 0019 : AbstractNavigationWidget() 0020 { 0021 setDisplayHints(hints); 0022 0023 initBrowser(400); 0024 0025 //The first context is registered so it is kept alive by the shared-pointer mechanism 0026 auto context = NavigationContextPointer(new DeclarationNavigationContext(declaration, topContext)); 0027 setContext(context); 0028 } 0029 0030 NavigationWidget::NavigationWidget(const IncludeItem& includeItem, KDevelop::TopDUContextPointer topContext, 0031 KDevelop::AbstractNavigationWidget::DisplayHints hints) 0032 : AbstractNavigationWidget() 0033 { 0034 setDisplayHints(hints); 0035 0036 initBrowser(200); 0037 0038 //The first context is registered so it is kept alive by the shared-pointer mechanism 0039 auto context = NavigationContextPointer(new IncludeNavigationContext(includeItem, topContext)); 0040 setContext(context); 0041 } 0042 0043 NavigationWidget::NavigationWidget(TopDUContextPointer topContext, KTextEditor::Cursor position, const QString& constant, 0044 KDevelop::AbstractNavigationWidget::DisplayHints hints) 0045 : AbstractNavigationWidget() 0046 { 0047 setDisplayHints(hints); 0048 0049 initBrowser(200); 0050 0051 //The first context is registered so it is kept alive by the shared-pointer mechanism 0052 auto context = NavigationContextPointer(new MagicConstantNavigationContext(topContext, position, constant)); 0053 setContext(context); 0054 } 0055 0056 QString NavigationWidget::shortDescription(KDevelop::Declaration* declaration) 0057 { 0058 NavigationContextPointer ctx(new DeclarationNavigationContext(DeclarationPointer(declaration), TopDUContextPointer())); ///@todo give correct top-context 0059 return ctx->html(true); 0060 } 0061 0062 QString NavigationWidget::shortDescription(const IncludeItem& includeItem) { 0063 NavigationContextPointer ctx(new IncludeNavigationContext(includeItem, TopDUContextPointer())); ///@todo give correct top-context 0064 return ctx->html(true); 0065 } 0066 0067 } 0068 0069 #include "moc_navigationwidget.cpp"