예제 #1
0
        protected internal void PositionChanged(int X, int Y, int DeltaX, int DeltaY)
        {
            int num1;

            base.FindFirst(Y, out num1, this.lineComparer);
            if (num1 >= 0)
            {
                bool flag1 = false;
                for (int num2 = num1; num2 < this.Count; num2++)
                {
                    BookMark mark1  = (BookMark)this[num2];
                    Point    point1 = new Point(mark1.Char, mark1.Line);
                    if (SortList.UpdatePos(X, Y, DeltaX, DeltaY, ref point1, true))
                    {
                        if (mark1.Index != 0x7fffffff)
                        {
                            mark1.Char = point1.X;
                        }
                        mark1.Line = point1.Y;
                        flag1      = true;
                    }
                }
                if (flag1)
                {
                    this.Sort(this.bookMarkComparer);
                }
            }
        }
예제 #2
0
 protected internal override bool ShouldDelete(BookMark bm, Rectangle Rect)
 {
     if (SortList.InsideBlock(new Point(0, bm.Line), Rect))
     {
         return(SortList.InsideBlock(new Point(0x7fffffff, bm.Line), Rect));
     }
     return(false);
 }
예제 #3
0
 // Methods
 public XmlTextSourceInfo()
 {
     this.navigateOptions = EditConsts.DefaultNavigateOptions;
     this.indentOptions   = EditConsts.DefaultIndentOptions;
     BookMark[] markArray1 = new BookMark[0];
     this.bookMarks = markArray1;
     LStyle[] styleArray1 = new LStyle[0];
     this.lineStyles    = styleArray1;
     this.undoOptions   = EditConsts.DefaultUndoOptions;
     this.bracesOptions = River.Orqa.Editor.BracesOptions.None;
 }
예제 #4
0
 protected internal virtual bool ShouldDelete(BookMark bm, Rectangle Rect)
 {
     if (bm.Index != 0x7fffffff)
     {
         return(SortList.InsideBlock(new Point(bm.Char, bm.Line), Rect));
     }
     if (SortList.InsideBlock(new Point(0, bm.Line), Rect))
     {
         return(SortList.InsideBlock(new Point(0x7fffffff, bm.Line), Rect));
     }
     return(false);
 }
예제 #5
0
        protected internal void BlockDeleting(Rectangle Rect)
        {
            int num1;

            base.FindFirst(Rect.Bottom, out num1, this.lineComparer);
            if (num1 >= 0)
            {
                for (int num2 = Math.Min(num1, (int)(this.Count - 1)); num2 >= 0; num2--)
                {
                    BookMark mark1 = (BookMark)this[num2];
                    if (mark1.Line < Rect.Top)
                    {
                        return;
                    }
                    if (this.ShouldDelete(mark1, Rect))
                    {
                        this.RemoveAt(num2);
                    }
                }
            }
        }