コード例 #1
0
 /// <summary>Unfold All Bracked Code</summary>
 /// <param name="sci">Scintilla Control Name</param>
 public void UnFold(Scintilla sci)
 {
     // update control text (from any thread) -- [ works in dll ]
     if (sci.InvokeRequired)
     {
         sci.BeginInvoke((MethodInvoker) delegate() { sci.FoldAll(FoldAction.Expand); });
     }
     else
     {
         sci.FoldAll(FoldAction.Expand);
     }
 }
コード例 #2
0
 void collapseAllToolStripMenuItem_Click(object sender, EventArgs e)
 {
     TextArea.FoldAll(FoldAction.Contract);
 }
コード例 #3
0
        public void InitScintilla(Scintilla scintilla)
        {
            // INITIAL VIEW CONFIG
            scintilla.WrapMode          = WrapMode.None;
            scintilla.IndentationGuides = IndentView.LookBoth;

            scintilla.StyleResetDefault();
            scintilla.Styles[Style.Default].Font  = "Courier New";
            scintilla.Styles[Style.Default].SizeF = 9.75f;
            scintilla.StyleClearAll();

            //scintilla.Margins[0].Type = MarginType.Number;
            scintilla.Margins[0].Width = 20; // Show line numbers.

            scintilla.Lexer = Lexer.Xml;

            // DEFAULT
            scintilla.Styles[0].ForeColor = Color.FromArgb(0x000000);
            scintilla.Styles[0].BackColor = Color.FromArgb(0xFFFFFF);
            scintilla.Styles[0].Bold      = true;
            // TAG
            scintilla.Styles[1].ForeColor = Color.FromArgb(0x0000FF);
            scintilla.Styles[1].BackColor = Color.FromArgb(0xFFFFFF);
            // TAGUNKNOWN
            scintilla.Styles[2].ForeColor = Color.FromArgb(0x0000FF);
            scintilla.Styles[2].BackColor = Color.FromArgb(0xFFFFFF);
            // ATTRIBUTE
            scintilla.Styles[3].ForeColor = Color.FromArgb(0xFF0000);
            scintilla.Styles[3].BackColor = Color.FromArgb(0xFFFFFF);
            // ATTRIBUTEUNKNOWN
            scintilla.Styles[4].ForeColor = Color.FromArgb(0xFF0000);
            scintilla.Styles[4].BackColor = Color.FromArgb(0xFFFFFF);
            // NUMBER
            scintilla.Styles[5].ForeColor = Color.FromArgb(0xFF0000);
            scintilla.Styles[5].BackColor = Color.FromArgb(0xFFFFFF);
            // DOUBLESTRING
            scintilla.Styles[6].ForeColor = Color.FromArgb(0x8000FF);
            scintilla.Styles[6].BackColor = Color.FromArgb(0xFFFFFF);
            //scintilla.Styles[6].Bold = true;
            // SINGLESTRING
            scintilla.Styles[7].ForeColor = Color.FromArgb(0x8000FF);
            scintilla.Styles[7].BackColor = Color.FromArgb(0xFFFFFF);
            //scintilla.Styles[7].Bold = true;
            // COMMENT
            scintilla.Styles[9].ForeColor = Color.FromArgb(0x008000);
            scintilla.Styles[9].BackColor = Color.FromArgb(0xFFFFFF);
            // ENTITY
            scintilla.Styles[10].ForeColor = Color.FromArgb(0x000000);
            scintilla.Styles[10].BackColor = Color.FromArgb(0xFEFDE0);
            //scintilla.Styles[10].Italic = true;
            // TAGEND
            scintilla.Styles[11].ForeColor = Color.FromArgb(0x0000FF);
            scintilla.Styles[11].BackColor = Color.FromArgb(0xFFFFFF);
            // XMLSTART
            scintilla.Styles[12].ForeColor = Color.FromArgb(0xFF0000);
            scintilla.Styles[12].BackColor = Color.FromArgb(0xFFFF00);
            // XMLEND
            scintilla.Styles[13].ForeColor = Color.FromArgb(0xFF0000);
            scintilla.Styles[13].BackColor = Color.FromArgb(0xFFFF00);
            // SGMLDEFAULT
            scintilla.Styles[21].ForeColor = Color.FromArgb(0x000000);
            scintilla.Styles[21].BackColor = Color.FromArgb(0xA6CAF0);
            // CDATA
            scintilla.Styles[17].ForeColor = Color.FromArgb(0xFF8000);
            scintilla.Styles[17].BackColor = Color.FromArgb(0xFFFFFF);

            // Enable folding
            scintilla.SetProperty("fold", "1");
            scintilla.SetProperty("fold.compact", "1");
            scintilla.SetProperty("fold.html", "1");

            // Configure a margin to display folding symbols
            scintilla.Margins[2].Type      = MarginType.Symbol;
            scintilla.Margins[2].Mask      = Marker.MaskFolders;
            scintilla.Margins[2].Sensitive = true;
            scintilla.Margins[2].Width     = 20;

            // Set colors for all folding markers

            /*for (int i = 25; i <= 31; i++)
             * {
             *  scintilla.Markers[i].SetForeColor(SystemColors.ControlLightLight);
             *  scintilla.Markers[i].SetBackColor(SystemColors.ControlDark);
             * }*/

            // Reset folder markers
            for (int i = Marker.FolderEnd; i <= Marker.FolderOpen; i++)
            {
                scintilla.Markers[i].SetForeColor(SystemColors.ControlLightLight);
                scintilla.Markers[i].SetBackColor(SystemColors.ControlDark);
            }

            // Style the folder markers
            scintilla.Markers[Marker.Folder].Symbol = MarkerSymbol.BoxPlus;
            scintilla.Markers[Marker.Folder].SetBackColor(SystemColors.ControlText);
            scintilla.Markers[Marker.FolderOpen].Symbol = MarkerSymbol.BoxMinus;
            scintilla.Markers[Marker.FolderEnd].Symbol  = MarkerSymbol.BoxPlusConnected;
            scintilla.Markers[Marker.FolderEnd].SetBackColor(SystemColors.ControlText);
            scintilla.Markers[Marker.FolderMidTail].Symbol = MarkerSymbol.TCorner;
            scintilla.Markers[Marker.FolderOpenMid].Symbol = MarkerSymbol.BoxMinusConnected;
            scintilla.Markers[Marker.FolderSub].Symbol     = MarkerSymbol.VLine;
            scintilla.Markers[Marker.FolderTail].Symbol    = MarkerSymbol.LCorner;

            // Enable automatic folding
            scintilla.AutomaticFold = AutomaticFold.Show | AutomaticFold.Click | AutomaticFold.Change;

            scintilla.ClearCmdKey(Keys.Control | Keys.F);
            scintilla.ClearCmdKey(Keys.Control | Keys.G);
            scintilla.ClearCmdKey(Keys.Control | Keys.S);
            scintilla.ClearCmdKey(Keys.Control | Keys.H);
            scintilla.ClearCmdKey(Keys.Control | Keys.B);

            scintilla.FoldAll(FoldAction.Expand);
            scintilla.FoldAll(FoldAction.Contract);

            scintilla.Text = string.Empty;
            scintilla.EmptyUndoBuffer();

            scintilla.TextChanged += (this.OnTextChanged);
        }
コード例 #4
0
 public void FoldAll(FoldAction foldAction)
 {
     textArea.FoldAll(foldAction);
 }
コード例 #5
0
 private void collapseAllToolStripMenuItem_Click(object sender, EventArgs e)
 {
     codeEditor.FoldAll(FoldAction.Contract);
 }