Exemplo n.º 1
0
        private DcColumn RemoveAt(int index)
        {
            if (Size == 0)
            {
                return(null);           // Nothing to remove
            }
            if (index < 0 || index >= Segments.Count)
            {
                return(null);                                      // Bad index
            }
            DcColumn result = Segments[index];

            Segments.RemoveAt(index);

            if (Segments.Count != 0)
            {
                Input  = Segments[0].Input;
                Output = Segments[Segments.Count - 1].Output;
            }
            else
            {
                // Note: Input table and Output table are not table - this must be done in public methods and depends on whether it is removed as first or last segment (it is important for some algorithms)
            }

            return(result);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Removes the last path segment
 /// </summary>
 /// <remarks>&lt;scheme&gt;://&lt;host&gt;:&lt;port&gt;/&lt;path segment 1&gt;/&lt;path segment 2&gt;?&lt;query key 1&gt;=&lt;query value 1&gt;&amp;&lt;query key 2&gt;=&lt;query value 2&gt;#&lt;fragment&gt;</remarks>
 /// <returns>The UrlBuilder so you can chain/build</returns>
 public UrlBuilder RemoveLastSegment()
 {
     if (Segments.Count > 0)
     {
         Segments.RemoveAt(Segments.Count - 1);
     }
     return(this);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Removes the first path segment
 /// </summary>
 /// <remarks>&lt;scheme&gt;://&lt;host&gt;:&lt;port&gt;/&lt;path segment 1&gt;/&lt;path segment 2&gt;?&lt;query key 1&gt;=&lt;query value 1&gt;&amp;&lt;query key 2&gt;=&lt;query value 2&gt;#&lt;fragment&gt;</remarks>
 /// <returns>The UrlBuilder so you can chain/build</returns>
 public UrlBuilder RemoveFirstSegment()
 {
     if (Segments.Count > 0)
     {
         Segments.RemoveAt(0);
     }
     return(this);
 }
Exemplo n.º 4
0
 private void btnDelete_Click(object sender, EventArgs e)
 {
     if (listSegments.SelectedItems.Count == 0)
     {
         return;
     }
     Segments.RemoveAt((int)listSegments.SelectedItems[0].Tag);
     InitMe();
 }
Exemplo n.º 5
0
        /// ------------------------------------------------------------------------------------
        public virtual bool RemoveSegment(int index)
        {
            if (index < 0 || index >= Segments.Count)
            {
                return(false);
            }

            Segments.RemoveAt(index);
            return(true);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Pop the last segment.
        /// </summary>
        /// <returns>The pop last segment.</returns>
        internal ODataPath Pop()
        {
            if (!Segments.Any())
            {
                throw Error.InvalidOperation(SRResource.ODataPathPopInvalid);
            }

            _pathKind            = null;
            _defaultPathItemName = null;
            Segments.RemoveAt(Segments.Count - 1);
            return(this);
        }
Exemplo n.º 7
0
        /// <summary>
        /// This will reorder our segments (in a CW sense).
        /// NOTE: The center will not be recalculated.
        /// </summary>
        public void Cycle(int num)
        {
            if (num < 0 || num > this.NumSides)
            {
                throw new System.ArgumentException("Cycle called with invalid input.");
            }

            for (int i = 0; i < num; i++)
            {
                // Move the first to the last (like a CW rotation).
                Segment first = Segments[0];
                Segments.RemoveAt(0);
                Segments.Add(first);
            }
        }
Exemplo n.º 8
0
        /// <summary>Parses the segment with dot-segment normalization.</summary>
        /// <param name="actualUrl">The actual URL.</param>
        /// <param name="index">Current index.</param>
        /// <param name="lastSegment">The last segment index.</param>
        /// <returns>New index to be set.</returns>
        protected int ParseSegment(StringBuilder actualUrl, int index, ref int lastSegment)
        {
            if (index - lastSegment - 1 > 0)
            {
                string segment = actualUrl.ToString(lastSegment + 1, index - lastSegment - 1);
                switch (segment)
                {
                case ".":
                    actualUrl.Remove(lastSegment + 1, index - lastSegment);
                    index  -= 2;
                    segment = null;
                    break;

                case "..":
                    actualUrl.Remove(lastSegment + 1, index - lastSegment);
                    index  -= 3;
                    segment = null;
                    if (Segments.Count > 0)
                    {
                        int segmentLength = Segments[Segments.Count - 1].Length + 1;
                        actualUrl.Remove(lastSegment = index -= segmentLength, segmentLength);
                        Segments.RemoveAt(Segments.Count - 1);
                    }

                    break;
                }

                if (segment != null)
                {
                    Segments.Add(segment);
                    lastSegment = index;
                }
            }
            else
            {
                lastSegment = index;
            }

            return(index);
        }
Exemplo n.º 9
0
 public void RemoveSegment(int index)
 {
     Segments.RemoveAt(index);
 }
Exemplo n.º 10
0
 public void RemoveSegment(int index)
 {
     Segments[index].Dispose();
     Segments.RemoveAt(index);
 }