skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class FoldingTaggerBase

Base class for collecting folding (collapsible) sections in document. Override this class and add ExpandableRegionDefinitions to define the start / end matching rules of a collapsible section.

Inheritance
System.Object
TaggerBase<FoldingRegionTag>
FoldingTaggerBase
BracketFoldingTagger
VisualBasicFoldingTagger
XmlFoldingTagger
Inherited Members
TaggerBase<FoldingRegionTag>.CallOnTagsChanged(Span)
TaggerBase<FoldingRegionTag>.OnTagsChanged(TagsChangedEventArgs)
TaggerBase<FoldingRegionTag>.Editor
TaggerBase<FoldingRegionTag>.Document
TaggerBase<FoldingRegionTag>.TagsChanged
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.WinForms.Controls.SyntaxEditor.Taggers
Assembly: Telerik.WinControls.SyntaxEditor.dll

Syntax

public class FoldingTaggerBase : TaggerBase<FoldingRegionTag>, ITagger<FoldingRegionTag>

Constructors

FoldingTaggerBase(ITextDocumentEditor)

Initializes a new instance of the FoldingTaggerBase class.

Declaration
public FoldingTaggerBase(ITextDocumentEditor editor)
Parameters
ITextDocumentEditor editor

The syntax editor.

Properties

FoldingRegionDefinitions

The FoldingRegionDefinitions that this tagger will use for matching the collapsible regions in the document.

Declaration
public IList<FoldingRegionDefinition> FoldingRegionDefinitions { get; }
Property Value
System.Collections.Generic.IList<FoldingRegionDefinition>

FoldingRegionTags

List of all FoldingRegionTags wrapped in TagSpans.

Declaration
protected IList<TagSpan<FoldingRegionTag>> FoldingRegionTags { get; }
Property Value
System.Collections.Generic.IList<TagSpan<FoldingRegionTag>>

IsMatchingCaseSensitive

Determines whether the matching between the start and end folding tags is case sensitive.

Declaration
public bool IsMatchingCaseSensitive { get; set; }
Property Value
System.Boolean

RegionsStartToEndMap

Contains the start / end matching pairs key-value pairs.

Declaration
protected Dictionary<string, string> RegionsStartToEndMap { get; }
Property Value
System.Collections.Generic.Dictionary<System.String, System.String>

Methods

BuildEndRegionBlockPattern(Dictionary<String, String>)

Prepares patters for matching end of collapsible folding section. Default implementation is to join all end strings of provided collapsible sections. Example for end words End and Finish, pattern is "End|Finish".

Declaration
protected virtual string BuildEndRegionBlockPattern(Dictionary<string, string> startToEndMap)
Parameters
System.Collections.Generic.Dictionary<System.String, System.String> startToEndMap

Pairs of start/end collapsible section words.

Returns
System.String

The end block pattern.

BuildStartRegionBlockPattern(Dictionary<String, String>)

Prepares patters for matching start of collapsible folding section. Default implementation is to join all start strings of provided collapsible sections. Example for start words Start and Move, pattern is "Start|Move".

Declaration
protected virtual string BuildStartRegionBlockPattern(Dictionary<string, string> startToEndMap)
Parameters
System.Collections.Generic.Dictionary<System.String, System.String> startToEndMap

Pairs of start/end collapsible section words.

Returns
System.String

The start block pattern.

CoerceFoldingSpan(Span)

Coerces the default provided folding span - span starting from the start of the region's start text and ending in the end of the region's end text.

Declaration
protected virtual Span CoerceFoldingSpan(Span defaultFoldingSpan)
Parameters
Span defaultFoldingSpan

The default provided folding span.

Returns
Span

The coerced folding span.

GetFoldingRegionTitle(String, Span, String)

Gets the text displayed in the collapsed folding section.

Declaration
protected virtual string GetFoldingRegionTitle(string inputValue, Span span, string startText)
Parameters
System.String inputValue

The document string.

Span span

The span defining the folded region.

System.String startText

The start text of the collapsible (folding) section.

Returns
System.String

The region title.

GetFoldingRegionToolTipContent(Span)

Gets the folding region's tooltip content.

Declaration
protected virtual string GetFoldingRegionToolTipContent(Span foldingSpan)
Parameters
Span foldingSpan

The span starting from the regions' start text and ending after the regions' end text.

Returns
System.String

The tooltip content.

GetTags(NormalizedSnapshotSpanCollection)

Gets the tags.

Declaration
public override IEnumerable<TagSpan<FoldingRegionTag>> GetTags(NormalizedSnapshotSpanCollection spans)
Parameters
NormalizedSnapshotSpanCollection spans

The spans.

Returns
System.Collections.Generic.IEnumerable<TagSpan<FoldingRegionTag>>

Collection of folding tag spans.

Overrides
Telerik.WinForms.SyntaxEditor.Core.Tagging.TaggerBase<Telerik.WinForms.SyntaxEditor.Core.Tagging.FoldingRegionTag>.GetTags(Telerik.WinForms.SyntaxEditor.Core.Text.NormalizedSnapshotSpanCollection)

InvalidateFoldingRegions()

Clears all collapsible (folding) regions and rebuilds them.

Declaration
protected virtual void InvalidateFoldingRegions()

ProcessNotMatchedTags(IEnumerable<FoldingRegionMatch>, IEnumerable<FoldingRegionMatch>)

Tries to match the not matched start and end tags left from the standard stack matching algorithm.

Declaration
protected virtual void ProcessNotMatchedTags(IEnumerable<FoldingRegionMatch> startTags, IEnumerable<FoldingRegionMatch> endTags)
Parameters
System.Collections.Generic.IEnumerable<FoldingRegionMatch> startTags

The not matched start tags.

System.Collections.Generic.IEnumerable<FoldingRegionMatch> endTags

The not matched end tags.

RebuildFoldingRegions()

Rebuilds the list of all collapsible (folding) regions.

Declaration
protected virtual void RebuildFoldingRegions()

RefreshStartEndMap()

Prepares the start / end matches for use as key-value pairs.

Declaration
protected virtual void RefreshStartEndMap()

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.