Exemple #1
0
		/**
		* Provides a basic folding service and notifies 
		* the plugins for the MarginClick event
		*/
		public void OnScintillaControlMarginClick(ScintillaControl sci, int modifiers, int position, int margin)
		{
			if (margin == 2) 
			{
				int line = sci.LineFromPosition(position);
				sci.ToggleFold(line);
			}
		}
 /// <summary>
 /// Applies the state object to a scintilla control
 /// </summary>
 private static void ApplyStateObject(ScintillaControl sci, StateObject so, Boolean restorePosition)
 {
     if (so.LineCount != sci.LineCount) return;
     sci.Refresh(); // Update the scintilla control state
     for (Int32 i = 0; i < so.FoldedLines.Count; i++)
     {
         Int32 foldedLine = so.FoldedLines[i];
         sci.ToggleFold(foldedLine);
     }
     if (so.BookmarkedLines != null)
     {
         for (Int32 i = 0; i < so.BookmarkedLines.Count; i++)
         {
             Int32 bookmarkedLine = so.BookmarkedLines[i];
             sci.MarkerAdd(bookmarkedLine, 0);
         }
         sci.Refresh(); // Update again
     }
     if (restorePosition)
     {
         sci.FirstVisibleLine = so.LineScroll;
         Int32 line = sci.LineFromPosition(so.Position);
         sci.SetSel(so.Position, so.Position);
         sci.EnsureVisible(line);
     }
 }
Exemple #3
0
 /// <summary>
 /// Provides a basic folding service and notifies the plugins for the MarginClick event
 /// </summary>
 public void OnScintillaControlMarginClick(ScintillaControl sci, Int32 modifiers, Int32 position, Int32 margin)
 {
     if (margin == 2)
     {
         Int32 line = sci.LineFromPosition(position);
         if (Control.ModifierKeys == Keys.Control) MarkerManager.ToggleMarker(sci, 0, line);
         else sci.ToggleFold(line);
     }
 }