Exemple #1
0
 public DocItem(CSharpBar bar, ISymbol syntaxTree)
 {
     _Bar        = bar;
     _SyntaxTree = syntaxTree;
     Header      = new ThemedMenuText(syntaxTree.GetOriginalName());
     Icon        = ThemeHelper.GetImage(KnownImageIds.CSFileNode);
     Opacity     = 0.8;
 }
Exemple #2
0
 public NodeItem(CSharpBar bar, SyntaxNode node)
 {
     _Bar     = bar;
     _ImageId = node.GetImageId();
     Header   = new ThemedMenuText(node.GetDeclarationSignature() ?? String.Empty);
     Node     = node;
     Icon     = ThemeHelper.GetImage(_ImageId);
     this.ReferenceCrispImageBackground(EnvironmentColors.MainWindowActiveCaptionColorKey);
     SetResourceReference(ForegroundProperty, VsBrushes.CommandBarTextActiveKey);
     Click += HandleClick;
 }
Exemple #3
0
        static void AddParameterList(ThemedMenuText t, SyntaxNode node)
        {
            var useParamName = Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.ParameterListShowParamName);

            if (node is BaseMethodDeclarationSyntax)
            {
                t.Append((node as BaseMethodDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName), ThemeHelper.SystemGrayTextBrush);
            }
            else if (node.IsKind(SyntaxKind.DelegateDeclaration))
            {
                t.Append((node as DelegateDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName));
            }
            else if (node is OperatorDeclarationSyntax)
            {
                t.Append((node as OperatorDeclarationSyntax).ParameterList.GetParameterListSignature(useParamName));
            }
        }
Exemple #4
0
 public SymbolMenu(CSharpSmartBar bar)
 {
     Menu = new SymbolList {
         IsVsProject = bar._IsVsProject,
         Container   = bar._SymbolListContainer
     };
     Menu.Header = new StackPanel {
         Margin   = WpfHelper.MenuItemMargin,
         Children =
         {
             (Title            = new ThemedMenuText {
                 TextAlignment = TextAlignment.Center, Padding = WpfHelper.SmallMargin
             }),
             (FilterBox        = new MemberFilterBox(Menu)),
             new Separator()
         }
     };
     _Bar = bar;
 }
Exemple #5
0
        static ThemedMenuText SetHeader(SyntaxNode node, bool includeContainer, bool highlight, bool includeParameterList)
        {
            var title = node.GetDeclarationSignature();

            if (title == null)
            {
                return(null);
            }
            if (node.IsStructuredTrivia && Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.StripRegionNonLetter))
            {
                title = TrimNonLetterOrDigitCharacters(title);
            }
            if (includeContainer == false && node.IsTypeDeclaration())
            {
                var p = node.Parent;
                while (p.IsTypeDeclaration())
                {
                    title = "..." + title;
                    p     = p.Parent;
                }
            }
            var t = new ThemedMenuText();

            if (includeContainer)
            {
                var p = node.Parent;
                if (node is VariableDeclaratorSyntax)
                {
                    p = p.Parent.Parent;
                }
                if (p is BaseTypeDeclarationSyntax)
                {
                    t.Append((p as BaseTypeDeclarationSyntax).Identifier.ValueText + ".", ThemeHelper.SystemGrayTextBrush);
                }
            }
            t.Append(title, highlight);
            if (includeParameterList && Config.Instance.NaviBarOptions.MatchFlags(NaviBarOptions.ParameterList))
            {
                AddParameterList(t, node);
            }
            return(t);
        }
Exemple #6
0
            public LocationItem(TaggedContentSpan span)
            {
                _Span   = span;
                Content = new ThemedMenuText(span.ContentText);
                var ct = span.Tag.ClassificationType;

                if (ct == _H1 || ct == _DummyTag1)
                {
                    Content.FontWeight = FontWeights.Bold;
                    _ImageId           = IconIds.Heading1;
                }
                else if (ct == _H2 || ct == _DummyTag2)
                {
                    _ImageId = IconIds.Heading2;
                }
                else if (ct == _H3 || ct == _DummyTag3)
                {
                    _ImageId        = IconIds.Heading3;
                    Content.Padding = _H3Padding;
                }
                else if (ct == _H4 || ct == _DummyTag4)
                {
                    _ImageId        = IconIds.Heading4;
                    Content.Padding = _H4Padding;
                }
                else if (ct == _H5 || ct == _DummyTag5)
                {
                    _ImageId        = IconIds.Heading5;
                    Content.Padding = _H5Padding;
                }
                else if (ct == _H6 || ct == _DummyTag6)
                {
                    _ImageId        = IconIds.None;
                    Content.Padding = _H6Padding;
                }
            }
Exemple #7
0
            public LocationItem(TaggedContentSpan span)
            {
                _Span   = span;
                Content = new ThemedMenuText(span.ContentText);
                var t = span.Tag.ClassificationType;

                if (t == _H1)
                {
                    Content.FontWeight = FontWeights.Bold;
                    _ImageId           = KnownImageIds.FlagDarkRed;
                }
                else if (t == _H2)
                {
                    _ImageId = KnownImageIds.FlagDarkPurple;
                }
                else if (t == _H3)
                {
                    _ImageId        = KnownImageIds.FlagDarkBlue;
                    Content.Padding = _H3Padding;
                }
                else if (t == _H4)
                {
                    _ImageId        = KnownImageIds.Flag;
                    Content.Padding = _H4Padding;
                }
                else if (t == _H5)
                {
                    _ImageId        = KnownImageIds.FlagOutline;
                    Content.Padding = _H5Padding;
                }
                else if (t == _H6)
                {
                    _ImageId        = KnownImageIds.Blank;
                    Content.Padding = _H6Padding;
                }
            }