Skip to content

Commit 4ebcc41

Browse files
Merge pull request #1 from AsarudeenAbdulajis/main
WF-62454 [Sample] Need to prepare the samples for GitHub
2 parents dd7d92a + c4e324f commit 4ebcc41

File tree

227 files changed

+3575410
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

227 files changed

+3575410
-1
lines changed

Images/SyntaxEditor_Output.png

62.8 KB
Loading

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
# winforms-syntax-editor-getting-started
1+
# winforms-syntax-editor-getting-started
2+
3+
The EditControl is a powerful text editor control to create interactive code editor applications with its unique feature set. It has many efficient features such as editing, syntax highlighting, text indentation, intellisense, expand or collapse a block of code, and custom language configuration as in Microsoft Visual Studio Editor.
4+
5+
![](Images/SyntaxEditor_Output.PNG)
6+
7+
For know more about SyntaxEditor : https://www.syncfusion.com/winforms-ui-controls/syntax-editor
8+
9+
SyntaxEditor user guide documentation : https://help.syncfusion.com/windowsforms/syntax-editor/overview

SyntaxEditor_Demo/App.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
5+
</startup>
6+
</configuration>
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<ArrayOfConfigLanguage>
3+
<!--
4+
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:noNamespaceSchemaLocation="file://d:\Projects\EditControl\Syncfusion.Windows.Forms.Edit\config.xsd" -->
6+
<ConfigLanguage name="C#">
7+
<formats>
8+
<format name="Text" Font="Consolas, 10pt" FontColor="White" />
9+
<format name="Whitespace" Font="Consolas, 10pt" FontColor="Black" />
10+
<format name="KeyWord" Font="Consolas, 10pt" FontColor="#4494d6" />
11+
<format name="ImageProcessor" Font="Consolas, 10pt" FontColor="Blue" UseCustomControl="true" />
12+
<format name="String" Font="Consolas, 10pt, style=Bold" FontColor="#d69a70" BorderColor="#c44318" />
13+
<format name="Number" Font="Consolas, 10pt, style=Regular" FontColor="White" />
14+
<format name="Error" Font="Consolas, 10pt" FontColor="Black" underline="Wave" LineColor="Red" />
15+
<format name="Operator" Font="Consolas, 10pt" FontColor="White" />
16+
<format name="Comment" Font="Consolas, 10pt, style=Bold" FontColor="#52832d" />
17+
<format name="PreprocessorKeyword" Font="Consolas, 10pt" FontColor="Gray" />
18+
<format name="SelectedText" Font="Consolas, 10pt" BackColor="Highlight" FontColor="HighlightText" />
19+
<format name="CommentXML" Font="Consolas, 10pt, style=Bold" FontColor="Gray" />
20+
<format name="CollapsedText" Font="Consolas, 10pt" FontColor="Black" BorderColor="Gray"
21+
BorderStyle="Solid" />
22+
</formats>
23+
<extensions>
24+
<extension>cs</extension>
25+
<extension>txt</extension>
26+
<extension>log</extension>
27+
</extensions>
28+
<lexems>
29+
<lexem BeginBlock="." Type="Operator" DropContextChoiceList="true"/>
30+
<lexem BeginBlock="," Type="Operator" DropContextChoiceList="true"/>
31+
<lexem BeginBlock="=" Type="Operator" />
32+
<lexem BeginBlock="+" Type="Operator" />
33+
<lexem BeginBlock="-" Type="Operator" />
34+
<lexem BeginBlock="/" Type="Operator" />
35+
<lexem BeginBlock="*" Type="Operator" />
36+
<lexem BeginBlock="!=" Type="Operator" />
37+
<lexem BeginBlock="==" Type="Operator" />
38+
<lexem BeginBlock="-=" Type="Operator" />
39+
<lexem BeginBlock="+=" Type="Operator" />
40+
<lexem BeginBlock="=-" Type="Operator" />
41+
<lexem BeginBlock="=+" Type="Operator" />
42+
<lexem BeginBlock="*=" Type="Operator" />
43+
<lexem BeginBlock="/=" Type="Operator" />
44+
<lexem BeginBlock="=*" Type="Operator" />
45+
<lexem BeginBlock="=/" Type="Operator" />
46+
<lexem BeginBlock="++" Type="Operator" />
47+
<lexem BeginBlock="--" Type="Operator" />
48+
<lexem BeginBlock=";" Type="Operator" />
49+
<lexem BeginBlock=":" Type="Operator" />
50+
51+
52+
<lexem BeginBlock="," Type="Operator" />
53+
<lexem BeginBlock="abstract" Type="KeyWord" />
54+
<lexem BeginBlock="long" Type="KeyWord" />
55+
<lexem BeginBlock="as" Type="KeyWord" />
56+
<lexem BeginBlock="namespace" Type="KeyWord" />
57+
<lexem BeginBlock="base" Type="KeyWord" />
58+
<lexem BeginBlock="new" Type="KeyWord" />
59+
<lexem BeginBlock="bool" Type="KeyWord" />
60+
<lexem BeginBlock="null" Type="KeyWord" />
61+
<lexem BeginBlock="break" Type="KeyWord" />
62+
<lexem BeginBlock="object" Type="KeyWord" />
63+
<lexem BeginBlock="byte" Type="KeyWord" />
64+
<lexem BeginBlock="operator" Type="KeyWord" />
65+
<lexem BeginBlock="case" Type="KeyWord" />
66+
<lexem BeginBlock="out" Type="KeyWord" />
67+
<lexem BeginBlock="catch" Type="KeyWord" />
68+
<lexem BeginBlock="override" Type="KeyWord" />
69+
<lexem BeginBlock="char" Type="KeyWord" />
70+
<lexem BeginBlock="params" Type="KeyWord" />
71+
<lexem BeginBlock="checked" Type="KeyWord" />
72+
<lexem BeginBlock="private" Type="KeyWord" />
73+
<lexem BeginBlock="class" Type="KeyWord" />
74+
<lexem BeginBlock="protected" Type="KeyWord" />
75+
<lexem BeginBlock="const" Type="KeyWord" />
76+
<lexem BeginBlock="public" Type="KeyWord" />
77+
<lexem BeginBlock="continue" Type="KeyWord" />
78+
<lexem BeginBlock="readonly" Type="KeyWord" />
79+
<lexem BeginBlock="decimal" Type="KeyWord" />
80+
<lexem BeginBlock="ref" Type="KeyWord" />
81+
<lexem BeginBlock="default" Type="KeyWord" />
82+
<lexem BeginBlock="return" Type="KeyWord" />
83+
<lexem BeginBlock="delegate" Type="KeyWord" />
84+
<lexem BeginBlock="sbyte" Type="KeyWord" />
85+
<lexem BeginBlock="do" Type="KeyWord" />
86+
<lexem BeginBlock="sealed" Type="KeyWord" />
87+
<lexem BeginBlock="double" Type="KeyWord" />
88+
<lexem BeginBlock="short" Type="KeyWord" />
89+
<lexem BeginBlock="else" Type="KeyWord" />
90+
<lexem BeginBlock="sizeof" Type="KeyWord" />
91+
<lexem BeginBlock="enum" Type="KeyWord" />
92+
<lexem BeginBlock="stackalloc" Type="KeyWord" />
93+
<lexem BeginBlock="event" Type="KeyWord" />
94+
<lexem BeginBlock="static" Type="KeyWord" />
95+
<lexem BeginBlock="explicit" Type="KeyWord" />
96+
<lexem BeginBlock="string" Type="KeyWord" />
97+
<lexem BeginBlock="extern" Type="KeyWord" />
98+
<lexem BeginBlock="struct" Type="KeyWord" />
99+
<lexem BeginBlock="false" Type="KeyWord" />
100+
<lexem BeginBlock="switch" Type="KeyWord" />
101+
<lexem BeginBlock="finally" Type="KeyWord" />
102+
<lexem BeginBlock="this" Type="KeyWord" />
103+
<lexem BeginBlock="me" Type="KeyWord" />
104+
<lexem BeginBlock="fixed" Type="KeyWord" />
105+
<lexem BeginBlock="throw" Type="KeyWord" />
106+
<lexem BeginBlock="float" Type="KeyWord" />
107+
<lexem BeginBlock="true" Type="KeyWord" />
108+
<lexem BeginBlock="for" Type="KeyWord" />
109+
<lexem BeginBlock="try" Type="KeyWord" />
110+
<lexem BeginBlock="foreach" Type="KeyWord" />
111+
<lexem BeginBlock="typeof" Type="KeyWord" />
112+
<lexem BeginBlock="goto" Type="KeyWord" />
113+
<lexem BeginBlock="uint" Type="KeyWord" />
114+
<lexem BeginBlock="if" Type="KeyWord" />
115+
<lexem BeginBlock="ulong" Type="KeyWord" />
116+
<lexem BeginBlock="implicit" Type="KeyWord" />
117+
<lexem BeginBlock="unchecked" Type="KeyWord" />
118+
<lexem BeginBlock="in" Type="KeyWord" />
119+
<lexem BeginBlock="unsafe" Type="KeyWord" />
120+
<lexem BeginBlock="int" Type="KeyWord" />
121+
<lexem BeginBlock="ushort" Type="KeyWord" />
122+
<lexem BeginBlock="interface" Type="KeyWord" />
123+
<lexem BeginBlock="using" Type="KeyWord" />
124+
<lexem BeginBlock="internal" Type="KeyWord" />
125+
<lexem BeginBlock="virtual" Type="KeyWord" />
126+
<lexem BeginBlock="is" Type="KeyWord" />
127+
<lexem BeginBlock="void" Type="KeyWord" />
128+
<lexem BeginBlock="lock" Type="KeyWord" />
129+
<lexem BeginBlock="while" Type="KeyWord" />
130+
<lexem BeginBlock="get" Type="KeyWord" />
131+
<lexem BeginBlock="set" Type="KeyWord" />
132+
<lexem BeginBlock="add" Type="KeyWord" />
133+
<lexem BeginBlock="remove" Type="KeyWord" />
134+
<lexem BeginBlock="/*" EndBlock="*/" Type="Comment" OnlyLocalSublexems="true" IsComplex="true"
135+
IsCollapsable="true" CollapseName="/*...*/">
136+
<SubLexems>
137+
<lexem BeginBlock="\n" IsBeginRegex="true" />
138+
</SubLexems>
139+
</lexem>
140+
<lexem BeginBlock="(" EndBlock=")" Type="Operator" IsComplex="true" IsCollapsable="false" DropContextPrompt="true"
141+
CollapseName="(...)">
142+
<SubLexems>
143+
<lexem BeginBlock="\n" IsBeginRegex="true" />
144+
</SubLexems>
145+
</lexem>
146+
<lexem BeginBlock="&quot;" EndBlock="(&quot;)|(@&quot;)" Type="String" IsEndRegex="true" IsComplex="true" OnlyLocalSublexems="true">
147+
<SubLexems>
148+
<lexem BeginBlock="\" EndBlock="&quot;" Type="String" />
149+
</SubLexems>
150+
</lexem>
151+
<lexem BeginBlock="'" EndBlock="'" Type="String" IsComplex="true" OnlyLocalSublexems="true">
152+
<SubLexems>
153+
<lexem BeginBlock="\" EndBlock=".+" IsEndRegex="true" Priority="2" Type="String" />
154+
</SubLexems>
155+
</lexem>
156+
<lexem BeginBlock="@&quot;" EndBlock="(&quot;)|(@&quot;)" Type="String" IsEndRegex="true" OnlyLocalSublexems="true" IsComplex="true">
157+
<SubLexems>
158+
<lexem BeginBlock="\n" IsBeginRegex="true" />
159+
<lexem BeginBlock="&quot;" EndBlock="&quot;" Type="String"/>
160+
</SubLexems>
161+
</lexem>
162+
<lexem BeginBlock="[" EndBlock="]" Type="Operator" IsComplex="true" IsCollapsable="false" DropContextPrompt="true"
163+
CollapseName="[...]">
164+
<SubLexems>
165+
<lexem BeginBlock="\" EndBlock="&quot;" Type="String" />
166+
</SubLexems>
167+
</lexem>
168+
<lexem BeginBlock="//" EndBlock="\n" IsEndRegex="true" Type="Comment" IsComplex="true"
169+
OnlyLocalSublexems="true" />
170+
<lexem ID="1041" EndBlock="#endregion" Type="PreprocessorKeyword" IsComplex="true" >
171+
<SubLexems>
172+
<lexem BeginBlock="\n" IsBeginRegex="true" />
173+
</SubLexems>
174+
</lexem>
175+
<lexem BeginBlock="#region" EndBlock="\n" Type="PreprocessorKeyword" IsEndRegex="true" OnlyLocalSublexems="true"
176+
IsComplex="true" IsCollapsable="true" AutoNameExpression="(#region)\s*(?&lt;text>.*).*(?&lt;!\n)\n" AutoNameTemplate="${text}"
177+
IsCollapseAutoNamed="true" CollapseName="Unnamed Region" NextID="1041">
178+
<SubLexems>
179+
<lexem BeginBlock=".*(?&lt;!\n)" IsBeginRegex="true" Type="Text" />
180+
</SubLexems>
181+
</lexem>
182+
<lexem BeginBlock="\s" IsBeginRegex="true" Type="Whitespace" />
183+
<lexem BeginBlock="///" EndBlock="\n" IsEndRegex="true" Type="Comment" OnlyLocalSublexems="true"
184+
IsComplex="true">
185+
<SubLexems>
186+
<lexem BeginBlock="&lt;" EndBlock=">" Type="Custom" FormatName="CommentXML" IsComplex="true"
187+
OnlyLocalSublexems="true" />
188+
</SubLexems>
189+
</lexem>
190+
<lexem BeginBlock="[0-9]+" IsBeginRegex="true" Type="Number" />
191+
<lexem BeginBlock="[0-9]+" ContinueBlock="." EndBlock="[0-9]+" IsBeginRegex="true" IsEndRegex="true" Type="Number" />
192+
<lexem BeginBlock="{" EndBlock="}" Type="KeyWord" IsComplex="true" IsCollapsable="true" Indent="true" DropContextPrompt="true"
193+
CollapseName="{...}">
194+
<SubLexems>
195+
<lexem BeginBlock="\n" IsBeginRegex="true" />
196+
</SubLexems>
197+
</lexem>
198+
</lexems>
199+
<splits>
200+
<split>@&quot;</split>
201+
<split>+=</split>
202+
<split>/=</split>
203+
<split>=/</split>
204+
<split>*=</split>
205+
<split>=*</split>
206+
<split>==</split>
207+
<split>!=</split>
208+
<split>=+</split>
209+
<split>-=</split>
210+
<split>++</split>
211+
<split>-=</split>
212+
<split>=-</split>
213+
<split>--</split>
214+
<split>/*</split>
215+
<split>*/</split>
216+
<split>//</split>
217+
<split>#region</split>
218+
<split>#endregion</split>
219+
<split>///</split>
220+
</splits>
221+
</ConfigLanguage>
222+
</ArrayOfConfigLanguage>

SyntaxEditor_Demo/Content.cs

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#region namespace
2+
using Syncfusion.Windows.Forms;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.ComponentModel;
6+
using System.Data;
7+
using System.Drawing;
8+
using System.IO;
9+
using System.Linq;
10+
using System.Text;
11+
using System.Windows.Forms;
12+
using Syncfusion.Windows.Forms.Tools;
13+
using Syncfusion.Windows.Forms.Tools.XPMenus;
14+
using Syncfusion.WinForms.Controls;
15+
using Syncfusion.WinForms.Core;
16+
using Syncfusion.Windows.Forms.Edit.Enums;
17+
using System.Drawing.Drawing2D;
18+
using Syncfusion.Windows.Forms.Edit.Interfaces;
19+
using Syncfusion.Windows.Forms.Edit;
20+
using System.Diagnostics;
21+
using Syncfusion.Windows.Forms.Edit.Dialogs;
22+
#endregion
23+
24+
namespace SyntaxEditor_Demo
25+
{
26+
public partial class Form1 : SfForm
27+
{
28+
private string configPath = Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\config.xml";
29+
private string config = Path.GetDirectoryName(Application.ExecutablePath) + @"..\..\..\Test Files\Config.xml";
30+
private SplashPanel splashPanel1;
31+
private SplashControl splashControl1;
32+
private bool isMouseHover;
33+
public Form1()
34+
{
35+
InitializeComponent();
36+
try
37+
{
38+
System.Drawing.Icon ico = new System.Drawing.Icon(GetIconFile(@"..\\..\\\VS.ico"));
39+
this.Icon = ico;
40+
}
41+
catch { }
42+
this.Load += new EventHandler(Form1_Load);
43+
this.AddTreeNode();
44+
this.AddMainFrameBarManagerItem();
45+
this.AddItemsUnderFile();
46+
this.AddItemsUnderEdit();
47+
this.AddItemsUnderView();
48+
this.AddItemsUnderWindow();
49+
this.AddItemsUnderOutput();
50+
this.AddItemsUnderHelp();
51+
this.Addsearch();
52+
this.AddOutlining();
53+
this.editControl1.SaveOnClose = false;
54+
this.ColorCustomization();
55+
this.BaritemCustomization();
56+
this.AddSplashPanel();
57+
}
58+
59+
#region Color Customization
60+
61+
/// <summary>
62+
///Color customization
63+
/// </summary>
64+
public void ColorCustomization()
65+
{
66+
this.editControl1.ShowIndicatorMargin = true;
67+
this.editControl1.CurrentLineHighlightColor = ColorTranslator.FromHtml("#c6c6c6");
68+
this.treeViewAdv1.MetroColorTable.ScrollerBackground = ColorTranslator.FromHtml("#e8e8ec");
69+
this.treeViewAdv1.MetroColorTable.ThumbNormal = ColorTranslator.FromHtml("#c2c3c9");
70+
this.treeViewAdv1.MetroColorTable.ThumbPushed = ColorTranslator.FromHtml("#5b5b5b");
71+
this.treeViewAdv1.MetroColorTable.ArrowNormal = ColorTranslator.FromHtml("#868999");
72+
this.treeViewAdv1.MetroColorTable.ArrowPushed = ColorTranslator.FromHtml("#1c97ea");
73+
this.treeViewAdv1.MetroColor = ColorTranslator.FromHtml("#1c97ea");
74+
this.treeViewAdv2.Style = TreeStyle.Metro;
75+
this.editControl1.LineNumbersColor = ColorTranslator.FromHtml("#3399ff");
76+
this.editControl1.ShowContextTooltip = true;
77+
this.editControl1.ShowLineNumbers = true;
78+
this.editControl1.ShowContentDividers = true;
79+
this.editControl1.ShowOutliningCollapsers = true;
80+
this.editControl1.ShowHorizontalScroller = true;
81+
this.editControl1.ScrollVisualStyle = ScrollBarCustomDrawStyles.Metro;
82+
this.editControl1.KeyDown += Form1_KeyDown;
83+
this.editControl1.Configurator.Open(configPath);
84+
this.editControl1.ApplyConfiguration("C#");
85+
this.editControl1.LoadFile(Path.GetDirectoryName(Application.ExecutablePath) + @"\..\..\Form1.cs");
86+
this.editControl1.UpdateContextToolTip += EditControl1_UpdateContextToolTip1;
87+
this.editControl1.ContextChoiceBeforeOpen += new System.ComponentModel.CancelEventHandler(this.editControl1_ContextChoiceBeforeOpen);
88+
this.editControl1.ContextChoiceOpen += new Syncfusion.Windows.Forms.Edit.ContextChoiceEventHandler(this.editControl1_ContextChoiceOpen);
89+
this.editControl1.ContextChoiceClose += new Syncfusion.Windows.Forms.Edit.ContextChoiceCloseEventHandler(this.editControl1_ContextChoiceClose);
90+
this.editControl1.ContextPromptBeforeOpen += EditControl1_ContextChoiceBeforeOpen;
91+
this.editControl1.ContextPromptOpen += EditControl1_ContextPromptOpen;
92+
this.editControl1.ContextPromptClose += EditControl1_ContextPromptClose;
93+
this.editControl1.ContextChoiceItemSelected += new Syncfusion.Windows.Forms.Edit.ContextChoiceItemSelectedEventHandler(this.editControl1_ContextChoiceItemSelected);
94+
this.editControl1.ContextPromptSelectionChanged += new Syncfusion.Windows.Forms.Edit.ContextPromptSelectionChangedEventHandler(this.editControl1_ContextPromptSelectionChanged);
95+
this.editControl1.AutoCompleteSingleLexem = true;
96+
this.editControl1.ContextChoiceBackColor = Color.White;
97+
this.editControl1.ContextChoiceBorderColor = ColorTranslator.FromHtml("#e5c365");
98+
this.editControl1.ContextPromptBorderColor = ColorTranslator.FromHtml("#e5c365");
99+
this.editControl1.ContextTooltipBackgroundBrush = new Syncfusion.Drawing.BrushInfo(ColorTranslator.FromHtml("#e7e8ec"));
100+
this.editControl1.ContextTooltipBorderColor = ColorTranslator.FromHtml("#e7e8ec");
101+
this.editControl1.ContextChoiceForeColor = System.Drawing.SystemColors.InfoText;
102+
this.barItem1.MetroColor = ColorTranslator.FromHtml("#fdf4bf");
103+
this.barItem1.MetroBackColor = ColorTranslator.FromHtml("#eaf0ff");
104+
breakpointcolor = Color.Red;
105+
breakpointbordercolor = ColorTranslator.FromHtml("#f6f6f6");
106+
this.editControl1.ScrollVisualStyle = ScrollBarCustomDrawStyles.Metro;
107+
IBackgroundFormat format =
108+
editControl1.RegisterBackColorFormat(Color.Red, ColorTranslator.FromHtml("#99c9ef"));
109+
this.editControl1.SetSelectionBackColor(format);
110+
this.Font = new System.Drawing.Font("Automatic", 9.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
111+
this.editControl1.Style = Syncfusion.Windows.Forms.Edit.EditControlStyle.Default;
112+
this.editControl1.ScrollVisualStyle = ScrollBarCustomDrawStyles.Office2016;
113+
this.Style.TitleBar.ForeColor = Color.Black;
114+
115+
}

0 commit comments

Comments
 (0)