Esempio n. 1
0
 /// <summary>
 /// Moves the cursor to the next marker
 /// </summary>
 public static void NextMarker(ScintillaControl sci, Int32 marker, Int32 line)
 {
     Int32 next = 0;
     Int32 lineMask = sci.MarkerGet(line);
     if ((lineMask & GetMarkerMask(marker)) != 0)
     {
         next = sci.MarkerNext(line + 1, GetMarkerMask(marker));
         if (next != -1) sci.GotoLine(next);
         else
         {
             next = sci.MarkerNext(0, GetMarkerMask(marker));
             if (next != -1) sci.GotoLine(next);
         }
     }
     else
     {
         next = sci.MarkerNext(line, GetMarkerMask(marker));
         if (next != -1) sci.GotoLine(next);
         else
         {
             next = sci.MarkerNext(0, GetMarkerMask(marker));
             if (next != -1) sci.GotoLine(next);
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Moves the cursor to the next marker
        /// </summary>
        public static void NextMarker(ScintillaControl sci, Int32 marker, Int32 line)
        {
            Int32 next = 0;
            Int32 lineMask = sci.MarkerGet(line);
            if ((lineMask & GetMarkerMask(marker)) != 0)
            {
                next = sci.MarkerNext(line + 1, GetMarkerMask(marker));
                if (next != -1)
                {
                    sci.EnsureVisibleEnforcePolicy(next);
                    sci.GotoLineIndent(next);
                }
                else
                {
                    next = sci.MarkerNext(0, GetMarkerMask(marker));
                    if (next != -1)
                    {

                        sci.EnsureVisibleEnforcePolicy(next);
                        sci.GotoLineIndent(next);
                    }
                }
            }
            else
            {
                next = sci.MarkerNext(line, GetMarkerMask(marker));
                if (next != -1)
                {
                    sci.EnsureVisibleEnforcePolicy(next);
                    sci.GotoLineIndent(next);
                }
                else
                {
                    next = sci.MarkerNext(0, GetMarkerMask(marker));
                    if (next != -1)
                    {
                        sci.EnsureVisibleEnforcePolicy(next);
                        sci.GotoLineIndent(next);
                    }
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Gets the state object from a scintilla control
 /// </summary>
 private static StateObject GetStateObject(ScintillaControl sci)
 {
     StateObject so = new StateObject();
     so.LineCount = sci.LineCount;
     so.Position = sci.CurrentPos;
     so.FileName = sci.FileName;
     so.LineScroll = sci.FirstVisibleLine;
     for (Int32 line = 0;; line++)
     {
         Int32 lineNext = sci.ContractedFoldNext(line);
         if ((line < 0) || (lineNext < line)) break;
         line = lineNext;
         so.FoldedLines.Add(line);
     }
     Int32 lineBookmark = -1;
     while ((lineBookmark = sci.MarkerNext(lineBookmark + 1, 1 << 0)) >= 0)
     {
         so.BookmarkedLines.Add(lineBookmark);
     }
     return so;
 }
Esempio n. 4
0
 public List<Int32> GetMarkers(ScintillaControl sci, int markerNum)
 {
     Int32 line = 0;
     List<Int32> markerLines = new List<Int32>();
     while (true)
     {
         if ((sci.MarkerNext(line, GetMarkerMask(markerNum)) == -1) || (line > sci.LineCount)) break;
         line = sci.MarkerNext(line, GetMarkerMask(markerNum));
         markerLines.Add(line);
         line++;
     }
     return markerLines;
 }
Esempio n. 5
0
 /// <summary>
 /// Return all the bookmark markers from a scintilla document
 /// </summary>
 private List<Int32> GetMarkers(ScintillaControl sci)
 {
     Int32 line = -1;
     List<Int32> markerLines = new List<Int32>();
     while (line < sci.LineCount)
     {
         line = sci.MarkerNext(line + 1, 1);
         if (line < 0) break;
         markerLines.Add(line);
     }
     return markerLines;
 }