Click here to Skip to main content
15,892,298 members
Articles / Desktop Programming / Windows Forms

Storm - the world's best IDE framework for .NET

Rate me:
Please Sign up or sign in to vote.
4.96/5 (82 votes)
4 Feb 2010LGPL311 min read 276.8K   6.5K   340  
Create fast, flexible, and extensible IDE applications easily with Storm - it takes nearly no code at all!

namespace Storm.TextEditor.Parser.Objects
{
	/// <summary>
	/// Represents a more complex TextRange.
	/// <see cref="TextRange.cs"></see>
	/// </summary>
	public class Segment
	{
		#region Fields

		private int  depth    = 0;
		private bool expanded = true;

		private Block   block  = null;
		private Segment parent = null;

		private Row  startRow  = null;
		private Word startWord = null;
		private Row  endRow    = null;
		private Word endWord   = null;

		private Scope scope = null;

		#endregion

		#region Properties

		/// <summary>
		/// Gets or sets the depth of the Segment.
		/// </summary>
		public int Depth
		{
			get { return depth; }
			set { depth = value; }
		}

		/// <summary>
		/// Gets or sets whether the Segment is expanded.
		/// </summary>
		public bool Expanded
		{
			get { return expanded; }
			set { expanded = value; }
		}

		/// <summary>
		/// Gets or sets the Block of the Segment.
		/// </summary>
		public Block Block
		{
			get { return block; }
			set { block = value; }
		}

		/// <summary>
		/// Gets or sets the parent Segment of the Segment.
		/// </summary>
		public Segment Parent
		{
			get { return parent; }
			set { parent = value; }
		}

		/// <summary>
		/// Gets or sets the starting Row of the Segment.
		/// </summary>
		public Row StartRow
		{
			get { return startRow; }
			set { startRow = value; }
		}

		/// <summary>
		/// Gets or sets the starting Word of the Segment.
		/// </summary>
		public Word StartWord
		{
			get { return startWord; }
			set { startWord = value; }
		}

		/// <summary>
		/// Gets or sets the ending Row of the Segment.
		/// </summary>
		public Row EndRow
		{
			get { return endRow; }
			set { endRow = value; }
		}

		/// <summary>
		/// Gets or sets the ending Word of the Segment.
		/// </summary>
		public Word EndWord
		{
			get { return endWord; }
			set { endWord = value; }
		}

		/// <summary>
		/// Gets or sets the Scope of the Segment.
		/// </summary>
		public Scope Scope
		{
			get { return scope; }
			set { scope = value; }
		}

		#endregion

		/// <summary>
		/// Initializes a new instance of Segment.
		/// </summary>
		public Segment()
		{
		}

		/// <summary>
		/// Initializes a new instance of Segment.
		/// </summary>
		/// <param name="startRow">Starting Row of the Segment.</param>
		public Segment(Row startRow)
		{
			this.startRow = startRow;
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)



Comments and Discussions