Best NBi code snippet using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor.XmlFoldStart
XmlFoldingStrategy.cs
Source:XmlFoldingStrategy.cs  
...10{11    /// <summary>12    /// Holds information about the start of a fold in an xml string.13    /// </summary>14    public class XmlFoldStart15    {16        #region Fields1718        int col = 0;19        string foldText = String.Empty;20        int line = 0;21        string name = String.Empty;22        string prefix = String.Empty;2324        #endregion Fields2526        #region Constructors2728        public XmlFoldStart(string prefix, string name, int line, int col)29        {30            this.line = line;31            this.col = col;32            this.prefix = prefix;33            this.name = name;34        }3536        #endregion Constructors3738        #region Properties3940        /// <summary>41        /// The column where the fold should start.  Columns start from 0.42        /// </summary>43        public int Column44        {45            get46            {47                return col;48            }49        }5051        /// <summary>52        /// The text to be displayed when the item is folded.53        /// </summary>54        public string FoldText55        {56            get57            {58                return foldText;59            }6061            set62            {63                foldText = value;64            }65        }6667        /// <summary>68        /// The line where the fold should start.  Lines start from 0.69        /// </summary>70        public int Line71        {72            get73            {74                return line;75            }76        }7778        /// <summary>79        /// The name of the xml item with its prefix if it has one.80        /// </summary>81        public string Name82        {83            get84            {85                if (prefix.Length > 0)86                {87                    return String.Concat(prefix, ":", name);88                }89                else90                {91                    return name;92                }93            }94        }9596        #endregion Properties97    }9899    /// <summary>100    /// Determines folds for an xml string in the editor.101    /// </summary>102    public class XmlFoldingStrategy : IFoldingStrategy103    {104        #region Fields105106        /// <summary>107        /// Flag indicating whether attributes should be displayed on folded108        /// elements.109        /// </summary>110        private readonly bool showAttributesWhenFolded = false;111112        #endregion Fields113114        #region Constructors115116        public XmlFoldingStrategy()117        {118        }119120        #endregion Constructors121122        #region Methods123124        /// <summary>125        /// Adds folds to the text editor around each start-end element pair.126        /// </summary>127        /// <remarks>128        /// <para>If the xml is not well formed then no folds are created.</para>129        /// <para>Note that the xml text reader lines and positions start130        /// from 1 and the SharpDevelop text editor line information starts131        /// from 0.</para>132        /// </remarks>133        public List<FoldMarker> GenerateFoldMarkers(IDocument document, string fileName, object parseInformation)134        {135            //showAttributesWhenFolded = XmlEditorAddInOptions.ShowAttributesWhenFolded;136137            List<FoldMarker> foldMarkers = new List<FoldMarker>();138            Stack stack = new Stack();139140            try141            {142                string xml = document.TextContent;143                XmlTextReader reader = new XmlTextReader(new StringReader(xml));144                while (reader.Read())145                {146                    switch (reader.NodeType)147                    {148                        case XmlNodeType.Element:149                            if (!reader.IsEmptyElement)150                            {151                                XmlFoldStart newFoldStart = CreateElementFoldStart(reader);152                                stack.Push(newFoldStart);153                            }154                            break;155156                        case XmlNodeType.EndElement:157                            XmlFoldStart foldStart = (XmlFoldStart)stack.Pop();158                            CreateElementFold(document, foldMarkers, reader, foldStart);159                            break;160161                        case XmlNodeType.Comment:162                            CreateCommentFold(document, foldMarkers, reader);163                            break;164                    }165                }166            }167            catch (Exception)168            {169                // If the xml is not well formed keep the foldings170                // that already exist in the document.171                return new List<FoldMarker>(document.FoldingManager.FoldMarker);172            }173174            return foldMarkers;175        }176177        /// <summary>178        /// Xml encode the attribute string since the string returned from179        /// the XmlTextReader is the plain unencoded string and .NET180        /// does not provide us with an xml encode method.181        /// </summary>182        static string XmlEncodeAttributeValue(string attributeValue, char quoteChar)183        {184            StringBuilder encodedValue = new StringBuilder(attributeValue);185186            encodedValue.Replace("&", "&");187            encodedValue.Replace("<", "<");188            encodedValue.Replace(">", ">");189190            if (quoteChar == '"')191            {192                encodedValue.Replace("\"", """);193            }194            else195            {196                encodedValue.Replace("'", "'");197            }198199            return encodedValue.ToString();200        }201202        /// <summary>203        /// Creates a comment fold if the comment spans more than one line.204        /// </summary>205        /// <remarks>The text displayed when the comment is folded is the first206        /// line of the comment.</remarks>207        void CreateCommentFold(IDocument document, List<FoldMarker> foldMarkers, XmlTextReader reader)208        {209            if (reader.Value != null)210            {211                string comment = reader.Value.Replace("\r\n", "\n");212                string[] lines = comment.Split('\n');213                if (lines.Length > 1)214                {215216                    // Take off 5 chars to get the actual comment start (takes217                    // into account the <!-- chars.218219                    int startCol = reader.LinePosition - 5;220                    int startLine = reader.LineNumber - 1;221222                    // Add 3 to the end col value to take into account the '-->'223                    int endCol = lines[lines.Length - 1].Length + startCol + 3;224                    int endLine = startLine + lines.Length - 1;225                    string foldText = String.Concat("<!--", lines[0], "-->");226                    FoldMarker foldMarker = new FoldMarker(document, startLine, startCol, endLine, endCol, FoldType.TypeBody, foldText);227                    foldMarkers.Add(foldMarker);228                }229            }230        }231232        /// <summary>233        /// Create an element fold if the start and end tag are on234        /// different lines.235        /// </summary>236        void CreateElementFold(IDocument document, List<FoldMarker> foldMarkers, XmlTextReader reader, XmlFoldStart foldStart)237        {238            int endLine = reader.LineNumber - 1;239            if (endLine > foldStart.Line)240            {241                int endCol = reader.LinePosition + foldStart.Name.Length;242                FoldMarker foldMarker = new FoldMarker(document, foldStart.Line, foldStart.Column, endLine, endCol, FoldType.TypeBody, foldStart.FoldText);243                foldMarkers.Add(foldMarker);244            }245        }246247        /// <summary>248        /// Creates an XmlFoldStart for the start tag of an element.249        /// </summary>250        XmlFoldStart CreateElementFoldStart(XmlTextReader reader)251        {252            // Take off 2 from the line position returned253            // from the xml since it points to the start254            // of the element name and not the beginning255            // tag.256            XmlFoldStart newFoldStart = new XmlFoldStart(reader.Prefix, reader.LocalName, reader.LineNumber - 1, reader.LinePosition - 2);257258            if (showAttributesWhenFolded && reader.HasAttributes)259            {260                newFoldStart.FoldText = String.Concat("<", newFoldStart.Name, " ", GetAttributeFoldText(reader), ">");261            }262            else263            {264                newFoldStart.FoldText = String.Concat("<", newFoldStart.Name, ">");265            }266267            return newFoldStart;268        }269270        /// <summary>
...XmlFoldStart
Using AI Code Generation
1using System;2using System.Windows.Forms;3using ICSharpCode.TextEditor.Document;4using ICSharpCode.TextEditor;5using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor;6{7    {8        public Form1()9        {10            InitializeComponent();11        }12        private void Form1_Load(object sender, EventArgs e)13        {14            textEditorControl1.Document.FoldingManager.FoldingStrategy = new XmlFoldingStrategy();15            textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);16        }17        private void textEditorControl1_TextChanged(object sender, EventArgs e)18        {19            textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);20        }21    }22}23using System;24using System.Windows.Forms;25using ICSharpCode.TextEditor.Document;26using ICSharpCode.TextEditor;27using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor;28{29    {30        public Form1()31        {32            InitializeComponent();33        }34        private void Form1_Load(object sender, EventArgs e)35        {36            textEditorControl1.Document.FoldingManager.FoldingStrategy = new XmlFoldingStrategy();37            textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);38        }39        private void textEditorControl1_TextChanged(object sender, EventArgs e)40        {41            textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);42        }43    }44}45using System;46using System.Windows.Forms;47using ICSharpCode.TextEditor.Document;48using ICSharpCode.TextEditor;49using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor;50{51    {52        public Form1()53        {54            InitializeComponent();55        }56        private void Form1_Load(object sender, EventArgs e)57        {58            textEditorControl1.Document.FoldingManager.FoldingStrategy = new XmlFoldingStrategy();59            textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);60        }61        private void textEditorControl1_TextChanged(object sender, EventArgs e)62        {XmlFoldStart
Using AI Code Generation
1{2    using System;3    using System.Windows.Forms;4    using ICSharpCode.TextEditor;5    using ICSharpCode.TextEditor.Document;6    using ICSharpCode.TextEditor.Gui.CompletionWindow;7    using ICSharpCode.TextEditor.Gui.InsightWindow;8    using System.Collections.Generic;9    using System.Drawing;10    using System.Text.RegularExpressions;11    using System.Text;12    using System.Xml;13    using System.Xml.XPath;14    using System.Xml.Linq;15    using System.IO;16    using System.Linq;17    using System.Collections;18    using System.ComponentModel;19    using System.Windows.Forms.Design;20    using System.Data;21    using System.Drawing.Design;22    using System.Reflection;23    using System.Diagnostics;24    using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor;25    using System.Runtime.InteropServices;26    using ICSharpCode.TextEditor.Actions;27    {28        public MyXmlFoldStart(TextArea textArea, int offset) : base(textArea, offset) { }29        public override void Fold()30        {31            base.Fold();32        }33    }34}35{36    using System;37    using System.Windows.Forms;38    using ICSharpCode.TextEditor;39    using ICSharpCode.TextEditor.Document;40    using ICSharpCode.TextEditor.Gui.CompletionWindow;41    using ICSharpCode.TextEditor.Gui.InsightWindow;42    using System.Collections.Generic;43    using System.Drawing;44    using System.Text.RegularExpressions;45    using System.Text;46    using System.Xml;47    using System.Xml.XPath;48    using System.Xml.Linq;49    using System.IO;50    using System.Linq;51    using System.Collections;52    using System.ComponentModel;53    using System.Windows.Forms.Design;54    using System.Data;55    using System.Drawing.Design;56    using System.Reflection;57    using System.Diagnostics;58    using NBi.UI.Genbi.View.TestSuiteGenerator.XmlEditor;59    using System.Runtime.InteropServices;60    using ICSharpCode.TextEditor.Actions;61    {62        public MyXmlFoldEnd(TextArea textArea, int offset) : base(textArea, offset) { }63        public override void Fold()64        {65            base.Fold();XmlFoldStart
Using AI Code Generation
1XmlFoldStart fold = new XmlFoldStart();2fold.setFoldStart("<!--");3fold.setFoldEnd("-->");4fold.setFoldStartColor(Color.BLUE);5fold.setFoldEndColor(Color.BLUE);6fold.setFoldStartFontColor(Color.BLUE);7fold.setFoldEndFontColor(Color.BLUE);8fold.setFoldStartFontStyle(Font.BOLD);9fold.setFoldEndFontStyle(Font.BOLD);10fold.setFoldStartFontName("Courier");11fold.setFoldEndFontName("Courier");12fold.setFoldStartFontSize(12);13fold.setFoldEndFontSize(12);14fold.setFoldStartFontItalic(true);15fold.setFoldEndFontItalic(true);16fold.setFoldStartFontUnderlined(true);17fold.setFoldEndFontUnderlined(true);18fold.setFoldStartFontStriked(true);19fold.setFoldEndFontStriked(true);20fold.setFoldStartFontShadowed(true);21fold.setFoldEndFontShadowed(true);22fold.setFoldStartFontSuperScripted(true);23fold.setFoldEndFontSuperScripted(true);24fold.setFoldStartFontSubScripted(true);25fold.setFoldEndFontSubScripted(true);26fold.setFoldStartFontAlignment(0);27fold.setFoldEndFontAlignment(0);28fold.setFoldStartFontAlignment(1);29fold.setFoldEndFontAlignment(1);30fold.setFoldStartFontAlignment(2);31fold.setFoldEndFontAlignment(2);32fold.setFoldStartFontAlignment(3);33fold.setFoldEndFontAlignment(3);34fold.setFoldStartFontAlignment(4);35fold.setFoldEndFontAlignment(4);36fold.setFoldStartFontAlignment(5);37fold.setFoldEndFontAlignment(5);38fold.setFoldStartFontAlignment(6);39fold.setFoldEndFontAlignment(6);40fold.setFoldStartFontAlignment(7);41fold.setFoldEndFontAlignment(7);42fold.setFoldStartFontAlignment(8);43fold.setFoldEndFontAlignment(8);44fold.setFoldStartFontAlignment(9);45fold.setFoldEndFontAlignment(9);46fold.setFoldStartFontAlignment(10);47fold.setFoldEndFontAlignment(10);48fold.setFoldStartFontAlignment(11);49fold.setFoldEndFontAlignment(11);50fold.setFoldStartFontAlignment(12);51fold.setFoldEndFontAlignment(12);52fold.setFoldStartFontAlignment(13);53fold.setFoldEndFontAlignment(13);54fold.setFoldStartFontAlignment(14);55fold.setFoldEndFontAlignment(14);56fold.setFoldStartFontAlignment(15);XmlFoldStart
Using AI Code Generation
1{2    public XmlFoldStart(XmlFoldBlock parent, int startLine, int startColumn, int endLine, int endColumn, string text) : base(parent, startLine, startColumn, endLine, endColumn, text)3    {4    }5}6{7    public XmlFoldEnd(XmlFoldBlock parent, int startLine, int startColumn, int endLine, int endColumn, string text) : base(parent, startLine, startColumn, endLine, endColumn, text)8    {9    }10}11{12    public XmlFoldBlock Parent { get; set; }13    public IList<XmlFoldBlock> Children { get; set; }14    public int StartLine { get; set; }15    public int StartColumn { get; set; }16    public int EndLine { get; set; }17    public int EndColumn { get; set; }18    public string Text { get; set; }19    public XmlFoldBlock(int startLine, int startColumn, int endLine, int endColumn, string text)20    {21        Children = new List<XmlFoldBlock>();22        StartLine = startLine;23        StartColumn = startColumn;24        EndLine = endLine;25        EndColumn = endColumn;26        Text = text;27    }28    public XmlFoldBlock(XmlFoldBlock parent, int startLine, int startColumn, int endLine, int endColumn, string text) : this(startLine, startColumn, endLine, endColumn, text)29    {30        Parent = parent;31        if (Parent != null)32            Parent.Children.Add(this);33    }34}35{XmlFoldStart
Using AI Code Generation
1{2    {3        private XmlFoldStart foldStart = new XmlFoldStart();4        private XmlFoldStart foldStart2 = new XmlFoldStart();5        private XmlFoldStart foldStart3 = new XmlFoldStart();6        public XmlEditorControl()7        {8            InitializeComponent();9            xmlEditor.FoldingManager.FoldingStrategy = foldStart;10            xmlEditor2.FoldingManager.FoldingStrategy = foldStart2;11            xmlEditor3.FoldingManager.FoldingStrategy = foldStart3;12        }13    }14}XmlFoldStart
Using AI Code Generation
1XmlFoldStart foldStart = new XmlFoldStart(element);2foldStart.Title = element.Name.ToString();3foldStart.Content = element.ToString();4foldStart.StartOffset = element.LinePosition;5foldStart.EndOffset = element.LinePosition + element.ToString().Length;6foldStarts.Add(foldStart);7XmlFoldEnd foldEnd = new XmlFoldEnd(element);8foldEnd.Title = element.Name.ToString();9foldEnd.Content = element.ToString();10foldEnd.StartOffset = element.LinePosition;11foldEnd.EndOffset = element.LinePosition + element.ToString().Length;12foldEnds.Add(foldEnd);13XmlFoldStart foldStart = new XmlFoldStart(element);14foldStart.Title = element.Name.ToString();15foldStart.Content = element.ToString();16foldStart.StartOffset = element.LinePosition;17foldStart.EndOffset = element.LinePosition + element.ToString().Length;18foldStarts.Add(foldStart);19XmlFoldEnd foldEnd = new XmlFoldEnd(element);20foldEnd.Title = element.Name.ToString();21foldEnd.Content = element.ToString();22foldEnd.StartOffset = element.LinePosition;23foldEnd.EndOffset = element.LinePosition + element.ToString().Length;24foldEnds.Add(foldEnd);Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
