private void View_RowDoubleClick(object sender, RowMouseEventArgs e) { OnRowDoubleClick(e); }
private void View_RowMouseUp(object sender, RowMouseEventArgs e) { OnRowMouseUp(e); }
protected virtual void OnRowMouseUp(RowMouseEventArgs e) { if (RowMouseUp != null) RowMouseUp(this, e); }
protected virtual void OnRowDoubleClick(RowMouseEventArgs e) { if (RowDoubleClick != null) RowDoubleClick(this, e); }
protected virtual void OnRowMouseDown(RowMouseEventArgs e) { if (RowMouseDown != null) RowMouseDown(this, e); }
protected virtual void OnRowMouseMove(RowMouseEventArgs e) { if (RowMouseMove != null) RowMouseMove(this, e); }
/// <summary> /// Overrides the default OnDoubleClick /// </summary> /// <param name="e"></param> 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(); }
protected override void OnClick(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; } OnRowClick(rea); #endregion }
/// <summary> /// Overrides the default OnMouseMove /// </summary> /// <param name="e"></param> protected override void OnMouseMove(MouseEventArgs e) { MouseX = e.X; MouseY = e.Y; TextPoint pos = Painter.CharFromPixel(e.X, e.Y); Row row = null; if (pos.Y >= 0 && pos.Y < Document.Count) row = Document[pos.Y]; #region RowEvent var rea = new RowMouseEventArgs {Row = row, Button = e.Button, MouseX = MouseX, MouseY = MouseY}; if (e.X >= View.TextMargin - 7) { rea.Area = RowArea.TextArea; } else if (e.X < View.GutterMarginWidth) { rea.Area = RowArea.GutterArea; } else if (e.X < View.LineNumberMarginWidth + View.GutterMarginWidth) { rea.Area = RowArea.LineNumberArea; } else if (e.X < View.TextMargin - 7) { rea.Area = RowArea.FoldingArea; } OnRowMouseMove(rea); #endregion try { if (Document != null) { if (e.Button == MouseButtons.Left) { if (View.Action == EditAction.SelectText) { //Selection ACTIONS!!!!!!!!!!!!!! Caret.Blink = true; Caret.SetPos(pos); if (e.X <= View.TotalMarginWidth) Caret.MoveDown(true); Caret.CropPosition(); Selection.MakeSelection(); ScrollIntoView(); Redraw(); } else if (View.Action == EditAction.None) { if (IsOverSelection(e.X, e.Y)) { BeginDragDrop(); } } else if (View.Action == EditAction.DragText) {} } else { TextPoint p = pos; Row r = Document[p.Y]; bool DidShow = false; if (r != null) { if (e.X >= r.Expansion_PixelEnd && r.IsCollapsed) { // ROB: Added check for Collapsed tooltips. if (CollapsedBlockTooltipsEnabled) { if (r.expansion_StartSpan != null) { if (r.expansion_StartSpan.StartRow != null && r.expansion_StartSpan.EndRow != null && r.expansion_StartSpan.Expanded == false) { string t = ""; int j = 0; for (int i = r.expansion_StartSpan.StartRow.Index; i <= r.expansion_StartSpan.EndRow.Index; i++) { if (j > 0) t += "\n"; Row tmp = Document[i]; string tmpstr = tmp.Text.Replace("\t", " "); t += tmpstr; if (j > 20) { t += "..."; break; } j++; } //tooltip.res tooltip.InitialDelay = TooltipDelay; if (tooltip.GetToolTip(this) != t) tooltip.SetToolTip(this, t); tooltip.Active = true; DidShow = true; } } } } else { Word w = Document.GetFormatWordFromPos(p); if (w != null) { if (w.InfoTip != null) { tooltip.InitialDelay = TooltipDelay; if (tooltip.GetToolTip(this) != w.InfoTip) tooltip.SetToolTip(this, w.InfoTip); tooltip.Active = true; DidShow = true; } } } } if (tooltip != null) { if (!DidShow) tooltip.SetToolTip(this, ""); } } SetMouseCursor(e.X, e.Y); base.OnMouseMove(e); } } catch {} }
/// <summary> /// Overrides the default OnMouseUp /// </summary> /// <param name="e"></param> protected override void OnMouseUp(MouseEventArgs e) { MouseX = e.X; MouseY = e.Y; TextPoint pos = Painter.CharFromPixel(e.X, e.Y); Row row = null; if (pos.Y >= 0 && pos.Y < Document.Count) row = Document[pos.Y]; #region RowEvent var rea = new RowMouseEventArgs {Row = row, Button = e.Button, MouseX = MouseX, MouseY = MouseY}; if (e.X >= View.TextMargin - 7) { rea.Area = RowArea.TextArea; } else if (e.X < View.GutterMarginWidth) { rea.Area = RowArea.GutterArea; } else if (e.X < View.LineNumberMarginWidth + View.GutterMarginWidth) { rea.Area = RowArea.LineNumberArea; } else if (e.X < View.TextMargin - 7) { rea.Area = RowArea.FoldingArea; } OnRowMouseUp(rea); #endregion if (View.Action == EditAction.None) { if (e.X > View.TotalMarginWidth) { if (IsOverSelection(e.X, e.Y) && e.Button == MouseButtons.Left) { View.Action = EditAction.SelectText; Caret.SetPos(Painter.CharFromPixel(e.X, e.Y)); Selection.ClearSelection(); Redraw(); } } } View.Action = EditAction.None; base.OnMouseUp(e); }
/// <summary> /// Overrides the default OnMouseDown /// </summary> /// <param name="e"></param> protected override void OnMouseDown(MouseEventArgs e) { MouseX = e.X; MouseY = e.Y; SetFocus(); base.OnMouseDown(e); TextPoint pos = Painter.CharFromPixel(e.X, e.Y); Row row = null; if (pos.Y >= 0 && pos.Y < Document.Count) row = Document[pos.Y]; #region RowEvent var rea = new RowMouseEventArgs {Row = row, Button = e.Button, MouseX = MouseX, MouseY = MouseY}; if (e.X >= View.TextMargin - 7) { rea.Area = RowArea.TextArea; } else if (e.X < View.GutterMarginWidth) { rea.Area = RowArea.GutterArea; } else if (e.X < View.LineNumberMarginWidth + View.GutterMarginWidth) { rea.Area = RowArea.LineNumberArea; } else if (e.X < View.TextMargin - 7) { rea.Area = RowArea.FoldingArea; } OnRowMouseDown(rea); #endregion try { Row r2 = Document[pos.Y]; if (r2 != null) { if (e.X >= 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) { if (!IsOverSelection(e.X, e.Y)) { Caret.Position.X = pos.X; Caret.Position.Y = pos.Y; Selection.ClearSelection(); Row r3 = r2.Expansion_EndRow; int x3 = r3.Expansion_StartChar; Caret.Position.X = x3; Caret.Position.Y = r3.Index; Selection.MakeSelection(); Redraw(); View.Action = EditAction.SelectText; return; } } } } } } catch { //this is untested code... } bool shift = NativeMethods.IsKeyPressed(Keys.ShiftKey); if (e.X > View.TotalMarginWidth) { if (e.X > View.TextMargin - 8) { if (!IsOverSelection(e.X, e.Y)) { //selecting if (e.Button == MouseButtons.Left) { if (!shift) { TextPoint tp = pos; Word w = Document.GetWordFromPos(tp); if (w != null && w.Pattern != null && w.Pattern.Category != null) { var pe = new WordMouseEventArgs { Pattern = w.Pattern, Button = e.Button, Cursor = Cursors.Hand, Word = w }; _SyntaxBox.OnWordMouseDown(ref pe); Cursor = pe.Cursor; return; } View.Action = EditAction.SelectText; Caret.SetPos(pos); Selection.ClearSelection(); Caret.Blink = true; Redraw(); } else { View.Action = EditAction.SelectText; Caret.SetPos(pos); Selection.MakeSelection(); Caret.Blink = true; Redraw(); } } } } else { if (row != null) if (row.expansion_StartSpan != null) { Caret.SetPos(new TextPoint(0, pos.Y)); Selection.ClearSelection(); Document.ToggleRow(row); Redraw(); } } } else { if (e.X < View.GutterMarginWidth) { if (_SyntaxBox.AllowBreakPoints) { Row r = Document[Painter.CharFromPixel(e.X, e.Y).Y]; r.Breakpoint = !r.Breakpoint; Redraw(); } else { Row r = Document[Painter.CharFromPixel(e.X, e.Y).Y]; r.Breakpoint = false; Redraw(); } } else { View.Action = EditAction.SelectText; Caret.SetPos(Painter.CharFromPixel(0, e.Y)); Selection.ClearSelection(); Caret.MoveDown(true); Redraw(); } } SetMouseCursor(e.X, e.Y); }
private void OnRowDoubleClick(RowMouseEventArgs e) { if (RowDoubleClick != null) RowDoubleClick(this, e); }
private void OnRowMouseUp(RowMouseEventArgs e) { if (RowMouseUp != null) RowMouseUp(this, e); }
private void OnRowMouseMove(RowMouseEventArgs e) { if (RowMouseMove != null) RowMouseMove(this, e); }
private void OnRowMouseDown(RowMouseEventArgs e) { if (RowMouseDown != null) RowMouseDown(this, e); }