public static bool checkClicked(int value) { clicked = value; rangeOk = false; type = xmlMarkerType.none; if ((fCTB != null) && (clicked >= 0)) { if (gcode.loggerTrace) { Logger.Trace("checkClicked Line {0} {1}", clicked, fCTB.Lines[clicked]); } if (fCTB.Lines[clicked].Contains(xmlMarker.groupStart)) { type = xmlMarkerType.Group; } else if (fCTB.Lines[clicked].Contains(xmlMarker.groupEnd)) { type = xmlMarkerType.Group; } else if (fCTB.Lines[clicked].Contains(xmlMarker.figureStart)) { type = xmlMarkerType.Figure; } else if (fCTB.Lines[clicked].Contains(xmlMarker.figureEnd)) { type = xmlMarkerType.Figure; } else if (fCTB.Lines[clicked].Contains(xmlMarker.passStart)) { type = xmlMarkerType.Pass; } else if (fCTB.Lines[clicked].Contains(xmlMarker.contourStart)) { type = xmlMarkerType.Contour; } else if (fCTB.Lines[clicked].Contains(xmlMarker.fillStart)) { type = xmlMarkerType.Fill; } if ((type == xmlMarkerType.none) || (type == xmlMarkerType.Figure)) { findRange(xmlMarker.figureStart, xmlMarker.figureEnd); } else if (type == xmlMarkerType.Group) { findRange(xmlMarker.groupStart, xmlMarker.groupEnd); } if (rangeOk) { setSelection(); } } return(rangeOk); }
private void findFigureMarkSelection(xmlMarkerType marker, int clickedLine, bool collapse = true) // called by click on figure in 2D view { if (manualEdit) { return; } if (logDetailed) { Logger.Trace(" findFigureMarkSelection marker:{0} line:{1} collapse:{2}", marker, clickedLine, collapse); } fCTBCode.Selection.ColumnSelectionMode = false; statusStripClear(2); enableBlockCommands(false); markedBlockType = marker; Color highlight = Color.GreenYellow; if (marker == xmlMarkerType.Group) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } if (xmlMarker.GetGroup(clickedLine)) { fCTBCode.ExpandFoldedBlock(xmlMarker.lastGroup.lineStart); enableBlockCommands(setTextSelection(xmlMarker.lastGroup.lineStart, xmlMarker.lastGroup.lineEnd)); VisuGCode.markSelectedGroup(xmlMarker.lastGroup.lineStart); statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastGroup.lineStart]), highlight); pictureBox1.Invalidate(); fCTBCode.Invalidate(); } } else if (xmlMarker.GetFigureCount() > 0) { if (collapse) { foldBlocks2(); } markedBlockType = xmlMarkerType.Figure; if (xmlMarker.GetFigure(clickedLine)) { enableBlockCommands(setTextSelection(xmlMarker.lastFigure.lineStart, xmlMarker.lastFigure.lineEnd)); VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, false); //!isStreaming); // 2020-08-24 don't highlight in setPosMarkerLine - was done (or deselect) before in setPosMarkerNearBy statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastFigure.lineStart]), highlight); fCTBCode.Invalidate(); } } } else if (marker == xmlMarkerType.Figure) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { foldBlocks2(); } } else { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } } if (xmlMarker.GetFigure(clickedLine)) { enableBlockCommands(setTextSelection(xmlMarker.lastFigure.lineStart, xmlMarker.lastFigure.lineEnd)); VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, false); //!isStreaming); // 2020-08-24 don't highlight in setPosMarkerLine - was done (or deselect) before in setPosMarkerNearBy statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastFigure.lineStart]), highlight); fCTBCode.Invalidate(); } if (xmlMarker.lastFigure.lineStart < fCTBCode.LinesCount) { fCTBCode.ExpandFoldedBlock(xmlMarker.lastFigure.lineStart); } } else if (marker == xmlMarkerType.Line) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { foldBlocks2(); } } else { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } } if (xmlMarker.GetFigure(clickedLine)) { fCTBCode.ExpandFoldedBlock(xmlMarker.lastFigure.lineStart); } if (clickedLine == xmlMarker.lastFigure.lineStart) { clickedLine++; } fCTBCodeClickedLineNow = clickedLine; setTextSelection(clickedLine, clickedLine); enableBlockCommands(false, true); } fCTBCodeClickedLineNow = xmlMarker.lastFigure.lineStart; fCTBCode.DoCaretVisible(); this.Invalidate(); }
private void findFigureMarkSelection(xmlMarkerType marker, int clickedLine, bool collapse = true) // called by click on figure in 2D view { if (manualEdit) { return; } fCTBCode.Selection.ColumnSelectionMode = false; statusStripClear(2); enableBlockCommands(false); markedBlockType = marker; if (marker == xmlMarkerType.Group) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } if (xmlMarker.GetGroup(clickedLine)) { fCTBCode.ExpandFoldedBlock(xmlMarker.lastGroup.lineStart); enableBlockCommands(setTextSelection(xmlMarker.lastGroup.lineStart, xmlMarker.lastGroup.lineEnd)); VisuGCode.markSelectedGroup(xmlMarker.lastGroup.lineStart); statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastGroup.lineStart]), SystemColors.Control); pictureBox1.Invalidate(); fCTBCode.Invalidate(); } } else if (xmlMarker.GetFigureCount() > 0) { if (collapse) { foldBlocks2(); } markedBlockType = xmlMarkerType.Figure; if (xmlMarker.GetFigure(clickedLine)) { enableBlockCommands(setTextSelection(xmlMarker.lastFigure.lineStart, xmlMarker.lastFigure.lineEnd)); VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, !isStreaming); statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastFigure.lineStart]), SystemColors.Control); } } } else if (marker == xmlMarkerType.Figure) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { foldBlocks2(); } } else { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } } if (xmlMarker.GetFigure(clickedLine)) { enableBlockCommands(setTextSelection(xmlMarker.lastFigure.lineStart, xmlMarker.lastFigure.lineEnd)); VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, !isStreaming); statusStripSet(2, string.Format("Marked: {0}", fCTBCode.Lines[xmlMarker.lastFigure.lineStart]), SystemColors.Control); fCTBCode.Invalidate(); } fCTBCode.ExpandFoldedBlock(xmlMarker.lastFigure.lineStart); } else if (marker == xmlMarkerType.Line) { if (xmlMarker.GetGroupCount() > 0) { if (collapse) { foldBlocks2(); } } else { if (collapse) { fCTBCode.CollapseAllFoldingBlocks(); foldLevel = 1; } } if (xmlMarker.GetFigure(clickedLine)) { fCTBCode.ExpandFoldedBlock(xmlMarker.lastFigure.lineStart); } if (clickedLine == xmlMarker.lastFigure.lineStart) { clickedLine++; } fCTBCodeClickedLineNow = clickedLine; setTextSelection(clickedLine, clickedLine); enableBlockCommands(false, true); } fCTBCodeClickedLineNow = xmlMarker.lastFigure.lineStart; fCTBCode.DoCaretVisible(); }