├── .gitattributes
├── .gitignore
├── CSharpIDE.sln
├── CSharpIDE
├── App.config
├── CSharpIDE.csproj
├── Models
│ ├── Project.cs
│ └── ProjectFile.cs
├── Presenters
│ ├── MainPresenter.cs
│ └── NewProjectPresenter.cs
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── Resources
│ ├── ArrowDown.png
│ ├── ArrowUp.png
│ ├── BuildSolution.png
│ ├── Close.png
│ ├── CloseProject.png
│ ├── Copy.png
│ ├── Cut.png
│ ├── FileExclude.png
│ ├── NewFile.png
│ ├── NewProject.png
│ ├── Open.png
│ ├── OpenFileDialog.png
│ ├── Paste.png
│ ├── RemoveFile.png
│ ├── RightJustify.png
│ ├── Run.png
│ ├── Save.png
│ └── Saveall.png
├── Services
│ ├── IOC.cs
│ ├── Interfaces
│ │ └── IMainServices.cs
│ └── MainServices.cs
├── Views
│ ├── Interfaces
│ │ ├── IMainWindow.cs
│ │ ├── INewProjectWindow.cs
│ │ └── IShow.cs
│ ├── MainWindow.Designer.cs
│ ├── MainWindow.cs
│ ├── MainWindow.resx
│ ├── NewProjectWindow.Designer.cs
│ ├── NewProjectWindow.cs
│ └── NewProjectWindow.resx
└── packages.config
├── FilesForProject
└── MainFile.cs
└── Images
├── Child.png
└── Parent.png
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Build results
17 | [Dd]ebug/
18 | [Dd]ebugPublic/
19 | [Rr]elease/
20 | [Rr]eleases/
21 | x64/
22 | x86/
23 | [Aa][Rr][Mm]/
24 | [Aa][Rr][Mm]64/
25 | bld/
26 | [Bb]in/
27 | [Oo]bj/
28 | [Ll]og/
29 |
30 | # Visual Studio 2015/2017 cache/options directory
31 | .vs/
32 | # Uncomment if you have tasks that create the project's static files in wwwroot
33 | #wwwroot/
34 |
35 | # Visual Studio 2017 auto generated files
36 | Generated\ Files/
37 |
38 | # MSTest test Results
39 | [Tt]est[Rr]esult*/
40 | [Bb]uild[Ll]og.*
41 |
42 | # NUNIT
43 | *.VisualState.xml
44 | TestResult.xml
45 |
46 | # Build Results of an ATL Project
47 | [Dd]ebugPS/
48 | [Rr]eleasePS/
49 | dlldata.c
50 |
51 | # Benchmark Results
52 | BenchmarkDotNet.Artifacts/
53 |
54 | # .NET Core
55 | project.lock.json
56 | project.fragment.lock.json
57 | artifacts/
58 |
59 | # StyleCop
60 | StyleCopReport.xml
61 |
62 | # Files built by Visual Studio
63 | *_i.c
64 | *_p.c
65 | *_h.h
66 | *.ilk
67 | *.meta
68 | *.obj
69 | *.iobj
70 | *.pch
71 | *.pdb
72 | *.ipdb
73 | *.pgc
74 | *.pgd
75 | *.rsp
76 | *.sbr
77 | *.tlb
78 | *.tli
79 | *.tlh
80 | *.tmp
81 | *.tmp_proj
82 | *_wpftmp.csproj
83 | *.log
84 | *.vspscc
85 | *.vssscc
86 | .builds
87 | *.pidb
88 | *.svclog
89 | *.scc
90 |
91 | # Chutzpah Test files
92 | _Chutzpah*
93 |
94 | # Visual C++ cache files
95 | ipch/
96 | *.aps
97 | *.ncb
98 | *.opendb
99 | *.opensdf
100 | *.sdf
101 | *.cachefile
102 | *.VC.db
103 | *.VC.VC.opendb
104 |
105 | # Visual Studio profiler
106 | *.psess
107 | *.vsp
108 | *.vspx
109 | *.sap
110 |
111 | # Visual Studio Trace Files
112 | *.e2e
113 |
114 | # TFS 2012 Local Workspace
115 | $tf/
116 |
117 | # Guidance Automation Toolkit
118 | *.gpState
119 |
120 | # ReSharper is a .NET coding add-in
121 | _ReSharper*/
122 | *.[Rr]e[Ss]harper
123 | *.DotSettings.user
124 |
125 | # JustCode is a .NET coding add-in
126 | .JustCode
127 |
128 | # TeamCity is a build add-in
129 | _TeamCity*
130 |
131 | # DotCover is a Code Coverage Tool
132 | *.dotCover
133 |
134 | # AxoCover is a Code Coverage Tool
135 | .axoCover/*
136 | !.axoCover/settings.json
137 |
138 | # Visual Studio code coverage results
139 | *.coverage
140 | *.coveragexml
141 |
142 | # NCrunch
143 | _NCrunch_*
144 | .*crunch*.local.xml
145 | nCrunchTemp_*
146 |
147 | # MightyMoose
148 | *.mm.*
149 | AutoTest.Net/
150 |
151 | # Web workbench (sass)
152 | .sass-cache/
153 |
154 | # Installshield output folder
155 | [Ee]xpress/
156 |
157 | # DocProject is a documentation generator add-in
158 | DocProject/buildhelp/
159 | DocProject/Help/*.HxT
160 | DocProject/Help/*.HxC
161 | DocProject/Help/*.hhc
162 | DocProject/Help/*.hhk
163 | DocProject/Help/*.hhp
164 | DocProject/Help/Html2
165 | DocProject/Help/html
166 |
167 | # Click-Once directory
168 | publish/
169 |
170 | # Publish Web Output
171 | *.[Pp]ublish.xml
172 | *.azurePubxml
173 | # Note: Comment the next line if you want to checkin your web deploy settings,
174 | # but database connection strings (with potential passwords) will be unencrypted
175 | *.pubxml
176 | *.publishproj
177 |
178 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
179 | # checkin your Azure Web App publish settings, but sensitive information contained
180 | # in these scripts will be unencrypted
181 | PublishScripts/
182 |
183 | # NuGet Packages
184 | *.nupkg
185 | # The packages folder can be ignored because of Package Restore
186 | **/[Pp]ackages/*
187 | # except build/, which is used as an MSBuild target.
188 | !**/[Pp]ackages/build/
189 | # Uncomment if necessary however generally it will be regenerated when needed
190 | #!**/[Pp]ackages/repositories.config
191 | # NuGet v3's project.json files produces more ignorable files
192 | *.nuget.props
193 | *.nuget.targets
194 |
195 | # Microsoft Azure Build Output
196 | csx/
197 | *.build.csdef
198 |
199 | # Microsoft Azure Emulator
200 | ecf/
201 | rcf/
202 |
203 | # Windows Store app package directories and files
204 | AppPackages/
205 | BundleArtifacts/
206 | Package.StoreAssociation.xml
207 | _pkginfo.txt
208 | *.appx
209 |
210 | # Visual Studio cache files
211 | # files ending in .cache can be ignored
212 | *.[Cc]ache
213 | # but keep track of directories ending in .cache
214 | !?*.[Cc]ache/
215 |
216 | # Others
217 | ClientBin/
218 | ~$*
219 | *~
220 | *.dbmdl
221 | *.dbproj.schemaview
222 | *.jfm
223 | *.pfx
224 | *.publishsettings
225 | orleans.codegen.cs
226 |
227 | # Including strong name files can present a security risk
228 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
229 | #*.snk
230 |
231 | # Since there are multiple workflows, uncomment next line to ignore bower_components
232 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233 | #bower_components/
234 |
235 | # RIA/Silverlight projects
236 | Generated_Code/
237 |
238 | # Backup & report files from converting an old project file
239 | # to a newer Visual Studio version. Backup files are not needed,
240 | # because we have git ;-)
241 | _UpgradeReport_Files/
242 | Backup*/
243 | UpgradeLog*.XML
244 | UpgradeLog*.htm
245 | ServiceFabricBackup/
246 | *.rptproj.bak
247 |
248 | # SQL Server files
249 | *.mdf
250 | *.ldf
251 | *.ndf
252 |
253 | # Business Intelligence projects
254 | *.rdl.data
255 | *.bim.layout
256 | *.bim_*.settings
257 | *.rptproj.rsuser
258 | *- Backup*.rdl
259 |
260 | # Microsoft Fakes
261 | FakesAssemblies/
262 |
263 | # GhostDoc plugin setting file
264 | *.GhostDoc.xml
265 |
266 | # Node.js Tools for Visual Studio
267 | .ntvs_analysis.dat
268 | node_modules/
269 |
270 | # Visual Studio 6 build log
271 | *.plg
272 |
273 | # Visual Studio 6 workspace options file
274 | *.opt
275 |
276 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
277 | *.vbw
278 |
279 | # Visual Studio LightSwitch build output
280 | **/*.HTMLClient/GeneratedArtifacts
281 | **/*.DesktopClient/GeneratedArtifacts
282 | **/*.DesktopClient/ModelManifest.xml
283 | **/*.Server/GeneratedArtifacts
284 | **/*.Server/ModelManifest.xml
285 | _Pvt_Extensions
286 |
287 | # Paket dependency manager
288 | .paket/paket.exe
289 | paket-files/
290 |
291 | # FAKE - F# Make
292 | .fake/
293 |
294 | # JetBrains Rider
295 | .idea/
296 | *.sln.iml
297 |
298 | # CodeRush personal settings
299 | .cr/personal
300 |
301 | # Python Tools for Visual Studio (PTVS)
302 | __pycache__/
303 | *.pyc
304 |
305 | # Cake - Uncomment if you are using it
306 | # tools/**
307 | # !tools/packages.config
308 |
309 | # Tabs Studio
310 | *.tss
311 |
312 | # Telerik's JustMock configuration file
313 | *.jmconfig
314 |
315 | # BizTalk build output
316 | *.btp.cs
317 | *.btm.cs
318 | *.odx.cs
319 | *.xsd.cs
320 |
321 | # OpenCover UI analysis results
322 | OpenCover/
323 |
324 | # Azure Stream Analytics local run output
325 | ASALocalRun/
326 |
327 | # MSBuild Binary and Structured Log
328 | *.binlog
329 |
330 | # NVidia Nsight GPU debugger configuration file
331 | *.nvuser
332 |
333 | # MFractors (Xamarin productivity tool) working folder
334 | .mfractor/
335 |
336 | # Local History for Visual Studio
337 | .localhistory/
338 |
339 | # BeatPulse healthcheck temp database
340 | healthchecksdb
--------------------------------------------------------------------------------
/CSharpIDE.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29521.150
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpIDE", "CSharpIDE\CSharpIDE.csproj", "{A1A70B36-C06B-4364-B0A8-731FAF21F9FD}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {A1A70B36-C06B-4364-B0A8-731FAF21F9FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {A1A70B36-C06B-4364-B0A8-731FAF21F9FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {A1A70B36-C06B-4364-B0A8-731FAF21F9FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {A1A70B36-C06B-4364-B0A8-731FAF21F9FD}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {43A958A2-7E96-4E7B-9E36-114025146267}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/CSharpIDE/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/CSharpIDE/CSharpIDE.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {A1A70B36-C06B-4364-B0A8-731FAF21F9FD}
8 | WinExe
9 | CSharpIDE
10 | CSharpIDE
11 | v4.7.2
12 | 512
13 | true
14 | true
15 |
16 |
17 | AnyCPU
18 | true
19 | full
20 | false
21 | bin\Debug\
22 | DEBUG;TRACE
23 | prompt
24 | 4
25 |
26 |
27 | AnyCPU
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 |
35 |
36 |
37 | ..\packages\Autofac.5.1.2\lib\net461\Autofac.dll
38 |
39 |
40 | ..\packages\FCTB.2.16.24\lib\FastColoredTextBox.dll
41 |
42 |
43 | ..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll
44 |
45 |
46 |
47 |
48 |
49 | ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
50 |
51 |
52 | ..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 | Form
79 |
80 |
81 | MainWindow.cs
82 |
83 |
84 | Form
85 |
86 |
87 | NewProjectWindow.cs
88 |
89 |
90 | ResXFileCodeGenerator
91 | Resources.Designer.cs
92 | Designer
93 |
94 |
95 | True
96 | Resources.resx
97 |
98 |
99 | MainWindow.cs
100 |
101 |
102 | NewProjectWindow.cs
103 |
104 |
105 |
106 | SettingsSingleFileGenerator
107 | Settings.Designer.cs
108 |
109 |
110 | True
111 | Settings.settings
112 | True
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
--------------------------------------------------------------------------------
/CSharpIDE/Models/Project.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CSharpIDE.Models
8 | {
9 | public class Project
10 | {
11 | public string Name { get; set; }
12 | public string Path { get; set; }
13 | public List Files { get; set; }
14 |
15 | public Project()
16 | {
17 | Files = new List();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/CSharpIDE/Models/ProjectFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Xml.Serialization;
7 |
8 | namespace CSharpIDE.Models
9 | {
10 | public class ProjectFile
11 | {
12 | public string Name { get; set; }
13 |
14 | [XmlIgnore]
15 | public string Data { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/CSharpIDE/Presenters/MainPresenter.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Services;
2 | using CSharpIDE.Services.Interfaces;
3 | using CSharpIDE.Views.Interfaces;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace CSharpIDE.Presenters
12 | {
13 | public class MainPresenter
14 | {
15 | public IMainWindow MainWindow { get; set; }
16 | public IMainServices MainServices { get; set; }
17 | public MainPresenter(IMainWindow mainWindow, IMainServices mainServices)
18 | {
19 | MainWindow = mainWindow;
20 | MainServices = mainServices;
21 | subscribe();
22 | }
23 |
24 | private void subscribe()
25 | {
26 | MainWindow.NewProjectEvent += MainWindow_NewProjectEvent;
27 | MainWindow.OpenProjectEvent += MainWindow_OpenProjectEvent;
28 | MainWindow.NewFileEvent += MainWindow_NewFileEvent;
29 | MainWindow.OpenFileEvent += MainWindow_OpenFileEvent;
30 | MainWindow.SaveFocusedFile += MainWindow_SaveFocusedFile;
31 | MainWindow.SaveAllFiles += MainWindow_SaveAllFiles;
32 | MainWindow.ExcludeFile += MainWindow_ExcludeFile;
33 | MainWindow.RemoveFile += MainWindow_RemoveFile;
34 | MainWindow.BuildProject += MainWindow_BuildProject;
35 | MainWindow.RunProject += MainWindow_RunProject;
36 | }
37 |
38 | private void MainWindow_RunProject(object sender, EventArgs e)
39 | {
40 | MainServices.RunProject();
41 | MainWindow.Results = MainServices.Results;
42 |
43 | }
44 |
45 | private void MainWindow_BuildProject(object sender, EventArgs e)
46 | {
47 | MainServices.BuildProject();
48 | }
49 |
50 | private void MainWindow_RemoveFile(object sender, EventArgs e)
51 | {
52 | MainServices.RemoveFile(MainWindow.SelectedFileName);
53 | MainWindow.Project = MainServices.Project;
54 | }
55 |
56 | private void MainWindow_ExcludeFile(object sender, EventArgs e)
57 | {
58 | MainServices.ExcludeFile(MainWindow.SelectedFileName);
59 | MainWindow.Project = MainServices.Project;
60 | }
61 |
62 | private void MainWindow_SaveAllFiles(object sender, EventArgs e)
63 | {
64 | MainServices.Project = MainWindow.Project;
65 | MainServices.WriteFiles();
66 | }
67 |
68 | private void MainWindow_OpenFileEvent(object sender, EventArgs e)
69 | {
70 | MainServices.OpenFile(MainWindow.OFDFileName, MainWindow.OFDPath);
71 | MainWindow.Project = MainServices.Project;
72 | }
73 |
74 | private void MainWindow_SaveFocusedFile(object sender, EventArgs e)
75 | {
76 | MainServices.SaveFile(MainWindow.ProjectFile);
77 | MainWindow.Project = MainServices.Project;
78 | }
79 |
80 | private void MainWindow_NewProjectEvent(object sender, EventArgs e)
81 | {
82 | var newProjectPresenter = IOC.Reference.Resolve();
83 |
84 | if (newProjectPresenter.NewProjectWindow.ShowDialog())
85 | {
86 | MainServices.Project.Name = newProjectPresenter.NewProjectWindow.ProjectName;
87 | MainServices.Project.Path = newProjectPresenter.NewProjectWindow.ProjectPath;
88 | MainWindow.Project = MainServices.Project;
89 | MainServices.CreateNewProject();
90 | }
91 | }
92 |
93 | private void MainWindow_OpenProjectEvent(object sender, EventArgs e)
94 | {
95 | MainServices.LoadProject(MainWindow.OFDFileName, MainWindow.OFDPath);
96 | MainWindow.Project = MainServices.Project;
97 | }
98 |
99 | private void MainWindow_NewFileEvent(object sender, EventArgs e)
100 | {
101 | MainServices.AddFileToProject(MainWindow.ProjectFile);
102 | MainWindow.Project = MainServices.Project;
103 | }
104 | }
105 | }
106 |
--------------------------------------------------------------------------------
/CSharpIDE/Presenters/NewProjectPresenter.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Views.Interfaces;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows.Forms;
8 |
9 | namespace CSharpIDE.Presenters
10 | {
11 | public class NewProjectPresenter
12 | {
13 | public INewProjectWindow NewProjectWindow { get; set; }
14 |
15 | public NewProjectPresenter(INewProjectWindow new_Project)
16 | {
17 | NewProjectWindow = new_Project;
18 | subscribe();
19 | }
20 |
21 | private void subscribe()
22 | {
23 | NewProjectWindow.ChooseFolder += ChooseFolderPR;
24 | }
25 |
26 | public void ChooseFolderPR(object txtFolder, EventArgs e)
27 | {
28 | using (var fbd = new FolderBrowserDialog())
29 | {
30 | DialogResult result = fbd.ShowDialog();
31 | if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
32 | {
33 | NewProjectWindow.ProjectPath = fbd.SelectedPath;
34 | (txtFolder as TextBox).Text = NewProjectWindow.ProjectPath;
35 | }
36 | }
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/CSharpIDE/Program.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Views;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 | using CSharpIDE.Models;
8 | using CSharpIDE.Presenters;
9 | using CSharpIDE.Services;
10 | using CSharpIDE.Services.Interfaces;
11 | using CSharpIDE.Views.Interfaces;
12 |
13 |
14 | namespace CSharpIDE
15 | {
16 | static class Program
17 | {
18 | ///
19 | /// Главная точка входа для приложения.
20 | ///
21 | [STAThread]
22 | static void Main()
23 | {
24 | Application.EnableVisualStyles();
25 | Application.SetCompatibleTextRenderingDefault(false);
26 |
27 | IOC.Reference.Register()
28 | .Register()
29 | .Register()
30 | .Register()
31 | .Register()
32 | .Register()
33 | .Register()
34 | .Build();
35 |
36 | MainPresenter mainPresenter = IOC.Reference.Resolve();
37 |
38 | Application.Run(mainPresenter.MainWindow as MainWindow);
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/CSharpIDE/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // Общие сведения об этой сборке предоставляются следующим набором
6 | // набора атрибутов. Измените значения этих атрибутов для изменения сведений,
7 | // связанных со сборкой.
8 | [assembly: AssemblyTitle("CSharpIDE")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("CSharpIDE")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
18 | // для компонентов COM. Если необходимо обратиться к типу в этой сборке через
19 | // COM, следует установить атрибут ComVisible в TRUE для этого типа.
20 | [assembly: ComVisible(false)]
21 |
22 | // Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM
23 | [assembly: Guid("a1a70b36-c06b-4364-b0a8-731faf21f9fd")]
24 |
25 | // Сведения о версии сборки состоят из указанных ниже четырех значений:
26 | //
27 | // Основной номер версии
28 | // Дополнительный номер версии
29 | // Номер сборки
30 | // Редакция
31 | //
32 | // Можно задать все значения или принять номера сборки и редакции по умолчанию
33 | // используя "*", как показано ниже:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/CSharpIDE/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Этот код создан программным средством.
4 | // Версия среды выполнения: 4.0.30319.42000
5 | //
6 | // Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если
7 | // код создан повторно.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace CSharpIDE.Properties
12 | {
13 |
14 |
15 | ///
16 | /// Класс ресурсов со строгим типом для поиска локализованных строк и пр.
17 | ///
18 | // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder
19 | // класс с помощью таких средств, как ResGen или Visual Studio.
20 | // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen
21 | // с параметром /str или заново постройте свой VS-проект.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources
26 | {
27 |
28 | private static global::System.Resources.ResourceManager resourceMan;
29 |
30 | private static global::System.Globalization.CultureInfo resourceCulture;
31 |
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33 | internal Resources()
34 | {
35 | }
36 |
37 | ///
38 | /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом.
39 | ///
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41 | internal static global::System.Resources.ResourceManager ResourceManager
42 | {
43 | get
44 | {
45 | if ((resourceMan == null))
46 | {
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CSharpIDE.Properties.Resources", typeof(Resources).Assembly);
48 | resourceMan = temp;
49 | }
50 | return resourceMan;
51 | }
52 | }
53 |
54 | ///
55 | /// Переопределяет свойство CurrentUICulture текущего потока для всех
56 | /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом.
57 | ///
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59 | internal static global::System.Globalization.CultureInfo Culture
60 | {
61 | get
62 | {
63 | return resourceCulture;
64 | }
65 | set
66 | {
67 | resourceCulture = value;
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/CSharpIDE/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/CSharpIDE/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace CSharpIDE.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/CSharpIDE/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CSharpIDE/Resources/ArrowDown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/ArrowDown.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/ArrowUp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/ArrowUp.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/BuildSolution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/BuildSolution.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Close.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/CloseProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/CloseProject.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Copy.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Cut.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/FileExclude.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/FileExclude.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/NewFile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/NewFile.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/NewProject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/NewProject.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Open.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/OpenFileDialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/OpenFileDialog.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Paste.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/RemoveFile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/RemoveFile.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/RightJustify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/RightJustify.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Run.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Save.png
--------------------------------------------------------------------------------
/CSharpIDE/Resources/Saveall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/CSharpIDE/Resources/Saveall.png
--------------------------------------------------------------------------------
/CSharpIDE/Services/IOC.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Autofac;
7 |
8 | namespace CSharpIDE.Services
9 | {
10 | public class IOC
11 | {
12 | public IOC Register()
13 | {
14 | builder.RegisterType().As();
15 | return Reference;
16 | }
17 |
18 | public IOC Register()
19 | {
20 | builder.RegisterType();
21 | return Reference;
22 | }
23 |
24 | public void Build()
25 | {
26 | container = builder.Build();
27 | }
28 |
29 | public T Resolve()
30 | {
31 | return container.Resolve();
32 | }
33 |
34 | private IOC()
35 | {
36 | builder = new ContainerBuilder();
37 | }
38 |
39 | private static IOC reference = new IOC();
40 | public static IOC Reference { get { return reference; } }
41 |
42 | private IContainer container;
43 | private ContainerBuilder builder;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/CSharpIDE/Services/Interfaces/IMainServices.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Models;
2 | using System;
3 | using System.CodeDom.Compiler;
4 | using System.Collections.Generic;
5 | using System.IO;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace CSharpIDE.Services.Interfaces
12 | {
13 | public interface IMainServices
14 | {
15 | Project Project { get; set; }
16 | CompilerResults Results { get; set; }
17 |
18 | void AddFileToProject(ProjectFile file);
19 | void BuildProject();
20 | void LoadProject(string ofdFileName, string ofdPath);
21 | void RunProject();
22 | void SaveFile(ProjectFile file);
23 | void WriteFile(ProjectFile file);
24 | void CreateNewProject();
25 | void OpenFile(string ofdFileName, string ofdPath);
26 | void WriteFiles();
27 | void ExcludeFile(string file);
28 | void RemoveFile(string file);
29 | CompilerResults CompilerResults(string[] sources, string output, params string[] references);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/CSharpIDE/Services/MainServices.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Models;
2 | using CSharpIDE.Services.Interfaces;
3 | using Microsoft.CSharp;
4 | using System;
5 | using System.CodeDom.Compiler;
6 | using System.Collections.Generic;
7 | using System.Diagnostics;
8 | using System.IO;
9 | using System.Linq;
10 | using System.Text;
11 | using System.Threading.Tasks;
12 | using System.Windows.Forms;
13 | using System.Xml.Serialization;
14 |
15 | namespace CSharpIDE.Services
16 | {
17 | public class MainServices : IMainServices
18 | {
19 | public Project Project { get; set; }
20 | public CompilerResults Results { get; set; }
21 |
22 | public MainServices()
23 | {
24 | Project = new Project();
25 | }
26 | public void AddFileToProject(ProjectFile file)
27 | {
28 | WriteFile(file);
29 | Project.Files.Add(file);
30 | RefreshMysln();
31 | }
32 |
33 | public void BuildProject()
34 | {
35 | if (Project.Name != null && Project.Name != string.Empty)
36 | {
37 | string[] sources = new string[Project.Files.Count];
38 | for (int i = 0; i < Project.Files.Count; i++)
39 | {
40 | sources[i] = Project.Files[i].Data;
41 | }
42 | Results = CompilerResults(sources, "compile.exe");
43 | }
44 | }
45 |
46 | public CompilerResults CompilerResults(string[] sources, string output, params string[] references)
47 | {
48 | var parameters = new CompilerParameters(references, output);
49 | parameters.GenerateExecutable = true;
50 | using (var provider = new CSharpCodeProvider())
51 | return provider.CompileAssemblyFromSource(parameters, sources);
52 | }
53 |
54 | public void LoadProject(string ofdFileName, string ofdPath)
55 | {
56 | XmlSerializer xmlSerializer = new XmlSerializer(typeof(Project));
57 | using (TextReader textReader = new StreamReader($@"{ofdPath}\\{ofdFileName}.mysln"))
58 | Project = (xmlSerializer.Deserialize(textReader) as Project);
59 | Project.Path = ofdPath;
60 | GetData();
61 | }
62 |
63 | private void GetData()
64 | {
65 | if (Project.Path != null)
66 | {
67 | foreach (var item in Project.Files)
68 | {
69 | using (TextReader textReader = new StreamReader($@"{Project.Path}\\{item.Name}"))
70 | item.Data = textReader.ReadToEnd();
71 | }
72 | }
73 | }
74 |
75 | public void RunProject()
76 | {
77 | if (Project.Name != null && Project.Name != string.Empty)
78 | {
79 | BuildProject();
80 | if (Results.Errors.Count != 0)
81 | MessageBox.Show("Please Check Code!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
82 | else
83 | Process.Start("compile.exe");
84 | }
85 | }
86 |
87 | public void SaveFile(ProjectFile file)
88 | {
89 | WriteFile(file);
90 | foreach (var item in Project.Files)
91 | {
92 | if(item.Name == file.Name)
93 | {
94 | item.Data = file.Data;
95 | }
96 | }
97 | RefreshMysln();
98 | }
99 | //bug info while performing any file operation
100 | public void WriteFile(ProjectFile file)
101 | {
102 | using (TextWriter textWriter = new StreamWriter($@"{Project.Path}\\{file.Name}"))
103 | {
104 | textWriter.WriteLine(file.Data);
105 | }
106 |
107 | }
108 |
109 |
110 | //Create new project file function
111 | public void CreateNewProject()
112 | {
113 | Project.Files.Clear();
114 | Directory.CreateDirectory($@"{Project.Path}\\{Project.Name}");
115 | Project.Path += "\\" + Project.Name;
116 | string textcode;
117 | using (TextReader textReader = new StreamReader($@"..\..\..\FilesForProject\MainFile.cs"))
118 | textcode = textReader.ReadToEnd();
119 | AddFileToProject(new ProjectFile() { Name = "Program.cs", Data = textcode });
120 | }
121 |
122 | private void RefreshMysln()
123 | {
124 | XmlSerializer xmlSerializer = new XmlSerializer(typeof(Project));
125 | using (TextWriter textWriter = new StreamWriter($@"{Project.Path}\\{Project.Name}.mysln"))
126 | xmlSerializer.Serialize(textWriter, Project);
127 | }
128 |
129 | public void OpenFile(string ofdFileName, string ofdPath)
130 | {
131 | string textcode;
132 | using (TextReader textReader = new StreamReader($@"{ofdPath}\\{ofdFileName}.cs"))
133 | textcode = textReader.ReadToEnd();
134 | ProjectFile projectFile = new ProjectFile() { Name = ofdFileName+".cs", Data = textcode };
135 | AddFileToProject(projectFile);
136 | }
137 |
138 | public void WriteFiles()
139 | {
140 | foreach(ProjectFile item in Project.Files)
141 | {
142 | WriteFile(item);
143 | }
144 | }
145 |
146 | public void ExcludeFile(string file)
147 | {
148 | for (int i = 0; i < Project.Files.Count; i++)
149 | {
150 | if(Project.Files[i].Name == file)
151 | {
152 | Project.Files.RemoveAt(i);
153 | }
154 | }
155 | RefreshMysln();
156 | }
157 |
158 | public void RemoveFile(string file)
159 | {
160 | ExcludeFile(file);
161 | if (File.Exists(Path.Combine(Project.Path, file)))
162 | {
163 | File.Delete(Path.Combine(Project.Path, file));
164 | }
165 | }
166 | }
167 | }
168 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/Interfaces/IMainWindow.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Models;
2 | using System;
3 | using System.CodeDom.Compiler;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Forms;
9 |
10 | namespace CSharpIDE.Views.Interfaces
11 | {
12 | public interface IMainWindow : IShow
13 | {
14 | event EventHandler NewProjectEvent;
15 | event EventHandler OpenProjectEvent;
16 | event EventHandler NewFileEvent;
17 | event EventHandler OpenFileEvent;
18 | event EventHandler SaveFocusedFile;
19 | event EventHandler SaveAllFiles;
20 | event EventHandler BuildProject;
21 | event EventHandler RunProject;
22 | event EventHandler RemoveFile;
23 | event EventHandler ExcludeFile;
24 |
25 | CompilerResults Results { get; set; }
26 | Project Project { get; set; }
27 | string OFDFileName { get; set; }
28 | string OFDPath { get; set; }
29 | string SelectedFileName { get; set; }
30 | ProjectFile ProjectFile { get; set; }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/Interfaces/INewProjectWindow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CSharpIDE.Views.Interfaces
8 | {
9 | public interface INewProjectWindow : IShow
10 | {
11 | event EventHandler ChooseFolder;
12 | string ProjectName { get; }
13 | string ProjectPath { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/Interfaces/IShow.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace CSharpIDE.Views.Interfaces
8 | {
9 | public interface IShow
10 | {
11 | bool ShowDialog();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/MainWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace CSharpIDE.Views
2 | {
3 | partial class MainWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.components = new System.ComponentModel.Container();
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow));
33 | this.MainMenuStrip = new System.Windows.Forms.MenuStrip();
34 | this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
35 | this.createProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
36 | this.openProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
37 | this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
38 | this.newFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
39 | this.openFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
40 | this.saveFocusedFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
41 | this.saveAllFilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
42 | this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
43 | this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
44 | this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
45 | this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
46 | this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
47 | this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
48 | this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
49 | this.projectTreeCollapsedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
50 | this.errorsTreeCollapsedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
51 | this.projectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
52 | this.addNewFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
53 | this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
54 | this.buildToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
55 | this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
56 | this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
57 | this.closeProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
58 | this.toolStrip1 = new System.Windows.Forms.ToolStrip();
59 | this.NewProjectTS = new System.Windows.Forms.ToolStripButton();
60 | this.OpenProjectTS = new System.Windows.Forms.ToolStripButton();
61 | this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
62 | this.NewFileTS = new System.Windows.Forms.ToolStripButton();
63 | this.OpenFileTS = new System.Windows.Forms.ToolStripButton();
64 | this.SaveFileTS = new System.Windows.Forms.ToolStripButton();
65 | this.SaveAllFilesTS = new System.Windows.Forms.ToolStripButton();
66 | this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
67 | this.CutTS = new System.Windows.Forms.ToolStripButton();
68 | this.CopyTS = new System.Windows.Forms.ToolStripButton();
69 | this.PasteTS = new System.Windows.Forms.ToolStripButton();
70 | this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
71 | this.BuildTS = new System.Windows.Forms.ToolStripButton();
72 | this.RunTS = new System.Windows.Forms.ToolStripButton();
73 | this.CommentTS = new System.Windows.Forms.ToolStripButton();
74 | this.splitContainer1 = new System.Windows.Forms.SplitContainer();
75 | this.splitContainer2 = new System.Windows.Forms.SplitContainer();
76 | this.ProjectTreeView = new System.Windows.Forms.TreeView();
77 | this.MainTabControl = new System.Windows.Forms.TabControl();
78 | this.TabControlBottom = new System.Windows.Forms.TabControl();
79 | this.Errors = new System.Windows.Forms.TabPage();
80 | this.Warnings = new System.Windows.Forms.TabPage();
81 | this.Output = new System.Windows.Forms.TabPage();
82 | this.richTextBox1 = new System.Windows.Forms.RichTextBox();
83 | this.TreeViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
84 | this.excludeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
85 | this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
86 | this.TabContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
87 | this.cutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
88 | this.copyToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
89 | this.pasteToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
90 | this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
91 | this.lineUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
92 | this.lineDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
93 | this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
94 | this.saveFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
95 | this.closePageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
96 | this.ProjectContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
97 | this.addNewFileToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
98 | this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
99 | this.buildToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
100 | this.runToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
101 | this.toolStripSeparator11 = new System.Windows.Forms.ToolStripSeparator();
102 | this.closeProjectToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
103 | this.MainMenuStrip.SuspendLayout();
104 | this.toolStrip1.SuspendLayout();
105 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
106 | this.splitContainer1.Panel1.SuspendLayout();
107 | this.splitContainer1.Panel2.SuspendLayout();
108 | this.splitContainer1.SuspendLayout();
109 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
110 | this.splitContainer2.Panel1.SuspendLayout();
111 | this.splitContainer2.Panel2.SuspendLayout();
112 | this.splitContainer2.SuspendLayout();
113 | this.TabControlBottom.SuspendLayout();
114 | this.Output.SuspendLayout();
115 | this.TreeViewContextMenu.SuspendLayout();
116 | this.TabContextMenu.SuspendLayout();
117 | this.ProjectContextMenu.SuspendLayout();
118 | this.SuspendLayout();
119 | //
120 | // MainMenuStrip
121 | //
122 | this.MainMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
123 | this.fileToolStripMenuItem,
124 | this.editToolStripMenuItem,
125 | this.viewToolStripMenuItem,
126 | this.projectToolStripMenuItem});
127 | this.MainMenuStrip.Location = new System.Drawing.Point(0, 0);
128 | this.MainMenuStrip.Name = "MainMenuStrip";
129 | this.MainMenuStrip.Size = new System.Drawing.Size(800, 24);
130 | this.MainMenuStrip.TabIndex = 1;
131 | this.MainMenuStrip.Text = "menuStrip1";
132 | //
133 | // fileToolStripMenuItem
134 | //
135 | this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
136 | this.createProjectToolStripMenuItem,
137 | this.openProjectToolStripMenuItem,
138 | this.toolStripSeparator1,
139 | this.newFileToolStripMenuItem,
140 | this.openFileToolStripMenuItem,
141 | this.saveFocusedFileToolStripMenuItem,
142 | this.saveAllFilesToolStripMenuItem,
143 | this.toolStripSeparator2,
144 | this.exitToolStripMenuItem});
145 | this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
146 | this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
147 | this.fileToolStripMenuItem.Text = "File";
148 | //
149 | // createProjectToolStripMenuItem
150 | //
151 | this.createProjectToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("createProjectToolStripMenuItem.Image")));
152 | this.createProjectToolStripMenuItem.Name = "createProjectToolStripMenuItem";
153 | this.createProjectToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
154 | this.createProjectToolStripMenuItem.Text = "Create Project";
155 | this.createProjectToolStripMenuItem.Click += new System.EventHandler(this.createProjectToolStripMenuItem_Click);
156 | //
157 | // openProjectToolStripMenuItem
158 | //
159 | this.openProjectToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("openProjectToolStripMenuItem.Image")));
160 | this.openProjectToolStripMenuItem.Name = "openProjectToolStripMenuItem";
161 | this.openProjectToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
162 | this.openProjectToolStripMenuItem.Text = "Open Project";
163 | this.openProjectToolStripMenuItem.Click += new System.EventHandler(this.openProjectToolStripMenuItem_Click);
164 | //
165 | // toolStripSeparator1
166 | //
167 | this.toolStripSeparator1.Name = "toolStripSeparator1";
168 | this.toolStripSeparator1.Size = new System.Drawing.Size(163, 6);
169 | //
170 | // newFileToolStripMenuItem
171 | //
172 | this.newFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("newFileToolStripMenuItem.Image")));
173 | this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem";
174 | this.newFileToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
175 | this.newFileToolStripMenuItem.Text = "New File";
176 | this.newFileToolStripMenuItem.Click += new System.EventHandler(this.newFileToolStripMenuItem_Click);
177 | //
178 | // openFileToolStripMenuItem
179 | //
180 | this.openFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("openFileToolStripMenuItem.Image")));
181 | this.openFileToolStripMenuItem.Name = "openFileToolStripMenuItem";
182 | this.openFileToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
183 | this.openFileToolStripMenuItem.Text = "Open File";
184 | this.openFileToolStripMenuItem.Click += new System.EventHandler(this.openFileToolStripMenuItem_Click);
185 | //
186 | // saveFocusedFileToolStripMenuItem
187 | //
188 | this.saveFocusedFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveFocusedFileToolStripMenuItem.Image")));
189 | this.saveFocusedFileToolStripMenuItem.Name = "saveFocusedFileToolStripMenuItem";
190 | this.saveFocusedFileToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
191 | this.saveFocusedFileToolStripMenuItem.Text = "Save Focused File";
192 | this.saveFocusedFileToolStripMenuItem.Click += new System.EventHandler(this.saveFocusedFileToolStripMenuItem_Click);
193 | //
194 | // saveAllFilesToolStripMenuItem
195 | //
196 | this.saveAllFilesToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveAllFilesToolStripMenuItem.Image")));
197 | this.saveAllFilesToolStripMenuItem.Name = "saveAllFilesToolStripMenuItem";
198 | this.saveAllFilesToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
199 | this.saveAllFilesToolStripMenuItem.Text = "Save All Files";
200 | this.saveAllFilesToolStripMenuItem.Click += new System.EventHandler(this.saveAllFilesToolStripMenuItem_Click);
201 | //
202 | // toolStripSeparator2
203 | //
204 | this.toolStripSeparator2.Name = "toolStripSeparator2";
205 | this.toolStripSeparator2.Size = new System.Drawing.Size(163, 6);
206 | //
207 | // exitToolStripMenuItem
208 | //
209 | this.exitToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("exitToolStripMenuItem.Image")));
210 | this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
211 | this.exitToolStripMenuItem.Size = new System.Drawing.Size(166, 22);
212 | this.exitToolStripMenuItem.Text = "Exit";
213 | this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
214 | //
215 | // editToolStripMenuItem
216 | //
217 | this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
218 | this.cutToolStripMenuItem,
219 | this.copyToolStripMenuItem,
220 | this.pasteToolStripMenuItem});
221 | this.editToolStripMenuItem.Name = "editToolStripMenuItem";
222 | this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
223 | this.editToolStripMenuItem.Text = "Edit";
224 | //
225 | // cutToolStripMenuItem
226 | //
227 | this.cutToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("cutToolStripMenuItem.Image")));
228 | this.cutToolStripMenuItem.Name = "cutToolStripMenuItem";
229 | this.cutToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
230 | this.cutToolStripMenuItem.Text = "Cut";
231 | this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click);
232 | //
233 | // copyToolStripMenuItem
234 | //
235 | this.copyToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("copyToolStripMenuItem.Image")));
236 | this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
237 | this.copyToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
238 | this.copyToolStripMenuItem.Text = "Copy";
239 | this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
240 | //
241 | // pasteToolStripMenuItem
242 | //
243 | this.pasteToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("pasteToolStripMenuItem.Image")));
244 | this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
245 | this.pasteToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
246 | this.pasteToolStripMenuItem.Text = "Paste";
247 | this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
248 | //
249 | // viewToolStripMenuItem
250 | //
251 | this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
252 | this.projectTreeCollapsedToolStripMenuItem,
253 | this.errorsTreeCollapsedToolStripMenuItem});
254 | this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
255 | this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
256 | this.viewToolStripMenuItem.Text = "View";
257 | //
258 | // projectTreeCollapsedToolStripMenuItem
259 | //
260 | this.projectTreeCollapsedToolStripMenuItem.Name = "projectTreeCollapsedToolStripMenuItem";
261 | this.projectTreeCollapsedToolStripMenuItem.Size = new System.Drawing.Size(190, 22);
262 | this.projectTreeCollapsedToolStripMenuItem.Text = "Project Tree Collapsed";
263 | this.projectTreeCollapsedToolStripMenuItem.Click += new System.EventHandler(this.projectTreeCollapsedToolStripMenuItem_Click);
264 | //
265 | // errorsTreeCollapsedToolStripMenuItem
266 | //
267 | this.errorsTreeCollapsedToolStripMenuItem.Name = "errorsTreeCollapsedToolStripMenuItem";
268 | this.errorsTreeCollapsedToolStripMenuItem.Size = new System.Drawing.Size(190, 22);
269 | this.errorsTreeCollapsedToolStripMenuItem.Text = "Errors Tree Collapsed";
270 | this.errorsTreeCollapsedToolStripMenuItem.Click += new System.EventHandler(this.errorsTreeCollapsedToolStripMenuItem_Click);
271 | //
272 | // projectToolStripMenuItem
273 | //
274 | this.projectToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
275 | this.addNewFileToolStripMenuItem,
276 | this.toolStripSeparator3,
277 | this.buildToolStripMenuItem,
278 | this.runToolStripMenuItem,
279 | this.toolStripSeparator4,
280 | this.closeProjectToolStripMenuItem});
281 | this.projectToolStripMenuItem.Name = "projectToolStripMenuItem";
282 | this.projectToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
283 | this.projectToolStripMenuItem.Text = "Project";
284 | //
285 | // addNewFileToolStripMenuItem
286 | //
287 | this.addNewFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addNewFileToolStripMenuItem.Image")));
288 | this.addNewFileToolStripMenuItem.Name = "addNewFileToolStripMenuItem";
289 | this.addNewFileToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
290 | this.addNewFileToolStripMenuItem.Text = "Add New File";
291 | this.addNewFileToolStripMenuItem.Click += new System.EventHandler(this.addNewFileToolStripMenuItem_Click);
292 | //
293 | // toolStripSeparator3
294 | //
295 | this.toolStripSeparator3.Name = "toolStripSeparator3";
296 | this.toolStripSeparator3.Size = new System.Drawing.Size(141, 6);
297 | //
298 | // buildToolStripMenuItem
299 | //
300 | this.buildToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("buildToolStripMenuItem.Image")));
301 | this.buildToolStripMenuItem.Name = "buildToolStripMenuItem";
302 | this.buildToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
303 | this.buildToolStripMenuItem.Text = "Build";
304 | this.buildToolStripMenuItem.Click += new System.EventHandler(this.buildToolStripMenuItem_Click);
305 | //
306 | // runToolStripMenuItem
307 | //
308 | this.runToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("runToolStripMenuItem.Image")));
309 | this.runToolStripMenuItem.Name = "runToolStripMenuItem";
310 | this.runToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
311 | this.runToolStripMenuItem.Text = "Run";
312 | this.runToolStripMenuItem.Click += new System.EventHandler(this.runToolStripMenuItem_Click);
313 | //
314 | // toolStripSeparator4
315 | //
316 | this.toolStripSeparator4.Name = "toolStripSeparator4";
317 | this.toolStripSeparator4.Size = new System.Drawing.Size(141, 6);
318 | //
319 | // closeProjectToolStripMenuItem
320 | //
321 | this.closeProjectToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("closeProjectToolStripMenuItem.Image")));
322 | this.closeProjectToolStripMenuItem.Name = "closeProjectToolStripMenuItem";
323 | this.closeProjectToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
324 | this.closeProjectToolStripMenuItem.Text = "Close Project";
325 | this.closeProjectToolStripMenuItem.Click += new System.EventHandler(this.closeProjectToolStripMenuItem_Click);
326 | //
327 | // toolStrip1
328 | //
329 | this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
330 | this.NewProjectTS,
331 | this.OpenProjectTS,
332 | this.toolStripSeparator5,
333 | this.NewFileTS,
334 | this.OpenFileTS,
335 | this.SaveFileTS,
336 | this.SaveAllFilesTS,
337 | this.toolStripSeparator6,
338 | this.CutTS,
339 | this.CopyTS,
340 | this.PasteTS,
341 | this.toolStripSeparator7,
342 | this.BuildTS,
343 | this.RunTS,
344 | this.CommentTS});
345 | this.toolStrip1.Location = new System.Drawing.Point(0, 24);
346 | this.toolStrip1.Name = "toolStrip1";
347 | this.toolStrip1.Size = new System.Drawing.Size(800, 25);
348 | this.toolStrip1.TabIndex = 2;
349 | this.toolStrip1.Text = "toolStrip1";
350 | //
351 | // NewProjectTS
352 | //
353 | this.NewProjectTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
354 | this.NewProjectTS.Image = ((System.Drawing.Image)(resources.GetObject("NewProjectTS.Image")));
355 | this.NewProjectTS.ImageTransparentColor = System.Drawing.Color.Magenta;
356 | this.NewProjectTS.Name = "NewProjectTS";
357 | this.NewProjectTS.Size = new System.Drawing.Size(23, 22);
358 | this.NewProjectTS.Text = "Create Project";
359 | this.NewProjectTS.Click += new System.EventHandler(this.NewProjectTS_Click);
360 | //
361 | // OpenProjectTS
362 | //
363 | this.OpenProjectTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
364 | this.OpenProjectTS.Image = ((System.Drawing.Image)(resources.GetObject("OpenProjectTS.Image")));
365 | this.OpenProjectTS.ImageTransparentColor = System.Drawing.Color.Magenta;
366 | this.OpenProjectTS.Name = "OpenProjectTS";
367 | this.OpenProjectTS.Size = new System.Drawing.Size(23, 22);
368 | this.OpenProjectTS.Text = "Open Project";
369 | this.OpenProjectTS.Click += new System.EventHandler(this.OpenProjectTS_Click);
370 | //
371 | // toolStripSeparator5
372 | //
373 | this.toolStripSeparator5.Name = "toolStripSeparator5";
374 | this.toolStripSeparator5.Size = new System.Drawing.Size(6, 25);
375 | //
376 | // NewFileTS
377 | //
378 | this.NewFileTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
379 | this.NewFileTS.Image = ((System.Drawing.Image)(resources.GetObject("NewFileTS.Image")));
380 | this.NewFileTS.ImageTransparentColor = System.Drawing.Color.Magenta;
381 | this.NewFileTS.Name = "NewFileTS";
382 | this.NewFileTS.Size = new System.Drawing.Size(23, 22);
383 | this.NewFileTS.Text = "New File";
384 | this.NewFileTS.Click += new System.EventHandler(this.NewFileTS_Click);
385 | //
386 | // OpenFileTS
387 | //
388 | this.OpenFileTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
389 | this.OpenFileTS.Image = ((System.Drawing.Image)(resources.GetObject("OpenFileTS.Image")));
390 | this.OpenFileTS.ImageTransparentColor = System.Drawing.Color.Magenta;
391 | this.OpenFileTS.Name = "OpenFileTS";
392 | this.OpenFileTS.Size = new System.Drawing.Size(23, 22);
393 | this.OpenFileTS.Text = "Open FIle";
394 | this.OpenFileTS.Click += new System.EventHandler(this.OpenFileTS_Click);
395 | //
396 | // SaveFileTS
397 | //
398 | this.SaveFileTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
399 | this.SaveFileTS.Image = ((System.Drawing.Image)(resources.GetObject("SaveFileTS.Image")));
400 | this.SaveFileTS.ImageTransparentColor = System.Drawing.Color.Magenta;
401 | this.SaveFileTS.Name = "SaveFileTS";
402 | this.SaveFileTS.Size = new System.Drawing.Size(23, 22);
403 | this.SaveFileTS.Text = "Save Focused File";
404 | this.SaveFileTS.Click += new System.EventHandler(this.SaveFileTS_Click);
405 | //
406 | // SaveAllFilesTS
407 | //
408 | this.SaveAllFilesTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
409 | this.SaveAllFilesTS.Image = ((System.Drawing.Image)(resources.GetObject("SaveAllFilesTS.Image")));
410 | this.SaveAllFilesTS.ImageTransparentColor = System.Drawing.Color.Magenta;
411 | this.SaveAllFilesTS.Name = "SaveAllFilesTS";
412 | this.SaveAllFilesTS.Size = new System.Drawing.Size(23, 22);
413 | this.SaveAllFilesTS.Text = "Save All Files";
414 | this.SaveAllFilesTS.Click += new System.EventHandler(this.SaveAllFilesTS_Click);
415 | //
416 | // toolStripSeparator6
417 | //
418 | this.toolStripSeparator6.Name = "toolStripSeparator6";
419 | this.toolStripSeparator6.Size = new System.Drawing.Size(6, 25);
420 | //
421 | // CutTS
422 | //
423 | this.CutTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
424 | this.CutTS.Image = ((System.Drawing.Image)(resources.GetObject("CutTS.Image")));
425 | this.CutTS.ImageTransparentColor = System.Drawing.Color.Magenta;
426 | this.CutTS.Name = "CutTS";
427 | this.CutTS.Size = new System.Drawing.Size(23, 22);
428 | this.CutTS.Text = "Cut";
429 | this.CutTS.Click += new System.EventHandler(this.CutTS_Click);
430 | //
431 | // CopyTS
432 | //
433 | this.CopyTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
434 | this.CopyTS.Image = ((System.Drawing.Image)(resources.GetObject("CopyTS.Image")));
435 | this.CopyTS.ImageTransparentColor = System.Drawing.Color.Magenta;
436 | this.CopyTS.Name = "CopyTS";
437 | this.CopyTS.Size = new System.Drawing.Size(23, 22);
438 | this.CopyTS.Text = "Copy";
439 | this.CopyTS.Click += new System.EventHandler(this.CopyTS_Click);
440 | //
441 | // PasteTS
442 | //
443 | this.PasteTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
444 | this.PasteTS.Image = ((System.Drawing.Image)(resources.GetObject("PasteTS.Image")));
445 | this.PasteTS.ImageTransparentColor = System.Drawing.Color.Magenta;
446 | this.PasteTS.Name = "PasteTS";
447 | this.PasteTS.Size = new System.Drawing.Size(23, 22);
448 | this.PasteTS.Text = "Paste";
449 | this.PasteTS.Click += new System.EventHandler(this.PasteTS_Click);
450 | //
451 | // toolStripSeparator7
452 | //
453 | this.toolStripSeparator7.Name = "toolStripSeparator7";
454 | this.toolStripSeparator7.Size = new System.Drawing.Size(6, 25);
455 | //
456 | // BuildTS
457 | //
458 | this.BuildTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
459 | this.BuildTS.Image = ((System.Drawing.Image)(resources.GetObject("BuildTS.Image")));
460 | this.BuildTS.ImageTransparentColor = System.Drawing.Color.Magenta;
461 | this.BuildTS.Name = "BuildTS";
462 | this.BuildTS.Size = new System.Drawing.Size(23, 22);
463 | this.BuildTS.Text = "Build";
464 | this.BuildTS.Click += new System.EventHandler(this.BuildTS_Click);
465 | //
466 | // RunTS
467 | //
468 | this.RunTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
469 | this.RunTS.Image = ((System.Drawing.Image)(resources.GetObject("RunTS.Image")));
470 | this.RunTS.ImageTransparentColor = System.Drawing.Color.Magenta;
471 | this.RunTS.Name = "RunTS";
472 | this.RunTS.Size = new System.Drawing.Size(23, 22);
473 | this.RunTS.Text = "Run";
474 | this.RunTS.Click += new System.EventHandler(this.RunTS_Click);
475 | //
476 | // CommentTS
477 | //
478 | this.CommentTS.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
479 | this.CommentTS.Image = ((System.Drawing.Image)(resources.GetObject("CommentTS.Image")));
480 | this.CommentTS.ImageTransparentColor = System.Drawing.Color.Magenta;
481 | this.CommentTS.Name = "CommentTS";
482 | this.CommentTS.Size = new System.Drawing.Size(23, 22);
483 | this.CommentTS.Text = "Comment Selected";
484 | this.CommentTS.Click += new System.EventHandler(this.CommentTS_Click);
485 | //
486 | // splitContainer1
487 | //
488 | this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
489 | this.splitContainer1.Location = new System.Drawing.Point(0, 49);
490 | this.splitContainer1.Name = "splitContainer1";
491 | this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
492 | //
493 | // splitContainer1.Panel1
494 | //
495 | this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);
496 | //
497 | // splitContainer1.Panel2
498 | //
499 | this.splitContainer1.Panel2.Controls.Add(this.TabControlBottom);
500 | this.splitContainer1.Size = new System.Drawing.Size(800, 401);
501 | this.splitContainer1.SplitterDistance = 266;
502 | this.splitContainer1.TabIndex = 3;
503 | //
504 | // splitContainer2
505 | //
506 | this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
507 | this.splitContainer2.Location = new System.Drawing.Point(0, 0);
508 | this.splitContainer2.Name = "splitContainer2";
509 | //
510 | // splitContainer2.Panel1
511 | //
512 | this.splitContainer2.Panel1.Controls.Add(this.ProjectTreeView);
513 | //
514 | // splitContainer2.Panel2
515 | //
516 | this.splitContainer2.Panel2.Controls.Add(this.MainTabControl);
517 | this.splitContainer2.Size = new System.Drawing.Size(800, 266);
518 | this.splitContainer2.SplitterDistance = 266;
519 | this.splitContainer2.TabIndex = 0;
520 | //
521 | // ProjectTreeView
522 | //
523 | this.ProjectTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
524 | this.ProjectTreeView.Location = new System.Drawing.Point(0, 0);
525 | this.ProjectTreeView.Name = "ProjectTreeView";
526 | this.ProjectTreeView.Size = new System.Drawing.Size(266, 266);
527 | this.ProjectTreeView.TabIndex = 0;
528 | this.ProjectTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.ProjectTreeView_NodeMouseDoubleClick);
529 | this.ProjectTreeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.ProjectTreeView_MouseDown);
530 | //
531 | // MainTabControl
532 | //
533 | this.MainTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
534 | this.MainTabControl.Location = new System.Drawing.Point(0, 0);
535 | this.MainTabControl.Name = "MainTabControl";
536 | this.MainTabControl.SelectedIndex = 0;
537 | this.MainTabControl.Size = new System.Drawing.Size(530, 266);
538 | this.MainTabControl.TabIndex = 0;
539 | //
540 | // TabControlBottom
541 | //
542 | this.TabControlBottom.Alignment = System.Windows.Forms.TabAlignment.Bottom;
543 | this.TabControlBottom.Controls.Add(this.Errors);
544 | this.TabControlBottom.Controls.Add(this.Warnings);
545 | this.TabControlBottom.Controls.Add(this.Output);
546 | this.TabControlBottom.Dock = System.Windows.Forms.DockStyle.Fill;
547 | this.TabControlBottom.Location = new System.Drawing.Point(0, 0);
548 | this.TabControlBottom.Name = "TabControlBottom";
549 | this.TabControlBottom.SelectedIndex = 0;
550 | this.TabControlBottom.Size = new System.Drawing.Size(800, 131);
551 | this.TabControlBottom.TabIndex = 0;
552 | this.TabControlBottom.Tag = "";
553 | //
554 | // Errors
555 | //
556 | this.Errors.Location = new System.Drawing.Point(4, 4);
557 | this.Errors.Name = "Errors";
558 | this.Errors.Padding = new System.Windows.Forms.Padding(3);
559 | this.Errors.Size = new System.Drawing.Size(792, 105);
560 | this.Errors.TabIndex = 0;
561 | this.Errors.Text = "Errors";
562 | this.Errors.UseVisualStyleBackColor = true;
563 | //
564 | // Warnings
565 | //
566 | this.Warnings.Location = new System.Drawing.Point(4, 4);
567 | this.Warnings.Name = "Warnings";
568 | this.Warnings.Padding = new System.Windows.Forms.Padding(3);
569 | this.Warnings.Size = new System.Drawing.Size(792, 105);
570 | this.Warnings.TabIndex = 1;
571 | this.Warnings.Text = "Warnings";
572 | this.Warnings.UseVisualStyleBackColor = true;
573 | //
574 | // Output
575 | //
576 | this.Output.Controls.Add(this.richTextBox1);
577 | this.Output.Location = new System.Drawing.Point(4, 4);
578 | this.Output.Name = "Output";
579 | this.Output.Padding = new System.Windows.Forms.Padding(3);
580 | this.Output.Size = new System.Drawing.Size(792, 105);
581 | this.Output.TabIndex = 2;
582 | this.Output.Text = "Output";
583 | this.Output.UseVisualStyleBackColor = true;
584 | //
585 | // richTextBox1
586 | //
587 | this.richTextBox1.BackColor = System.Drawing.SystemColors.InactiveCaption;
588 | this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
589 | this.richTextBox1.Location = new System.Drawing.Point(3, 3);
590 | this.richTextBox1.Name = "richTextBox1";
591 | this.richTextBox1.Size = new System.Drawing.Size(786, 99);
592 | this.richTextBox1.TabIndex = 0;
593 | this.richTextBox1.Text = "";
594 | //
595 | // TreeViewContextMenu
596 | //
597 | this.TreeViewContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
598 | this.excludeToolStripMenuItem,
599 | this.removeToolStripMenuItem});
600 | this.TreeViewContextMenu.Name = "TreeViewContextMenu";
601 | this.TreeViewContextMenu.Size = new System.Drawing.Size(118, 48);
602 | //
603 | // excludeToolStripMenuItem
604 | //
605 | this.excludeToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("excludeToolStripMenuItem.Image")));
606 | this.excludeToolStripMenuItem.Name = "excludeToolStripMenuItem";
607 | this.excludeToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
608 | this.excludeToolStripMenuItem.Text = "Exclude";
609 | this.excludeToolStripMenuItem.Click += new System.EventHandler(this.excludeToolStripMenuItem_Click);
610 | //
611 | // removeToolStripMenuItem
612 | //
613 | this.removeToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("removeToolStripMenuItem.Image")));
614 | this.removeToolStripMenuItem.Name = "removeToolStripMenuItem";
615 | this.removeToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
616 | this.removeToolStripMenuItem.Text = "Remove";
617 | this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click);
618 | //
619 | // TabContextMenu
620 | //
621 | this.TabContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
622 | this.cutToolStripMenuItem1,
623 | this.copyToolStripMenuItem1,
624 | this.pasteToolStripMenuItem1,
625 | this.toolStripSeparator8,
626 | this.lineUpToolStripMenuItem,
627 | this.lineDownToolStripMenuItem,
628 | this.toolStripSeparator9,
629 | this.saveFileToolStripMenuItem,
630 | this.closePageToolStripMenuItem});
631 | this.TabContextMenu.Name = "TabContextMenu";
632 | this.TabContextMenu.Size = new System.Drawing.Size(133, 170);
633 | //
634 | // cutToolStripMenuItem1
635 | //
636 | this.cutToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("cutToolStripMenuItem1.Image")));
637 | this.cutToolStripMenuItem1.Name = "cutToolStripMenuItem1";
638 | this.cutToolStripMenuItem1.Size = new System.Drawing.Size(132, 22);
639 | this.cutToolStripMenuItem1.Text = "Cut";
640 | this.cutToolStripMenuItem1.Click += new System.EventHandler(this.cutToolStripMenuItem1_Click);
641 | //
642 | // copyToolStripMenuItem1
643 | //
644 | this.copyToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("copyToolStripMenuItem1.Image")));
645 | this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1";
646 | this.copyToolStripMenuItem1.Size = new System.Drawing.Size(132, 22);
647 | this.copyToolStripMenuItem1.Text = "Copy";
648 | this.copyToolStripMenuItem1.Click += new System.EventHandler(this.copyToolStripMenuItem1_Click);
649 | //
650 | // pasteToolStripMenuItem1
651 | //
652 | this.pasteToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("pasteToolStripMenuItem1.Image")));
653 | this.pasteToolStripMenuItem1.Name = "pasteToolStripMenuItem1";
654 | this.pasteToolStripMenuItem1.Size = new System.Drawing.Size(132, 22);
655 | this.pasteToolStripMenuItem1.Text = "Paste";
656 | this.pasteToolStripMenuItem1.Click += new System.EventHandler(this.pasteToolStripMenuItem1_Click);
657 | //
658 | // toolStripSeparator8
659 | //
660 | this.toolStripSeparator8.Name = "toolStripSeparator8";
661 | this.toolStripSeparator8.Size = new System.Drawing.Size(129, 6);
662 | //
663 | // lineUpToolStripMenuItem
664 | //
665 | this.lineUpToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("lineUpToolStripMenuItem.Image")));
666 | this.lineUpToolStripMenuItem.Name = "lineUpToolStripMenuItem";
667 | this.lineUpToolStripMenuItem.Size = new System.Drawing.Size(132, 22);
668 | this.lineUpToolStripMenuItem.Text = "Line Up";
669 | this.lineUpToolStripMenuItem.Click += new System.EventHandler(this.lineUpToolStripMenuItem_Click);
670 | //
671 | // lineDownToolStripMenuItem
672 | //
673 | this.lineDownToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("lineDownToolStripMenuItem.Image")));
674 | this.lineDownToolStripMenuItem.Name = "lineDownToolStripMenuItem";
675 | this.lineDownToolStripMenuItem.Size = new System.Drawing.Size(132, 22);
676 | this.lineDownToolStripMenuItem.Text = "Line Down";
677 | this.lineDownToolStripMenuItem.Click += new System.EventHandler(this.lineDownToolStripMenuItem_Click);
678 | //
679 | // toolStripSeparator9
680 | //
681 | this.toolStripSeparator9.Name = "toolStripSeparator9";
682 | this.toolStripSeparator9.Size = new System.Drawing.Size(129, 6);
683 | //
684 | // saveFileToolStripMenuItem
685 | //
686 | this.saveFileToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveFileToolStripMenuItem.Image")));
687 | this.saveFileToolStripMenuItem.Name = "saveFileToolStripMenuItem";
688 | this.saveFileToolStripMenuItem.Size = new System.Drawing.Size(132, 22);
689 | this.saveFileToolStripMenuItem.Text = "Save File";
690 | this.saveFileToolStripMenuItem.Click += new System.EventHandler(this.saveFileToolStripMenuItem_Click);
691 | //
692 | // closePageToolStripMenuItem
693 | //
694 | this.closePageToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("closePageToolStripMenuItem.Image")));
695 | this.closePageToolStripMenuItem.Name = "closePageToolStripMenuItem";
696 | this.closePageToolStripMenuItem.Size = new System.Drawing.Size(132, 22);
697 | this.closePageToolStripMenuItem.Text = "Close Page";
698 | this.closePageToolStripMenuItem.Click += new System.EventHandler(this.closePageToolStripMenuItem_Click);
699 | //
700 | // ProjectContextMenu
701 | //
702 | this.ProjectContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
703 | this.addNewFileToolStripMenuItem1,
704 | this.toolStripSeparator10,
705 | this.buildToolStripMenuItem1,
706 | this.runToolStripMenuItem1,
707 | this.toolStripSeparator11,
708 | this.closeProjectToolStripMenuItem1});
709 | this.ProjectContextMenu.Name = "ProjectContextMenu";
710 | this.ProjectContextMenu.Size = new System.Drawing.Size(145, 104);
711 | //
712 | // addNewFileToolStripMenuItem1
713 | //
714 | this.addNewFileToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("addNewFileToolStripMenuItem1.Image")));
715 | this.addNewFileToolStripMenuItem1.Name = "addNewFileToolStripMenuItem1";
716 | this.addNewFileToolStripMenuItem1.Size = new System.Drawing.Size(144, 22);
717 | this.addNewFileToolStripMenuItem1.Text = "Add New File";
718 | this.addNewFileToolStripMenuItem1.Click += new System.EventHandler(this.addNewFileToolStripMenuItem1_Click);
719 | //
720 | // toolStripSeparator10
721 | //
722 | this.toolStripSeparator10.Name = "toolStripSeparator10";
723 | this.toolStripSeparator10.Size = new System.Drawing.Size(141, 6);
724 | //
725 | // buildToolStripMenuItem1
726 | //
727 | this.buildToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("buildToolStripMenuItem1.Image")));
728 | this.buildToolStripMenuItem1.Name = "buildToolStripMenuItem1";
729 | this.buildToolStripMenuItem1.Size = new System.Drawing.Size(144, 22);
730 | this.buildToolStripMenuItem1.Text = "Build";
731 | this.buildToolStripMenuItem1.Click += new System.EventHandler(this.buildToolStripMenuItem1_Click);
732 | //
733 | // runToolStripMenuItem1
734 | //
735 | this.runToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("runToolStripMenuItem1.Image")));
736 | this.runToolStripMenuItem1.Name = "runToolStripMenuItem1";
737 | this.runToolStripMenuItem1.Size = new System.Drawing.Size(144, 22);
738 | this.runToolStripMenuItem1.Text = "Run";
739 | this.runToolStripMenuItem1.Click += new System.EventHandler(this.runToolStripMenuItem1_Click);
740 | //
741 | // toolStripSeparator11
742 | //
743 | this.toolStripSeparator11.Name = "toolStripSeparator11";
744 | this.toolStripSeparator11.Size = new System.Drawing.Size(141, 6);
745 | //
746 | // closeProjectToolStripMenuItem1
747 | //
748 | this.closeProjectToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("closeProjectToolStripMenuItem1.Image")));
749 | this.closeProjectToolStripMenuItem1.Name = "closeProjectToolStripMenuItem1";
750 | this.closeProjectToolStripMenuItem1.Size = new System.Drawing.Size(144, 22);
751 | this.closeProjectToolStripMenuItem1.Text = "Close Project";
752 | this.closeProjectToolStripMenuItem1.Click += new System.EventHandler(this.closeProjectToolStripMenuItem1_Click);
753 | //
754 | // MainWindow
755 | //
756 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
757 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
758 | this.ClientSize = new System.Drawing.Size(800, 450);
759 | this.Controls.Add(this.splitContainer1);
760 | this.Controls.Add(this.toolStrip1);
761 | this.Controls.Add(this.MainMenuStrip);
762 | this.Name = "MainWindow";
763 | this.Text = "C# IDE";
764 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainWindow_FormClosing);
765 | this.MainMenuStrip.ResumeLayout(false);
766 | this.MainMenuStrip.PerformLayout();
767 | this.toolStrip1.ResumeLayout(false);
768 | this.toolStrip1.PerformLayout();
769 | this.splitContainer1.Panel1.ResumeLayout(false);
770 | this.splitContainer1.Panel2.ResumeLayout(false);
771 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
772 | this.splitContainer1.ResumeLayout(false);
773 | this.splitContainer2.Panel1.ResumeLayout(false);
774 | this.splitContainer2.Panel2.ResumeLayout(false);
775 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
776 | this.splitContainer2.ResumeLayout(false);
777 | this.TabControlBottom.ResumeLayout(false);
778 | this.Output.ResumeLayout(false);
779 | this.TreeViewContextMenu.ResumeLayout(false);
780 | this.TabContextMenu.ResumeLayout(false);
781 | this.ProjectContextMenu.ResumeLayout(false);
782 | this.ResumeLayout(false);
783 | this.PerformLayout();
784 |
785 | }
786 |
787 | #endregion
788 |
789 | private System.Windows.Forms.MenuStrip MainMenuStrip;
790 | private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
791 | private System.Windows.Forms.ToolStripMenuItem createProjectToolStripMenuItem;
792 | private System.Windows.Forms.ToolStripMenuItem openProjectToolStripMenuItem;
793 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
794 | private System.Windows.Forms.ToolStripMenuItem newFileToolStripMenuItem;
795 | private System.Windows.Forms.ToolStripMenuItem openFileToolStripMenuItem;
796 | private System.Windows.Forms.ToolStripMenuItem saveFocusedFileToolStripMenuItem;
797 | private System.Windows.Forms.ToolStripMenuItem saveAllFilesToolStripMenuItem;
798 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
799 | private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
800 | private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem;
801 | private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem;
802 | private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
803 | private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem;
804 | private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
805 | private System.Windows.Forms.ToolStripMenuItem projectTreeCollapsedToolStripMenuItem;
806 | private System.Windows.Forms.ToolStripMenuItem errorsTreeCollapsedToolStripMenuItem;
807 | private System.Windows.Forms.ToolStripMenuItem projectToolStripMenuItem;
808 | private System.Windows.Forms.ToolStripMenuItem addNewFileToolStripMenuItem;
809 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
810 | private System.Windows.Forms.ToolStripMenuItem buildToolStripMenuItem;
811 | private System.Windows.Forms.ToolStripMenuItem runToolStripMenuItem;
812 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
813 | private System.Windows.Forms.ToolStripMenuItem closeProjectToolStripMenuItem;
814 | private System.Windows.Forms.ToolStrip toolStrip1;
815 | private System.Windows.Forms.SplitContainer splitContainer1;
816 | private System.Windows.Forms.SplitContainer splitContainer2;
817 | private System.Windows.Forms.TreeView ProjectTreeView;
818 | private System.Windows.Forms.TabControl MainTabControl;
819 | private System.Windows.Forms.TabControl TabControlBottom;
820 | private System.Windows.Forms.TabPage Errors;
821 | private System.Windows.Forms.TabPage Warnings;
822 | private System.Windows.Forms.TabPage Output;
823 | private System.Windows.Forms.RichTextBox richTextBox1;
824 | private System.Windows.Forms.ToolStripButton NewProjectTS;
825 | private System.Windows.Forms.ToolStripButton OpenProjectTS;
826 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
827 | private System.Windows.Forms.ToolStripButton NewFileTS;
828 | private System.Windows.Forms.ToolStripButton OpenFileTS;
829 | private System.Windows.Forms.ToolStripButton SaveFileTS;
830 | private System.Windows.Forms.ToolStripButton SaveAllFilesTS;
831 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
832 | private System.Windows.Forms.ToolStripButton CutTS;
833 | private System.Windows.Forms.ToolStripButton CopyTS;
834 | private System.Windows.Forms.ToolStripButton PasteTS;
835 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
836 | private System.Windows.Forms.ToolStripButton BuildTS;
837 | private System.Windows.Forms.ToolStripButton RunTS;
838 | private System.Windows.Forms.ToolStripButton CommentTS;
839 | private System.Windows.Forms.ContextMenuStrip TreeViewContextMenu;
840 | private System.Windows.Forms.ToolStripMenuItem excludeToolStripMenuItem;
841 | private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem;
842 | private System.Windows.Forms.ContextMenuStrip TabContextMenu;
843 | private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem1;
844 | private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem1;
845 | private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem1;
846 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
847 | private System.Windows.Forms.ToolStripMenuItem lineUpToolStripMenuItem;
848 | private System.Windows.Forms.ToolStripMenuItem lineDownToolStripMenuItem;
849 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
850 | private System.Windows.Forms.ToolStripMenuItem saveFileToolStripMenuItem;
851 | private System.Windows.Forms.ToolStripMenuItem closePageToolStripMenuItem;
852 | private System.Windows.Forms.ContextMenuStrip ProjectContextMenu;
853 | private System.Windows.Forms.ToolStripMenuItem addNewFileToolStripMenuItem1;
854 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
855 | private System.Windows.Forms.ToolStripMenuItem buildToolStripMenuItem1;
856 | private System.Windows.Forms.ToolStripMenuItem runToolStripMenuItem1;
857 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator11;
858 | private System.Windows.Forms.ToolStripMenuItem closeProjectToolStripMenuItem1;
859 | }
860 | }
--------------------------------------------------------------------------------
/CSharpIDE/Views/MainWindow.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Models;
2 | using CSharpIDE.Views.Interfaces;
3 | using FastColoredTextBoxNS;
4 | using System;
5 | using System.CodeDom.Compiler;
6 | using System.Collections.Generic;
7 | using System.ComponentModel;
8 | using System.Data;
9 | using System.Drawing;
10 | using System.IO;
11 | using System.Linq;
12 | using System.Text;
13 | using System.Threading.Tasks;
14 | using System.Windows.Forms;
15 |
16 | namespace CSharpIDE.Views
17 | {
18 | public partial class MainWindow : Form, IMainWindow
19 | {
20 | private Project project;
21 | public CompilerResults Results { get; set; }
22 | private ImageList imageList;
23 | public Project Project { get => project; set => project = value; }
24 | public string OFDFileName {get;set;}
25 | public string OFDPath { get; set; }
26 | public string SelectedFileName { get; set; }
27 | public ProjectFile ProjectFile { get; set; }
28 |
29 | public MainWindow()
30 | {
31 | InitializeComponent();
32 | Project = new Project();
33 | imageList = new ImageList();
34 | AddImagesToList();
35 | }
36 |
37 | #region private functions
38 |
39 | private void AddImagesToList()
40 | {
41 | imageList.Images.Add("Parent", Image.FromFile(@"..\..\..\Images\Parent.png"));
42 | imageList.Images.Add("Child", Image.FromFile(@"..\..\..\Images\Child.png"));
43 | ProjectTreeView.ImageList = imageList;
44 | ProjectTreeView.ImageIndex = 1;
45 | ProjectTreeView.SelectedImageIndex = 1;
46 | }
47 | private void RefreshTreeView()
48 | {
49 | if (Project.Name != null)
50 | {
51 | ProjectTreeView.Nodes.Clear();
52 | TreeNode rootnode = new TreeNode(Project.Name);
53 |
54 | ProjectTreeView.Nodes.Add(rootnode);
55 | rootnode.ImageIndex = 1;
56 | rootnode.SelectedImageIndex = 1;
57 |
58 | foreach (var item in Project.Files)
59 | {
60 | rootnode.Nodes.Add(item.Name);
61 | rootnode.Nodes[rootnode.Nodes.Count - 1].ContextMenuStrip = TreeViewContextMenu;
62 | rootnode.ImageIndex = 0;
63 | rootnode.SelectedImageIndex = 0;
64 | }
65 | ProjectTreeView.ExpandAll();
66 | }
67 | }
68 | private void AddNewTab(ProjectFile file)
69 | {
70 | TabPage tabPage = new TabPage();
71 | FastColoredTextBox fastColoredTextBox = new FastColoredTextBox();
72 | fastColoredTextBox.Dock = DockStyle.Fill;
73 | fastColoredTextBox.Language = Language.CSharp;
74 | fastColoredTextBox.Text = file.Data;
75 | fastColoredTextBox.TextChanged += Ts_TextChanged;
76 | fastColoredTextBox.ContextMenuStrip = TabContextMenu;
77 | tabPage.Text = file.Name;
78 | tabPage.BorderStyle = BorderStyle.FixedSingle;
79 | tabPage.Controls.Add(fastColoredTextBox);
80 | MainTabControl.TabPages.Add(tabPage);
81 | MainTabControl.SelectedTab = MainTabControl.TabPages[MainTabControl.TabPages.Count - 1];
82 | }
83 | private void Ts_TextChanged(object sender, TextChangedEventArgs e)
84 | {
85 | if (MainTabControl.SelectedTab.Text[MainTabControl.SelectedTab.Text.Length - 1] != '*')
86 | MainTabControl.SelectedTab.Text += "*";
87 | }
88 |
89 | #endregion
90 |
91 | #region events
92 |
93 | public event EventHandler NewProjectEvent;
94 | public event EventHandler OpenProjectEvent;
95 | public event EventHandler NewFileEvent;
96 | public event EventHandler SaveFocusedFile;
97 | public event EventHandler SaveAllFiles;
98 | public event EventHandler BuildProject;
99 | public event EventHandler RunProject;
100 | public event EventHandler OpenFileEvent;
101 | public event EventHandler RemoveFile;
102 | public event EventHandler ExcludeFile;
103 |
104 | #endregion
105 |
106 | #region menustrip
107 |
108 | private void createProjectToolStripMenuItem_Click(object sender, EventArgs e)
109 | {
110 | NewProjectEvent.Invoke(sender, e);
111 | RefreshTreeView();
112 | }
113 |
114 | private void openProjectToolStripMenuItem_Click(object sender, EventArgs e)
115 | {
116 | using (var fd = new OpenFileDialog())
117 | {
118 | fd.Filter = "mysln file|*.mysln";
119 | DialogResult result = fd.ShowDialog();
120 | if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fd.FileName) && fd.FileName.Contains(".mysln"))
121 | {
122 | OFDFileName = Path.GetFileNameWithoutExtension(fd.FileName);
123 | OFDPath = Path.GetDirectoryName(fd.FileName);
124 | OpenProjectEvent.Invoke(sender, e);
125 | RefreshTreeView();
126 | }
127 | }
128 | //MessageBox.Show(OFDPath + "\\" + OFDFileName);
129 |
130 | }
131 |
132 | private void newFileToolStripMenuItem_Click(object sender, EventArgs e)
133 | {
134 | using (var sfd = new SaveFileDialog())
135 | {
136 | sfd.Filter = "CSharp file|*.cs";
137 |
138 | DialogResult result = sfd.ShowDialog();
139 | if (result == DialogResult.OK)
140 | {
141 | ProjectFile = new ProjectFile() { Name = Path.GetFileNameWithoutExtension(sfd.FileName) + ".cs" };
142 | NewFileEvent.Invoke(sender, e);
143 | RefreshTreeView();
144 | }
145 | }
146 |
147 | }
148 |
149 | private void openFileToolStripMenuItem_Click(object sender, EventArgs e)
150 | {
151 | using (var fd = new OpenFileDialog())
152 | {
153 | fd.Filter = "cs file|*.cs";
154 | DialogResult result = fd.ShowDialog();
155 | if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fd.FileName) && fd.FileName.Contains(".cs"))
156 | {
157 | OFDFileName = Path.GetFileNameWithoutExtension(fd.FileName);
158 | OFDPath = Path.GetDirectoryName(fd.FileName);
159 | OpenFileEvent.Invoke(sender, e);
160 | RefreshTreeView();
161 | }
162 | }
163 |
164 | }
165 |
166 | private void saveFocusedFileToolStripMenuItem_Click(object sender, EventArgs e)
167 | {
168 | if (MainTabControl.SelectedTab.Text[MainTabControl.SelectedTab.Text.Length - 1] == '*')
169 | {
170 | MainTabControl.SelectedTab.Text = MainTabControl.SelectedTab.Text.Remove(MainTabControl.SelectedTab.Text.Length - 1, 1);
171 | ProjectFile = new ProjectFile() { Name = MainTabControl.SelectedTab.Text, Data = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Text };
172 | //MessageBox.Show(ProjectFile.Name);
173 | //MessageBox.Show(ProjectFile.Data);
174 | SaveFocusedFile.Invoke(sender, e);
175 | RefreshTreeView();
176 | }
177 |
178 | }
179 |
180 | private void saveAllFilesToolStripMenuItem_Click(object sender, EventArgs e)
181 | {
182 |
183 | foreach (TabPage item in MainTabControl.TabPages)
184 | {
185 | if (item.Text[item.Text.Length - 1] == '*')
186 | {
187 | item.Text = item.Text.Remove(item.Text.Length - 1, 1);
188 | foreach (ProjectFile _file in project.Files)
189 | {
190 | if (_file.Name == item.Text) _file.Data = (item.Controls[0] as FastColoredTextBox).Text;
191 | }
192 | }
193 | }
194 | SaveAllFiles.Invoke(sender, e);
195 | }
196 |
197 | private void exitToolStripMenuItem_Click(object sender, EventArgs e)
198 | {
199 | if(Project.Name!=null)
200 | {
201 | var confirmResult = MessageBox.Show("Do you want to save changes?", "", MessageBoxButtons.YesNo);
202 | if (confirmResult == DialogResult.Yes)
203 | {
204 | saveAllFilesToolStripMenuItem_Click(sender, e);
205 | }
206 | }
207 | Environment.Exit(0);
208 | }
209 |
210 | private void cutToolStripMenuItem_Click(object sender, EventArgs e)
211 | {
212 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Cut();
213 | }
214 |
215 | private void copyToolStripMenuItem_Click(object sender, EventArgs e)
216 | {
217 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Copy();
218 | }
219 |
220 | private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
221 | {
222 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Paste();
223 | }
224 |
225 | private void addNewFileToolStripMenuItem_Click(object sender, EventArgs e)
226 | {
227 | newFileToolStripMenuItem_Click(sender, e);
228 | }
229 |
230 | private void buildToolStripMenuItem_Click(object sender, EventArgs e)
231 | {
232 | BuildProject.Invoke(sender, e);
233 | }
234 |
235 | private void runToolStripMenuItem_Click(object sender, EventArgs e)
236 | {
237 | RunProject.Invoke(sender, e);
238 | LoadResults();
239 | }
240 |
241 | private void LoadResults()
242 | {
243 | if (Results.Errors.Count == 0 && Results != null)
244 | {
245 | #region Errors
246 | TableLayoutPanel panel = new TableLayoutPanel();
247 | panel.Dock = DockStyle.Fill;
248 | panel.AutoScroll = true;
249 | panel.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
250 | panel.ColumnCount = 4;
251 | panel.RowCount = 1;
252 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
253 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
254 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
255 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
256 |
257 | panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
258 | panel.Controls.Add(new Label() { Text = "Error Code" }, 0, 0);
259 | panel.Controls.Add(new Label() { Text = "Message" }, 1, 0);
260 | panel.Controls.Add(new Label() { Text = "Line" }, 2, 0);
261 | panel.Controls.Add(new Label() { Text = "File" }, 3, 0);
262 | panel.RowCount = panel.RowCount + 1;
263 | panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
264 |
265 | TabControlBottom.TabPages[0].Controls.Clear();
266 | TabControlBottom.TabPages[0].Controls.Add(panel);
267 |
268 | #endregion
269 |
270 | #region Warnings
271 |
272 | TableLayoutPanel warningpanel = new TableLayoutPanel();
273 | warningpanel.Dock = DockStyle.Fill;
274 | warningpanel.AutoScroll = true;
275 | warningpanel.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
276 | warningpanel.ColumnCount = 4;
277 | warningpanel.RowCount = 1;
278 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
279 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
280 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
281 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
282 |
283 | warningpanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
284 | warningpanel.Controls.Add(new Label() { Text = "Warning Code" }, 0, 0);
285 | warningpanel.Controls.Add(new Label() { Text = "Message" }, 1, 0);
286 | warningpanel.Controls.Add(new Label() { Text = "Line" }, 2, 0);
287 | warningpanel.Controls.Add(new Label() { Text = "File" }, 3, 0);
288 | warningpanel.RowCount = warningpanel.RowCount + 1;
289 | warningpanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
290 |
291 | TabControlBottom.TabPages[1].Controls.Clear();
292 | TabControlBottom.TabPages[1].Controls.Add(warningpanel);
293 |
294 | #endregion
295 |
296 | #region Output
297 | string tmp = string.Empty;
298 | TabControlBottom.SelectedTab = TabControlBottom.TabPages[2];
299 | TabControlBottom.TabPages[2].Controls[0].Text = $"Build started: {Project.Name}\nPath: {Project.Path}\nBuild: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped";
300 | #endregion
301 | }
302 | else
303 | {
304 | #region Warnings
305 | TableLayoutPanel warningpanel = new TableLayoutPanel();
306 | warningpanel.Dock = DockStyle.Fill;
307 | warningpanel.AutoScroll = true;
308 | warningpanel.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
309 | warningpanel.ColumnCount = 4;
310 | warningpanel.RowCount = 1;
311 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
312 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
313 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
314 | warningpanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
315 |
316 | warningpanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
317 | warningpanel.Controls.Add(new Label() { Text = "Warning Code" }, 0, 0);
318 | warningpanel.Controls.Add(new Label() { Text = "Message" }, 1, 0);
319 | warningpanel.Controls.Add(new Label() { Text = "Line" }, 2, 0);
320 | warningpanel.Controls.Add(new Label() { Text = "File" }, 3, 0);
321 | warningpanel.RowCount = warningpanel.RowCount + 1;
322 | warningpanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
323 |
324 | TabControlBottom.TabPages[1].Controls.Clear();
325 | TabControlBottom.TabPages[1].Controls.Add(warningpanel);
326 |
327 | #endregion
328 |
329 | #region Errors
330 |
331 | TableLayoutPanel panel = new TableLayoutPanel();
332 | panel.Dock = DockStyle.Fill;
333 | panel.AutoScroll = true;
334 | panel.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single;
335 | panel.ColumnCount = 4;
336 | panel.RowCount = 1;
337 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
338 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F));
339 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 30F));
340 | panel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 20F));
341 |
342 | panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
343 | panel.Controls.Add(new Label() { Text = "Error Code" }, 0, 0);
344 | panel.Controls.Add(new Label() { Text = "Message" }, 1, 0);
345 | panel.Controls.Add(new Label() { Text = "Line" }, 2, 0);
346 | panel.Controls.Add(new Label() { Text = "File" }, 3, 0);
347 |
348 |
349 | foreach (CompilerError err in Results.Errors)
350 | {
351 | panel.RowCount = panel.RowCount + 1;
352 | panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
353 | panel.Controls.Add(new Label() { Text = err.ErrorNumber }, 0, panel.RowCount - 1);
354 | panel.Controls.Add(new Label() { Text = err.ErrorText }, 1, panel.RowCount - 1);
355 | panel.Controls.Add(new Label() { Text = err.Line.ToString() }, 2, panel.RowCount - 1);
356 | panel.Controls.Add(new Label() { Text = err.FileName }, 3, panel.RowCount - 1);
357 | }
358 | panel.RowCount = panel.RowCount + 1;
359 | panel.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
360 |
361 | TabControlBottom.TabPages[0].Controls.Clear();
362 | TabControlBottom.TabPages[0].Controls.Add(panel);
363 | TabControlBottom.SelectedTab = TabControlBottom.TabPages[0];
364 |
365 | #endregion
366 | }
367 | }
368 |
369 | private void closeProjectToolStripMenuItem_Click(object sender, EventArgs e)
370 | {
371 | if (Project.Name != null)
372 | {
373 | var confirmResult = MessageBox.Show("Do you want to save changes?", "", MessageBoxButtons.YesNo);
374 | if (confirmResult == DialogResult.Yes)
375 | {
376 | saveAllFilesToolStripMenuItem_Click(sender, e);
377 | }
378 | }
379 | Project = null;
380 | ProjectTreeView.Nodes.Clear();
381 | MainTabControl.TabPages.Clear();
382 | }
383 |
384 | private void projectTreeCollapsedToolStripMenuItem_Click(object sender, EventArgs e)
385 | {
386 | if (projectTreeCollapsedToolStripMenuItem.Checked)
387 | {
388 | projectTreeCollapsedToolStripMenuItem.Checked = false;
389 | splitContainer2.Panel1Collapsed = false;
390 | }
391 | else
392 | {
393 | projectTreeCollapsedToolStripMenuItem.Checked = true;
394 | splitContainer2.Panel1Collapsed = true;
395 | }
396 | }
397 |
398 | private void errorsTreeCollapsedToolStripMenuItem_Click(object sender, EventArgs e)
399 | {
400 | if(errorsTreeCollapsedToolStripMenuItem.Checked)
401 | {
402 | errorsTreeCollapsedToolStripMenuItem.Checked = false;
403 | splitContainer1.Panel2Collapsed = false;
404 | }
405 | else
406 | {
407 | errorsTreeCollapsedToolStripMenuItem.Checked = true;
408 | splitContainer1.Panel2Collapsed = true;
409 | }
410 | }
411 |
412 | #endregion
413 |
414 | #region toolstrip
415 |
416 | private void NewProjectTS_Click(object sender, EventArgs e)
417 | {
418 | createProjectToolStripMenuItem_Click(sender, e);
419 | }
420 |
421 | private void OpenProjectTS_Click(object sender, EventArgs e)
422 | {
423 | openProjectToolStripMenuItem_Click(sender, e);
424 |
425 | }
426 |
427 | private void NewFileTS_Click(object sender, EventArgs e)
428 | {
429 | newFileToolStripMenuItem_Click(sender, e);
430 | }
431 |
432 | private void OpenFileTS_Click(object sender, EventArgs e)
433 | {
434 | openFileToolStripMenuItem_Click(sender, e);
435 | }
436 |
437 | private void SaveFileTS_Click(object sender, EventArgs e)
438 | {
439 | saveFocusedFileToolStripMenuItem_Click(sender, e);
440 | }
441 |
442 | private void SaveAllFilesTS_Click(object sender, EventArgs e)
443 | {
444 | saveAllFilesToolStripMenuItem_Click(sender, e);
445 | }
446 |
447 | private void CutTS_Click(object sender, EventArgs e)
448 | {
449 | cutToolStripMenuItem_Click(sender, e);
450 | }
451 |
452 | private void CopyTS_Click(object sender, EventArgs e)
453 | {
454 | copyToolStripMenuItem_Click(sender, e);
455 | }
456 |
457 | private void PasteTS_Click(object sender, EventArgs e)
458 | {
459 | pasteToolStripMenuItem_Click(sender, e);
460 | }
461 |
462 | private void BuildTS_Click(object sender, EventArgs e)
463 | {
464 | buildToolStripMenuItem_Click(sender, e);
465 | }
466 |
467 | private void RunTS_Click(object sender, EventArgs e)
468 | {
469 | runToolStripMenuItem_Click(sender, e);
470 | }
471 |
472 | private void CommentTS_Click(object sender, EventArgs e)
473 | {
474 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).CommentSelected();
475 | }
476 |
477 | #endregion
478 |
479 | #region projecttree
480 |
481 | private void ProjectTreeView_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
482 | {
483 | bool chk = false;
484 | foreach (var item in Project.Files)
485 | {
486 | if(item.Name == e.Node.Text)
487 | {
488 | foreach (var itemT in MainTabControl.TabPages)
489 | {
490 | if((itemT as TabPage).Text == item.Name) {
491 | MainTabControl.SelectedTab = (itemT as TabPage);
492 | chk = true;
493 | }
494 | }
495 | if (!chk) AddNewTab(item);
496 | }
497 | }
498 | }
499 |
500 | #endregion
501 |
502 | #region contextMenuTab
503 | private void cutToolStripMenuItem1_Click(object sender, EventArgs e)
504 | {
505 | cutToolStripMenuItem_Click(sender, e);
506 | }
507 |
508 | private void copyToolStripMenuItem1_Click(object sender, EventArgs e)
509 | {
510 | copyToolStripMenuItem_Click(sender, e);
511 | }
512 |
513 | private void pasteToolStripMenuItem1_Click(object sender, EventArgs e)
514 | {
515 | pasteToolStripMenuItem_Click(sender, e);
516 | }
517 |
518 | private void saveFileToolStripMenuItem_Click(object sender, EventArgs e)
519 | {
520 | saveFocusedFileToolStripMenuItem_Click(sender, e);
521 | }
522 |
523 | private void lineUpToolStripMenuItem_Click(object sender, EventArgs e)
524 | {
525 | int line = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection.Start.iLine;
526 | if(line>0)
527 | {
528 | string linetext = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Lines[line];
529 | string linetext2 = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Lines[line-1];
530 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection = new Range((MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox), line);
531 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).SelectedText = linetext2;
532 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection = new Range((MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox), line-1);
533 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).SelectedText = linetext;
534 | }
535 | }
536 |
537 | private void lineDownToolStripMenuItem_Click(object sender, EventArgs e)
538 | {
539 | int line = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection.Start.iLine;
540 | if (line < (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).LinesCount-1)
541 | {
542 | string linetext = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Lines[line];
543 | string linetext2 = (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Lines[line + 1];
544 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection = new Range((MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox), line);
545 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).SelectedText = linetext2;
546 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).Selection = new Range((MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox), line + 1);
547 | (MainTabControl.SelectedTab.Controls[0] as FastColoredTextBox).SelectedText = linetext;
548 | }
549 | }
550 |
551 | private void closePageToolStripMenuItem_Click(object sender, EventArgs e)
552 | {
553 | if (MainTabControl.SelectedTab.Text[MainTabControl.SelectedTab.Text.Length-1]=='*')
554 | {
555 | var confirmResult = MessageBox.Show("Do you want to save changes?", "", MessageBoxButtons.YesNo);
556 | if (confirmResult == DialogResult.Yes)
557 | {
558 | saveFileToolStripMenuItem_Click(sender, e);
559 | }
560 | }
561 | MainTabControl.TabPages.Remove(MainTabControl.SelectedTab);
562 | }
563 |
564 | #endregion
565 |
566 | #region treeviewcontextmenu
567 | private void excludeToolStripMenuItem_Click(object sender, EventArgs e)
568 | {
569 | SelectedFileName = ProjectTreeView.SelectedNode.Text;
570 | for (int i = 0; i < MainTabControl.TabPages.Count; i++)
571 | {
572 | if (MainTabControl.TabPages[i].Text == SelectedFileName)
573 | {
574 | MainTabControl.TabPages.RemoveAt(i);
575 | break;
576 | }
577 | }
578 | ExcludeFile.Invoke(sender, e);
579 | RefreshTreeView();
580 | }
581 |
582 | private void removeToolStripMenuItem_Click(object sender, EventArgs e)
583 | {
584 | SelectedFileName = ProjectTreeView.SelectedNode.Text;
585 | for (int i = 0; i < MainTabControl.TabPages.Count; i++)
586 | {
587 | if (MainTabControl.TabPages[i].Text == SelectedFileName)
588 | {
589 | MainTabControl.TabPages.RemoveAt(i);
590 | break;
591 | }
592 | }
593 | RemoveFile.Invoke(sender, e);
594 | RefreshTreeView();
595 | }
596 |
597 | private void ProjectTreeView_MouseDown(object sender, MouseEventArgs e)
598 | {
599 | if (e.Button != MouseButtons.Right) return;
600 |
601 | TreeNode node_here = ProjectTreeView.GetNodeAt(e.X, e.Y);
602 | ProjectTreeView.SelectedNode = node_here;
603 |
604 | if (node_here == null) return;
605 | }
606 |
607 | #endregion
608 |
609 | #region projectcontextmenu
610 |
611 | private void addNewFileToolStripMenuItem1_Click(object sender, EventArgs e)
612 | {
613 | newFileToolStripMenuItem_Click(sender, e);
614 | }
615 |
616 | private void buildToolStripMenuItem1_Click(object sender, EventArgs e)
617 | {
618 | buildToolStripMenuItem_Click(sender, e);
619 | }
620 |
621 | private void runToolStripMenuItem1_Click(object sender, EventArgs e)
622 | {
623 | runToolStripMenuItem_Click(sender, e);
624 | }
625 |
626 | private void closeProjectToolStripMenuItem1_Click(object sender, EventArgs e)
627 | {
628 | closeProjectToolStripMenuItem_Click(sender, e);
629 | }
630 |
631 | #endregion
632 |
633 | #region window
634 | private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)
635 | {
636 | if (Project.Name != null)
637 | {
638 | var confirmResult = MessageBox.Show("Do you want to save changes?", "", MessageBoxButtons.YesNo);
639 | if (confirmResult == DialogResult.Yes)
640 | {
641 | saveAllFilesToolStripMenuItem_Click(sender, e);
642 | }
643 | }
644 | }
645 | #endregion
646 |
647 | bool IShow.ShowDialog()
648 | {
649 | return this.ShowDialog() == DialogResult.OK;
650 | }
651 | }
652 | }
653 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/MainWindow.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
124 |
125 |
126 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAIFJREFUOE/l
127 | jcsNgDAMQzsH43QvZkNiClbgBFx6DXIVV6FKqyKOWHrqJ7YTrFJKQvRrTDa4zlO5A7X0ZYP1qZa2YAL7
128 | tuQQwZsztfqCwQa9t1p9cYsXHKGUMFSfMcYmjwJSb/eCBPNcQNngeVxd3AIInxh6IcsfCkZoFrwhiHxB
129 | wg2E1Uvx1CE3UgAAAABJRU5ErkJggg==
130 |
131 |
132 |
133 |
134 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
135 | xAAADsQBlSsOGwAAAMdJREFUOE9j+P//P0WY4du3b/8pwWADnJycyMKDzIAP7z+ShKlvwKdPn8ECyPjj
136 | h09YNYMwVhd8/vzlv17R2v8MwXP+x0zYh9cQFANSUlL+f/ny5f/Xr1//P3/zAcUQkBhBA+btOP+fP3YR
137 | WBM67lp//v8XoMvwGgDSDLLt+qPXYMGcWYfBmkEuefb6PYZmDANAineefQAWABmE0PyBuDCAueDE9adg
138 | QRgGhQ1IIS4MN2Dl4VvwMEA2gBjMAAJARj+GIFGAgQEAVPbtp6sx/pwAAAAASUVORK5CYII=
139 |
140 |
141 |
142 |
143 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJRJREFUOE/t
144 | kMsNgCAQRKnDKqyBvrzSlolV2IIn9cIVHWTX5SMSz27yRGTmaVRyrLWOCI+q41yIyeI0dHwPrkR5IgEV
145 | 0/VKlMcLEALLPPoSgT2dhXw2LJDF0l6wnvShH38BeCpqrT3GGOxZ0vQPtnVnUkkkINK3pwIpYQGNLCIo
146 | yxKcIZMJaH7BLajxKmjBC3D5jlMHobhVGh8R3fQAAAAASUVORK5CYII=
147 |
148 |
149 |
150 |
151 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAPtJREFUOE9j
152 | AIFv374ZAPF7IP6PhEF8A7ACYgBIMUiTXtHa/wzBc/7HTNhHvCFARf1ADLb5+ZsP/0kyBKR55eFb//lj
153 | F4E1oeOu9edhXsKKQQaANYNsu/7oNVgQxAZpBrkExL+zrQorhhsAUrzz7AMUzVDng/GH9x8xMIoB6C5A
154 | xtg0gzCyAf0g22FhQEgjDMMNgAYkXCMMY9OEjFG8AMJ3dzViVYgLoxhwb1cTWAAfBlnw7sUjrAbMf3Zu
155 | JYYGbPjRiflYDXD4+Oo+hmJc+PXDy6gGQAPx/sNDEzEUY8P393ZiNaDgzb0TGIpx4WeXt4FpZAMEQBzS
156 | 8bf/AO4d/gCMoglQAAAAAElFTkSuQmCC
157 |
158 |
159 |
160 |
161 | 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
208 | uAHk4/8MAP4fvt/BiqjtAAAAAElFTkSuQmCC
209 |
210 |
211 |
212 |
213 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
214 | DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
215 | bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
216 | sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
217 | AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
218 | JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
219 | 3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
220 | li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
221 | ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
222 | wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
223 | hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
224 | 4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
225 | VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
226 | 5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
227 | qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
228 | j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
229 | 1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
230 | rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
231 | fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
232 | B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
233 | yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
234 | YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
235 | yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
236 | vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
237 | vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
238 | Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
239 | bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
240 | llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
241 | ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
242 | xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
243 | eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
244 | YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
245 | XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
246 | WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
247 | xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
248 | dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
249 | V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
250 | Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
251 | Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
252 | PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
253 | 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
254 | /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
255 | XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
256 | fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
257 | tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
258 | 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAH9JREFUOE9jwAW+ffv2
259 | Hw9+D8QGUKXYAUghQ/AcMP7w/iMYw9gxE/YRNgSfASAaZghUOSbAZgCyQSAMVoMLIBtgU7URBZNsAC4M
260 | VgMicOFZO69g1QjDIDV4AwsUUPgMIWgAiMZnCE4DkA2CKcSFiQ8sXGDUAIgBxGCocjTAwAAAec4CbyNj
261 | P1AAAAAASUVORK5CYII=
262 |
263 |
264 |
265 |
266 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
267 | dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANpSURBVDhPZZF9TBN3GMdP0gBVWrAtbS0OGrFyFe68
268 | FvijtBC0XKltk2WpEhFjNJBp2EBDgQpo0RgUlIxoNGqIif6he0uWZW7L/lKzZL4rmTGR2QxFeSlIW1qv
269 | pWuXPnuuWZlxl3zz3O95vp/neX53xIumptWPzeaRZ5s3Pz9HUR5KJMoDAOJDjRsMuVO1tX0LFov3S4oa
270 | +kwul1UIhSuIJxbL8Ivubm56eBheu1zhkzR9oqWgQPQ+HDQaxX9arT2B3t5wbGQEFtvbI98wzGiZQFBE
271 | PDUYJt8cOQJvPB7wDw6Cr6NjcXDTplOSjIxcHh7T6fI4u93ztrv7HTc0BNH+fkh2dcHv1dWzRoGgmbhE
272 | UQOTe/cuzR06BLO9vRA+fhym2tqCLpI89mlurgqv1glud2gR87G+Pki6XDDmcES35+ffyCYIK1GYk7P6
273 | mFZ7emb37mjw4EGY7+yEyOHD8LK52f/Qbr8z29o6HUN4qacH4MABeGKzRawSyXcEDxOEOHVHuUAgObph
274 | w+nXTicX2rcvGUBjFCcttbdDqKUFuMZGiDudybG6uohDofgeQRaVzbPLHwofWZdafdS7detcyOEAv9EI
275 | wdJSWFSpgFMo4HZxcaBeKv0KfXWozGUu/cJroLq68D5N3w9KpTAvEMAcloOocE4OXCbJcZVSuf19P6//
276 | Dm73Gt/OnQOvVCqfD9MLqMC/cU4ohGckGTxpMn1RqdXK/9cg0Nqq5HbtuvhXSUkigJPfYpoTiSCC6/Ow
277 | F89T2dkwU17+7jzLnqU1GuVyg8D+/Wp/Y+MFn1qdnEajHxVF+CnDcD/V1r76gySjL7Oy4DfMj2GcqKiI
278 | nzWbz5g0GlWqQaih4cp8URHwa/NwAuEJnS7eTNM/MOvX7xmpqro4wzDRh5mZ8CPWf8X4vLw8fs1iGS2V
279 | y9cRHMv6FzIyUmvHEJ7U6xNtev3NLKHQxk8wbNz40RWWPT/BMEu3EP4afQ9kMvDa7X9/UlLyOXFjy5ZT
280 | QYqKJpRKmNLrkyl45cqP0/+ZV01ZWcGo2XxhXKeL3UP4Z6024dbpHqwVi5uIDpMp/xeb7eoMy4Y9lZV3
281 | EXYiLEzDaVVpNIXfsux1b319vIumH+WJxTvQJ0kV+2tq1jXgOrJVq7bxyQ/htKzFxVonSboVItEe9EkB
282 | gPgH0/f87qQKSvgAAAAASUVORK5CYII=
283 |
284 |
285 |
286 |
287 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
288 | wwAADsMBx2+oZAAAARNJREFUOE+Vkj2OgzAQRn2EPcIeIWegR9qWU3CFvUEOQ09PlS3olyLZhiKJ+Csd
289 | PzNDDCSW9pNG2PO98YwtTKi+7w/jOF4Jpw9JG9aah5H0XgB5ntuiKOwwDN+SNqzJ4cFIei9n2iRJbJZl
290 | HqSzdieHByP4XiGoU2j38GDB9wIuy3IFh4dWVbW62kt1XffLXXUK7U4OT7D3ch2+6rpeptDu5PAEiyuc
291 | 4l/dEa/etq0vvJz/fLCOvj5ywBGIeHdAEEcpm0WCO6Zp6uFYwMCuDuFUjNPpx96ud/8FZhKdJvRgqZHy
292 | 5x8IoMG+aRofrzxqpmn6XA7YTqBdYp4vRm6zegO+es+YJ+WzBF66hr/s1mM/O8Y8AKj29kGG9z1nAAAA
293 | AElFTkSuQmCC
294 |
295 |
296 |
297 |
298 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
299 | xAAADsQBlSsOGwAAAFpJREFUOE/tkksKwDAIRD2b979L2o3bKZZ8QBI7LVl24BEU560iACTGzMBwd1cC
300 | VU2hBEc5p+wX+MCQCnyZQQnaQeQXjIK/jU+CyGtB/Wc9+wUZjwKG2usBIBcLsdOjzbsLeQAAAABJRU5E
301 | rkJggg==
302 |
303 |
304 |
305 |
306 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
307 | xAAADsQBlSsOGwAAAIhJREFUOE/tjcENgCAMRR3BUZyBKRiOXRzBJdQLB/TCtfZXTEwoBI1Hm7wEPr+P
308 | TpsY48CMDCUmZOlZhogEdbgcnHNkrRVwRsb0qVIWcEl+xeIyrwLO3nvJUy0XXIvAGJMJkN07qgClFqqC
309 | LexVvhfgUqNJgFDjkaBULOW/QBFolN4ywRtOAXUHNgDU6Dh53sUAAAAASUVORK5CYII=
310 |
311 |
312 |
313 |
314 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJRJREFUOE/t
315 | kMsNgCAQRKnDKqyBvrzSlolV2IIn9cIVHWTX5SMSz27yRGTmaVRyrLWOCI+q41yIyeI0dHwPrkR5IgEV
316 | 0/VKlMcLEALLPPoSgT2dhXw2LJDF0l6wnvShH38BeCpqrT3GGOxZ0vQPtnVnUkkkINK3pwIpYQGNLCIo
317 | yxKcIZMJaH7BLajxKmjBC3D5jlMHobhVGh8R3fQAAAAASUVORK5CYII=
318 |
319 |
320 |
321 |
322 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
323 | wwAADsMBx2+oZAAAAKBJREFUOE+1kMENgCAMRR3JGbizBYN4Ygq2YBAvjAJcMd9Y0hQUNdrkp+1v+4JO
324 | PHLOa4xxPuqilNqFGh5m2EHdDSxCKaVFAsiDjvU2MDTGlBDCvsgB8DAbAujIOdethwBrbV2WwqwBwJDy
325 | 3hetdT1EDa+3W58tB/TN/J9w0c0pYKQuAJnDrnrK3wKe6BKAnnuyJw/5H8AdNYA3qoD3ymUDT3a7lRlk
326 | 7YwAAAAASUVORK5CYII=
327 |
328 |
329 |
330 |
331 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
332 | wwAADsMBx2+oZAAAAJ1JREFUOE9jQAbfvn07/+XLFwMol3QANOA/EL///v17AlSINAAyIGZexP97L+/9
333 | //r16/z3798LQKWIAyADLLpM/rtMdPi/+8pOkGtI8xLMABju3tlJmpfQDQBhkryEbMC5O+f+R88NB7OJ
334 | 9hKyAR/ef/z/9OXT/7UbquFiBL1EVQMo9gIMkx2IIEx2NFKUkChOyiQ5GR2Q7GQGBgYA9iM1vHWiKSMA
335 | AAAASUVORK5CYII=
336 |
337 |
338 |
339 |
340 | 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
389 |
390 |
391 |
392 | 153, 17
393 |
394 |
395 |
396 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
397 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACASURBVDhP5Y27DYAwEEMzB+NkL2ZDYgpWoAKatCBH5+iI
398 | HBRosfSUz9m+4JVSOol99ckH53Eod2CWZ/lgfZqlLZjAukw5RPDmzKxaMPigeptVi1tUsIdSwlB9xhib
399 | 3ApIvV0FCea5gPLBfTsekQUQPjFUIc8fCnpoFrzBYl8VwgVaqxwhPungeAAAAABJRU5ErkJggg==
400 |
401 |
402 |
403 |
404 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
405 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADBSURBVDhPY6AYfPv27T8lGGyAk5MTWXiQGfDh/UeSMPUN
406 | +PTpM1gAGX/88AmrZhDG6oLPn7/81yta+58heM7/mAn78BqCYkBKSsr/L1++/P/69ev/528+oBgCEiNo
407 | wLwd5//zxy4Ca0LHXevP//8CdBleA0CaQbZdf/QaLJgz6zBYM8glz16/x9CMYQBI8c6zD8ACIIMQmj8Q
408 | FwYwF5y4/hQsCMOgsAEpxIXhBqw8fAseBsgGEINhObIfQ5AowMAAAAbyvdeBCXL+AAAAAElFTkSuQmCC
409 |
410 |
411 |
412 |
413 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
414 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACMSURBVDhP7Y3BCYAwFEM7h1M4Q/fy2rUEp3AFT1UovSrR
415 | /22orQpeDTxqNS8aToxxVeTVu7A4dM35DKRyHxbzUyr1oASmsd8lBXf9JtVyUGCxdCd8CKEV9QgXaqK1
416 | dsc5h3t5RKX8nP1yUh1BUcn/ng/wiOgpLKLIMoNv6Ih2zT+QBu54HHiD1L/EmA2wn/hWQ4oVCwAAAABJ
417 | RU5ErkJggg==
418 |
419 |
420 |
421 |
422 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
423 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEISURBVDhPlZC7CsIwFIZ9A30S8RF8B1d9B3F0000XdRcK
424 | bg7iVrCggy5d1MFBEG1thyoqpqW3MfaEpjQm9RL4aHM4/3eS5GB5nlcKggBF4BQI6qThl0UlxcYE5ypD
425 | XO0vfpdEjb14Kr48bPyXBMLj1QHnayMSeqc73dIrCQEBCcO0vXknRfiHMJwE9ke5KSQRQPNsfWbC8fEJ
426 | NnI4GMH7CdKIwkBa0IPp9A2+BSmJIH7IJEgRhdIwVwBOSkvYmAUj0JQ2KXwCBjyvJi/wfV+yNmMuIMJU
427 | JV4QhmHZuelccxZ3Y8cKYLmuqxvLAdcsQp93eEF0jfpDU7nmLKydTL6JACFUgM3/BPgFb2b9wUqYs/wA
428 | AAAASUVORK5CYII=
429 |
430 |
431 |
432 |
433 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
434 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABRSURBVDhPY6AK+Pbt239S8NevX+dDtUIASJAheA4cf3j/
435 | EY6RxUB0zIR9mIaQYgAIwwyBaifdABAm2gBkjKyGtgYQg0cNGJQGkIOh2ikBDAwAR/4LjdUkCHIAAAAA
436 | SUVORK5CYII=
437 |
438 |
439 |
440 |
441 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
442 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACBSURBVDhPY8AFvn379h8Pfv/lyxcDqFLsAKSQIXgOGH94
443 | /xGMYeyYCfsIG4LPABANMwSqHBNgMwDZIBAGq8EFkA2wqdqIgkk2ABcGqwERuPCsnVewaoRhkBq8gQUK
444 | KHyGEDQAROMzBKcByAbBFOLCxAcWLjBqAMQAYjBUORpgYAAATWQCY5khhWoAAAAASUVORK5CYII=
445 |
446 |
447 |
448 |
449 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
450 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAETSURBVDhPlZI9joMwEEZ9hD3CHiFnoEfallNwhb1BDkNP
451 | T5Ut6Jci2YYiifgrHT8zQwwklvaTRtjzvfGMLUyovu8P4zheCacPSRvWmoeR9F4AeZ7boijsMAzfkjas
452 | yeHBSHovZ9okSWyWZR6ks3Ynhwcj+F4hqFNo9/BgwfcCLstyBYeHVlW1utpLdV33y111Cu1ODk+w93Id
453 | vuq6XqbQ7uTwBIsrnOJf3RGv3ratL7yc/3ywjr4+csARiHh3QBBHKZtFgjumaerhWMDArg7hVIzT6cfe
454 | rnf/BWYSnSb0YKmR8ucfCKDBvmkaH688aqZp+lwO2E6gXWKeL0Zus3oDvnrPmCflswReuoa/7NZjPzvG
455 | PACo9vZBhvc9ZwAAAABJRU5ErkJggg==
456 |
457 |
458 |
459 |
460 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
461 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABVSURBVDhP7YxBCgAgCAR9m///S3XxWghGUWJLdGxhkHId
462 | 8iIiFcHqe3TJzCGQIKfi8l6gD4RQoJ8RkKAXVr5gHOjsXAlW7BwXWH3PM0HEUYBg9SlEDZN0dAOhJqHd
463 | AAAAAElFTkSuQmCC
464 |
465 |
466 |
467 |
468 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
469 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACKSURBVDhP7Y3LDYAgEEQpwVKsgSoojl4swSbUCwc0Aa7q
470 | 4BJN+IjGo5O8ZJndGVhKxpjWWts551aih0fre+0BLaVchRAezPB2NXSSV/gVwXGYPJiVUt6ns1ghCDjn
471 | UQG86w3FToVgDcWCWS9Fvi/Ao0RVAcwUjwpyhzmf4n8BFApS5HZRwRuONGMbrIJ1JIN8O2QAAAAASUVO
472 | RK5CYII=
473 |
474 |
475 |
476 |
477 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
478 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACgSURBVDhPtZDBDYAgDEUdyRm4swWDeGIKtmAQL4wCXDHf
479 | WNIUFDXa5Kftb/uCTjxyzmuMcT7qopTahRoeZthB3Q0sQimlRQLIg471NjA0xpQQwr7IAfAwGwLoyDnX
480 | rYcAa21dlsKsAcCQ8t4XrXU9RA2vt1ufLQf0zfyfcNHNKWCkLgCZw656yt8CnugSgJ57sicP+R/AHTWA
481 | N6qA98plA092u5UZZO2MAAAAAElFTkSuQmCC
482 |
483 |
484 |
485 |
486 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
487 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACdSURBVDhPY0AG3759O//lyxcDKJd0ADTgPxC///79ewJU
488 | iDQAMiBmXsT/ey/v/f/69ev89+/fC0CliAMgAyy6TP67THT4v/vKTpBrSPMSzAAY7t7ZSZqX0A0AYZK8
489 | hGzAuTvn/kfPDQezifYSsgEf3n/8//Tl0/+1G6rhYgS9RFUDKPYCDJMdiCBMdjRSlJAoTsokORkdkOxk
490 | BgYGAPYjNbx1oikjAAAAAElFTkSuQmCC
491 |
492 |
493 |
494 |
495 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
496 | YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABUSURBVDhPvY5RCgAgCEM7m/c/j7+FMQliCJY1eD+yN2yq
497 | 2m+YAyJyRN3ADW0PK0VAW7Eje5fxbiADtLzoQM+97tQPnACdhwk7qPJYgb3u/BmI0T4Ao0RiAwtknZYA
498 | AAAASUVORK5CYII=
499 |
500 |
501 |
502 | 258, 17
503 |
504 |
505 |
506 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
507 | xAAADsQBlSsOGwAAAMhJREFUOE/Fkr0NwjAQRj0CBQNkBGbIPPRs4Cm8Q0ahRKJykw4phFzcHr74TBzj
508 | n1DxSa9I5O/5lItARGGMwQpXy0Gk4gVt22ZRSnlJw7U1oeA5jF94iZSSJIPlxFWXvYJQwlWXXwQEneWq
509 | S00Q8j/Ba5wQAJYy01ncRmoCmAAflzP2R/GBnm2HNtIUBXRzXI4kXVFAY6fKHuoVBTPMy8FU6D3cb1tB
510 | jNZ6c2PMZoIcu75BLvZAYxliCZfXLZTCEtp7OBn/B0K8AamwnoxTTW2KAAAAAElFTkSuQmCC
511 |
512 |
513 |
514 |
515 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
516 | xAAADsQBlSsOGwAAAVdJREFUOE+lk7FKw1AUhn0BwQdwcHJwEpzcsjkJmZ06+AABfYDqA1h3h+AiHQrS
517 | xUkoOjiIEFwERSgOtoqDdcl6/b+bc9OmJHbwhx+Sc/7z33NyT5acc/9iiTzP18S2mIgrFq6AuJiKA2Mr
518 | JKKfz7F7PDv11PtQrJjoPZ58jL4fTo7d2+01mqzU6CGl8Hx92fPu6ADBpeU4tTPK7l0v2nD93W2HkWKb
519 | vhjMG0A7hZGGT93UXWytemKkWGylBRTwI+AeDBATo5s508TKqlCiVWcSnulCmtTk9agzgTeH+xRPP1oT
520 | FhgMTFYPCTpfr8+LRmicP+XrzhZgRDfcezCzG5heH2gqtruOxYzTibMHk/F7dcm4mlAIMeJkiSLyiMUU
521 | HbmrvR1yfsk8Qouh2NosdnwGiiXk6IKaUhOc/yoOUC5iNEZ86XeLdaZA5AW2TdsIafhr2Qkdlme/FMP+
522 | sdnP7QgAAAAASUVORK5CYII=
523 |
524 |
525 |
526 | 433, 17
527 |
528 |
529 |
530 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
531 | wwAADsMBx2+oZAAAARNJREFUOE+Vkj2OgzAQRn2EPcIeIWegR9qWU3CFvUEOQ09PlS3olyLZhiKJ+Csd
532 | PzNDDCSW9pNG2PO98YwtTKi+7w/jOF4Jpw9JG9aah5H0XgB5ntuiKOwwDN+SNqzJ4cFIei9n2iRJbJZl
533 | HqSzdieHByP4XiGoU2j38GDB9wIuy3IFh4dWVbW62kt1XffLXXUK7U4OT7D3ch2+6rpeptDu5PAEiyuc
534 | 4l/dEa/etq0vvJz/fLCOvj5ywBGIeHdAEEcpm0WCO6Zp6uFYwMCuDuFUjNPpx96ud/8FZhKdJvRgqZHy
535 | 5x8IoMG+aRofrzxqpmn6XA7YTqBdYp4vRm6zegO+es+YJ+WzBF66hr/s1mM/O8Y8AKj29kGG9z1nAAAA
536 | AElFTkSuQmCC
537 |
538 |
539 |
540 |
541 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
542 | xAAADsQBlSsOGwAAAFpJREFUOE/tkksKwDAIRD2b979L2o3bKZZ8QBI7LVl24BEU560iACTGzMBwd1cC
543 | VU2hBEc5p+wX+MCQCnyZQQnaQeQXjIK/jU+CyGtB/Wc9+wUZjwKG2usBIBcLsdOjzbsLeQAAAABJRU5E
544 | rkJggg==
545 |
546 |
547 |
548 |
549 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
550 | xAAADsQBlSsOGwAAAIhJREFUOE/tjcENgCAMRR3BUZyBKRiOXRzBJdQLB/TCtfZXTEwoBI1Hm7wEPr+P
551 | TpsY48CMDCUmZOlZhogEdbgcnHNkrRVwRsb0qVIWcEl+xeIyrwLO3nvJUy0XXIvAGJMJkN07qgClFqqC
552 | LexVvhfgUqNJgFDjkaBULOW/QBFolN4ywRtOAXUHNgDU6Dh53sUAAAAASUVORK5CYII=
553 |
554 |
555 |
556 |
557 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
558 | xAAADsQBlSsOGwAAAJlJREFUOE+lktENgCAMRJmN4VjDLfmttmnJXalR4yWXUOQ9E6WJyK/ykDLnPLQ+
559 | rhBDA8Rh8ZKEGBo8AY8xrFlCDA1XEO69W7OEGBwquJIgkwUlHA0JMpsAD1frV4J4E0IheRQEnAX4DJlN
560 | 4LWPmQTrXiBTCexX6RoFvmcSZLJgXZZKoNEzyJAAcyfQEEMDRCGsb1uIweF7pZ0wbIqJ5IDpuQAAAABJ
561 | RU5ErkJggg==
562 |
563 |
564 |
565 |
566 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
567 | xAAADsQBlSsOGwAAAKFJREFUOE+lkUEKwzAMBPM2P87f6C99dbPCKrOKS1K6IGI5O0NpjjnnX+MLMsaY
568 | nHUdMcYWRFBrLeax4Cy+VuerQB0yVaBySHYCvdOZzE4QEj0pyDsNmYug955AFXzekbkIBGSRAt3lmcxW
569 | kJLd+VbAcp38ZWSqIP6onSRhdciYgJ+KEsLqGGPLCiUVVoyxBUlJhRVjbClZEoMVY7j8PvN4A80ziomU
570 | 990nAAAAAElFTkSuQmCC
571 |
572 |
573 |
574 |
575 | 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
622 | uAHk4/8MAP4fvt/BiqjtAAAAAElFTkSuQmCC
623 |
624 |
625 |
626 |
627 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
628 | dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANpSURBVDhPZZF9TBN3GMdP0gBVWrAtbS0OGrFyFe68
629 | FvijtBC0XKltk2WpEhFjNJBp2EBDgQpo0RgUlIxoNGqIif6he0uWZW7L/lKzZL4rmTGR2QxFeSlIW1qv
630 | pWuXPnuuWZlxl3zz3O95vp/neX53xIumptWPzeaRZ5s3Pz9HUR5KJMoDAOJDjRsMuVO1tX0LFov3S4oa
631 | +kwul1UIhSuIJxbL8Ivubm56eBheu1zhkzR9oqWgQPQ+HDQaxX9arT2B3t5wbGQEFtvbI98wzGiZQFBE
632 | PDUYJt8cOQJvPB7wDw6Cr6NjcXDTplOSjIxcHh7T6fI4u93ztrv7HTc0BNH+fkh2dcHv1dWzRoGgmbhE
633 | UQOTe/cuzR06BLO9vRA+fhym2tqCLpI89mlurgqv1glud2gR87G+Pki6XDDmcES35+ffyCYIK1GYk7P6
634 | mFZ7emb37mjw4EGY7+yEyOHD8LK52f/Qbr8z29o6HUN4qacH4MABeGKzRawSyXcEDxOEOHVHuUAgObph
635 | w+nXTicX2rcvGUBjFCcttbdDqKUFuMZGiDudybG6uohDofgeQRaVzbPLHwofWZdafdS7detcyOEAv9EI
636 | wdJSWFSpgFMo4HZxcaBeKv0KfXWozGUu/cJroLq68D5N3w9KpTAvEMAcloOocE4OXCbJcZVSuf19P6//
637 | Dm73Gt/OnQOvVCqfD9MLqMC/cU4ohGckGTxpMn1RqdXK/9cg0Nqq5HbtuvhXSUkigJPfYpoTiSCC6/Ow
638 | F89T2dkwU17+7jzLnqU1GuVyg8D+/Wp/Y+MFn1qdnEajHxVF+CnDcD/V1r76gySjL7Oy4DfMj2GcqKiI
639 | nzWbz5g0GlWqQaih4cp8URHwa/NwAuEJnS7eTNM/MOvX7xmpqro4wzDRh5mZ8CPWf8X4vLw8fs1iGS2V
640 | y9cRHMv6FzIyUmvHEJ7U6xNtev3NLKHQxk8wbNz40RWWPT/BMEu3EP4afQ9kMvDa7X9/UlLyOXFjy5ZT
641 | QYqKJpRKmNLrkyl45cqP0/+ZV01ZWcGo2XxhXKeL3UP4Z6024dbpHqwVi5uIDpMp/xeb7eoMy4Y9lZV3
642 | EXYiLEzDaVVpNIXfsux1b319vIumH+WJxTvQJ0kV+2tq1jXgOrJVq7bxyQ/htKzFxVonSboVItEe9EkB
643 | gPgH0/f87qQKSvgAAAAASUVORK5CYII=
644 |
645 |
646 |
647 | 578, 17
648 |
649 |
650 |
651 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAJRJREFUOE/t
652 | kMsNgCAQRKnDKqyBvrzSlolV2IIn9cIVHWTX5SMSz27yRGTmaVRyrLWOCI+q41yIyeI0dHwPrkR5IgEV
653 | 0/VKlMcLEALLPPoSgT2dhXw2LJDF0l6wnvShH38BeCpqrT3GGOxZ0vQPtnVnUkkkINK3pwIpYQGNLCIo
654 | yxKcIZMJaH7BLajxKmjBC3D5jlMHobhVGh8R3fQAAAAASUVORK5CYII=
655 |
656 |
657 |
658 |
659 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
660 | wwAADsMBx2+oZAAAAKBJREFUOE+1kMENgCAMRR3JGbizBYN4Ygq2YBAvjAJcMd9Y0hQUNdrkp+1v+4JO
661 | PHLOa4xxPuqilNqFGh5m2EHdDSxCKaVFAsiDjvU2MDTGlBDCvsgB8DAbAujIOdethwBrbV2WwqwBwJDy
662 | 3hetdT1EDa+3W58tB/TN/J9w0c0pYKQuAJnDrnrK3wKe6BKAnnuyJw/5H8AdNYA3qoD3ymUDT3a7lRlk
663 | 7YwAAAAASUVORK5CYII=
664 |
665 |
666 |
667 |
668 | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
669 | wwAADsMBx2+oZAAAAJ1JREFUOE9jQAbfvn07/+XLFwMol3QANOA/EL///v17AlSINAAyIGZexP97L+/9
670 | //r16/z3798LQKWIAyADLLpM/rtMdPi/+8pOkGtI8xLMABju3tlJmpfQDQBhkryEbMC5O+f+R88NB7OJ
671 | 9hKyAR/ef/z/9OXT/7UbquFiBL1EVQMo9gIMkx2IIEx2NFKUkChOyiQ5GR2Q7GQGBgYA9iM1vHWiKSMA
672 | AAAASUVORK5CYII=
673 |
674 |
675 |
676 |
677 | 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
726 |
727 |
728 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/NewProjectWindow.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace CSharpIDE.Views
2 | {
3 | partial class NewProjectWindow
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.ProjectNameTxtBox = new System.Windows.Forms.TextBox();
32 | this.label1 = new System.Windows.Forms.Label();
33 | this.label2 = new System.Windows.Forms.Label();
34 | this.ProjectPathTxtBox = new System.Windows.Forms.TextBox();
35 | this.OKButton = new System.Windows.Forms.Button();
36 | this.CancelButton = new System.Windows.Forms.Button();
37 | this.ChooseFolderButton = new System.Windows.Forms.Button();
38 | this.SuspendLayout();
39 | //
40 | // ProjectNameTxtBox
41 | //
42 | this.ProjectNameTxtBox.Location = new System.Drawing.Point(15, 25);
43 | this.ProjectNameTxtBox.Name = "ProjectNameTxtBox";
44 | this.ProjectNameTxtBox.Size = new System.Drawing.Size(178, 20);
45 | this.ProjectNameTxtBox.TabIndex = 0;
46 | this.ProjectNameTxtBox.TextChanged += new System.EventHandler(this.ProjectNameTxtBox_TextChanged);
47 | //
48 | // label1
49 | //
50 | this.label1.AutoSize = true;
51 | this.label1.Location = new System.Drawing.Point(12, 9);
52 | this.label1.Name = "label1";
53 | this.label1.Size = new System.Drawing.Size(38, 13);
54 | this.label1.TabIndex = 1;
55 | this.label1.Text = "Name:";
56 | //
57 | // label2
58 | //
59 | this.label2.AutoSize = true;
60 | this.label2.Location = new System.Drawing.Point(12, 48);
61 | this.label2.Name = "label2";
62 | this.label2.Size = new System.Drawing.Size(39, 13);
63 | this.label2.TabIndex = 2;
64 | this.label2.Text = "Folder:";
65 | //
66 | // ProjectPathTxtBox
67 | //
68 | this.ProjectPathTxtBox.Enabled = false;
69 | this.ProjectPathTxtBox.Location = new System.Drawing.Point(15, 64);
70 | this.ProjectPathTxtBox.Name = "ProjectPathTxtBox";
71 | this.ProjectPathTxtBox.Size = new System.Drawing.Size(178, 20);
72 | this.ProjectPathTxtBox.TabIndex = 3;
73 | this.ProjectPathTxtBox.TextChanged += new System.EventHandler(this.ProjectPathTxtBox_TextChanged);
74 | //
75 | // OKButton
76 | //
77 | this.OKButton.DialogResult = System.Windows.Forms.DialogResult.OK;
78 | this.OKButton.Location = new System.Drawing.Point(15, 127);
79 | this.OKButton.Name = "OKButton";
80 | this.OKButton.Size = new System.Drawing.Size(75, 23);
81 | this.OKButton.TabIndex = 5;
82 | this.OKButton.Text = "OK";
83 | this.OKButton.UseVisualStyleBackColor = true;
84 | //
85 | // CancelButton
86 | //
87 | this.CancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
88 | this.CancelButton.Location = new System.Drawing.Point(118, 127);
89 | this.CancelButton.Name = "CancelButton";
90 | this.CancelButton.Size = new System.Drawing.Size(75, 23);
91 | this.CancelButton.TabIndex = 6;
92 | this.CancelButton.Text = "Cancel";
93 | this.CancelButton.UseVisualStyleBackColor = true;
94 | //
95 | // ChooseFolderButton
96 | //
97 | this.ChooseFolderButton.Location = new System.Drawing.Point(15, 91);
98 | this.ChooseFolderButton.Name = "ChooseFolderButton";
99 | this.ChooseFolderButton.Size = new System.Drawing.Size(178, 23);
100 | this.ChooseFolderButton.TabIndex = 7;
101 | this.ChooseFolderButton.Text = "Choose Folder";
102 | this.ChooseFolderButton.UseVisualStyleBackColor = true;
103 | this.ChooseFolderButton.Click += new System.EventHandler(this.ChooseFolderButton_Click);
104 | //
105 | // NewProjectWindow
106 | //
107 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
108 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
109 | this.ClientSize = new System.Drawing.Size(205, 162);
110 | this.Controls.Add(this.ChooseFolderButton);
111 | this.Controls.Add(this.CancelButton);
112 | this.Controls.Add(this.OKButton);
113 | this.Controls.Add(this.ProjectPathTxtBox);
114 | this.Controls.Add(this.label2);
115 | this.Controls.Add(this.label1);
116 | this.Controls.Add(this.ProjectNameTxtBox);
117 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
118 | this.Name = "NewProjectWindow";
119 | this.Text = "Create New Project";
120 | this.ResumeLayout(false);
121 | this.PerformLayout();
122 |
123 | }
124 |
125 | #endregion
126 |
127 | private System.Windows.Forms.TextBox ProjectNameTxtBox;
128 | private System.Windows.Forms.Label label1;
129 | private System.Windows.Forms.Label label2;
130 | private System.Windows.Forms.TextBox ProjectPathTxtBox;
131 | private System.Windows.Forms.Button OKButton;
132 | private System.Windows.Forms.Button CancelButton;
133 | private System.Windows.Forms.Button ChooseFolderButton;
134 | }
135 | }
--------------------------------------------------------------------------------
/CSharpIDE/Views/NewProjectWindow.cs:
--------------------------------------------------------------------------------
1 | using CSharpIDE.Models;
2 | using CSharpIDE.Views.Interfaces;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.ComponentModel;
6 | using System.Data;
7 | using System.Drawing;
8 | using System.Linq;
9 | using System.Text;
10 | using System.Threading.Tasks;
11 | using System.Windows.Forms;
12 |
13 | namespace CSharpIDE.Views
14 | {
15 | public partial class NewProjectWindow : Form, INewProjectWindow
16 | {
17 | public string ProjectName { get => ProjectNameTxtBox.Text; }
18 | public string ProjectPath { get => ProjectPathTxtBox.Text; set => ProjectPathTxtBox.Text = value; }
19 |
20 | public NewProjectWindow()
21 | {
22 | InitializeComponent();
23 | OKButton.Enabled = false;
24 | }
25 |
26 | public event EventHandler ChooseFolder;
27 |
28 | bool IShow.ShowDialog()
29 | {
30 | return this.ShowDialog() == DialogResult.OK;
31 | }
32 |
33 | private void ProjectNameTxtBox_TextChanged(object sender, EventArgs e)
34 | {
35 | if(ProjectNameTxtBox.Text.Length>0 && ProjectPathTxtBox.Text.Length>0)
36 | {
37 | OKButton.Enabled = true;
38 | }
39 | else
40 | {
41 | OKButton.Enabled = false;
42 | }
43 | }
44 |
45 | private void ChooseFolderButton_Click(object sender, EventArgs e)
46 | {
47 | ChooseFolder.Invoke(ProjectPathTxtBox, e);
48 | }
49 |
50 | private void ProjectPathTxtBox_TextChanged(object sender, EventArgs e)
51 | {
52 | ProjectNameTxtBox_TextChanged(sender, e);
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/CSharpIDE/Views/NewProjectWindow.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/CSharpIDE/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/FilesForProject/MainFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | class Program
4 | {
5 | static void Main(string[] args)
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Images/Child.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/Images/Child.png
--------------------------------------------------------------------------------
/Images/Parent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EXFFOO56566/Csharp-IDE-MVP-Design-Pattern/81196425cbb0fbd531049dde3d38f5eba3a00bb9/Images/Parent.png
--------------------------------------------------------------------------------