private void fCTBCodeMarkLine(bool select = true) // after click on gcode line, mark text and graphics { if ((fCTBCodeClickedLineNow <= fCTBCode.LinesCount) && (fCTBCodeClickedLineNow >= 0)) { fCTBBookmark = new Bookmark(fCTBCode, "marked", fCTBCodeClickedLineNow); if (fCTBCodeClickedLineNow != fCTBCodeClickedLineLast) { fCTBCode.UnbookmarkLine(fCTBCodeClickedLineLast); fCTBCode.BookmarkLine(fCTBCodeClickedLineNow); fCTBCodeClickedLineLast = fCTBCodeClickedLineNow; // Set marker in drawing Place tst = fCTBCode.Selection.Start; VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, !isStreaming); if ((fCTBCode.Lines[tst.iLine].Contains(xmlMarker.groupStart)) || (fCTBCode.Lines[tst.iLine].Contains(xmlMarker.groupEnd))) { VisuGCode.markSelectedGroup(tst.iLine); } if (select && codeSelection.checkClicked(fCTBCodeClickedLineNow)) { setFigureIsMarked(true); fCTBCode.DoCaretVisible(); } else { setFigureIsMarked(false); } pictureBox1.Invalidate(); // avoid too much events toolStrip_tb_StreamLine.Text = fCTBCodeClickedLineNow.ToString(); } } }
private void fCTBCodeMarkLine(bool markAnyway = false) // after click on gcode line, mark text and graphics { if ((fCTBCodeClickedLineNow <= fCTBCode.LinesCount) && (fCTBCodeClickedLineNow >= 0)) { if ((fCTBCodeClickedLineNow != fCTBCodeClickedLineLast) || markAnyway) { fCTBCode.UnbookmarkLine(fCTBCodeClickedLineLast); // remove marker from old line fCTBCode.BookmarkLine(fCTBCodeClickedLineNow); // set new marker fCTBCodeClickedLineLast = fCTBCodeClickedLineNow; VisuGCode.setPosMarkerLine(fCTBCodeClickedLineNow, !isStreaming); pictureBox1.Invalidate(); // avoid too much events toolStrip_tb_StreamLine.Text = fCTBCodeClickedLineNow.ToString(); } } }
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(); }