Alsing.Windows.Forms.SyntaxBox.EditViewControl.OnDoubleClick C# (CSharp) Method

OnDoubleClick() protected method

Overrides the default OnDoubleClick
protected OnDoubleClick ( EventArgs e ) : void
e System.EventArgs
return void
        protected override void OnDoubleClick(EventArgs e)
        {
            TextPoint pos = Painter.CharFromPixel(MouseX, MouseY);
            Row row = null;
            if (pos.Y >= 0 && pos.Y < Document.Count)
                row = Document[pos.Y];

            #region RowEvent

            var rea = new RowMouseEventArgs {Row = row, Button = MouseButtons.None, MouseX = MouseX, MouseY = MouseY};
            if (MouseX >= View.TextMargin - 7)
            {
                rea.Area = RowArea.TextArea;
            }
            else if (MouseX < View.GutterMarginWidth)
            {
                rea.Area = RowArea.GutterArea;
            }
            else if (MouseX < View.LineNumberMarginWidth +
                              View.GutterMarginWidth)
            {
                rea.Area = RowArea.LineNumberArea;
            }
            else if (MouseX < View.TextMargin - 7)
            {
                rea.Area = RowArea.FoldingArea;
            }

            OnRowDoubleClick(rea);

            #endregion

            try
            {
                Row r2 = Document[pos.Y];
                if (r2 != null)
                {
                    if (MouseX >= r2.Expansion_PixelEnd && r2.IsCollapsed)
                    {
                        if (r2.expansion_StartSpan != null)
                        {
                            if (r2.expansion_StartSpan.StartRow != null &&
                                r2.expansion_StartSpan.EndRow != null &&
                                r2.expansion_StartSpan.Expanded == false)
                            {
                                r2.Expanded = true;
                                Document.ResetVisibleRows();
                                Redraw();
                                return;
                            }
                        }
                    }
                }
            }
            catch
            {
                //this is untested code...
            }

            if (MouseX > View.TotalMarginWidth)
                SelectCurrentWord();
        }