Private
Public Access
Converting to Linux new lines before final publish.
This commit is contained in:
1 parent
ab94e98508
commit
ea2360f2a6
667 files changed
+68755
-8530
No files matched your search
+43
-43
@@ -1,43 +1,43 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<RootNamespace>Advanced_Software_Engineering_Tests</RootNamespace>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
<OutputType>WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DocumentationFile>C:\Users\Uni\Documents\Projects\Advanced Software Engineering\Advanced Software Engineering\Advanced Software Engineering Tests\Advanced Software Engineering Tests.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="2.1.0" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="2.1.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="1.2.0" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Advanced Software Engineering\Advanced Software Engineering.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<RootNamespace>Advanced_Software_Engineering_Tests</RootNamespace>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
<OutputType>WinExe</OutputType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DocumentationFile>C:\Users\Uni\Documents\Projects\Advanced Software Engineering\Advanced Software Engineering\Advanced Software Engineering Tests\Advanced Software Engineering Tests.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="2.1.0" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="2.1.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="1.2.0" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="4.7.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Advanced Software Engineering\Advanced Software Engineering.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
+242
-242
@@ -1,242 +1,242 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Advanced Software Engineering Tests</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.CommandTester">
|
||||
<summary>
|
||||
The CommandTester class tests the commands possible, mostly by getting a IVerb and checking it's description..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.VerbFactoryTester_Automatic1">
|
||||
<summary>
|
||||
Automatically tests:
|
||||
- moveto
|
||||
- drawto
|
||||
- line
|
||||
- rp
|
||||
Current todo list:
|
||||
- square
|
||||
- rectangle
|
||||
- circle
|
||||
- triangle
|
||||
- dot
|
||||
- clear
|
||||
- pen
|
||||
- fill
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MoveToTester_Manual1">
|
||||
<summary>
|
||||
tests the "move" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.MoveTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MoveToTester_Manual2">
|
||||
<summary>
|
||||
tests the "moveto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.MoveTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual1">
|
||||
<summary>
|
||||
tests the "drawto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual2">
|
||||
<summary>
|
||||
tests the "line" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual3">
|
||||
<summary>
|
||||
tests the "lineto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual1">
|
||||
<summary>
|
||||
tests the "regularpolygon" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual2">
|
||||
<summary>
|
||||
tests the "rp" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual3">
|
||||
<summary>
|
||||
tests the "regularpolygon" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual4">
|
||||
<summary>
|
||||
tests the "rp" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.SquareTester_Manual1">
|
||||
<summary>
|
||||
tests the "square" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Square"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.SquareTester_Manual2">
|
||||
<summary>
|
||||
tests the "square" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Square"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.CircleTester_Manual1">
|
||||
<summary>
|
||||
Tests the "circle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Circle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.TriangleTester_Manual1">
|
||||
<summary>
|
||||
tests the "triangle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Triangle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.TriangleTester_Manual2">
|
||||
<summary>
|
||||
tests the "triangle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Triangle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DotTester_Manual1">
|
||||
<summary>
|
||||
test the "dot" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Dot"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ClearTester_Manual1">
|
||||
<summary>
|
||||
tests the "clear" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Circle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ResetPenTester_Manual1">
|
||||
<summary>
|
||||
Tests the "reset" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.ResetPen"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ResetPenTester_Manual2">
|
||||
<summary>
|
||||
Tests the "resetpen" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.ResetPen"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.PenTester_Manual1">
|
||||
<summary>
|
||||
Tests the command "pen". See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.PenColor"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.FillTester_Manual1">
|
||||
<summary>
|
||||
Tests the command "fill". See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.FillColor"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.IfTester_Manual1">
|
||||
<summary>
|
||||
Tests the "if" command. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MethodTester_Manual1">
|
||||
<summary>
|
||||
Tests the "def" command. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ValueTester_Manual1">
|
||||
<summary>
|
||||
Tests the "int" declaration and assignment. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.HelperFunctionsTester">
|
||||
<summary>
|
||||
This class tests <see cref="T:Advanced_Software_Engineering.HelperFunctions"/> methods. It uses a combination of manual and random tests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Random1">
|
||||
<summary>
|
||||
Random strip spaces test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.Strip(System.String)"/> test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.Strip(System.String)"/> test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.StripStringArray_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.StripStringArray(System.String[])"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.StripStringArray_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.StripStringArray(System.String[])"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual3">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual4">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.Properties.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Advanced_Software_Engineering_Tests.Properties.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Advanced_Software_Engineering_Tests.Properties.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.ValueHelperTester">
|
||||
<summary>
|
||||
This class tests <see cref="T:Advanced_Software_Engineering.Verbs.Value.ValueHelper"/> methods. It uses a combination of manual and random tests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToInt_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToInt(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random2">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random3">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Advanced Software Engineering Tests</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.CommandTester">
|
||||
<summary>
|
||||
The CommandTester class tests the commands possible, mostly by getting a IVerb and checking it's description..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.VerbFactoryTester_Automatic1">
|
||||
<summary>
|
||||
Automatically tests:
|
||||
- moveto
|
||||
- drawto
|
||||
- line
|
||||
- rp
|
||||
Current todo list:
|
||||
- square
|
||||
- rectangle
|
||||
- circle
|
||||
- triangle
|
||||
- dot
|
||||
- clear
|
||||
- pen
|
||||
- fill
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MoveToTester_Manual1">
|
||||
<summary>
|
||||
tests the "move" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.MoveTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MoveToTester_Manual2">
|
||||
<summary>
|
||||
tests the "moveto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.MoveTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual1">
|
||||
<summary>
|
||||
tests the "drawto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual2">
|
||||
<summary>
|
||||
tests the "line" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DrawToTester_Manual3">
|
||||
<summary>
|
||||
tests the "lineto" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.DrawTo"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual1">
|
||||
<summary>
|
||||
tests the "regularpolygon" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual2">
|
||||
<summary>
|
||||
tests the "rp" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual3">
|
||||
<summary>
|
||||
tests the "regularpolygon" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.RegularPolygonTester_Manual4">
|
||||
<summary>
|
||||
tests the "rp" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.RegularPolygon"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.SquareTester_Manual1">
|
||||
<summary>
|
||||
tests the "square" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Square"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.SquareTester_Manual2">
|
||||
<summary>
|
||||
tests the "square" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Square"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.CircleTester_Manual1">
|
||||
<summary>
|
||||
Tests the "circle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Circle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.TriangleTester_Manual1">
|
||||
<summary>
|
||||
tests the "triangle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Triangle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.TriangleTester_Manual2">
|
||||
<summary>
|
||||
tests the "triangle" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Triangle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.DotTester_Manual1">
|
||||
<summary>
|
||||
test the "dot" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Dot"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ClearTester_Manual1">
|
||||
<summary>
|
||||
tests the "clear" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.Circle"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ResetPenTester_Manual1">
|
||||
<summary>
|
||||
Tests the "reset" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.ResetPen"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ResetPenTester_Manual2">
|
||||
<summary>
|
||||
Tests the "resetpen" command. See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.ResetPen"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.PenTester_Manual1">
|
||||
<summary>
|
||||
Tests the command "pen". See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.PenColor"/>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.FillTester_Manual1">
|
||||
<summary>
|
||||
Tests the command "fill". See <see cref="T:Advanced_Software_Engineering.Verbs.DrawingVerbs.FillColor"/>.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.IfTester_Manual1">
|
||||
<summary>
|
||||
Tests the "if" command. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.MethodTester_Manual1">
|
||||
<summary>
|
||||
Tests the "def" command. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.CommandTester.ValueTester_Manual1">
|
||||
<summary>
|
||||
Tests the "int" declaration and assignment. It hasn't been implemented yet.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.HelperFunctionsTester">
|
||||
<summary>
|
||||
This class tests <see cref="T:Advanced_Software_Engineering.HelperFunctions"/> methods. It uses a combination of manual and random tests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Random1">
|
||||
<summary>
|
||||
Random strip spaces test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.Strip(System.String)"/> test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.Strip_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.Strip(System.String)"/> test
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.StripStringArray_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.StripStringArray(System.String[])"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.StripStringArray_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.StripStringArray(System.String[])"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual1">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual2">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual3">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Manual4">
|
||||
<summary>
|
||||
Manual <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.HelperFunctionsTester.CommandAndParameterParser_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.HelperFunctions.CommandAndParameterParser(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.Properties.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Advanced_Software_Engineering_Tests.Properties.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Advanced_Software_Engineering_Tests.Properties.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Advanced_Software_Engineering_Tests.ValueHelperTester">
|
||||
<summary>
|
||||
This class tests <see cref="T:Advanced_Software_Engineering.Verbs.Value.ValueHelper"/> methods. It uses a combination of manual and random tests.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToInt_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToInt(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random1">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random2">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Advanced_Software_Engineering_Tests.ValueHelperTester.ConvertToDouble_Random3">
|
||||
<summary>
|
||||
Random <see cref="M:Advanced_Software_Engineering.Verbs.Value.ValueHelper.ConvertToDouble(System.String)"/> test.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
+445
-445
@@ -1,446 +1,446 @@
|
||||
using Advanced_Software_Engineering;
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// The CommandTester class tests the commands possible, mostly by getting a IVerb and checking it's description..
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public class CommandTester {
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Automatically tests:
|
||||
/// - moveto
|
||||
/// - drawto
|
||||
/// - line
|
||||
/// - rp
|
||||
/// Current todo list:
|
||||
/// - square
|
||||
/// - rectangle
|
||||
/// - circle
|
||||
/// - triangle
|
||||
/// - dot
|
||||
/// - clear
|
||||
/// - pen
|
||||
/// - fill
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void VerbFactoryTester_Automatic1() {
|
||||
Dictionary<string, int[]> commandParamaterNumber = new Dictionary<string, int[]>
|
||||
{
|
||||
{"moveto", new int[] { 2 } },
|
||||
{"drawto", new int[] { 2 } },
|
||||
{"line", new int[] { 2 } },
|
||||
{"lineto", new int[] { 2 } },
|
||||
{"rp", new int[] { 2, 3 } },
|
||||
//todo:
|
||||
{"square", new int[] { 1, 2, 8 } },
|
||||
{"rectangle", new int[] { 1, 2, 6 } },
|
||||
{"circle", new int[] { 1 } },
|
||||
{"triangle", new int[] { 1, 2 } },
|
||||
{"dot", new int[] { 0 } },
|
||||
{"clear", new int[] { 0 } },
|
||||
{"pen", new int[] { 1, 3 } },
|
||||
{"fill", new int[] { 1, 3 } }
|
||||
};
|
||||
|
||||
foreach (string command in commandParamaterNumber.Keys) {
|
||||
foreach (int commandParameterNumbers in commandParamaterNumber[command]) {
|
||||
string input = command + " ";
|
||||
List<int> inputParameters = new List<int>();
|
||||
|
||||
for (int paramater = 0; paramater < commandParameterNumbers; paramater++) {
|
||||
int inputParameter = rand.Next(1000);
|
||||
inputParameters.Add(inputParameter);
|
||||
input += inputParameter + (paramater - 1 != commandParameterNumbers ? ", " : "");
|
||||
}
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
if (command == "moveto") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
} else if (command == "drawto" || command == "lineto" || command == "line") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
} else if (command == "shape") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc;
|
||||
if (commandParameterNumbers == 2)
|
||||
correctDesc = "Draws a " + inputParameters[0] + " sided regular polygon, with rotation of 0 radians, with inner radius of " + (double)inputParameters[1];
|
||||
else
|
||||
correctDesc = "Draws a " + inputParameters[0] + " sided regular polygon, with rotation of " + (double)(Math.PI * inputParameters[2] / 180) + " radians, with inner radius of " + (double)inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "move" command. See <see cref="MoveTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MoveToTester_Manual1() {
|
||||
string input = "move 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "moveto" command. See <see cref="MoveTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MoveToTester_Manual2() {
|
||||
string input = "moveto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "drawto" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual1() {
|
||||
string input = "drawto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "line" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual2() {
|
||||
string input = "line 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "lineto" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual3() {
|
||||
string input = "lineto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "regularpolygon" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual1() {
|
||||
string input = "regularpolygon 3, 50";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 0;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "rp" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual2() {
|
||||
string input = "rp 3, 50";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 0;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "regularpolygon" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual3() {
|
||||
string input = "regularpolygon 3, 50, 25";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 25 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "rp" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual4() {
|
||||
string input = "rp 3, 50, 25";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 25 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "square" command. See <see cref="Square"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void SquareTester_Manual1() {
|
||||
string input = "square 500";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 4;
|
||||
double scale = 500;
|
||||
double offset = 0 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "square" command. See <see cref="Square"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void SquareTester_Manual2() {
|
||||
string input = "square 500, 45";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 4;
|
||||
double scale = 500;
|
||||
double offset = 45 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "circle" command. See <see cref="Circle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CircleTester_Manual1() {
|
||||
string input = "circle 100";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
string correctDesc = "Draws a circle radius " + 100d.ToString() + ", with origin of the pen";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "triangle" command. See <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void TriangleTester_Manual1() {
|
||||
string input = "triangle 500";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 500;
|
||||
double offset = 0 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "triangle" command. See <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void TriangleTester_Manual2() {
|
||||
string input = "triangle 500, 45";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 500;
|
||||
double offset = 45 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// test the "dot" command. See <see cref="Dot"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DotTester_Manual1() {
|
||||
string input = "dot";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Places a dot where the pen currently is";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "clear" command. See <see cref="Circle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ClearTester_Manual1() {
|
||||
string input = "clear";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Clears the canvas";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "reset" command. See <see cref="ResetPen"/>
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ResetPenTester_Manual1() {
|
||||
string input = "reset";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Moves pen to the start (0, 0)";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "resetpen" command. See <see cref="ResetPen"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ResetPenTester_Manual2() {
|
||||
string input = "resetpen";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Moves pen to the start (0, 0)";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the command "pen". See <see cref="PenColor"/>
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void PenTester_Manual1() {
|
||||
string input = "pen red";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Set pen color to: Color [Red]";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the command "fill". See <see cref="FillColor"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void FillTester_Manual1() {
|
||||
string input = "fill pink";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Set fill color to: Color [Pink]";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "if" command. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void IfTester_Manual1() {
|
||||
string input = "if i == 10";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Tests if variable 'i' is equal to 10";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "def" command. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MethodTester_Manual1() {
|
||||
string input = "def duck, int i";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Create a new method called 'duck' with input 'int i'. The method: ";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "int" declaration and assignment. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ValueTester_Manual1() {
|
||||
string input = "int i = 10";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Declares and sets integer 'i' to '10'";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering;
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// The CommandTester class tests the commands possible, mostly by getting a IVerb and checking it's description..
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public class CommandTester {
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Automatically tests:
|
||||
/// - moveto
|
||||
/// - drawto
|
||||
/// - line
|
||||
/// - rp
|
||||
/// Current todo list:
|
||||
/// - square
|
||||
/// - rectangle
|
||||
/// - circle
|
||||
/// - triangle
|
||||
/// - dot
|
||||
/// - clear
|
||||
/// - pen
|
||||
/// - fill
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void VerbFactoryTester_Automatic1() {
|
||||
Dictionary<string, int[]> commandParamaterNumber = new Dictionary<string, int[]>
|
||||
{
|
||||
{"moveto", new int[] { 2 } },
|
||||
{"drawto", new int[] { 2 } },
|
||||
{"line", new int[] { 2 } },
|
||||
{"lineto", new int[] { 2 } },
|
||||
{"rp", new int[] { 2, 3 } },
|
||||
//todo:
|
||||
{"square", new int[] { 1, 2, 8 } },
|
||||
{"rectangle", new int[] { 1, 2, 6 } },
|
||||
{"circle", new int[] { 1 } },
|
||||
{"triangle", new int[] { 1, 2 } },
|
||||
{"dot", new int[] { 0 } },
|
||||
{"clear", new int[] { 0 } },
|
||||
{"pen", new int[] { 1, 3 } },
|
||||
{"fill", new int[] { 1, 3 } }
|
||||
};
|
||||
|
||||
foreach (string command in commandParamaterNumber.Keys) {
|
||||
foreach (int commandParameterNumbers in commandParamaterNumber[command]) {
|
||||
string input = command + " ";
|
||||
List<int> inputParameters = new List<int>();
|
||||
|
||||
for (int paramater = 0; paramater < commandParameterNumbers; paramater++) {
|
||||
int inputParameter = rand.Next(1000);
|
||||
inputParameters.Add(inputParameter);
|
||||
input += inputParameter + (paramater - 1 != commandParameterNumbers ? ", " : "");
|
||||
}
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
if (command == "moveto") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
} else if (command == "drawto" || command == "lineto" || command == "line") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
} else if (command == "shape") {
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc;
|
||||
if (commandParameterNumbers == 2)
|
||||
correctDesc = "Draws a " + inputParameters[0] + " sided regular polygon, with rotation of 0 radians, with inner radius of " + (double)inputParameters[1];
|
||||
else
|
||||
correctDesc = "Draws a " + inputParameters[0] + " sided regular polygon, with rotation of " + (double)(Math.PI * inputParameters[2] / 180) + " radians, with inner radius of " + (double)inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "move" command. See <see cref="MoveTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MoveToTester_Manual1() {
|
||||
string input = "move 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "moveto" command. See <see cref="MoveTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MoveToTester_Manual2() {
|
||||
string input = "moveto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Move origin to " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "drawto" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual1() {
|
||||
string input = "drawto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "line" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual2() {
|
||||
string input = "line 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "lineto" command. See <see cref="DrawTo"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DrawToTester_Manual3() {
|
||||
string input = "lineto 200, 300";
|
||||
string[] inputParameters = { "200", "300" };
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Draw line " + inputParameters[0] + ", " + inputParameters[1];
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "regularpolygon" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual1() {
|
||||
string input = "regularpolygon 3, 50";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 0;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "rp" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual2() {
|
||||
string input = "rp 3, 50";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 0;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "regularpolygon" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual3() {
|
||||
string input = "regularpolygon 3, 50, 25";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 25 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "rp" command. See <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void RegularPolygonTester_Manual4() {
|
||||
string input = "rp 3, 50, 25";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 50;
|
||||
double offset = 25 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "square" command. See <see cref="Square"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void SquareTester_Manual1() {
|
||||
string input = "square 500";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 4;
|
||||
double scale = 500;
|
||||
double offset = 0 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "square" command. See <see cref="Square"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void SquareTester_Manual2() {
|
||||
string input = "square 500, 45";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 4;
|
||||
double scale = 500;
|
||||
double offset = 45 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "circle" command. See <see cref="Circle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CircleTester_Manual1() {
|
||||
string input = "circle 100";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
string correctDesc = "Draws a circle radius " + 100d.ToString() + ", with origin of the pen";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "triangle" command. See <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void TriangleTester_Manual1() {
|
||||
string input = "triangle 500";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 500;
|
||||
double offset = 0 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "triangle" command. See <see cref="Triangle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void TriangleTester_Manual2() {
|
||||
string input = "triangle 500, 45";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
|
||||
int sides = 3;
|
||||
double scale = 500;
|
||||
double offset = 45 * Math.PI / 180;
|
||||
string correctDesc = "Draws a " + sides + " sided regular polygon, with rotation of " + offset + " radians, with inner radius of " + scale;
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// test the "dot" command. See <see cref="Dot"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void DotTester_Manual1() {
|
||||
string input = "dot";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Places a dot where the pen currently is";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tests the "clear" command. See <see cref="Circle"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ClearTester_Manual1() {
|
||||
string input = "clear";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Clears the canvas";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "reset" command. See <see cref="ResetPen"/>
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ResetPenTester_Manual1() {
|
||||
string input = "reset";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Moves pen to the start (0, 0)";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "resetpen" command. See <see cref="ResetPen"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ResetPenTester_Manual2() {
|
||||
string input = "resetpen";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Moves pen to the start (0, 0)";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the command "pen". See <see cref="PenColor"/>
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void PenTester_Manual1() {
|
||||
string input = "pen red";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Set pen color to: Color [Red]";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the command "fill". See <see cref="FillColor"/>.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void FillTester_Manual1() {
|
||||
string input = "fill pink";
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Set fill color to: Color [Pink]";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "if" command. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void IfTester_Manual1() {
|
||||
string input = "if i == 10";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Tests if variable 'i' is equal to 10";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "def" command. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void MethodTester_Manual1() {
|
||||
string input = "def duck, int i";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Create a new method called 'duck' with input 'int i'. The method: ";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tests the "int" declaration and assignment. It hasn't been implemented yet.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ValueTester_Manual1() {
|
||||
string input = "int i = 10";
|
||||
|
||||
IVerb IVerb = VerbFactory.MakeVerb(null, input);
|
||||
string verbDesc = IVerb.GetDescription();
|
||||
string correctDesc = "Declares and sets integer 'i' to '10'";
|
||||
|
||||
Assert.AreEqual(correctDesc, verbDesc);
|
||||
}
|
||||
}
|
||||
}
|
||||
+168
-168
@@ -1,169 +1,169 @@
|
||||
using Advanced_Software_Engineering;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// This class tests <see cref="HelperFunctions"/> methods. It uses a combination of manual and random tests.
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public class HelperFunctionsTester {
|
||||
private readonly string alphabet = "abcdefghijklmnopqrstuvwxzy";
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Random strip spaces test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Random1() {
|
||||
for (int test = 0; test < 200; test++) {
|
||||
int until = rand.Next(50);
|
||||
string correctOutput = "";
|
||||
|
||||
for (int i = 0; i < until; i++) {
|
||||
correctOutput += alphabet[rand.Next(alphabet.Length)];
|
||||
}
|
||||
|
||||
string obfuscatedInput = correctOutput;
|
||||
|
||||
obfuscatedInput = RandomSpaces() + obfuscatedInput + RandomSpaces();
|
||||
|
||||
Assert.AreEqual(correctOutput, HelperFunctions.Strip(obfuscatedInput));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.Strip(string)"/> test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Manual1() {
|
||||
string input = " a simple sentence surrounded by spaces ";
|
||||
string expected = "a simple sentence surrounded by spaces";
|
||||
|
||||
Assert.AreEqual(expected, HelperFunctions.Strip(input));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.Strip(string)"/> test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Manual2() {
|
||||
string input = " a simple sentence surrounded by spaces ";
|
||||
string expected = "a simple sentence surrounded by spaces";
|
||||
|
||||
Assert.AreEqual(expected, HelperFunctions.Strip(input));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.StripStringArray(string[])"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void StripStringArray_Manual1() {
|
||||
string[] input = { " ", " a ", " test", "t", "asdf ", "" };
|
||||
string[] expected = (new List<string> { "a", "test", "t", "asdf" }).ToArray();
|
||||
|
||||
int i = 0;
|
||||
foreach (string s in HelperFunctions.StripStringArray(input)) {
|
||||
Assert.AreEqual(expected[i++], s);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.StripStringArray(string[])"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void StripStringArray_Manual2() {
|
||||
string[] input = "a simple sentence surrounded by spaces".Split(" "[0]);
|
||||
string[] expected = (new List<string> { "a", "simple", "sentence", "surrounded", "by", "spaces" }).ToArray();
|
||||
|
||||
int i = 0;
|
||||
foreach (string s in HelperFunctions.StripStringArray(input)) {
|
||||
Assert.AreEqual(expected[i++], s);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual1() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("moveto 200, 200");
|
||||
Assert.AreEqual("moveto", commands.GetCommand());
|
||||
Assert.AreEqual("200", commands.GetParameters()[0]);
|
||||
Assert.AreEqual("200", commands.GetParameters()[1]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual2() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("clear");
|
||||
Assert.AreEqual("clear", commands.GetCommand());
|
||||
Assert.IsTrue(commands.GetParameters() == null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual3() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("");
|
||||
Assert.IsTrue(commands == null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual4() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser(" genericCommand 2, 3,4 5");
|
||||
|
||||
Assert.AreEqual("genericCommand", commands.GetCommand());
|
||||
|
||||
string[] parameters = commands.GetParameters();
|
||||
|
||||
Assert.AreEqual("2", parameters[0]);
|
||||
Assert.AreEqual("3", parameters[1]);
|
||||
Assert.AreEqual("4 5", parameters[2]);
|
||||
}
|
||||
|
||||
private string RandomSpaces() {
|
||||
string spaces = " ";
|
||||
for (int i = 0; i < 50; i++) spaces += " ";
|
||||
return spaces;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Random1() {
|
||||
string[] randomCommands = { "test", "moveto", "lineto", "markiplier", "clear", "shape", "etc" };
|
||||
|
||||
for (int test = 0; test < 10000; test++) {
|
||||
string command = randomCommands[rand.Next(randomCommands.Length)];
|
||||
string input = RandomSpaces() + command;
|
||||
|
||||
List<string> parameters = new List<string>();
|
||||
for (int parameterI = 0; parameterI < rand.Next(99) + 1; parameterI++) {
|
||||
string parameter = (rand.NextDouble() * rand.Next(-1000, 1000)).ToString();
|
||||
parameters.Add(parameter);
|
||||
input += RandomSpaces() + parameter + RandomSpaces() + "," + RandomSpaces();
|
||||
}
|
||||
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser(input);
|
||||
|
||||
Assert.AreEqual(command, commands.GetCommand());
|
||||
|
||||
int i = 0;
|
||||
foreach (string expected in parameters) {
|
||||
Assert.AreEqual(expected, commands.GetParameters()[i++]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// This class tests <see cref="HelperFunctions"/> methods. It uses a combination of manual and random tests.
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
public class HelperFunctionsTester {
|
||||
private readonly string alphabet = "abcdefghijklmnopqrstuvwxzy";
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Random strip spaces test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Random1() {
|
||||
for (int test = 0; test < 200; test++) {
|
||||
int until = rand.Next(50);
|
||||
string correctOutput = "";
|
||||
|
||||
for (int i = 0; i < until; i++) {
|
||||
correctOutput += alphabet[rand.Next(alphabet.Length)];
|
||||
}
|
||||
|
||||
string obfuscatedInput = correctOutput;
|
||||
|
||||
obfuscatedInput = RandomSpaces() + obfuscatedInput + RandomSpaces();
|
||||
|
||||
Assert.AreEqual(correctOutput, HelperFunctions.Strip(obfuscatedInput));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.Strip(string)"/> test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Manual1() {
|
||||
string input = " a simple sentence surrounded by spaces ";
|
||||
string expected = "a simple sentence surrounded by spaces";
|
||||
|
||||
Assert.AreEqual(expected, HelperFunctions.Strip(input));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.Strip(string)"/> test
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void Strip_Manual2() {
|
||||
string input = " a simple sentence surrounded by spaces ";
|
||||
string expected = "a simple sentence surrounded by spaces";
|
||||
|
||||
Assert.AreEqual(expected, HelperFunctions.Strip(input));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.StripStringArray(string[])"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void StripStringArray_Manual1() {
|
||||
string[] input = { " ", " a ", " test", "t", "asdf ", "" };
|
||||
string[] expected = (new List<string> { "a", "test", "t", "asdf" }).ToArray();
|
||||
|
||||
int i = 0;
|
||||
foreach (string s in HelperFunctions.StripStringArray(input)) {
|
||||
Assert.AreEqual(expected[i++], s);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.StripStringArray(string[])"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void StripStringArray_Manual2() {
|
||||
string[] input = "a simple sentence surrounded by spaces".Split(" "[0]);
|
||||
string[] expected = (new List<string> { "a", "simple", "sentence", "surrounded", "by", "spaces" }).ToArray();
|
||||
|
||||
int i = 0;
|
||||
foreach (string s in HelperFunctions.StripStringArray(input)) {
|
||||
Assert.AreEqual(expected[i++], s);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual1() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("moveto 200, 200");
|
||||
Assert.AreEqual("moveto", commands.GetCommand());
|
||||
Assert.AreEqual("200", commands.GetParameters()[0]);
|
||||
Assert.AreEqual("200", commands.GetParameters()[1]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual2() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("clear");
|
||||
Assert.AreEqual("clear", commands.GetCommand());
|
||||
Assert.IsTrue(commands.GetParameters() == null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual3() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser("");
|
||||
Assert.IsTrue(commands == null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Manual <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Manual4() {
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser(" genericCommand 2, 3,4 5");
|
||||
|
||||
Assert.AreEqual("genericCommand", commands.GetCommand());
|
||||
|
||||
string[] parameters = commands.GetParameters();
|
||||
|
||||
Assert.AreEqual("2", parameters[0]);
|
||||
Assert.AreEqual("3", parameters[1]);
|
||||
Assert.AreEqual("4 5", parameters[2]);
|
||||
}
|
||||
|
||||
private string RandomSpaces() {
|
||||
string spaces = " ";
|
||||
for (int i = 0; i < 50; i++) spaces += " ";
|
||||
return spaces;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="HelperFunctions.CommandAndParameterParser(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void CommandAndParameterParser_Random1() {
|
||||
string[] randomCommands = { "test", "moveto", "lineto", "markiplier", "clear", "shape", "etc" };
|
||||
|
||||
for (int test = 0; test < 10000; test++) {
|
||||
string command = randomCommands[rand.Next(randomCommands.Length)];
|
||||
string input = RandomSpaces() + command;
|
||||
|
||||
List<string> parameters = new List<string>();
|
||||
for (int parameterI = 0; parameterI < rand.Next(99) + 1; parameterI++) {
|
||||
string parameter = (rand.NextDouble() * rand.Next(-1000, 1000)).ToString();
|
||||
parameters.Add(parameter);
|
||||
input += RandomSpaces() + parameter + RandomSpaces() + "," + RandomSpaces();
|
||||
}
|
||||
|
||||
CommandAndParameterParserResult commands = HelperFunctions.CommandAndParameterParser(input);
|
||||
|
||||
Assert.AreEqual(command, commands.GetCommand());
|
||||
|
||||
int i = 0;
|
||||
foreach (string expected in parameters) {
|
||||
Assert.AreEqual(expected, commands.GetParameters()[i++]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+63
-63
@@ -1,63 +1,63 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Advanced_Software_Engineering_Tests.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Advanced_Software_Engineering_Tests.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+100
-100
@@ -1,101 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
+65
-65
@@ -1,66 +1,66 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// This class tests <see cref="ValueHelper"/> methods. It uses a combination of manual and random tests.
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
internal class ValueHelperTester {
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToInt(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToInt_Random1() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
int expected = rand.Next(int.MinValue, int.MaxValue);
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToInt(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random1() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
double expected = rand.NextDouble();
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random2() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
double expected = rand.Next(100, 100) * rand.NextDouble();
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random3() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
int expected = rand.Next(100, 100);
|
||||
string input = ((double)expected).ToString();
|
||||
|
||||
Assert.AreEqual((double)expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering_Tests {
|
||||
|
||||
/// <summary>
|
||||
/// This class tests <see cref="ValueHelper"/> methods. It uses a combination of manual and random tests.
|
||||
/// </summary>
|
||||
[TestClass]
|
||||
internal class ValueHelperTester {
|
||||
private readonly Random rand = new Random();
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToInt(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToInt_Random1() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
int expected = rand.Next(int.MinValue, int.MaxValue);
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToInt(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random1() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
double expected = rand.NextDouble();
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random2() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
double expected = rand.Next(100, 100) * rand.NextDouble();
|
||||
string input = expected.ToString();
|
||||
|
||||
Assert.AreEqual(expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Random <see cref="ValueHelper.ConvertToDouble(string)"/> test.
|
||||
/// </summary>
|
||||
[TestMethod]
|
||||
public void ConvertToDouble_Random3() {
|
||||
for (int i = 0; i < 100000; i++) {
|
||||
int expected = rand.Next(100, 100);
|
||||
string input = ((double)expected).ToString();
|
||||
|
||||
Assert.AreEqual((double)expected, ValueHelper.ConvertToDouble(input));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
[*.cs]
|
||||
|
||||
# CS1591: Missing XML comment for publicly visible type or member
|
||||
dotnet_diagnostic.CS1591.severity = warning
|
||||
[*.cs]
|
||||
|
||||
# CS1591: Missing XML comment for publicly visible type or member
|
||||
dotnet_diagnostic.CS1591.severity = warning
|
||||
+228
-228
@@ -1,229 +1,229 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Advanced_Software_Engineering</RootNamespace>
|
||||
<AssemblyName>Advanced Software Engineering</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Advanced Software Engineering.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resources\logo.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="MenuManager.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\NoOp.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Circle.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\Clear.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Dot.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\DrawLines.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\DrawTo.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\Fill.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\FillColor.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\MoveTo.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\PenColor.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Quadrilateral.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Rectangle.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\RegularPolygon.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\ResetPen.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Square.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Triangle.cs" />
|
||||
<Compile Include="Verbs\Flow\DeclareMethod.cs" />
|
||||
<Compile Include="Verbs\Flow\ForChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\IfChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\IVerbChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\MethodChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\WhileChunk.cs" />
|
||||
<Compile Include="Verbs\Value\ValueObjects\PointValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueStorage.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\ComparisonValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\ExpressionValue.cs" />
|
||||
<Compile Include="Verbs\Value\DeclareVariable.cs" />
|
||||
<Compile Include="Verbs\Value\UpdateVariable.cs" />
|
||||
<Compile Include="Verbs\Value\ValueFactory.cs" />
|
||||
<Compile Include="Verbs\Value\IValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueHelper.cs" />
|
||||
<Compile Include="Verbs\IVerb.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\BoolValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueObjects\ColorValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\DoubleValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\IntValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\VariableValue.cs" />
|
||||
<Compile Include="Verbs\Flow\VerbChunk.cs" />
|
||||
<Compile Include="Windows\AboutWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\AboutWindow.Designer.cs">
|
||||
<DependentUpon>AboutWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Verbs\VerbFactory.cs" />
|
||||
<Compile Include="Commander.cs" />
|
||||
<Compile Include="Drawer.cs" />
|
||||
<Compile Include="Windows\CommandHelp.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\CommandHelp.Designer.cs">
|
||||
<DependentUpon>CommandHelp.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DrawPreview.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DrawPreview.Designer.cs">
|
||||
<DependentUpon>DrawPreview.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DetailsWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DetailsWindow.Designer.cs">
|
||||
<DependentUpon>DetailsWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\ErrorWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\ErrorWindow.Designer.cs">
|
||||
<DependentUpon>ErrorWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\TextEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\TextEditor.Designer.cs">
|
||||
<DependentUpon>TextEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HelperFunctions.cs" />
|
||||
<Compile Include="Windows\Menu.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\Menu.Designer.cs">
|
||||
<DependentUpon>Menu.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Windows\AboutWindow.resx">
|
||||
<DependentUpon>AboutWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\CommandHelp.resx">
|
||||
<DependentUpon>CommandHelp.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\DrawPreview.resx">
|
||||
<DependentUpon>DrawPreview.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\DetailsWindow.resx">
|
||||
<DependentUpon>DetailsWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\ErrorWindow.resx">
|
||||
<DependentUpon>ErrorWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\TextEditor.resx">
|
||||
<DependentUpon>TextEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\Menu.resx">
|
||||
<DependentUpon>Menu.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include=".editorconfig" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\warning.png" />
|
||||
<None Include="Resources\info.png" />
|
||||
<None Include="Resources\error.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\logo.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Exceptions\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Advanced_Software_Engineering</RootNamespace>
|
||||
<AssemblyName>Advanced Software Engineering</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DocumentationFile>bin\Debug\Advanced Software Engineering.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject>
|
||||
</StartupObject>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resources\logo.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="MenuManager.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\NoOp.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Circle.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\Clear.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Dot.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\DrawLines.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\DrawTo.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\Fill.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\FillColor.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\MoveTo.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Color\PenColor.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Quadrilateral.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Rectangle.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\RegularPolygon.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Actions\ResetPen.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Square.cs" />
|
||||
<Compile Include="Verbs\DrawingVerbs\Shape\Triangle.cs" />
|
||||
<Compile Include="Verbs\Flow\DeclareMethod.cs" />
|
||||
<Compile Include="Verbs\Flow\ForChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\IfChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\IVerbChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\MethodChunk.cs" />
|
||||
<Compile Include="Verbs\Flow\WhileChunk.cs" />
|
||||
<Compile Include="Verbs\Value\ValueObjects\PointValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueStorage.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\ComparisonValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\ExpressionValue.cs" />
|
||||
<Compile Include="Verbs\Value\DeclareVariable.cs" />
|
||||
<Compile Include="Verbs\Value\UpdateVariable.cs" />
|
||||
<Compile Include="Verbs\Value\ValueFactory.cs" />
|
||||
<Compile Include="Verbs\Value\IValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueHelper.cs" />
|
||||
<Compile Include="Verbs\IVerb.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\BoolValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueObjects\ColorValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\DoubleValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\IntValue.cs" />
|
||||
<Compile Include="Verbs\Value\ValueTypes\VariableValue.cs" />
|
||||
<Compile Include="Verbs\Flow\VerbChunk.cs" />
|
||||
<Compile Include="Windows\AboutWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\AboutWindow.Designer.cs">
|
||||
<DependentUpon>AboutWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Verbs\VerbFactory.cs" />
|
||||
<Compile Include="Commander.cs" />
|
||||
<Compile Include="Drawer.cs" />
|
||||
<Compile Include="Windows\CommandHelp.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\CommandHelp.Designer.cs">
|
||||
<DependentUpon>CommandHelp.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DrawPreview.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DrawPreview.Designer.cs">
|
||||
<DependentUpon>DrawPreview.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DetailsWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\DetailsWindow.Designer.cs">
|
||||
<DependentUpon>DetailsWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\ErrorWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\ErrorWindow.Designer.cs">
|
||||
<DependentUpon>ErrorWindow.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Windows\TextEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\TextEditor.Designer.cs">
|
||||
<DependentUpon>TextEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HelperFunctions.cs" />
|
||||
<Compile Include="Windows\Menu.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Windows\Menu.Designer.cs">
|
||||
<DependentUpon>Menu.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Windows\AboutWindow.resx">
|
||||
<DependentUpon>AboutWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\CommandHelp.resx">
|
||||
<DependentUpon>CommandHelp.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\DrawPreview.resx">
|
||||
<DependentUpon>DrawPreview.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\DetailsWindow.resx">
|
||||
<DependentUpon>DetailsWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\ErrorWindow.resx">
|
||||
<DependentUpon>ErrorWindow.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\TextEditor.resx">
|
||||
<DependentUpon>TextEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Windows\Menu.resx">
|
||||
<DependentUpon>Menu.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include=".editorconfig" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\warning.png" />
|
||||
<None Include="Resources\info.png" />
|
||||
<None Include="Resources\error.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Resources\logo.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Exceptions\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
+36
-36
@@ -1,36 +1,36 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Advanced Software Engineering", "Advanced Software Engineering.csproj", "{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Advanced Software Engineering Tests", "..\Advanced Software Engineering Tests\Advanced Software Engineering Tests.csproj", "{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D7948692-84F9-491E-8C8A-5B754BCB74F1}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {9FDA9473-A0FB-4D7C-8582-494F98D5391D}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30503.244
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Advanced Software Engineering", "Advanced Software Engineering.csproj", "{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Advanced Software Engineering Tests", "..\Advanced Software Engineering Tests\Advanced Software Engineering Tests.csproj", "{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D7948692-84F9-491E-8C8A-5B754BCB74F1}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B9DF94A0-9DFB-4F1E-B126-38DFBBE72C0C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3CD5C4CF-DA9E-41B2-8718-17217DB8BCD5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {9FDA9473-A0FB-4D7C-8582-494F98D5391D}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -1,172 +1,172 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The commander class takes care of commands. It also takes control of the drawer.
|
||||
/// </summary>
|
||||
public class Commander {
|
||||
private Graphics graphics;
|
||||
private List<IVerb> commands = new List<IVerb>();
|
||||
private readonly Drawer drawer;
|
||||
private bool commands_ok = true;
|
||||
|
||||
/// <summary>
|
||||
/// This command updates the graphics element (usually) when the page repaints.
|
||||
/// </summary>
|
||||
/// <param name="updateGraphicsElement">The graphics element to be updated</param>
|
||||
public void DrawAllCommands(Graphics updateGraphicsElement) {
|
||||
graphics = updateGraphicsElement;
|
||||
drawer.ResetDrawer();
|
||||
drawer.SetGraphics(updateGraphicsElement);
|
||||
|
||||
foreach (IVerb IVerb in commands) {
|
||||
IVerb.ExecuteVerb();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Commander instance.
|
||||
/// </summary>
|
||||
/// <param name="graphics">initial graphics object</param>
|
||||
public Commander(Graphics graphics) {
|
||||
this.graphics = graphics;
|
||||
this.drawer = new Drawer(this.graphics);
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Commander instance without a context. Should only be used for testing purpouses.
|
||||
/// </summary>
|
||||
public Commander() {
|
||||
Console.WriteLine("Warning! No graphics context!!!");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Commander instance with a graphics context and commands to process right off the bat.
|
||||
/// </summary>
|
||||
/// <param name="graphics">Graphics contetx</param>
|
||||
/// <param name="rawCommands">Commands to process</param>
|
||||
public Commander(Graphics graphics, string rawCommands) {
|
||||
this.graphics = graphics;
|
||||
this.drawer = new Drawer(this.graphics);
|
||||
this.ProcessCommands(rawCommands);
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a IVerb to the command list to be executed.
|
||||
/// </summary>
|
||||
/// <param name="command">IVerb to be added. <seealso cref="IVerb"/></param>
|
||||
public void AddCommand(IVerb command) {
|
||||
commands.Add(command);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// processes commands. Removes all commands if it fails parsing the raw commands.
|
||||
/// </summary>
|
||||
/// <param name="rawCommands">Processes commands seperated by \n or \r\n</param>
|
||||
/// <param name="pardonCommands">If the command is wrong, don't remove all of the commands</param>
|
||||
public void ProcessCommands(string rawCommands, bool pardonCommands = false) {
|
||||
//ignore case
|
||||
rawCommands = rawCommands.ToLower();
|
||||
Console.WriteLine("Processing:\n" + rawCommands);
|
||||
|
||||
//remove windows' \r if they exist
|
||||
rawCommands = rawCommands.Replace("\r", "");
|
||||
|
||||
//isolate commands
|
||||
string[] commands = rawCommands.Split("\n"[0]);
|
||||
|
||||
Console.WriteLine("\nThe rawCommand processed:");
|
||||
int lineNumber = 0;
|
||||
bool failed = false;
|
||||
foreach (string rawCommand in commands) {
|
||||
string fullCommand = rawCommand;
|
||||
lineNumber++;
|
||||
//Remove comments
|
||||
if (fullCommand.Contains("@")) {
|
||||
fullCommand = fullCommand.Substring(0, fullCommand.IndexOf("@"));
|
||||
}
|
||||
|
||||
fullCommand = HelperFunctions.Strip(fullCommand);
|
||||
if (fullCommand == "") continue;
|
||||
|
||||
try {
|
||||
AddCommand(VerbFactory.MakeVerb(drawer, fullCommand));
|
||||
Console.WriteLine(rawCommand);
|
||||
} catch (Exception e) {
|
||||
Console.WriteLine("Error!");
|
||||
new ErrorWindow(e.Message, e.Message + " at line " + lineNumber, "While trying to process '" + rawCommand + "' an exception occured.\nMessage:\n" + e.Message + "\nStack Trace:\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
failed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (failed) {
|
||||
if (!pardonCommands) RemoveAllCommands();
|
||||
commands_ok = false;
|
||||
} else {
|
||||
commands_ok = true;
|
||||
}
|
||||
|
||||
Console.WriteLine("\n\nHere is what the program is going to do:");
|
||||
Console.WriteLine("Set origin to 0, 0");
|
||||
foreach (IVerb IVerb in this.commands) {
|
||||
Console.WriteLine(IVerb.GetDescription());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processes the commands and executes them at the same time. It's the same as <see></see>
|
||||
/// </summary>
|
||||
/// <param name="rawCommands">Processes commands seperated by \n or \r\n</param>
|
||||
/// <param name="pardonCommands">If the command is wrong, don't remove all of the commands</param>
|
||||
public void ProcessCommandsAndExecute(string rawCommands, bool pardonCommands = false) {
|
||||
int start = commands.Count;
|
||||
ProcessCommands(rawCommands, pardonCommands);
|
||||
|
||||
for (; start < commands.Count; start++) {
|
||||
try {
|
||||
commands[start].ExecuteVerb();
|
||||
} catch (Exception e) {
|
||||
IVerb tmp = commands[start];
|
||||
if (!pardonCommands) RemoveAllCommands();
|
||||
else commands.Remove(commands[start]);
|
||||
new ErrorWindow("Runtime Error", "Failed to " + tmp.GetDescription(), "While trying to '" + tmp.GetDescription() + "' an exception occured.\nMessage:\n" + e.Message + "\nStack Trace:\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes all commands from the Commander and resets the drawer.
|
||||
/// </summary>
|
||||
public void RemoveAllCommands() {
|
||||
commands = new List<IVerb>();
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Explains all of the commands in order
|
||||
/// </summary>
|
||||
/// <returns>Explanation of all the commands</returns>
|
||||
public string ExplainCommands() {
|
||||
string desc = "";
|
||||
foreach (IVerb command in commands) {
|
||||
desc += command.GetDescription() + Environment.NewLine;
|
||||
}
|
||||
return desc;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the status of the code that was processed
|
||||
/// </summary>
|
||||
/// <returns>False if there was no error. True if there was an error</returns>
|
||||
public bool GetLastStatus() {
|
||||
return commands_ok;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The commander class takes care of commands. It also takes control of the drawer.
|
||||
/// </summary>
|
||||
public class Commander {
|
||||
private Graphics graphics;
|
||||
private List<IVerb> commands = new List<IVerb>();
|
||||
private readonly Drawer drawer;
|
||||
private bool commands_ok = true;
|
||||
|
||||
/// <summary>
|
||||
/// This command updates the graphics element (usually) when the page repaints.
|
||||
/// </summary>
|
||||
/// <param name="updateGraphicsElement">The graphics element to be updated</param>
|
||||
public void DrawAllCommands(Graphics updateGraphicsElement) {
|
||||
graphics = updateGraphicsElement;
|
||||
drawer.ResetDrawer();
|
||||
drawer.SetGraphics(updateGraphicsElement);
|
||||
|
||||
foreach (IVerb IVerb in commands) {
|
||||
IVerb.ExecuteVerb();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Commander instance.
|
||||
/// </summary>
|
||||
/// <param name="graphics">initial graphics object</param>
|
||||
public Commander(Graphics graphics) {
|
||||
this.graphics = graphics;
|
||||
this.drawer = new Drawer(this.graphics);
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Commander instance without a context. Should only be used for testing purpouses.
|
||||
/// </summary>
|
||||
public Commander() {
|
||||
Console.WriteLine("Warning! No graphics context!!!");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Commander instance with a graphics context and commands to process right off the bat.
|
||||
/// </summary>
|
||||
/// <param name="graphics">Graphics contetx</param>
|
||||
/// <param name="rawCommands">Commands to process</param>
|
||||
public Commander(Graphics graphics, string rawCommands) {
|
||||
this.graphics = graphics;
|
||||
this.drawer = new Drawer(this.graphics);
|
||||
this.ProcessCommands(rawCommands);
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a IVerb to the command list to be executed.
|
||||
/// </summary>
|
||||
/// <param name="command">IVerb to be added. <seealso cref="IVerb"/></param>
|
||||
public void AddCommand(IVerb command) {
|
||||
commands.Add(command);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// processes commands. Removes all commands if it fails parsing the raw commands.
|
||||
/// </summary>
|
||||
/// <param name="rawCommands">Processes commands seperated by \n or \r\n</param>
|
||||
/// <param name="pardonCommands">If the command is wrong, don't remove all of the commands</param>
|
||||
public void ProcessCommands(string rawCommands, bool pardonCommands = false) {
|
||||
//ignore case
|
||||
rawCommands = rawCommands.ToLower();
|
||||
Console.WriteLine("Processing:\n" + rawCommands);
|
||||
|
||||
//remove windows' \r if they exist
|
||||
rawCommands = rawCommands.Replace("\r", "");
|
||||
|
||||
//isolate commands
|
||||
string[] commands = rawCommands.Split("\n"[0]);
|
||||
|
||||
Console.WriteLine("\nThe rawCommand processed:");
|
||||
int lineNumber = 0;
|
||||
bool failed = false;
|
||||
foreach (string rawCommand in commands) {
|
||||
string fullCommand = rawCommand;
|
||||
lineNumber++;
|
||||
//Remove comments
|
||||
if (fullCommand.Contains("@")) {
|
||||
fullCommand = fullCommand.Substring(0, fullCommand.IndexOf("@"));
|
||||
}
|
||||
|
||||
fullCommand = HelperFunctions.Strip(fullCommand);
|
||||
if (fullCommand == "") continue;
|
||||
|
||||
try {
|
||||
AddCommand(VerbFactory.MakeVerb(drawer, fullCommand));
|
||||
Console.WriteLine(rawCommand);
|
||||
} catch (Exception e) {
|
||||
Console.WriteLine("Error!");
|
||||
new ErrorWindow(e.Message, e.Message + " at line " + lineNumber, "While trying to process '" + rawCommand + "' an exception occured.\nMessage:\n" + e.Message + "\nStack Trace:\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
failed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (failed) {
|
||||
if (!pardonCommands) RemoveAllCommands();
|
||||
commands_ok = false;
|
||||
} else {
|
||||
commands_ok = true;
|
||||
}
|
||||
|
||||
Console.WriteLine("\n\nHere is what the program is going to do:");
|
||||
Console.WriteLine("Set origin to 0, 0");
|
||||
foreach (IVerb IVerb in this.commands) {
|
||||
Console.WriteLine(IVerb.GetDescription());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Processes the commands and executes them at the same time. It's the same as <see></see>
|
||||
/// </summary>
|
||||
/// <param name="rawCommands">Processes commands seperated by \n or \r\n</param>
|
||||
/// <param name="pardonCommands">If the command is wrong, don't remove all of the commands</param>
|
||||
public void ProcessCommandsAndExecute(string rawCommands, bool pardonCommands = false) {
|
||||
int start = commands.Count;
|
||||
ProcessCommands(rawCommands, pardonCommands);
|
||||
|
||||
for (; start < commands.Count; start++) {
|
||||
try {
|
||||
commands[start].ExecuteVerb();
|
||||
} catch (Exception e) {
|
||||
IVerb tmp = commands[start];
|
||||
if (!pardonCommands) RemoveAllCommands();
|
||||
else commands.Remove(commands[start]);
|
||||
new ErrorWindow("Runtime Error", "Failed to " + tmp.GetDescription(), "While trying to '" + tmp.GetDescription() + "' an exception occured.\nMessage:\n" + e.Message + "\nStack Trace:\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes all commands from the Commander and resets the drawer.
|
||||
/// </summary>
|
||||
public void RemoveAllCommands() {
|
||||
commands = new List<IVerb>();
|
||||
drawer.ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Explains all of the commands in order
|
||||
/// </summary>
|
||||
/// <returns>Explanation of all the commands</returns>
|
||||
public string ExplainCommands() {
|
||||
string desc = "";
|
||||
foreach (IVerb command in commands) {
|
||||
desc += command.GetDescription() + Environment.NewLine;
|
||||
}
|
||||
return desc;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the status of the code that was processed
|
||||
/// </summary>
|
||||
/// <returns>False if there was no error. True if there was an error</returns>
|
||||
public bool GetLastStatus() {
|
||||
return commands_ok;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,91 +1,91 @@
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
public static class Converters
|
||||
{
|
||||
/// <summary>
|
||||
/// This function removes spaces from the start and the end of the text. This should be unit tested.
|
||||
/// </summary>
|
||||
/// <param name="text">Simply any string of any size</param>
|
||||
/// <returns>A string without spaces at the begining or the end</returns>
|
||||
/// <example>
|
||||
/// For example
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <example>
|
||||
/// The code won't remove internal double spaces:
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
public static string Strip(string text)
|
||||
{
|
||||
int start;
|
||||
|
||||
for (start = 0; start < text.Length; start++)
|
||||
{
|
||||
char character = text[start];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
|
||||
int end;
|
||||
|
||||
for (end = text.Length - 1; end >= 0; end--)
|
||||
{
|
||||
char character = text[end];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
|
||||
return text.Substring(start, end);
|
||||
|
||||
}
|
||||
|
||||
public static int ConvertToInt(string text)
|
||||
{
|
||||
text = Strip(text);
|
||||
return int.Parse(text);
|
||||
}
|
||||
|
||||
public static List<string> StripStringArray(string[] array)
|
||||
{
|
||||
List<string> newStringList = new List<string>();
|
||||
|
||||
foreach (string arrayElement in array)
|
||||
{
|
||||
string strippedElement = Strip(arrayElement);
|
||||
if (strippedElement.Length == 0) continue;
|
||||
else newStringList.Add(strippedElement);
|
||||
}
|
||||
|
||||
return newStringList;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string[]> CommandAndParameterParser(string text)
|
||||
{
|
||||
Dictionary<string, string[]> commandAndParameters = new Dictionary<string, string[]>();
|
||||
|
||||
//split the command from the parameters
|
||||
string[] parameters = Strip(text).Split(new char[] { " "[0] }, 2);
|
||||
|
||||
//set command var
|
||||
string command = Strip(parameters[0]);
|
||||
commandAndParameters["command"] = new string[] { command };
|
||||
|
||||
//seperate all of the parameters by a comma
|
||||
parameters = parameters[1].Split(","[0]);
|
||||
|
||||
//Remove spaces around parameters
|
||||
parameters = StripStringArray(parameters).ToArray();
|
||||
|
||||
//set parameter list
|
||||
commandAndParameters["parameters"] = parameters;
|
||||
|
||||
return commandAndParameters;
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
public static class Converters
|
||||
{
|
||||
/// <summary>
|
||||
/// This function removes spaces from the start and the end of the text. This should be unit tested.
|
||||
/// </summary>
|
||||
/// <param name="text">Simply any string of any size</param>
|
||||
/// <returns>A string without spaces at the begining or the end</returns>
|
||||
/// <example>
|
||||
/// For example
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <example>
|
||||
/// The code won't remove internal double spaces:
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
public static string Strip(string text)
|
||||
{
|
||||
int start;
|
||||
|
||||
for (start = 0; start < text.Length; start++)
|
||||
{
|
||||
char character = text[start];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
|
||||
int end;
|
||||
|
||||
for (end = text.Length - 1; end >= 0; end--)
|
||||
{
|
||||
char character = text[end];
|
||||
if (character != " "[0]) break;
|
||||
}
|
||||
|
||||
return text.Substring(start, end);
|
||||
|
||||
}
|
||||
|
||||
public static int ConvertToInt(string text)
|
||||
{
|
||||
text = Strip(text);
|
||||
return int.Parse(text);
|
||||
}
|
||||
|
||||
public static List<string> StripStringArray(string[] array)
|
||||
{
|
||||
List<string> newStringList = new List<string>();
|
||||
|
||||
foreach (string arrayElement in array)
|
||||
{
|
||||
string strippedElement = Strip(arrayElement);
|
||||
if (strippedElement.Length == 0) continue;
|
||||
else newStringList.Add(strippedElement);
|
||||
}
|
||||
|
||||
return newStringList;
|
||||
}
|
||||
|
||||
public static Dictionary<string, string[]> CommandAndParameterParser(string text)
|
||||
{
|
||||
Dictionary<string, string[]> commandAndParameters = new Dictionary<string, string[]>();
|
||||
|
||||
//split the command from the parameters
|
||||
string[] parameters = Strip(text).Split(new char[] { " "[0] }, 2);
|
||||
|
||||
//set command var
|
||||
string command = Strip(parameters[0]);
|
||||
commandAndParameters["command"] = new string[] { command };
|
||||
|
||||
//seperate all of the parameters by a comma
|
||||
parameters = parameters[1].Split(","[0]);
|
||||
|
||||
//Remove spaces around parameters
|
||||
parameters = StripStringArray(parameters).ToArray();
|
||||
|
||||
//set parameter list
|
||||
commandAndParameters["parameters"] = parameters;
|
||||
|
||||
return commandAndParameters;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,226 +1,226 @@
|
||||
using Advanced_Software_Engineering.Verbs.Flow;
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Linq;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The drawer is responsible for drawing on the graphics object.
|
||||
/// </summary>
|
||||
public class Drawer {
|
||||
|
||||
/// <summary>
|
||||
/// Value storage is used for storing all of the variables and their IValues. See <see cref="ValueStorage"/> and see <see cref="IValue"/>
|
||||
/// </summary>
|
||||
private readonly ValueStorage valueStorage = new ValueStorage();
|
||||
|
||||
/// <summary>
|
||||
/// List of verbChunks used to create for loops, if statements, while loops and methods.
|
||||
/// See <see cref="ForChunk"/>, <see cref="IfChunk"/>, <see cref="MethodChunk"/>, <see cref="WhileChunk"/> and <seealso cref="IVerbChunk"/>.
|
||||
/// </summary>
|
||||
public List<IVerbChunk> verbChunks = new List<IVerbChunk>();
|
||||
|
||||
/// <summary>
|
||||
/// A veriable that represents wether the last verbchunk is a method. See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
public bool verbChunkGeneratingMethod = false;
|
||||
|
||||
/// <summary>
|
||||
/// A list of methods. See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
public Dictionary<string, MethodChunk> Methods = new Dictionary<string, MethodChunk>();
|
||||
|
||||
/// <summary>
|
||||
/// The starting color of the pen / brush
|
||||
/// </summary>
|
||||
protected static Color defaultColor = Color.Black;
|
||||
|
||||
/// <summary>
|
||||
/// The deafult width of the pen
|
||||
/// </summary>
|
||||
protected static float defaultWidth = 1f;
|
||||
|
||||
/// <summary>
|
||||
/// Weather enclosed spaces will have fill.
|
||||
/// </summary>
|
||||
protected bool fill = false;
|
||||
|
||||
/// <summary>
|
||||
/// The Brush object
|
||||
/// </summary>
|
||||
protected SolidBrush brush;
|
||||
|
||||
/// <summary>
|
||||
/// The Pen object
|
||||
/// </summary>
|
||||
protected Pen pen;
|
||||
|
||||
/// <summary>
|
||||
/// The current position of the pen.
|
||||
/// </summary>
|
||||
protected Point penPosition;
|
||||
|
||||
/// <summary>
|
||||
/// The graphics object
|
||||
/// </summary>
|
||||
protected Graphics graphics;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new drawer object.
|
||||
/// </summary>
|
||||
/// <param name="graphics">Graphics context</param>
|
||||
public Drawer(Graphics graphics) {
|
||||
this.graphics = graphics;
|
||||
ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restart the drawer.
|
||||
/// </summary>
|
||||
public void ResetDrawer() {
|
||||
graphics.Clear(Color.White);
|
||||
penPosition = new Point(0, 0);
|
||||
pen = new Pen(defaultColor, defaultWidth);
|
||||
brush = new SolidBrush(defaultColor);
|
||||
fill = false;
|
||||
valueStorage.Reset();
|
||||
verbChunks = new List<IVerbChunk>();
|
||||
Methods = new Dictionary<string, MethodChunk>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set thhe graphics context.
|
||||
/// </summary>
|
||||
/// <param name="graphics"></param>
|
||||
public void SetGraphics(Graphics graphics) => this.graphics = graphics;
|
||||
|
||||
/// <summary>
|
||||
/// Move the pen to the point.
|
||||
/// </summary>
|
||||
/// <param name="point">Position to move the pen to</param>
|
||||
public void MovePen(Point point) => penPosition = point;
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current pen position
|
||||
/// </summary>
|
||||
/// <returns>The curren pen position</returns>
|
||||
public Point GetPenPosition() => new Point(penPosition.X, penPosition.Y);
|
||||
|
||||
/// <summary>
|
||||
/// Get current fill status
|
||||
/// </summary>
|
||||
/// <returns>current fill satus</returns>
|
||||
public bool GetFill() => fill;
|
||||
|
||||
/// <summary>
|
||||
/// Allows the filling of objects.
|
||||
/// </summary>
|
||||
public void EnableFill() => fill = true;
|
||||
|
||||
/// <summary>
|
||||
/// Disables the filling of objects.
|
||||
/// </summary>
|
||||
public void DisableFill() => fill = false;
|
||||
|
||||
/// <summary>
|
||||
/// Set the filling of objects
|
||||
/// </summary>
|
||||
/// <param name="fill">Set fill</param>
|
||||
public void SetFill(bool fill) => this.fill = fill;
|
||||
|
||||
/// <summary>
|
||||
/// Set the pen color
|
||||
/// </summary>
|
||||
/// <param name="color">Pen color</param>
|
||||
public void SetPenColor(Color color) => pen.Color = color;
|
||||
|
||||
/// <summary>
|
||||
/// Set the width of the pen
|
||||
/// </summary>
|
||||
/// <param name="width">Pen width</param>
|
||||
public void SetPenWidth(float width) => pen.Width = width;
|
||||
|
||||
/// <summary>
|
||||
/// Set fill color
|
||||
/// </summary>
|
||||
/// <param name="color">Fill color</param>
|
||||
public void SetFillColor(Color color) => brush.Color = color;
|
||||
|
||||
/// <summary>
|
||||
/// Draws a line from the current pen position to the one specified in the parameter. This also sets the pens new position.
|
||||
/// </summary>
|
||||
/// <param name="point">Draw to point</param>
|
||||
public void DrawLine(Point point) {
|
||||
graphics.DrawLine(pen, penPosition, point);
|
||||
penPosition = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws multiple lines to multiple points. This doesn't change the pens position.
|
||||
/// </summary>
|
||||
/// <param name="points">Points to draw to</param>
|
||||
public void DrawLines(Point[] points) {
|
||||
if (points.Length < 2) {
|
||||
throw new Exception("Cannot have less than two points in a line");
|
||||
}
|
||||
|
||||
//Make it relative to the pen
|
||||
for (int pointIndex = 0; pointIndex < points.Length; pointIndex++)
|
||||
points[pointIndex] = new Point(points[pointIndex].X + penPosition.X, points[pointIndex].Y + penPosition.Y);
|
||||
|
||||
GraphicsPath path = new GraphicsPath {
|
||||
FillMode = FillMode.Winding
|
||||
};
|
||||
|
||||
path.AddLines(points);
|
||||
path.AddLine(points[0], points.Last()); //Add final line
|
||||
|
||||
DrawLines(path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws multiple lines to multiple points. This doesn't change the pens position.
|
||||
/// </summary>
|
||||
/// <param name="path">GraphicsPath to draw to</param>
|
||||
public void DrawLines(GraphicsPath path) {
|
||||
//path.Widen(pen);
|
||||
if (fill) graphics.FillPath(brush, path);
|
||||
graphics.DrawPath(pen, path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a circle of a scale ath the pen's position
|
||||
/// </summary>
|
||||
/// <param name="scale">Scale of the circle</param>
|
||||
public void DrawCircle(double scale) {
|
||||
if (fill) graphics.FillEllipse(brush, penPosition.X - (float)(scale), penPosition.Y - (float)(scale), (float)scale * 2, (float)scale * 2);
|
||||
graphics.DrawEllipse(pen, penPosition.X - (float)(scale), penPosition.Y - (float)(scale), (float)scale * 2, (float)scale * 2);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears the canvas
|
||||
/// </summary>
|
||||
public void ClearCanvas() {
|
||||
graphics.Clear(Color.White);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a single pixel with the pen's color at the pen's position.
|
||||
/// </summary>
|
||||
public void DrawDot() {
|
||||
graphics.FillRectangle(new SolidBrush(pen.Color), penPosition.X, penPosition.Y, 1, 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the valueStorage object
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueStorage GetValueStorage() {
|
||||
return valueStorage;
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Flow;
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Linq;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The drawer is responsible for drawing on the graphics object.
|
||||
/// </summary>
|
||||
public class Drawer {
|
||||
|
||||
/// <summary>
|
||||
/// Value storage is used for storing all of the variables and their IValues. See <see cref="ValueStorage"/> and see <see cref="IValue"/>
|
||||
/// </summary>
|
||||
private readonly ValueStorage valueStorage = new ValueStorage();
|
||||
|
||||
/// <summary>
|
||||
/// List of verbChunks used to create for loops, if statements, while loops and methods.
|
||||
/// See <see cref="ForChunk"/>, <see cref="IfChunk"/>, <see cref="MethodChunk"/>, <see cref="WhileChunk"/> and <seealso cref="IVerbChunk"/>.
|
||||
/// </summary>
|
||||
public List<IVerbChunk> verbChunks = new List<IVerbChunk>();
|
||||
|
||||
/// <summary>
|
||||
/// A veriable that represents wether the last verbchunk is a method. See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
public bool verbChunkGeneratingMethod = false;
|
||||
|
||||
/// <summary>
|
||||
/// A list of methods. See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
public Dictionary<string, MethodChunk> Methods = new Dictionary<string, MethodChunk>();
|
||||
|
||||
/// <summary>
|
||||
/// The starting color of the pen / brush
|
||||
/// </summary>
|
||||
protected static Color defaultColor = Color.Black;
|
||||
|
||||
/// <summary>
|
||||
/// The deafult width of the pen
|
||||
/// </summary>
|
||||
protected static float defaultWidth = 1f;
|
||||
|
||||
/// <summary>
|
||||
/// Weather enclosed spaces will have fill.
|
||||
/// </summary>
|
||||
protected bool fill = false;
|
||||
|
||||
/// <summary>
|
||||
/// The Brush object
|
||||
/// </summary>
|
||||
protected SolidBrush brush;
|
||||
|
||||
/// <summary>
|
||||
/// The Pen object
|
||||
/// </summary>
|
||||
protected Pen pen;
|
||||
|
||||
/// <summary>
|
||||
/// The current position of the pen.
|
||||
/// </summary>
|
||||
protected Point penPosition;
|
||||
|
||||
/// <summary>
|
||||
/// The graphics object
|
||||
/// </summary>
|
||||
protected Graphics graphics;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new drawer object.
|
||||
/// </summary>
|
||||
/// <param name="graphics">Graphics context</param>
|
||||
public Drawer(Graphics graphics) {
|
||||
this.graphics = graphics;
|
||||
ResetDrawer();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restart the drawer.
|
||||
/// </summary>
|
||||
public void ResetDrawer() {
|
||||
graphics.Clear(Color.White);
|
||||
penPosition = new Point(0, 0);
|
||||
pen = new Pen(defaultColor, defaultWidth);
|
||||
brush = new SolidBrush(defaultColor);
|
||||
fill = false;
|
||||
valueStorage.Reset();
|
||||
verbChunks = new List<IVerbChunk>();
|
||||
Methods = new Dictionary<string, MethodChunk>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set thhe graphics context.
|
||||
/// </summary>
|
||||
/// <param name="graphics"></param>
|
||||
public void SetGraphics(Graphics graphics) => this.graphics = graphics;
|
||||
|
||||
/// <summary>
|
||||
/// Move the pen to the point.
|
||||
/// </summary>
|
||||
/// <param name="point">Position to move the pen to</param>
|
||||
public void MovePen(Point point) => penPosition = point;
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current pen position
|
||||
/// </summary>
|
||||
/// <returns>The curren pen position</returns>
|
||||
public Point GetPenPosition() => new Point(penPosition.X, penPosition.Y);
|
||||
|
||||
/// <summary>
|
||||
/// Get current fill status
|
||||
/// </summary>
|
||||
/// <returns>current fill satus</returns>
|
||||
public bool GetFill() => fill;
|
||||
|
||||
/// <summary>
|
||||
/// Allows the filling of objects.
|
||||
/// </summary>
|
||||
public void EnableFill() => fill = true;
|
||||
|
||||
/// <summary>
|
||||
/// Disables the filling of objects.
|
||||
/// </summary>
|
||||
public void DisableFill() => fill = false;
|
||||
|
||||
/// <summary>
|
||||
/// Set the filling of objects
|
||||
/// </summary>
|
||||
/// <param name="fill">Set fill</param>
|
||||
public void SetFill(bool fill) => this.fill = fill;
|
||||
|
||||
/// <summary>
|
||||
/// Set the pen color
|
||||
/// </summary>
|
||||
/// <param name="color">Pen color</param>
|
||||
public void SetPenColor(Color color) => pen.Color = color;
|
||||
|
||||
/// <summary>
|
||||
/// Set the width of the pen
|
||||
/// </summary>
|
||||
/// <param name="width">Pen width</param>
|
||||
public void SetPenWidth(float width) => pen.Width = width;
|
||||
|
||||
/// <summary>
|
||||
/// Set fill color
|
||||
/// </summary>
|
||||
/// <param name="color">Fill color</param>
|
||||
public void SetFillColor(Color color) => brush.Color = color;
|
||||
|
||||
/// <summary>
|
||||
/// Draws a line from the current pen position to the one specified in the parameter. This also sets the pens new position.
|
||||
/// </summary>
|
||||
/// <param name="point">Draw to point</param>
|
||||
public void DrawLine(Point point) {
|
||||
graphics.DrawLine(pen, penPosition, point);
|
||||
penPosition = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws multiple lines to multiple points. This doesn't change the pens position.
|
||||
/// </summary>
|
||||
/// <param name="points">Points to draw to</param>
|
||||
public void DrawLines(Point[] points) {
|
||||
if (points.Length < 2) {
|
||||
throw new Exception("Cannot have less than two points in a line");
|
||||
}
|
||||
|
||||
//Make it relative to the pen
|
||||
for (int pointIndex = 0; pointIndex < points.Length; pointIndex++)
|
||||
points[pointIndex] = new Point(points[pointIndex].X + penPosition.X, points[pointIndex].Y + penPosition.Y);
|
||||
|
||||
GraphicsPath path = new GraphicsPath {
|
||||
FillMode = FillMode.Winding
|
||||
};
|
||||
|
||||
path.AddLines(points);
|
||||
path.AddLine(points[0], points.Last()); //Add final line
|
||||
|
||||
DrawLines(path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws multiple lines to multiple points. This doesn't change the pens position.
|
||||
/// </summary>
|
||||
/// <param name="path">GraphicsPath to draw to</param>
|
||||
public void DrawLines(GraphicsPath path) {
|
||||
//path.Widen(pen);
|
||||
if (fill) graphics.FillPath(brush, path);
|
||||
graphics.DrawPath(pen, path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a circle of a scale ath the pen's position
|
||||
/// </summary>
|
||||
/// <param name="scale">Scale of the circle</param>
|
||||
public void DrawCircle(double scale) {
|
||||
if (fill) graphics.FillEllipse(brush, penPosition.X - (float)(scale), penPosition.Y - (float)(scale), (float)scale * 2, (float)scale * 2);
|
||||
graphics.DrawEllipse(pen, penPosition.X - (float)(scale), penPosition.Y - (float)(scale), (float)scale * 2, (float)scale * 2);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clears the canvas
|
||||
/// </summary>
|
||||
public void ClearCanvas() {
|
||||
graphics.Clear(Color.White);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a single pixel with the pen's color at the pen's position.
|
||||
/// </summary>
|
||||
public void DrawDot() {
|
||||
graphics.FillRectangle(new SolidBrush(pen.Color), penPosition.X, penPosition.Y, 1, 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the valueStorage object
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public ValueStorage GetValueStorage() {
|
||||
return valueStorage;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,130 +1,130 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is a direct replacement to the dictionaries that were returned by <see cref="HelperFunctions.CommandAndParameterParser(string)"/>.
|
||||
/// This class provides better intraface to the output.
|
||||
/// </summary>
|
||||
public class CommandAndParameterParserResult {
|
||||
private readonly string command;
|
||||
private readonly string[] parameters;
|
||||
|
||||
/// <summary>
|
||||
/// Generates a new Result
|
||||
/// </summary>
|
||||
/// <param name="command">The command</param>
|
||||
/// <param name="parameters">The parameters</param>
|
||||
public CommandAndParameterParserResult(string command, string[] parameters) {
|
||||
this.command = command;
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the command from the result
|
||||
/// </summary>
|
||||
/// <returns>the command</returns>
|
||||
public string GetCommand() {
|
||||
return command;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the command parameters
|
||||
/// </summary>
|
||||
/// <returns>command parameters</returns>
|
||||
public string[] GetParameters() {
|
||||
return parameters;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This class simply provides settings and some functions that are used across many components.
|
||||
/// </summary>
|
||||
public class HelperFunctions {
|
||||
|
||||
/// <summary>
|
||||
/// This function removes spaces from the start and the end of the text. This should be unit tested.
|
||||
/// </summary>
|
||||
/// <param name="text">Simply any string of any size</param>
|
||||
/// <returns>A string without spaces at the begining or the end</returns>
|
||||
/// <example>
|
||||
/// For example
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <example>
|
||||
/// The code won't remove internal double spaces:
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
public static string Strip(string text) {
|
||||
return text.Trim();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Strips the strings of the full array. See <see cref="Strip(string)"/>
|
||||
/// </summary>
|
||||
/// <example>
|
||||
/// string[] tmp = {" text ", " ", " with", "spaces ", ""};
|
||||
/// Console.WriteLine(StripStringArray(tmp)); // => {"text", "with", "spaces"}
|
||||
/// </example>
|
||||
/// <param name="array">Dirty array with spaces</param>
|
||||
/// <returns>A stripped aray</returns>
|
||||
public static List<string> StripStringArray(string[] array) {
|
||||
List<string> newStringList = new List<string>();
|
||||
|
||||
foreach (string arrayElement in array) {
|
||||
string strippedElement = Strip(arrayElement);
|
||||
if (strippedElement.Length == 0) continue;
|
||||
else newStringList.Add(strippedElement);
|
||||
}
|
||||
|
||||
return newStringList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses the commands into a directry that Commander can use. See <see cref="Commander"/>
|
||||
/// </summary>
|
||||
/// <param name="text">A string command</param>
|
||||
/// <returns>Directory with the command and its parameters cleanly separated</returns>
|
||||
public static CommandAndParameterParserResult CommandAndParameterParser(string text) {
|
||||
//prepare the parameters by stripping them of spaces
|
||||
string prepParameters = Strip(text);
|
||||
if (prepParameters.Length == 0) return null;
|
||||
|
||||
//split the command from the parameters
|
||||
string[] splitCommand = prepParameters.Split(new char[] { " "[0] }, 2);
|
||||
string command = null;
|
||||
string[] parameters = null;
|
||||
|
||||
//There are parameters, make the command
|
||||
if (splitCommand.Length > 0) {
|
||||
//set command var
|
||||
command = Strip(splitCommand[0]);
|
||||
}
|
||||
|
||||
//There is at least one parameter
|
||||
if (splitCommand.Length > 1) {
|
||||
//seperate all of the parameters by a comma
|
||||
splitCommand = splitCommand[1].Split(","[0]);
|
||||
|
||||
//Remove spaces around parameters
|
||||
splitCommand = StripStringArray(splitCommand).ToArray();
|
||||
|
||||
//We don't want parameters if there aren't any
|
||||
if (!(splitCommand.Length == 1 && splitCommand[0] == "")) {
|
||||
//set parameter list
|
||||
parameters = splitCommand;
|
||||
}
|
||||
}
|
||||
|
||||
return new CommandAndParameterParserResult(command, parameters);
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is a direct replacement to the dictionaries that were returned by <see cref="HelperFunctions.CommandAndParameterParser(string)"/>.
|
||||
/// This class provides better intraface to the output.
|
||||
/// </summary>
|
||||
public class CommandAndParameterParserResult {
|
||||
private readonly string command;
|
||||
private readonly string[] parameters;
|
||||
|
||||
/// <summary>
|
||||
/// Generates a new Result
|
||||
/// </summary>
|
||||
/// <param name="command">The command</param>
|
||||
/// <param name="parameters">The parameters</param>
|
||||
public CommandAndParameterParserResult(string command, string[] parameters) {
|
||||
this.command = command;
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the command from the result
|
||||
/// </summary>
|
||||
/// <returns>the command</returns>
|
||||
public string GetCommand() {
|
||||
return command;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the command parameters
|
||||
/// </summary>
|
||||
/// <returns>command parameters</returns>
|
||||
public string[] GetParameters() {
|
||||
return parameters;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This class simply provides settings and some functions that are used across many components.
|
||||
/// </summary>
|
||||
public class HelperFunctions {
|
||||
|
||||
/// <summary>
|
||||
/// This function removes spaces from the start and the end of the text. This should be unit tested.
|
||||
/// </summary>
|
||||
/// <param name="text">Simply any string of any size</param>
|
||||
/// <returns>A string without spaces at the begining or the end</returns>
|
||||
/// <example>
|
||||
/// For example
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
/// <example>
|
||||
/// The code won't remove internal double spaces:
|
||||
/// <code>
|
||||
/// string a = " a simple sentence surrounded by spaces ";
|
||||
/// string b = StripSpaces(a);
|
||||
/// Console.WriteLine(b); // => "a simple sentence surrounded by spaces";
|
||||
/// </code>
|
||||
/// </example>
|
||||
public static string Strip(string text) {
|
||||
return text.Trim();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Strips the strings of the full array. See <see cref="Strip(string)"/>
|
||||
/// </summary>
|
||||
/// <example>
|
||||
/// string[] tmp = {" text ", " ", " with", "spaces ", ""};
|
||||
/// Console.WriteLine(StripStringArray(tmp)); // => {"text", "with", "spaces"}
|
||||
/// </example>
|
||||
/// <param name="array">Dirty array with spaces</param>
|
||||
/// <returns>A stripped aray</returns>
|
||||
public static List<string> StripStringArray(string[] array) {
|
||||
List<string> newStringList = new List<string>();
|
||||
|
||||
foreach (string arrayElement in array) {
|
||||
string strippedElement = Strip(arrayElement);
|
||||
if (strippedElement.Length == 0) continue;
|
||||
else newStringList.Add(strippedElement);
|
||||
}
|
||||
|
||||
return newStringList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses the commands into a directry that Commander can use. See <see cref="Commander"/>
|
||||
/// </summary>
|
||||
/// <param name="text">A string command</param>
|
||||
/// <returns>Directory with the command and its parameters cleanly separated</returns>
|
||||
public static CommandAndParameterParserResult CommandAndParameterParser(string text) {
|
||||
//prepare the parameters by stripping them of spaces
|
||||
string prepParameters = Strip(text);
|
||||
if (prepParameters.Length == 0) return null;
|
||||
|
||||
//split the command from the parameters
|
||||
string[] splitCommand = prepParameters.Split(new char[] { " "[0] }, 2);
|
||||
string command = null;
|
||||
string[] parameters = null;
|
||||
|
||||
//There are parameters, make the command
|
||||
if (splitCommand.Length > 0) {
|
||||
//set command var
|
||||
command = Strip(splitCommand[0]);
|
||||
}
|
||||
|
||||
//There is at least one parameter
|
||||
if (splitCommand.Length > 1) {
|
||||
//seperate all of the parameters by a comma
|
||||
splitCommand = splitCommand[1].Split(","[0]);
|
||||
|
||||
//Remove spaces around parameters
|
||||
splitCommand = StripStringArray(splitCommand).ToArray();
|
||||
|
||||
//We don't want parameters if there aren't any
|
||||
if (!(splitCommand.Length == 1 && splitCommand[0] == "")) {
|
||||
//set parameter list
|
||||
parameters = splitCommand;
|
||||
}
|
||||
}
|
||||
|
||||
return new CommandAndParameterParserResult(command, parameters);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +1,27 @@
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// Menu manager manages if the menu is shown to the user. It is a static class because every Form should be able to see it.
|
||||
/// See <see cref="Menu"/>.
|
||||
/// </summary>
|
||||
public static partial class MenuManager {
|
||||
|
||||
/// <summary>
|
||||
/// The variable simply keep track of the windows that are currently shown (excluding <see cref="Menu"/>).
|
||||
/// </summary>
|
||||
public static int NumberOfWindows = 0;
|
||||
|
||||
/// <summary>
|
||||
/// This helper function is executed when a window is closed. It shows the <see cref="Menu"/> when the count is 0
|
||||
/// </summary>
|
||||
public static void WindowClosed() {
|
||||
NumberOfWindows--;
|
||||
if (NumberOfWindows == 0) {
|
||||
Console.WriteLine("Showing MainMenu");
|
||||
Program.MainMenu.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// Menu manager manages if the menu is shown to the user. It is a static class because every Form should be able to see it.
|
||||
/// See <see cref="Menu"/>.
|
||||
/// </summary>
|
||||
public static partial class MenuManager {
|
||||
|
||||
/// <summary>
|
||||
/// The variable simply keep track of the windows that are currently shown (excluding <see cref="Menu"/>).
|
||||
/// </summary>
|
||||
public static int NumberOfWindows = 0;
|
||||
|
||||
/// <summary>
|
||||
/// This helper function is executed when a window is closed. It shows the <see cref="Menu"/> when the count is 0
|
||||
/// </summary>
|
||||
public static void WindowClosed() {
|
||||
NumberOfWindows--;
|
||||
if (NumberOfWindows == 0) {
|
||||
Console.WriteLine("Showing MainMenu");
|
||||
Program.MainMenu.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,21 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
internal static class Program {
|
||||
public static Form MainMenu;
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
private static void Main() {
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
|
||||
MainMenu = new Menu();
|
||||
Application.Run(MainMenu);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
internal static class Program {
|
||||
public static Form MainMenu;
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
private static void Main() {
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
|
||||
MainMenu = new Menu();
|
||||
Application.Run(MainMenu);
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
-34
@@ -1,35 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Advanced Software Engineering")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Advanced Software Engineering")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("b9df94a0-9dfb-4f1e-b126-38dfbbe72c0c")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Advanced Software Engineering")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Advanced Software Engineering")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2020")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("b9df94a0-9dfb-4f1e-b126-38dfbbe72c0c")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
Generated
+93
-93
@@ -1,93 +1,93 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Advanced_Software_Engineering.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap error {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("error", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap info {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("info", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap warning {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("warning", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Advanced_Software_Engineering.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap error {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("error", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap info {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("info", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap warning {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("warning", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+129
-129
@@ -1,130 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="error" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="info" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="warning" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="error" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="info" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="warning" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+26
-26
@@ -1,26 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.7.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Advanced_Software_Engineering.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.7.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
+29
-29
@@ -1,30 +1,30 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Clear IVerb class.
|
||||
/// </summary>
|
||||
public class Clear : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Create the clear IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer"></param>
|
||||
public Clear(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute the clear IVerb. It clears the drawer.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => drawer.ClearCanvas();
|
||||
|
||||
/// <summary>
|
||||
/// Describes the clearing.
|
||||
/// </summary>
|
||||
/// <returns>A description of clearing</returns>
|
||||
public string GetDescription() {
|
||||
return "Clears the canvas";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Clear IVerb class.
|
||||
/// </summary>
|
||||
public class Clear : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Create the clear IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer"></param>
|
||||
public Clear(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute the clear IVerb. It clears the drawer.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => drawer.ClearCanvas();
|
||||
|
||||
/// <summary>
|
||||
/// Describes the clearing.
|
||||
/// </summary>
|
||||
/// <returns>A description of clearing</returns>
|
||||
public string GetDescription() {
|
||||
return "Clears the canvas";
|
||||
}
|
||||
}
|
||||
}
|
||||
+40
-40
@@ -1,41 +1,41 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// DrawLines IVerb class
|
||||
/// </summary>
|
||||
public class DrawLines : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue[] points;
|
||||
|
||||
/// <summary>
|
||||
/// DrawLines constructor
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="points">All of the points to visit</param>
|
||||
public DrawLines(Drawer drawer, PointValue[] points) {
|
||||
this.drawer = drawer;
|
||||
this.points = points;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws all the lines
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
List<Point> pointList = new List<Point>();
|
||||
foreach (PointValue pointValue in points) pointList.Add(pointValue.GetPoint());
|
||||
drawer.DrawLines(pointList.ToArray());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets description of the command.
|
||||
/// </summary>
|
||||
/// <returns>A generic description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a shape at specific points.";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// DrawLines IVerb class
|
||||
/// </summary>
|
||||
public class DrawLines : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue[] points;
|
||||
|
||||
/// <summary>
|
||||
/// DrawLines constructor
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="points">All of the points to visit</param>
|
||||
public DrawLines(Drawer drawer, PointValue[] points) {
|
||||
this.drawer = drawer;
|
||||
this.points = points;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws all the lines
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
List<Point> pointList = new List<Point>();
|
||||
foreach (PointValue pointValue in points) pointList.Add(pointValue.GetPoint());
|
||||
drawer.DrawLines(pointList.ToArray());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets description of the command.
|
||||
/// </summary>
|
||||
/// <returns>A generic description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a shape at specific points.";
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
-11
@@ -1,12 +1,12 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs.Actions {
|
||||
|
||||
internal class NoOp : IVerb {
|
||||
|
||||
public void ExecuteVerb() {
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "NoOp";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs.Actions {
|
||||
|
||||
internal class NoOp : IVerb {
|
||||
|
||||
public void ExecuteVerb() {
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "NoOp";
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
-29
@@ -1,30 +1,30 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Setsets the pen to the initial position.
|
||||
/// </summary>
|
||||
public class ResetPen : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the ResetPen IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
public ResetPen(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Moves the pen to 0, 0
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => drawer.MovePen(new System.Drawing.Point(0, 0));
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the command.
|
||||
/// </summary>
|
||||
/// <returns>The description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Moves pen to the start (0, 0)";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Setsets the pen to the initial position.
|
||||
/// </summary>
|
||||
public class ResetPen : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the ResetPen IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
public ResetPen(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Moves the pen to 0, 0
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => drawer.MovePen(new System.Drawing.Point(0, 0));
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the command.
|
||||
/// </summary>
|
||||
/// <returns>The description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Moves pen to the start (0, 0)";
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
-36
@@ -1,37 +1,37 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Fill IVerb class
|
||||
/// </summary>
|
||||
public class Fill : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly bool enable;
|
||||
|
||||
/// <summary>
|
||||
/// Fill enables or disables the fill insider drawer
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="enable">Enable fill?</param>
|
||||
public Fill(Drawer drawer, bool enable) {
|
||||
this.drawer = drawer;
|
||||
this.enable = enable;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the fill status
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (enable) drawer.EnableFill();
|
||||
else drawer.DisableFill();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes what the command will do
|
||||
/// </summary>
|
||||
/// <returns>Description of what the IVerb will do</returns>
|
||||
public string GetDescription() {
|
||||
if (enable) return "Enable fill";
|
||||
else return "Disable fill";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Fill IVerb class
|
||||
/// </summary>
|
||||
public class Fill : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly bool enable;
|
||||
|
||||
/// <summary>
|
||||
/// Fill enables or disables the fill insider drawer
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="enable">Enable fill?</param>
|
||||
public Fill(Drawer drawer, bool enable) {
|
||||
this.drawer = drawer;
|
||||
this.enable = enable;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the fill status
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (enable) drawer.EnableFill();
|
||||
else drawer.DisableFill();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes what the command will do
|
||||
/// </summary>
|
||||
/// <returns>Description of what the IVerb will do</returns>
|
||||
public string GetDescription() {
|
||||
if (enable) return "Enable fill";
|
||||
else return "Disable fill";
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
-36
@@ -1,37 +1,37 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The FillColor IVerb class
|
||||
/// </summary>
|
||||
public class FillColor : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue color;
|
||||
|
||||
/// <summary>
|
||||
/// Create the FillColor instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="color">The color of the fill</param>
|
||||
public FillColor(Drawer drawer, IValue color) {
|
||||
this.drawer = drawer;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the fill color
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.SetFillColor(color.ToColor());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get description of the color that the drawer will use
|
||||
/// </summary>
|
||||
/// <returns>Description of the fill color</returns>
|
||||
public string GetDescription() {
|
||||
return "Set fill color to the specified color";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The FillColor IVerb class
|
||||
/// </summary>
|
||||
public class FillColor : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue color;
|
||||
|
||||
/// <summary>
|
||||
/// Create the FillColor instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="color">The color of the fill</param>
|
||||
public FillColor(Drawer drawer, IValue color) {
|
||||
this.drawer = drawer;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the fill color
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.SetFillColor(color.ToColor());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get description of the color that the drawer will use
|
||||
/// </summary>
|
||||
/// <returns>Description of the fill color</returns>
|
||||
public string GetDescription() {
|
||||
return "Set fill color to the specified color";
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
-36
@@ -1,37 +1,37 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The PenColor IVerb class
|
||||
/// </summary>
|
||||
public class PenColor : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue color;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a PenColor instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="color">Pen color</param>
|
||||
public PenColor(Drawer drawer, IValue color) {
|
||||
this.drawer = drawer;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the pen color
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.SetPenColor(color.ToColor());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes the pen color
|
||||
/// </summary>
|
||||
/// <returns>The description pen color</returns>
|
||||
public string GetDescription() {
|
||||
return "Set pen color";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The PenColor IVerb class
|
||||
/// </summary>
|
||||
public class PenColor : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue color;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a PenColor instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="color">Pen color</param>
|
||||
public PenColor(Drawer drawer, IValue color) {
|
||||
this.drawer = drawer;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the pen color
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.SetPenColor(color.ToColor());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes the pen color
|
||||
/// </summary>
|
||||
/// <returns>The description pen color</returns>
|
||||
public string GetDescription() {
|
||||
return "Set pen color";
|
||||
}
|
||||
}
|
||||
}
|
||||
+37
-37
@@ -1,38 +1,38 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Circle IVerb class.
|
||||
/// </summary>
|
||||
public class Circle : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue scale;
|
||||
|
||||
/// <summary>
|
||||
/// Circle constructor creates the Circle IVerb.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">scale of the circle</param>
|
||||
public Circle(Drawer drawer, IValue scale) {
|
||||
this.drawer = drawer;
|
||||
this.scale = scale;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute the Circle IVerb, which is to draw a circle with the drawer.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
double scale = this.scale.ToDouble();
|
||||
drawer.DrawCircle(scale);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the circle will be drawn.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a circle with a certain radius, with origin of the pen";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Circle IVerb class.
|
||||
/// </summary>
|
||||
public class Circle : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue scale;
|
||||
|
||||
/// <summary>
|
||||
/// Circle constructor creates the Circle IVerb.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">scale of the circle</param>
|
||||
public Circle(Drawer drawer, IValue scale) {
|
||||
this.drawer = drawer;
|
||||
this.scale = scale;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Execute the Circle IVerb, which is to draw a circle with the drawer.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
double scale = this.scale.ToDouble();
|
||||
drawer.DrawCircle(scale);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the circle will be drawn.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a circle with a certain radius, with origin of the pen";
|
||||
}
|
||||
}
|
||||
}
|
||||
+31
-31
@@ -1,32 +1,32 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Dot IVerb class
|
||||
/// </summary>
|
||||
public class Dot : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the Dot IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer"></param>
|
||||
public Dot(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a dot where the pen currently is.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.DrawDot();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the command
|
||||
/// </summary>
|
||||
/// <returns>The description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Places a dot where the pen currently is";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Dot IVerb class
|
||||
/// </summary>
|
||||
public class Dot : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the Dot IVerb
|
||||
/// </summary>
|
||||
/// <param name="drawer"></param>
|
||||
public Dot(Drawer drawer) {
|
||||
this.drawer = drawer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a dot where the pen currently is.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.DrawDot();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the command
|
||||
/// </summary>
|
||||
/// <returns>The description of the command</returns>
|
||||
public string GetDescription() {
|
||||
return "Places a dot where the pen currently is";
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
-36
@@ -1,37 +1,37 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// DrawTo IVerb class
|
||||
/// </summary>
|
||||
public class DrawTo : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue moveToPoint;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the DrawTo intstance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point">Position to move to</param>
|
||||
public DrawTo(Drawer drawer, PointValue point) {
|
||||
this.drawer = drawer;
|
||||
moveToPoint = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the line
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.DrawLine(moveToPoint.GetPoint());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the line is going to be drawn
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a line";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// DrawTo IVerb class
|
||||
/// </summary>
|
||||
public class DrawTo : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue moveToPoint;
|
||||
|
||||
/// <summary>
|
||||
/// Creates the DrawTo intstance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point">Position to move to</param>
|
||||
public DrawTo(Drawer drawer, PointValue point) {
|
||||
this.drawer = drawer;
|
||||
moveToPoint = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the line
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.DrawLine(moveToPoint.GetPoint());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the line is going to be drawn
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a line";
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
-36
@@ -1,37 +1,37 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// MoveTo IVerb class
|
||||
/// </summary>
|
||||
public class MoveTo : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue moveToPoint;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a MoveTo instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point">Position to move to</param>
|
||||
public MoveTo(Drawer drawer, PointValue point) {
|
||||
this.drawer = drawer;
|
||||
moveToPoint = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Moves the pen to the position
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.MovePen(moveToPoint.GetPoint());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes where the pen will move.
|
||||
/// </summary>
|
||||
/// <returns>Description where the pen will move to</returns>
|
||||
public string GetDescription() {
|
||||
return "Move origin";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// MoveTo IVerb class
|
||||
/// </summary>
|
||||
public class MoveTo : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly PointValue moveToPoint;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a MoveTo instance
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point">Position to move to</param>
|
||||
public MoveTo(Drawer drawer, PointValue point) {
|
||||
this.drawer = drawer;
|
||||
moveToPoint = point;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Moves the pen to the position
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
drawer.MovePen(moveToPoint.GetPoint());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes where the pen will move.
|
||||
/// </summary>
|
||||
/// <returns>Description where the pen will move to</returns>
|
||||
public string GetDescription() {
|
||||
return "Move origin";
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
-33
@@ -1,34 +1,34 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Quadrilateral IVerb class
|
||||
/// </summary>
|
||||
public class Quadrilateral : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a Quadrilateral instances
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point1">first point</param>
|
||||
/// <param name="point2">second point</param>
|
||||
/// <param name="point3">third point</param>
|
||||
/// <param name="point4">fourth point</param>
|
||||
public Quadrilateral(Drawer drawer, PointValue point1, PointValue point2, PointValue point3, PointValue point4) {
|
||||
IVerb = new DrawLines(drawer, new PointValue[] { point1, point2, point3, point4 });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a quadrilateral from the points
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Describes all of the points
|
||||
/// </summary>
|
||||
/// <returns>Description of the quadrilateral points</returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Quadrilateral IVerb class
|
||||
/// </summary>
|
||||
public class Quadrilateral : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a Quadrilateral instances
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point1">first point</param>
|
||||
/// <param name="point2">second point</param>
|
||||
/// <param name="point3">third point</param>
|
||||
/// <param name="point4">fourth point</param>
|
||||
public Quadrilateral(Drawer drawer, PointValue point1, PointValue point2, PointValue point3, PointValue point4) {
|
||||
IVerb = new DrawLines(drawer, new PointValue[] { point1, point2, point3, point4 });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws a quadrilateral from the points
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Describes all of the points
|
||||
/// </summary>
|
||||
/// <returns>Description of the quadrilateral points</returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
}
|
||||
+53
-53
@@ -1,54 +1,54 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Rectangle IVerb class
|
||||
/// </summary>
|
||||
/// <todo>
|
||||
/// Correct
|
||||
/// </todo>
|
||||
public class Rectangle : IVerb {
|
||||
private readonly PointValue[] points;
|
||||
|
||||
private readonly IVerb verb;
|
||||
|
||||
/// <summary>
|
||||
/// Create a rectangle instance. Makes sure that
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="width">rectangle width</param>
|
||||
/// <param name="height">rectangle height</param>
|
||||
public Rectangle(Drawer drawer, IValue width, IValue height) {
|
||||
IValue negativeWidth = new ExpressionValue(new IntValue(0), width, ExpressionValue.SUBTRACT);
|
||||
IValue negativeHeight = new ExpressionValue(new IntValue(0), height, ExpressionValue.SUBTRACT);
|
||||
|
||||
points = new PointValue[]
|
||||
{
|
||||
new PointValue(negativeWidth, negativeHeight),
|
||||
new PointValue(width, negativeHeight),
|
||||
new PointValue(width, height),
|
||||
new PointValue(negativeWidth, height)
|
||||
};
|
||||
|
||||
verb = new DrawLines(drawer, points);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description from the rectangle
|
||||
/// </summary>
|
||||
/// <returns>Describes the rectangle</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a rectangle with the pen in the center";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the rectangle
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
verb.ExecuteVerb();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// Rectangle IVerb class
|
||||
/// </summary>
|
||||
/// <todo>
|
||||
/// Correct
|
||||
/// </todo>
|
||||
public class Rectangle : IVerb {
|
||||
private readonly PointValue[] points;
|
||||
|
||||
private readonly IVerb verb;
|
||||
|
||||
/// <summary>
|
||||
/// Create a rectangle instance. Makes sure that
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="width">rectangle width</param>
|
||||
/// <param name="height">rectangle height</param>
|
||||
public Rectangle(Drawer drawer, IValue width, IValue height) {
|
||||
IValue negativeWidth = new ExpressionValue(new IntValue(0), width, ExpressionValue.SUBTRACT);
|
||||
IValue negativeHeight = new ExpressionValue(new IntValue(0), height, ExpressionValue.SUBTRACT);
|
||||
|
||||
points = new PointValue[]
|
||||
{
|
||||
new PointValue(negativeWidth, negativeHeight),
|
||||
new PointValue(width, negativeHeight),
|
||||
new PointValue(width, height),
|
||||
new PointValue(negativeWidth, height)
|
||||
};
|
||||
|
||||
verb = new DrawLines(drawer, points);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description from the rectangle
|
||||
/// </summary>
|
||||
/// <returns>Describes the rectangle</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a rectangle with the pen in the center";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the rectangle
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
verb.ExecuteVerb();
|
||||
}
|
||||
}
|
||||
}
|
||||
+67
-67
@@ -1,68 +1,68 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// A class that generates a RegularPolygon IVerb.
|
||||
/// </summary>
|
||||
public class RegularPolygon : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue sides;
|
||||
private readonly IValue scale;
|
||||
private readonly IValue offset;
|
||||
private readonly IValue degMode;
|
||||
|
||||
/// <summary>
|
||||
/// Draws a regular polygon.
|
||||
/// See <see href="https://en.wikipedia.org/wiki/Regular_polygon"/>.
|
||||
/// See also <seealso href="https://www.mathsisfun.com/geometry/regular-polygons.html"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="sides">Number of sides in the regular polygon</param>
|
||||
/// <param name="scale">The scale of the regular polygon</param>
|
||||
/// <param name="offset">Rotation offset of the regular polygon</param>
|
||||
/// <param name="degMode">Default is true. If true, offset is in degrees. If false, offset is in gradians.</param>
|
||||
public RegularPolygon(Drawer drawer, IValue sides, IValue scale, IValue offset, IValue degMode) {
|
||||
this.sides = sides;
|
||||
this.scale = scale;
|
||||
this.drawer = drawer;
|
||||
this.offset = offset;
|
||||
this.degMode = degMode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the regular polygons
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
double offset = this.offset.ToDouble();
|
||||
//if in degMode, convert the offset to radian
|
||||
if (degMode.ToBool()) offset = Math.PI * offset / 180;
|
||||
|
||||
//Scale needs to be corercted to work correctly with Rectangle
|
||||
double scale = this.scale.ToInt() * 2 / Math.Sqrt(2);
|
||||
List<PointValue> points = new List<PointValue>();
|
||||
double constantAngleDelta = 2 * Math.PI / sides.ToInt();
|
||||
for (int side = 0; side < sides.ToInt(); side++) {
|
||||
double angle = (constantAngleDelta * side) + offset;
|
||||
|
||||
double dx = scale * Math.Sin(angle);
|
||||
double dy = scale * Math.Cos(angle);
|
||||
|
||||
points.Add(new PointValue(new IntValue((int)Math.Round(dx)), new IntValue((int)Math.Round(dy))));
|
||||
}
|
||||
new DrawLines(drawer, points.ToArray()).ExecuteVerb();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the regular polygon will be drawn
|
||||
/// </summary>
|
||||
/// <returns>A description of how the polygon will be drawn</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a regular polygon.";
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// A class that generates a RegularPolygon IVerb.
|
||||
/// </summary>
|
||||
public class RegularPolygon : IVerb {
|
||||
private readonly Drawer drawer;
|
||||
private readonly IValue sides;
|
||||
private readonly IValue scale;
|
||||
private readonly IValue offset;
|
||||
private readonly IValue degMode;
|
||||
|
||||
/// <summary>
|
||||
/// Draws a regular polygon.
|
||||
/// See <see href="https://en.wikipedia.org/wiki/Regular_polygon"/>.
|
||||
/// See also <seealso href="https://www.mathsisfun.com/geometry/regular-polygons.html"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="sides">Number of sides in the regular polygon</param>
|
||||
/// <param name="scale">The scale of the regular polygon</param>
|
||||
/// <param name="offset">Rotation offset of the regular polygon</param>
|
||||
/// <param name="degMode">Default is true. If true, offset is in degrees. If false, offset is in gradians.</param>
|
||||
public RegularPolygon(Drawer drawer, IValue sides, IValue scale, IValue offset, IValue degMode) {
|
||||
this.sides = sides;
|
||||
this.scale = scale;
|
||||
this.drawer = drawer;
|
||||
this.offset = offset;
|
||||
this.degMode = degMode;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the regular polygons
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
double offset = this.offset.ToDouble();
|
||||
//if in degMode, convert the offset to radian
|
||||
if (degMode.ToBool()) offset = Math.PI * offset / 180;
|
||||
|
||||
//Scale needs to be corercted to work correctly with Rectangle
|
||||
double scale = this.scale.ToInt() * 2 / Math.Sqrt(2);
|
||||
List<PointValue> points = new List<PointValue>();
|
||||
double constantAngleDelta = 2 * Math.PI / sides.ToInt();
|
||||
for (int side = 0; side < sides.ToInt(); side++) {
|
||||
double angle = (constantAngleDelta * side) + offset;
|
||||
|
||||
double dx = scale * Math.Sin(angle);
|
||||
double dy = scale * Math.Cos(angle);
|
||||
|
||||
points.Add(new PointValue(new IntValue((int)Math.Round(dx)), new IntValue((int)Math.Round(dy))));
|
||||
}
|
||||
new DrawLines(drawer, points.ToArray()).ExecuteVerb();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the regular polygon will be drawn
|
||||
/// </summary>
|
||||
/// <returns>A description of how the polygon will be drawn</returns>
|
||||
public string GetDescription() {
|
||||
return "Draws a regular polygon.";
|
||||
}
|
||||
}
|
||||
}
|
||||
+41
-41
@@ -1,42 +1,42 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Square IVerb class
|
||||
/// </summary>
|
||||
public class Square : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// A new Squre instance. Draws squares using <see cref="RegularPolygon"/>
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">size of the square</param>
|
||||
public Square(Drawer drawer, IValue scale) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(4), scale, new IntValue(0), new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A new Squre instance. Draws squares using <see cref="RegularPolygon"/>
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">size of the square</param>
|
||||
/// <param name="offset">rotation offset in degrees</param>
|
||||
public Square(Drawer drawer, IValue scale, IValue offset) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(4), scale, offset, new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the regular polygon (square)
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Gets description of how it will draw the regular polygon (square)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Square IVerb class
|
||||
/// </summary>
|
||||
public class Square : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// A new Squre instance. Draws squares using <see cref="RegularPolygon"/>
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">size of the square</param>
|
||||
public Square(Drawer drawer, IValue scale) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(4), scale, new IntValue(0), new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A new Squre instance. Draws squares using <see cref="RegularPolygon"/>
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">size of the square</param>
|
||||
/// <param name="offset">rotation offset in degrees</param>
|
||||
public Square(Drawer drawer, IValue scale, IValue offset) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(4), scale, offset, new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Draws the regular polygon (square)
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Gets description of how it will draw the regular polygon (square)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
}
|
||||
+53
-53
@@ -1,54 +1,54 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Triangle IVerb class
|
||||
/// </summary>
|
||||
public class Triangle : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">the scale of the triangle</param>
|
||||
public Triangle(Drawer drawer, IValue scale) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(3), scale, new IntValue(0), new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">the scale of the triangle</param>
|
||||
/// <param name="offset">the offset of the triangle in degrees</param>
|
||||
public Triangle(Drawer drawer, IValue scale, IValue offset) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(3), scale, offset, new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="DrawLines"/>. It draws lines to the points provided
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point1">first point</param>
|
||||
/// <param name="point2">second point</param>
|
||||
/// <param name="point3">third point</param>
|
||||
public Triangle(Drawer drawer, PointValue point1, PointValue point2, PointValue point3) {
|
||||
IVerb = new DrawLines(drawer, new PointValue[] { point1, point2, point3 });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the created IVerb, either <see cref="RegularPolygon"/> or <see cref="DrawLines"/>.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the triangle will be drawn
|
||||
/// </summary>
|
||||
/// <returns>Description of how the triangle will be drawn</returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.DrawingVerbs {
|
||||
|
||||
/// <summary>
|
||||
/// The Triangle IVerb class
|
||||
/// </summary>
|
||||
public class Triangle : IVerb {
|
||||
private readonly IVerb IVerb;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">the scale of the triangle</param>
|
||||
public Triangle(Drawer drawer, IValue scale) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(3), scale, new IntValue(0), new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="RegularPolygon"/>.
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="scale">the scale of the triangle</param>
|
||||
/// <param name="offset">the offset of the triangle in degrees</param>
|
||||
public Triangle(Drawer drawer, IValue scale, IValue offset) {
|
||||
IVerb = new RegularPolygon(drawer, new IntValue(3), scale, offset, new BoolValue(true));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Triangle instance using <see cref="DrawLines"/>. It draws lines to the points provided
|
||||
/// </summary>
|
||||
/// <param name="drawer">drawer</param>
|
||||
/// <param name="point1">first point</param>
|
||||
/// <param name="point2">second point</param>
|
||||
/// <param name="point3">third point</param>
|
||||
public Triangle(Drawer drawer, PointValue point1, PointValue point2, PointValue point3) {
|
||||
IVerb = new DrawLines(drawer, new PointValue[] { point1, point2, point3 });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the created IVerb, either <see cref="RegularPolygon"/> or <see cref="DrawLines"/>.
|
||||
/// </summary>
|
||||
public void ExecuteVerb() => IVerb.ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Describes how the triangle will be drawn
|
||||
/// </summary>
|
||||
/// <returns>Description of how the triangle will be drawn</returns>
|
||||
public string GetDescription() => IVerb.GetDescription();
|
||||
}
|
||||
}
|
||||
+42
-42
@@ -1,43 +1,43 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// Declares a method. See <see cref="DrawingVerbs.Actions.NoOp"/> because these classes behave similarly
|
||||
/// </summary>
|
||||
public class DeclareMethod : IVerb, IVerbChunk {
|
||||
private readonly string methodName;
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new DeclareMethod object
|
||||
/// </summary>
|
||||
/// <param name="drawer">The drawer is used for getting the method specifically</param>
|
||||
/// <param name="methodName">The name of the method</param>
|
||||
public DeclareMethod(Drawer drawer, string methodName) {
|
||||
this.drawer = drawer;
|
||||
this.methodName = methodName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list. More specifically, the verb list of the MethodChunk.
|
||||
/// See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
/// <param name="verb">The verb to add</param>
|
||||
public void AddVerb(IVerb verb) {
|
||||
MethodChunk methodChunk = drawer.Methods[methodName];
|
||||
methodChunk.AddVerb(verb);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method quite literally does nothing upon execution because the declaration of method happens at parse time
|
||||
/// </summary>
|
||||
public void ExecuteVerb() { }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of what the chunk will do
|
||||
/// </summary>
|
||||
/// <returns>A description of the chunk's actions</returns>
|
||||
public string GetDescription() {
|
||||
return "Declares a method";
|
||||
}
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// Declares a method. See <see cref="DrawingVerbs.Actions.NoOp"/> because these classes behave similarly
|
||||
/// </summary>
|
||||
public class DeclareMethod : IVerb, IVerbChunk {
|
||||
private readonly string methodName;
|
||||
private readonly Drawer drawer;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new DeclareMethod object
|
||||
/// </summary>
|
||||
/// <param name="drawer">The drawer is used for getting the method specifically</param>
|
||||
/// <param name="methodName">The name of the method</param>
|
||||
public DeclareMethod(Drawer drawer, string methodName) {
|
||||
this.drawer = drawer;
|
||||
this.methodName = methodName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list. More specifically, the verb list of the MethodChunk.
|
||||
/// See <see cref="MethodChunk"/>
|
||||
/// </summary>
|
||||
/// <param name="verb">The verb to add</param>
|
||||
public void AddVerb(IVerb verb) {
|
||||
MethodChunk methodChunk = drawer.Methods[methodName];
|
||||
methodChunk.AddVerb(verb);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method quite literally does nothing upon execution because the declaration of method happens at parse time
|
||||
/// </summary>
|
||||
public void ExecuteVerb() { }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of what the chunk will do
|
||||
/// </summary>
|
||||
/// <returns>A description of the chunk's actions</returns>
|
||||
public string GetDescription() {
|
||||
return "Declares a method";
|
||||
}
|
||||
}
|
||||
}
|
||||
+46
-46
@@ -1,47 +1,47 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A ForChunk is similar to a <see cref="WhileChunk"/>. It executes a specific number of times.
|
||||
/// </summary>
|
||||
public class ForChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.IntValue"/>, the number of times the loop should execute.</param>
|
||||
public ForChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.IntValue"/>, the number of times the loop should execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line</param>
|
||||
public ForChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the chunk the number of specified times
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
int iterations = conditional.ToInt();
|
||||
|
||||
valueStorage.IncreaseStack();
|
||||
for (; iterations > 0; iterations--) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A ForChunk is similar to a <see cref="WhileChunk"/>. It executes a specific number of times.
|
||||
/// </summary>
|
||||
public class ForChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.IntValue"/>, the number of times the loop should execute.</param>
|
||||
public ForChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.IntValue"/>, the number of times the loop should execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line</param>
|
||||
public ForChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the chunk the number of specified times
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
int iterations = conditional.ToInt();
|
||||
|
||||
valueStorage.IncreaseStack();
|
||||
for (; iterations > 0; iterations--) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
-24
@@ -1,25 +1,25 @@
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A Collection of chunks to be executed. They extend IVerb because they should be interchangable.
|
||||
/// </summary>
|
||||
public interface IVerbChunk : IVerb {
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list
|
||||
/// </summary>
|
||||
/// <param name="verb">The verb to add</param>
|
||||
void AddVerb(IVerb verb);
|
||||
|
||||
/// <summary>
|
||||
/// Execute the whole chunk
|
||||
/// </summary>
|
||||
new void ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of what the chunk will do
|
||||
/// </summary>
|
||||
/// <returns>A description of the chunk's actions</returns>
|
||||
new string GetDescription();
|
||||
}
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A Collection of chunks to be executed. They extend IVerb because they should be interchangable.
|
||||
/// </summary>
|
||||
public interface IVerbChunk : IVerb {
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list
|
||||
/// </summary>
|
||||
/// <param name="verb">The verb to add</param>
|
||||
void AddVerb(IVerb verb);
|
||||
|
||||
/// <summary>
|
||||
/// Execute the whole chunk
|
||||
/// </summary>
|
||||
new void ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of what the chunk will do
|
||||
/// </summary>
|
||||
/// <returns>A description of the chunk's actions</returns>
|
||||
new string GetDescription();
|
||||
}
|
||||
}
|
||||
@@ -1,45 +1,45 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A simple If Object
|
||||
/// </summary>
|
||||
public class IfChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, if the chunk should execute.</param>
|
||||
public IfChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, if the chunk should execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line</param>
|
||||
public IfChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the chunk if the conditional is true
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
valueStorage.IncreaseStack();
|
||||
if (conditional.ToBool()) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A simple If Object
|
||||
/// </summary>
|
||||
public class IfChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, if the chunk should execute.</param>
|
||||
public IfChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, if the chunk should execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line</param>
|
||||
public IfChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the chunk if the conditional is true
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
valueStorage.IncreaseStack();
|
||||
if (conditional.ToBool()) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
}
|
||||
+145
-145
@@ -1,146 +1,146 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// The method chunk class
|
||||
/// </summary>
|
||||
public class MethodChunk : VerbChunk, IVerb, IValue {
|
||||
private readonly ValueStorage valueStorage;
|
||||
private readonly DeclareVariable[] variables;
|
||||
private UpdateVariable[] updateVariables;
|
||||
private bool init = false;
|
||||
private IValue result;
|
||||
|
||||
/// <summary>
|
||||
/// The method chunk
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="variables">The variables to pass into the method</param>
|
||||
public MethodChunk(ValueStorage valueStorage, DeclareVariable[] variables) : base() {
|
||||
this.valueStorage = valueStorage;
|
||||
this.variables = variables;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets all of the variable names
|
||||
/// </summary>
|
||||
/// <returns>The names of all the variables</returns>
|
||||
public List<string> GetVariableNames() {
|
||||
List<string> VariableNames = new List<string>();
|
||||
foreach (DeclareVariable variable in variables) VariableNames.Add(variable.GetName());
|
||||
return VariableNames;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MUST BE CALLED. This method is really important for setting the updated values into the method's stack.
|
||||
/// </summary>
|
||||
/// <param name="updateVariables">The new values of the method</param>
|
||||
public void SetVariableValues(UpdateVariable[] updateVariables) {
|
||||
this.updateVariables = updateVariables;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method allows the method chunk to replicate itself before being ran. Essential for recursion.
|
||||
/// </summary>
|
||||
/// <returns>A method chunk with the exact same values and verbs</returns>
|
||||
public MethodChunk DuplicateForExecution() {
|
||||
MethodChunk method = new MethodChunk(valueStorage, variables);
|
||||
method.SetVariableValues(updateVariables);
|
||||
|
||||
foreach (IVerb verb in base.GetVerbs()) method.AddVerb(verb);
|
||||
|
||||
return method;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the method chunk.
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
init = false;
|
||||
result = null;
|
||||
|
||||
valueStorage.IncreaseStack();
|
||||
|
||||
//Declare everything
|
||||
foreach (DeclareVariable variable in variables) variable.ExecuteVerb();
|
||||
|
||||
//Set the values of everything
|
||||
foreach (UpdateVariable variable in updateVariables) variable.ExecuteVerb();
|
||||
|
||||
//Run code
|
||||
base.ExecuteVerb();
|
||||
if (valueStorage.CheckVariableExists("ret")) {
|
||||
result = valueStorage.GetVariable("ret");
|
||||
init = true;
|
||||
}
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a result from the method. (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>the result</returns>
|
||||
public IValue GetResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clones the result of the method (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IValue Clone() {
|
||||
return GetResult().Clone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the result of the method (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetOriginalType() {
|
||||
return GetResult().GetOriginalType();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the result is initilised (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsInitialised() {
|
||||
return init;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to boolean (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>boolean representation of the result</returns>
|
||||
public bool ToBool() {
|
||||
return GetResult().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to color (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>color representation of the result</returns>
|
||||
public Color ToColor() {
|
||||
return GetResult().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to double (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>double representation of the result</returns>
|
||||
public double ToDouble() {
|
||||
return GetResult().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to integer (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>integer representation of the result</returns>
|
||||
public int ToInt() {
|
||||
return GetResult().ToInt();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// The method chunk class
|
||||
/// </summary>
|
||||
public class MethodChunk : VerbChunk, IVerb, IValue {
|
||||
private readonly ValueStorage valueStorage;
|
||||
private readonly DeclareVariable[] variables;
|
||||
private UpdateVariable[] updateVariables;
|
||||
private bool init = false;
|
||||
private IValue result;
|
||||
|
||||
/// <summary>
|
||||
/// The method chunk
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="variables">The variables to pass into the method</param>
|
||||
public MethodChunk(ValueStorage valueStorage, DeclareVariable[] variables) : base() {
|
||||
this.valueStorage = valueStorage;
|
||||
this.variables = variables;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets all of the variable names
|
||||
/// </summary>
|
||||
/// <returns>The names of all the variables</returns>
|
||||
public List<string> GetVariableNames() {
|
||||
List<string> VariableNames = new List<string>();
|
||||
foreach (DeclareVariable variable in variables) VariableNames.Add(variable.GetName());
|
||||
return VariableNames;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// MUST BE CALLED. This method is really important for setting the updated values into the method's stack.
|
||||
/// </summary>
|
||||
/// <param name="updateVariables">The new values of the method</param>
|
||||
public void SetVariableValues(UpdateVariable[] updateVariables) {
|
||||
this.updateVariables = updateVariables;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This method allows the method chunk to replicate itself before being ran. Essential for recursion.
|
||||
/// </summary>
|
||||
/// <returns>A method chunk with the exact same values and verbs</returns>
|
||||
public MethodChunk DuplicateForExecution() {
|
||||
MethodChunk method = new MethodChunk(valueStorage, variables);
|
||||
method.SetVariableValues(updateVariables);
|
||||
|
||||
foreach (IVerb verb in base.GetVerbs()) method.AddVerb(verb);
|
||||
|
||||
return method;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the method chunk.
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
init = false;
|
||||
result = null;
|
||||
|
||||
valueStorage.IncreaseStack();
|
||||
|
||||
//Declare everything
|
||||
foreach (DeclareVariable variable in variables) variable.ExecuteVerb();
|
||||
|
||||
//Set the values of everything
|
||||
foreach (UpdateVariable variable in updateVariables) variable.ExecuteVerb();
|
||||
|
||||
//Run code
|
||||
base.ExecuteVerb();
|
||||
if (valueStorage.CheckVariableExists("ret")) {
|
||||
result = valueStorage.GetVariable("ret");
|
||||
init = true;
|
||||
}
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a result from the method. (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>the result</returns>
|
||||
public IValue GetResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clones the result of the method (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IValue Clone() {
|
||||
return GetResult().Clone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the result of the method (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetOriginalType() {
|
||||
return GetResult().GetOriginalType();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the result is initilised (Experimental)
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsInitialised() {
|
||||
return init;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to boolean (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>boolean representation of the result</returns>
|
||||
public bool ToBool() {
|
||||
return GetResult().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to color (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>color representation of the result</returns>
|
||||
public Color ToColor() {
|
||||
return GetResult().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to double (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>double representation of the result</returns>
|
||||
public double ToDouble() {
|
||||
return GetResult().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the result to integer (Experimental)
|
||||
/// </summary>
|
||||
/// <returns>integer representation of the result</returns>
|
||||
public int ToInt() {
|
||||
return GetResult().ToInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
+58
-58
@@ -1,59 +1,59 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A simple VerbChunk. Used for storing and executing a bunch of verbs
|
||||
/// </summary>
|
||||
public class VerbChunk : IVerbChunk, IVerb {
|
||||
private readonly List<IVerb> verbs;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new VerbChunk with verbs in it.
|
||||
/// </summary>
|
||||
/// <param name="verbs">Verbs to be added to the verb chunk</param>
|
||||
public VerbChunk(List<IVerb> verbs) {
|
||||
this.verbs = verbs;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create an empty VerbChunk
|
||||
/// </summary>
|
||||
public VerbChunk() {
|
||||
verbs = new List<IVerb> { };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list
|
||||
/// </summary>
|
||||
/// <param name="verb"></param>
|
||||
public void AddVerb(IVerb verb) {
|
||||
verbs.Add(verb);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes all of the verbs in order
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
foreach (IVerb verb in verbs) verb.ExecuteVerb();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns all of the verbs stored
|
||||
/// </summary>
|
||||
/// <returns>the verbs stored</returns>
|
||||
public IVerb[] GetVerbs() {
|
||||
return verbs.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a description of every verb
|
||||
/// </summary>
|
||||
/// <returns>The descriptions of every verb</returns>
|
||||
public string GetDescription() {
|
||||
string s = "VerbChunk Start";
|
||||
foreach (IVerb verb in verbs) s += "\n" + verb.GetDescription();
|
||||
return s + "\n" + "VerbChunk End";
|
||||
}
|
||||
}
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A simple VerbChunk. Used for storing and executing a bunch of verbs
|
||||
/// </summary>
|
||||
public class VerbChunk : IVerbChunk, IVerb {
|
||||
private readonly List<IVerb> verbs;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new VerbChunk with verbs in it.
|
||||
/// </summary>
|
||||
/// <param name="verbs">Verbs to be added to the verb chunk</param>
|
||||
public VerbChunk(List<IVerb> verbs) {
|
||||
this.verbs = verbs;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create an empty VerbChunk
|
||||
/// </summary>
|
||||
public VerbChunk() {
|
||||
verbs = new List<IVerb> { };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a verb to the verb list
|
||||
/// </summary>
|
||||
/// <param name="verb"></param>
|
||||
public void AddVerb(IVerb verb) {
|
||||
verbs.Add(verb);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes all of the verbs in order
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
foreach (IVerb verb in verbs) verb.ExecuteVerb();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns all of the verbs stored
|
||||
/// </summary>
|
||||
/// <returns>the verbs stored</returns>
|
||||
public IVerb[] GetVerbs() {
|
||||
return verbs.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets a description of every verb
|
||||
/// </summary>
|
||||
/// <returns>The descriptions of every verb</returns>
|
||||
public string GetDescription() {
|
||||
string s = "VerbChunk Start";
|
||||
foreach (IVerb verb in verbs) s += "\n" + verb.GetDescription();
|
||||
return s + "\n" + "VerbChunk End";
|
||||
}
|
||||
}
|
||||
}
|
||||
+44
-44
@@ -1,45 +1,45 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A Chunk that loops over its code
|
||||
/// </summary>
|
||||
public class WhileChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, weather the loop should continue to execute.</param>
|
||||
public WhileChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, weather the loop should continue to execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line. (Probably a bad idea)</param>
|
||||
public WhileChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes every verb in the chunk
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
valueStorage.IncreaseStack();
|
||||
while (conditional.ToBool()) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Flow {
|
||||
|
||||
/// <summary>
|
||||
/// A Chunk that loops over its code
|
||||
/// </summary>
|
||||
public class WhileChunk : VerbChunk, IVerbChunk, IVerb {
|
||||
private readonly IValue conditional;
|
||||
private readonly ValueStorage valueStorage;
|
||||
|
||||
/// <summary>
|
||||
/// A For Loop object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, weather the loop should continue to execute.</param>
|
||||
public WhileChunk(ValueStorage valueStorage, IValue conditional) : base() {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new if object
|
||||
/// </summary>
|
||||
/// <param name="valueStorage">The ValueStorage for increasing and decreasing the stack</param>
|
||||
/// <param name="conditional">Preferably <see cref="Value.ValueTypes.BoolValue"/>, weather the loop should continue to execute.</param>
|
||||
/// <param name="oneLineVerb">A verb to execute in a single line. (Probably a bad idea)</param>
|
||||
public WhileChunk(ValueStorage valueStorage, IValue conditional, IVerb oneLineVerb) : base(new List<IVerb> { oneLineVerb }) {
|
||||
this.conditional = conditional;
|
||||
this.valueStorage = valueStorage;
|
||||
valueStorage.IncreaseStack();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes every verb in the chunk
|
||||
/// </summary>
|
||||
public new void ExecuteVerb() {
|
||||
valueStorage.IncreaseStack();
|
||||
while (conditional.ToBool()) base.ExecuteVerb();
|
||||
valueStorage.DecreaseStack();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,19 @@
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines, some verbs will assign
|
||||
/// </summary>
|
||||
public interface IVerb {
|
||||
|
||||
/// <summary>
|
||||
/// This executes the IVerb to the drawer inside it.
|
||||
/// </summary>
|
||||
void ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// The description of what the IVerb will do.
|
||||
/// </summary>
|
||||
/// <returns>A string description of what the IVerb will do</returns>
|
||||
string GetDescription();
|
||||
}
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines, some verbs will assign
|
||||
/// </summary>
|
||||
public interface IVerb {
|
||||
|
||||
/// <summary>
|
||||
/// This executes the IVerb to the drawer inside it.
|
||||
/// </summary>
|
||||
void ExecuteVerb();
|
||||
|
||||
/// <summary>
|
||||
/// The description of what the IVerb will do.
|
||||
/// </summary>
|
||||
/// <returns>A string description of what the IVerb will do</returns>
|
||||
string GetDescription();
|
||||
}
|
||||
}
|
||||
+142
-142
@@ -1,143 +1,143 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Declares a variable
|
||||
/// </summary>
|
||||
public class DeclareVariable : IVerb {
|
||||
private readonly ValueStorage storage;
|
||||
private readonly IValue value;
|
||||
private readonly string name;
|
||||
|
||||
//Common characters that people might try
|
||||
private static readonly char[] illegalCharacters = "1234567890!?/+- \"'@#~;:><,.`¬|[]{}\\£$%^&*()".ToCharArray();
|
||||
|
||||
private static readonly string[] illegalNames =
|
||||
{ "var",
|
||||
"move", "moveto",
|
||||
"drawto", "line", "lineto",
|
||||
"regularpolygon", "rp",
|
||||
"square",
|
||||
"quadrilateral",
|
||||
"rectangle",
|
||||
"circle",
|
||||
"triangle",
|
||||
"dot",
|
||||
"clear",
|
||||
"reset", "resetpen",
|
||||
"fillon", "filloff",
|
||||
"pen",
|
||||
"fill",
|
||||
"if", "def", "ret"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the name provided is valid
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <returns>True if the name is valid, otherwise false</returns>
|
||||
private bool CheckName(string name) {
|
||||
foreach (char character in illegalCharacters) {
|
||||
if (name.Contains(character.ToString())) return false;
|
||||
}
|
||||
|
||||
foreach (string illegalName in illegalNames) {
|
||||
if (illegalName == name) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Declare variable
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage to use</param>
|
||||
/// <param name="assignment">The assignment</param>
|
||||
public DeclareVariable(ValueStorage storage, string assignment) {
|
||||
this.storage = storage;
|
||||
|
||||
//seperate assignment characters from everything else
|
||||
foreach (string op in new string[] { "=", "+", "-", "*", "/" }) {
|
||||
assignment = assignment.Replace(op, " " + op + " ");
|
||||
}
|
||||
|
||||
// Get variable name
|
||||
// assignment looks something like this at this point:
|
||||
// i = 20
|
||||
// or
|
||||
// i = 2 = 5
|
||||
// so after splitting it should look like
|
||||
// ["i", "=", "20"]
|
||||
assignment = HelperFunctions.Strip(assignment);
|
||||
|
||||
//seperate on spaces
|
||||
string[] assignmentStrings = HelperFunctions.StripStringArray(assignment.Split(" "[0])).ToArray();
|
||||
|
||||
//check if is actually assignment
|
||||
if (assignmentStrings.Length > 1 && !(assignmentStrings[1] == "=")) throw new Exception("No assignment in " + assignment);
|
||||
|
||||
name = assignmentStrings[0];
|
||||
if (storage.CheckVariableExists(name)) throw new Exception("Declaration failed. " + name + " has been declared before");
|
||||
if (!CheckName(name)) throw new Exception("'" + name + "' name not allowed");
|
||||
|
||||
//preassign name
|
||||
storage.SetVariable(name, null);
|
||||
|
||||
//for single number assignments ["i", "=", "20"]
|
||||
if (assignmentStrings.Length == 3) value = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
|
||||
//for expressions ["i", "=", "20", "+", "30"]
|
||||
//or some comparisons ["i", "=", "20", ">", "30"]
|
||||
else if (assignmentStrings.Length == 5) {
|
||||
string op = assignmentStrings[3];
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[4]);
|
||||
|
||||
switch (op) {
|
||||
case "+":
|
||||
case "-":
|
||||
case "/":
|
||||
case "*":
|
||||
value = new ExpressionValue(value1, value2, op);
|
||||
break;
|
||||
|
||||
case ">":
|
||||
case "<":
|
||||
case "=":
|
||||
case "!":
|
||||
value = new ComparisonValue(value1, value2, op);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operation");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the variable to null
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (value != null) storage.SetVariable(name, value.Clone());
|
||||
else storage.SetVariable(name, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the verb
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Declares the variable " + name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the variable to assign
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Declares a variable
|
||||
/// </summary>
|
||||
public class DeclareVariable : IVerb {
|
||||
private readonly ValueStorage storage;
|
||||
private readonly IValue value;
|
||||
private readonly string name;
|
||||
|
||||
//Common characters that people might try
|
||||
private static readonly char[] illegalCharacters = "1234567890!?/+- \"'@#~;:><,.`¬|[]{}\\£$%^&*()".ToCharArray();
|
||||
|
||||
private static readonly string[] illegalNames =
|
||||
{ "var",
|
||||
"move", "moveto",
|
||||
"drawto", "line", "lineto",
|
||||
"regularpolygon", "rp",
|
||||
"square",
|
||||
"quadrilateral",
|
||||
"rectangle",
|
||||
"circle",
|
||||
"triangle",
|
||||
"dot",
|
||||
"clear",
|
||||
"reset", "resetpen",
|
||||
"fillon", "filloff",
|
||||
"pen",
|
||||
"fill",
|
||||
"if", "def", "ret"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the name provided is valid
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <returns>True if the name is valid, otherwise false</returns>
|
||||
private bool CheckName(string name) {
|
||||
foreach (char character in illegalCharacters) {
|
||||
if (name.Contains(character.ToString())) return false;
|
||||
}
|
||||
|
||||
foreach (string illegalName in illegalNames) {
|
||||
if (illegalName == name) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Declare variable
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage to use</param>
|
||||
/// <param name="assignment">The assignment</param>
|
||||
public DeclareVariable(ValueStorage storage, string assignment) {
|
||||
this.storage = storage;
|
||||
|
||||
//seperate assignment characters from everything else
|
||||
foreach (string op in new string[] { "=", "+", "-", "*", "/" }) {
|
||||
assignment = assignment.Replace(op, " " + op + " ");
|
||||
}
|
||||
|
||||
// Get variable name
|
||||
// assignment looks something like this at this point:
|
||||
// i = 20
|
||||
// or
|
||||
// i = 2 = 5
|
||||
// so after splitting it should look like
|
||||
// ["i", "=", "20"]
|
||||
assignment = HelperFunctions.Strip(assignment);
|
||||
|
||||
//seperate on spaces
|
||||
string[] assignmentStrings = HelperFunctions.StripStringArray(assignment.Split(" "[0])).ToArray();
|
||||
|
||||
//check if is actually assignment
|
||||
if (assignmentStrings.Length > 1 && !(assignmentStrings[1] == "=")) throw new Exception("No assignment in " + assignment);
|
||||
|
||||
name = assignmentStrings[0];
|
||||
if (storage.CheckVariableExists(name)) throw new Exception("Declaration failed. " + name + " has been declared before");
|
||||
if (!CheckName(name)) throw new Exception("'" + name + "' name not allowed");
|
||||
|
||||
//preassign name
|
||||
storage.SetVariable(name, null);
|
||||
|
||||
//for single number assignments ["i", "=", "20"]
|
||||
if (assignmentStrings.Length == 3) value = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
|
||||
//for expressions ["i", "=", "20", "+", "30"]
|
||||
//or some comparisons ["i", "=", "20", ">", "30"]
|
||||
else if (assignmentStrings.Length == 5) {
|
||||
string op = assignmentStrings[3];
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[4]);
|
||||
|
||||
switch (op) {
|
||||
case "+":
|
||||
case "-":
|
||||
case "/":
|
||||
case "*":
|
||||
value = new ExpressionValue(value1, value2, op);
|
||||
break;
|
||||
|
||||
case ">":
|
||||
case "<":
|
||||
case "=":
|
||||
case "!":
|
||||
value = new ComparisonValue(value1, value2, op);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operation");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the variable to null
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (value != null) storage.SetVariable(name, value.Clone());
|
||||
else storage.SetVariable(name, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the verb
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetDescription() {
|
||||
return "Declares the variable " + name;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the variable to assign
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string GetName() {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,58 +1,58 @@
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// A value
|
||||
/// </summary>
|
||||
public interface IValue {
|
||||
|
||||
/// <summary>
|
||||
/// The description of the value
|
||||
/// </summary>
|
||||
/// <returns>The description of the IValue</returns>
|
||||
string GetDescription();
|
||||
|
||||
/// <summary>
|
||||
/// Converts the value to an integer
|
||||
/// </summary>
|
||||
/// <returns>the integer representation if the IValue</returns>
|
||||
int ToInt();
|
||||
|
||||
/// <summary>
|
||||
/// Get the double representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the double representation if the IValue</returns>
|
||||
double ToDouble();
|
||||
|
||||
/// <summary>
|
||||
/// Get the boolean representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the boolean representation if the IValue</returns>
|
||||
bool ToBool();
|
||||
|
||||
/// <summary>
|
||||
/// Get the color representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the color representation if the IValue</returns>
|
||||
Color ToColor();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the IValue
|
||||
/// </summary>
|
||||
/// <returns>original type of the IValue</returns>
|
||||
string GetOriginalType();
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the IValue is initialised
|
||||
/// </summary>
|
||||
/// <returns>True if IValue is initialised</returns>
|
||||
bool IsInitialised();
|
||||
|
||||
/// <summary>
|
||||
/// Clones the IValue
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
IValue Clone();
|
||||
}
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// A value
|
||||
/// </summary>
|
||||
public interface IValue {
|
||||
|
||||
/// <summary>
|
||||
/// The description of the value
|
||||
/// </summary>
|
||||
/// <returns>The description of the IValue</returns>
|
||||
string GetDescription();
|
||||
|
||||
/// <summary>
|
||||
/// Converts the value to an integer
|
||||
/// </summary>
|
||||
/// <returns>the integer representation if the IValue</returns>
|
||||
int ToInt();
|
||||
|
||||
/// <summary>
|
||||
/// Get the double representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the double representation if the IValue</returns>
|
||||
double ToDouble();
|
||||
|
||||
/// <summary>
|
||||
/// Get the boolean representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the boolean representation if the IValue</returns>
|
||||
bool ToBool();
|
||||
|
||||
/// <summary>
|
||||
/// Get the color representation if the IValue
|
||||
/// </summary>
|
||||
/// <returns>the color representation if the IValue</returns>
|
||||
Color ToColor();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the IValue
|
||||
/// </summary>
|
||||
/// <returns>original type of the IValue</returns>
|
||||
string GetOriginalType();
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the IValue is initialised
|
||||
/// </summary>
|
||||
/// <returns>True if IValue is initialised</returns>
|
||||
bool IsInitialised();
|
||||
|
||||
/// <summary>
|
||||
/// Clones the IValue
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
IValue Clone();
|
||||
}
|
||||
}
|
||||
+62
-62
@@ -1,63 +1,63 @@
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Used for updating the variables
|
||||
/// </summary>
|
||||
public class UpdateVariable : IVerb {
|
||||
private ValueStorage storage;
|
||||
private string name;
|
||||
private IValue value;
|
||||
|
||||
/// <summary>
|
||||
/// Initilise the object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The value of the variable</param>
|
||||
private void Init(ValueStorage storage, string name, IValue value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.storage = storage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new UpdateVariable object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The value of the variable</param>
|
||||
public UpdateVariable(ValueStorage storage, string name, IValue value) {
|
||||
Init(storage, name, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new UpdateVariable object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The expression of the value</param>
|
||||
public UpdateVariable(ValueStorage storage, string name, string value) {
|
||||
// incoming values look something like this "= 10"
|
||||
// or "= 10 + i"
|
||||
Init(storage, name, ValueHelper.ConvertToIValue(value, storage));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the verb and updates the variable
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (!storage.CheckVariableExists(name)) throw new Exception("Cannot update variable because it is not declared");
|
||||
storage.SetVariable(name, value.Clone());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the update
|
||||
/// </summary>
|
||||
/// <returns>A string representation of the description of the update</returns>
|
||||
public string GetDescription() {
|
||||
return "Updates " + name + " to " + value;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Used for updating the variables
|
||||
/// </summary>
|
||||
public class UpdateVariable : IVerb {
|
||||
private ValueStorage storage;
|
||||
private string name;
|
||||
private IValue value;
|
||||
|
||||
/// <summary>
|
||||
/// Initilise the object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The value of the variable</param>
|
||||
private void Init(ValueStorage storage, string name, IValue value) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.storage = storage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new UpdateVariable object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The value of the variable</param>
|
||||
public UpdateVariable(ValueStorage storage, string name, IValue value) {
|
||||
Init(storage, name, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new UpdateVariable object
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage object</param>
|
||||
/// <param name="name">The name of the variable</param>
|
||||
/// <param name="value">The expression of the value</param>
|
||||
public UpdateVariable(ValueStorage storage, string name, string value) {
|
||||
// incoming values look something like this "= 10"
|
||||
// or "= 10 + i"
|
||||
Init(storage, name, ValueHelper.ConvertToIValue(value, storage));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes the verb and updates the variable
|
||||
/// </summary>
|
||||
public void ExecuteVerb() {
|
||||
if (!storage.CheckVariableExists(name)) throw new Exception("Cannot update variable because it is not declared");
|
||||
storage.SetVariable(name, value.Clone());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the update
|
||||
/// </summary>
|
||||
/// <returns>A string representation of the description of the update</returns>
|
||||
public string GetDescription() {
|
||||
return "Updates " + name + " to " + value;
|
||||
}
|
||||
}
|
||||
}
|
||||
+28
-28
@@ -1,28 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
class ValueContainer {
|
||||
|
||||
Dictionary<string, IValue> variables = new Dictionary<string, IValue>();
|
||||
|
||||
public ValueContainer() {
|
||||
|
||||
}
|
||||
|
||||
public void SetVariable(string variableName, IValue iValue) {
|
||||
if (variables.ContainsKey(variableName)) ;
|
||||
}
|
||||
|
||||
public void DeclareVariable(string variableName, IValue iValue) {
|
||||
|
||||
}
|
||||
|
||||
public void DeclareAndSetVariable(string variableName, IValue iValue) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
class ValueContainer {
|
||||
|
||||
Dictionary<string, IValue> variables = new Dictionary<string, IValue>();
|
||||
|
||||
public ValueContainer() {
|
||||
|
||||
}
|
||||
|
||||
public void SetVariable(string variableName, IValue iValue) {
|
||||
if (variables.ContainsKey(variableName)) ;
|
||||
}
|
||||
|
||||
public void DeclareVariable(string variableName, IValue iValue) {
|
||||
|
||||
}
|
||||
|
||||
public void DeclareAndSetVariable(string variableName, IValue iValue) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
+123
-123
@@ -1,124 +1,124 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Value factory creates values
|
||||
/// </summary>
|
||||
public class ValueFactory {
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution
|
||||
/// </summary>
|
||||
/// <param name="value">Text representation of the value</param>
|
||||
/// <param name="type">What type the value should be</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(string value, string type) {
|
||||
switch (type) {
|
||||
case "int":
|
||||
return new IntValue(ValueHelper.ConvertToInt(value));
|
||||
|
||||
case "double":
|
||||
return new DoubleValue(ValueHelper.ConvertToDouble(value));
|
||||
|
||||
case "color":
|
||||
return new ColorValue(ValueHelper.TextToColor(value));
|
||||
|
||||
case "bool":
|
||||
return new BoolValue(ValueHelper.ConvertToBool(value));
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution. Only used for Color
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage</param>
|
||||
/// <param name="paramater1">First parameter</param>
|
||||
/// <param name="paramater2">Second parameter</param>
|
||||
/// <param name="parameter3">Third parameter</param>
|
||||
/// <param name="parameter4">Fourth parameter</param>
|
||||
/// <param name="type">the type</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string paramater1, string paramater2, string parameter3, string parameter4, string type) {
|
||||
switch (type) {
|
||||
case "color":
|
||||
IValue p1 = CreateValue(storage, paramater1);
|
||||
IValue p2 = CreateValue(storage, paramater2);
|
||||
IValue p3 = CreateValue(storage, parameter3);
|
||||
IValue p4 = CreateValue(storage, parameter4);
|
||||
|
||||
return new ColorValue(p1, p2, p3, p4);
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution. Only used for Color
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage</param>
|
||||
/// <param name="paramater1">First parameter</param>
|
||||
/// <param name="paramater2">Second parameter</param>
|
||||
/// <param name="parameter3">Third parameter</param>
|
||||
/// <param name="type">the type</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string paramater1, string paramater2, string parameter3, string type) {
|
||||
switch (type) {
|
||||
case "color":
|
||||
IValue p1 = CreateValue(storage, paramater1);
|
||||
IValue p2 = CreateValue(storage, paramater2);
|
||||
IValue p3 = CreateValue(storage, parameter3);
|
||||
|
||||
return new ColorValue(p1, p2, p3);
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution
|
||||
/// </summary>
|
||||
/// <param name="value">Text representation of the value</param>
|
||||
/// <param name="storage">The value storage to check</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string value) {
|
||||
value = HelperFunctions.Strip(value);
|
||||
if (storage.CheckVariableExists(value)) return new VariableValue(storage, value);
|
||||
else return ValueHelper.ConvertToIValue(value, storage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new boolean IValue
|
||||
/// </summary>
|
||||
/// <param name="b">boolean input</param>
|
||||
/// <returns><see cref="BoolValue"/></returns>
|
||||
public static IValue CreateValue(bool b) {
|
||||
return new BoolValue(b);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new double IValue
|
||||
/// </summary>
|
||||
/// <param name="d">double input</param>
|
||||
/// <returns><see cref="DoubleValue"/></returns>
|
||||
public static IValue CreateValue(double d) {
|
||||
return new DoubleValue(d);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new int IValue
|
||||
/// </summary>
|
||||
/// <param name="i">int input</param>
|
||||
/// <returns><see cref="IntValue"/></returns>
|
||||
public static IValue CreateValue(int i) {
|
||||
return new IntValue(i);
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Value factory creates values
|
||||
/// </summary>
|
||||
public class ValueFactory {
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution
|
||||
/// </summary>
|
||||
/// <param name="value">Text representation of the value</param>
|
||||
/// <param name="type">What type the value should be</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(string value, string type) {
|
||||
switch (type) {
|
||||
case "int":
|
||||
return new IntValue(ValueHelper.ConvertToInt(value));
|
||||
|
||||
case "double":
|
||||
return new DoubleValue(ValueHelper.ConvertToDouble(value));
|
||||
|
||||
case "color":
|
||||
return new ColorValue(ValueHelper.TextToColor(value));
|
||||
|
||||
case "bool":
|
||||
return new BoolValue(ValueHelper.ConvertToBool(value));
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution. Only used for Color
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage</param>
|
||||
/// <param name="paramater1">First parameter</param>
|
||||
/// <param name="paramater2">Second parameter</param>
|
||||
/// <param name="parameter3">Third parameter</param>
|
||||
/// <param name="parameter4">Fourth parameter</param>
|
||||
/// <param name="type">the type</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string paramater1, string paramater2, string parameter3, string parameter4, string type) {
|
||||
switch (type) {
|
||||
case "color":
|
||||
IValue p1 = CreateValue(storage, paramater1);
|
||||
IValue p2 = CreateValue(storage, paramater2);
|
||||
IValue p3 = CreateValue(storage, parameter3);
|
||||
IValue p4 = CreateValue(storage, parameter4);
|
||||
|
||||
return new ColorValue(p1, p2, p3, p4);
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution. Only used for Color
|
||||
/// </summary>
|
||||
/// <param name="storage">The storage</param>
|
||||
/// <param name="paramater1">First parameter</param>
|
||||
/// <param name="paramater2">Second parameter</param>
|
||||
/// <param name="parameter3">Third parameter</param>
|
||||
/// <param name="type">the type</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string paramater1, string paramater2, string parameter3, string type) {
|
||||
switch (type) {
|
||||
case "color":
|
||||
IValue p1 = CreateValue(storage, paramater1);
|
||||
IValue p2 = CreateValue(storage, paramater2);
|
||||
IValue p3 = CreateValue(storage, parameter3);
|
||||
|
||||
return new ColorValue(p1, p2, p3);
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown expected type: " + type.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a constant Value to be used later during execution
|
||||
/// </summary>
|
||||
/// <param name="value">Text representation of the value</param>
|
||||
/// <param name="storage">The value storage to check</param>
|
||||
/// <returns>a new IValue</returns>
|
||||
public static IValue CreateValue(ValueStorage storage, string value) {
|
||||
value = HelperFunctions.Strip(value);
|
||||
if (storage.CheckVariableExists(value)) return new VariableValue(storage, value);
|
||||
else return ValueHelper.ConvertToIValue(value, storage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new boolean IValue
|
||||
/// </summary>
|
||||
/// <param name="b">boolean input</param>
|
||||
/// <returns><see cref="BoolValue"/></returns>
|
||||
public static IValue CreateValue(bool b) {
|
||||
return new BoolValue(b);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new double IValue
|
||||
/// </summary>
|
||||
/// <param name="d">double input</param>
|
||||
/// <returns><see cref="DoubleValue"/></returns>
|
||||
public static IValue CreateValue(double d) {
|
||||
return new DoubleValue(d);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new int IValue
|
||||
/// </summary>
|
||||
/// <param name="i">int input</param>
|
||||
/// <returns><see cref="IntValue"/></returns>
|
||||
public static IValue CreateValue(int i) {
|
||||
return new IntValue(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
+211
-212
@@ -1,213 +1,212 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// This class contains a large amount of useful conversions
|
||||
/// </summary>
|
||||
public class ValueHelper {
|
||||
|
||||
/// <summary>
|
||||
/// Converts string to int (if possible)
|
||||
/// </summary>
|
||||
/// <param name="text">String to be converted to int</param>
|
||||
/// <returns>Integer representation of string</returns>
|
||||
public static int ConvertToInt(string text) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
return int.Parse(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts string to double (if possible)
|
||||
/// </summary>
|
||||
/// <param name="text">String to be converted to double</param>
|
||||
/// <returns>Double representation of string</returns>
|
||||
public static double ConvertToDouble(string text) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
return double.Parse(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts two strings to a point object.
|
||||
/// </summary>
|
||||
/// <param name="text1">X parameter</param>
|
||||
/// <param name="text2">Y parameter</param>
|
||||
/// <returns>A Point object</returns>
|
||||
/// <todo>Make unit tests for this function</todo>
|
||||
public static Point ConvertToPoint(string text1, string text2) {
|
||||
return new Point(ConvertToInt(text1), ConvertToInt(text2));
|
||||
}
|
||||
|
||||
//TODO: Make unit tests for this function
|
||||
/// <summary>
|
||||
/// This function convers text to Color.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// It can parse several different types of strings.
|
||||
/// Types of string accepted:
|
||||
/// - A string that is the name of a predefined color. See <see cref="Color"/> class for full list.
|
||||
/// - A string that represents a Hex Triplet (<code>#rrggbb</code>). See <see href="https://en.wikipedia.org/wiki/Web_colors#Hex_triplet"/>.
|
||||
/// - A string that represents a Hex Quadruplet (<code>#rrggbbaa</code>, where <code>aa</code> represents alpha).
|
||||
/// </remarks>
|
||||
/// <example>
|
||||
/// Color tmp = TextToColor("red");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "red"
|
||||
///
|
||||
/// tmp = TextToColor("deadbe");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "00deadbe"
|
||||
///
|
||||
/// //It's important to remember that C# doesn't work like HTML colors, putting alpha first, rather than last.
|
||||
///
|
||||
/// tmp = TextToColor("deadbeef");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "efdeadbe"
|
||||
/// </example>
|
||||
///
|
||||
/// <param name="text">a string with a valid name or format</param>
|
||||
/// <returns>color of the string</returns>
|
||||
public static Color TextToColor(string text) {
|
||||
Color color = Color.FromName(text);
|
||||
if (color.IsKnownColor) return color;
|
||||
|
||||
if (text.StartsWith("#"))
|
||||
text = text.Substring(1);
|
||||
|
||||
switch (text.Length) {
|
||||
case 6:
|
||||
return Color.FromArgb(
|
||||
int.Parse(text.Substring(0, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(2, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(4, 2), System.Globalization.NumberStyles.HexNumber));
|
||||
|
||||
case 8:
|
||||
return Color.FromArgb(
|
||||
int.Parse(text.Substring(6, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(0, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(2, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(4, 2), System.Globalization.NumberStyles.HexNumber));
|
||||
|
||||
default:
|
||||
throw new Exception("Color not valid");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generate a color from RGB(A) int values
|
||||
/// </summary>
|
||||
/// <param name="r">Red</param>
|
||||
/// <param name="g">Green</param>
|
||||
/// <param name="b">Blue</param>
|
||||
/// <param name="a">Optional: Alpha/Transparancy (default is 255, 0 is transparent)</param>
|
||||
/// <returns></returns>
|
||||
public static Color IntsToColor(int r, int g, int b, int a = 255) {
|
||||
return Color.FromArgb(a, r, g, b);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert to boolean
|
||||
/// </summary>
|
||||
/// <param name="text">A text boolean</param>
|
||||
/// <returns>boolean representation of the text</returns>
|
||||
public static bool ConvertToBool(string text) {
|
||||
switch (text) {
|
||||
case "true":
|
||||
case "1":
|
||||
case "on":
|
||||
return true;
|
||||
|
||||
case "false":
|
||||
case "0":
|
||||
case "off":
|
||||
return false;
|
||||
|
||||
default:
|
||||
throw new Exception("Invalid input");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the text to IValue
|
||||
/// </summary>
|
||||
/// <param name="text">text to convert</param>
|
||||
/// <param name="storage">storage to use (can be null) (optional)</param>
|
||||
/// <returns>An IValue representation of the text</returns>
|
||||
public static IValue ConvertToIValue(string text, ValueStorage storage = null) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
string value = text;
|
||||
//seperate assignment characters from everything else TODO FIX
|
||||
foreach (string op in new string[] { "=", "+", "-", "*", "/", "<", ">", "!" }) {
|
||||
value = value.Replace(op, " " + op + " ");
|
||||
}
|
||||
|
||||
bool removedFirstChar = false;
|
||||
value = HelperFunctions.Strip(value);
|
||||
if (value[0] == "="[0]) {
|
||||
value = value.Substring(1);
|
||||
removedFirstChar = true;
|
||||
}
|
||||
// now will definitly look like this:
|
||||
// 10 + i or i
|
||||
|
||||
string[] assignmentStrings = HelperFunctions.StripStringArray(value.Split(" "[0])).ToArray();
|
||||
|
||||
//No assignmnet
|
||||
|
||||
if (!text.Contains("#")) {
|
||||
//Check if string is a number
|
||||
if (!text.Contains(".")) {
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "int");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
//Check if string is a double
|
||||
else {
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "double");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
//Check if color
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "color");
|
||||
} catch (Exception) { }
|
||||
|
||||
//check for expression
|
||||
if (storage != null) {
|
||||
try {
|
||||
// assignmentStrings will look something like this:
|
||||
// ["i"] or ["10", "+", "i"]
|
||||
if (assignmentStrings.Length == 1 && removedFirstChar) return ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
else if (assignmentStrings.Length == 3) {
|
||||
// assignmentStrings looks like this => ["10", "+", "i"]
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
string op = assignmentStrings[1];
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
return new ExpressionValue(value1, value2, op);
|
||||
}
|
||||
} catch (Exception) { }
|
||||
}
|
||||
} else {
|
||||
//Check if color
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "color");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
if (storage != null) {
|
||||
// Check if string is a comparison
|
||||
// assignmentStrings will look something like this:
|
||||
// ["i"] or ["10", "=", "i"]
|
||||
if (assignmentStrings.Length == 3) {
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
string op = assignmentStrings[1];
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
return new ComparisonValue(value1, value2, op);
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception("Could not convert " + text + " to any type");
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// This class contains a large amount of useful conversions
|
||||
/// </summary>
|
||||
public class ValueHelper {
|
||||
|
||||
/// <summary>
|
||||
/// Converts string to int (if possible)
|
||||
/// </summary>
|
||||
/// <param name="text">String to be converted to int</param>
|
||||
/// <returns>Integer representation of string</returns>
|
||||
public static int ConvertToInt(string text) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
return int.Parse(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts string to double (if possible)
|
||||
/// </summary>
|
||||
/// <param name="text">String to be converted to double</param>
|
||||
/// <returns>Double representation of string</returns>
|
||||
public static double ConvertToDouble(string text) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
return double.Parse(text);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts two strings to a point object.
|
||||
/// </summary>
|
||||
/// <param name="text1">X parameter</param>
|
||||
/// <param name="text2">Y parameter</param>
|
||||
/// <returns>A Point object</returns>
|
||||
/// <todo>Make unit tests for this function</todo>
|
||||
public static Point ConvertToPoint(string text1, string text2) {
|
||||
return new Point(ConvertToInt(text1), ConvertToInt(text2));
|
||||
}
|
||||
|
||||
//TODO: Make unit tests for this function
|
||||
/// <summary>
|
||||
/// This function convers text to Color.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// It can parse several different types of strings.
|
||||
/// Types of string accepted:
|
||||
/// - A string that is the name of a predefined color. See <see cref="Color"/> class for full list.
|
||||
/// - A string that represents a Hex Triplet (<code>#rrggbb</code>). See <see href="https://en.wikipedia.org/wiki/Web_colors#Hex_triplet"/>.
|
||||
/// - A string that represents a Hex Quadruplet (<code>#rrggbbaa</code>, where <code>aa</code> represents alpha).
|
||||
/// </remarks>
|
||||
/// <example>
|
||||
/// Color tmp = TextToColor("red");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "red"
|
||||
///
|
||||
/// tmp = TextToColor("deadbe");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "00deadbe"
|
||||
///
|
||||
/// //It's important to remember that C# doesn't work like HTML colors, putting alpha first, rather than last.
|
||||
///
|
||||
/// tmp = TextToColor("deadbeef");
|
||||
/// Console.WriteLine("Name: " + tmp.toString()) //=> "efdeadbe"
|
||||
/// </example>
|
||||
///
|
||||
/// <param name="text">a string with a valid name or format</param>
|
||||
/// <returns>color of the string</returns>
|
||||
public static Color TextToColor(string text) {
|
||||
Color color = Color.FromName(text);
|
||||
if (color.IsKnownColor) return color;
|
||||
|
||||
if (text.StartsWith("#"))
|
||||
text = text.Substring(1);
|
||||
|
||||
switch (text.Length) {
|
||||
case 6:
|
||||
return Color.FromArgb(
|
||||
int.Parse(text.Substring(0, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(2, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(4, 2), System.Globalization.NumberStyles.HexNumber));
|
||||
|
||||
case 8:
|
||||
return Color.FromArgb(
|
||||
int.Parse(text.Substring(6, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(0, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(2, 2), System.Globalization.NumberStyles.HexNumber),
|
||||
int.Parse(text.Substring(4, 2), System.Globalization.NumberStyles.HexNumber));
|
||||
|
||||
default:
|
||||
throw new Exception("Color not valid");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generate a color from RGB(A) int values
|
||||
/// </summary>
|
||||
/// <param name="r">Red</param>
|
||||
/// <param name="g">Green</param>
|
||||
/// <param name="b">Blue</param>
|
||||
/// <param name="a">Optional: Alpha/Transparancy (default is 255, 0 is transparent)</param>
|
||||
/// <returns></returns>
|
||||
public static Color IntsToColor(int r, int g, int b, int a = 255) {
|
||||
return Color.FromArgb(a, r, g, b);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert to boolean
|
||||
/// </summary>
|
||||
/// <param name="text">A text boolean</param>
|
||||
/// <returns>boolean representation of the text</returns>
|
||||
public static bool ConvertToBool(string text) {
|
||||
switch (text) {
|
||||
case "true":
|
||||
case "1":
|
||||
case "on":
|
||||
return true;
|
||||
|
||||
case "false":
|
||||
case "0":
|
||||
case "off":
|
||||
return false;
|
||||
|
||||
default:
|
||||
throw new Exception("Invalid input");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the text to IValue
|
||||
/// </summary>
|
||||
/// <param name="text">text to convert</param>
|
||||
/// <param name="storage">storage to use (can be null) (optional)</param>
|
||||
/// <returns>An IValue representation of the text</returns>
|
||||
public static IValue ConvertToIValue(string text, ValueStorage storage = null) {
|
||||
text = HelperFunctions.Strip(text);
|
||||
string value = text;
|
||||
foreach (string op in new string[] { "=", "+", "-", "*", "/", "<", ">", "!" }) {
|
||||
value = value.Replace(op, " " + op + " ");
|
||||
}
|
||||
|
||||
bool removedFirstChar = false;
|
||||
value = HelperFunctions.Strip(value);
|
||||
if (value[0] == "="[0]) {
|
||||
value = value.Substring(1);
|
||||
removedFirstChar = true;
|
||||
}
|
||||
// now will definitly look like this:
|
||||
// 10 + i or i
|
||||
|
||||
string[] assignmentStrings = HelperFunctions.StripStringArray(value.Split(" "[0])).ToArray();
|
||||
|
||||
//No assignmnet
|
||||
|
||||
if (!text.Contains("#")) {
|
||||
//Check if string is a number
|
||||
if (!text.Contains(".")) {
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "int");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
//Check if string is a double
|
||||
else {
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "double");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
//Check if color
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "color");
|
||||
} catch (Exception) { }
|
||||
|
||||
//check for expression
|
||||
if (storage != null) {
|
||||
try {
|
||||
// assignmentStrings will look something like this:
|
||||
// ["i"] or ["10", "+", "i"]
|
||||
if (assignmentStrings.Length == 1 && removedFirstChar) return ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
else if (assignmentStrings.Length == 3) {
|
||||
// assignmentStrings looks like this => ["10", "+", "i"]
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
string op = assignmentStrings[1];
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
return new ExpressionValue(value1, value2, op);
|
||||
}
|
||||
} catch (Exception) { }
|
||||
}
|
||||
} else {
|
||||
//Check if color
|
||||
try {
|
||||
return ValueFactory.CreateValue(text, "color");
|
||||
} catch (Exception) { }
|
||||
}
|
||||
|
||||
if (storage != null) {
|
||||
// Check if string is a comparison
|
||||
// assignmentStrings will look something like this:
|
||||
// ["i"] or ["10", "=", "i"]
|
||||
if (assignmentStrings.Length == 3) {
|
||||
IValue value1 = ValueFactory.CreateValue(storage, assignmentStrings[0]);
|
||||
string op = assignmentStrings[1];
|
||||
IValue value2 = ValueFactory.CreateValue(storage, assignmentStrings[2]);
|
||||
return new ComparisonValue(value1, value2, op);
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception("Could not convert " + text + " to any type");
|
||||
}
|
||||
}
|
||||
}
|
||||
+69
-69
@@ -1,70 +1,70 @@
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueObjects {
|
||||
|
||||
internal class ColorValue : IValue {
|
||||
private readonly IValue r;
|
||||
private readonly IValue g;
|
||||
private readonly IValue b;
|
||||
|
||||
private readonly bool hasAlpha;
|
||||
private readonly IValue a;
|
||||
|
||||
public ColorValue(Color value) {
|
||||
r = new IntValue(value.R);
|
||||
g = new IntValue(value.G);
|
||||
b = new IntValue(value.B);
|
||||
a = new IntValue(value.A);
|
||||
hasAlpha = true;
|
||||
}
|
||||
|
||||
public ColorValue(IValue r, IValue g, IValue b, IValue a) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
this.a = a;
|
||||
hasAlpha = true;
|
||||
}
|
||||
|
||||
public ColorValue(IValue r, IValue g, IValue b) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
hasAlpha = false;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "A color value";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "color";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return ToColor().GetBrightness() > 0.5;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (hasAlpha) return Color.FromArgb(a.ToInt(), r.ToInt(), g.ToInt(), b.ToInt());
|
||||
else return Color.FromArgb(r.ToInt(), g.ToInt(), b.ToInt());
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return ToColor().GetBrightness();
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return ToColor().ToArgb();
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new ColorValue(this.ToColor());
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueObjects {
|
||||
|
||||
internal class ColorValue : IValue {
|
||||
private readonly IValue r;
|
||||
private readonly IValue g;
|
||||
private readonly IValue b;
|
||||
|
||||
private readonly bool hasAlpha;
|
||||
private readonly IValue a;
|
||||
|
||||
public ColorValue(Color value) {
|
||||
r = new IntValue(value.R);
|
||||
g = new IntValue(value.G);
|
||||
b = new IntValue(value.B);
|
||||
a = new IntValue(value.A);
|
||||
hasAlpha = true;
|
||||
}
|
||||
|
||||
public ColorValue(IValue r, IValue g, IValue b, IValue a) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
this.a = a;
|
||||
hasAlpha = true;
|
||||
}
|
||||
|
||||
public ColorValue(IValue r, IValue g, IValue b) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
hasAlpha = false;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "A color value";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "color";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return ToColor().GetBrightness() > 0.5;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (hasAlpha) return Color.FromArgb(a.ToInt(), r.ToInt(), g.ToInt(), b.ToInt());
|
||||
else return Color.FromArgb(r.ToInt(), g.ToInt(), b.ToInt());
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return ToColor().GetBrightness();
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return ToColor().ToArgb();
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new ColorValue(this.ToColor());
|
||||
}
|
||||
}
|
||||
}
|
||||
+45
-45
@@ -1,46 +1,46 @@
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueObjects {
|
||||
|
||||
/// <summary>
|
||||
/// A point IValue. Simply the same as <see cref="Point"/> but with IValues intstead of ints.
|
||||
/// </summary>
|
||||
public class PointValue {
|
||||
private readonly IValue x;
|
||||
private readonly IValue y;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new PointValue
|
||||
/// </summary>
|
||||
/// <param name="x">X IValue</param>
|
||||
/// <param name="y">Y IValue</param>
|
||||
public PointValue(IValue x, IValue y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the X component
|
||||
/// </summary>
|
||||
/// <returns>the X component</returns>
|
||||
public int GetX() {
|
||||
return x.ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the Y component
|
||||
/// </summary>
|
||||
/// <returns>the Y component</returns>
|
||||
public int GetY() {
|
||||
return y.ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the <see cref="Point"/>.
|
||||
/// </summary>
|
||||
/// <returns><see cref="Point"/></returns>
|
||||
public Point GetPoint() {
|
||||
return new Point(GetX(), GetY());
|
||||
}
|
||||
}
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueObjects {
|
||||
|
||||
/// <summary>
|
||||
/// A point IValue. Simply the same as <see cref="Point"/> but with IValues intstead of ints.
|
||||
/// </summary>
|
||||
public class PointValue {
|
||||
private readonly IValue x;
|
||||
private readonly IValue y;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new PointValue
|
||||
/// </summary>
|
||||
/// <param name="x">X IValue</param>
|
||||
/// <param name="y">Y IValue</param>
|
||||
public PointValue(IValue x, IValue y) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the X component
|
||||
/// </summary>
|
||||
/// <returns>the X component</returns>
|
||||
public int GetX() {
|
||||
return x.ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the Y component
|
||||
/// </summary>
|
||||
/// <returns>the Y component</returns>
|
||||
public int GetY() {
|
||||
return y.ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the <see cref="Point"/>.
|
||||
/// </summary>
|
||||
/// <returns><see cref="Point"/></returns>
|
||||
public Point GetPoint() {
|
||||
return new Point(GetX(), GetY());
|
||||
}
|
||||
}
|
||||
}
|
||||
+143
-143
@@ -1,144 +1,144 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// The storage for all the values
|
||||
/// </summary>
|
||||
public class ValueStorage {
|
||||
private int currentStack;
|
||||
|
||||
/// <summary>
|
||||
/// The list is structured something like this:
|
||||
/// <code>
|
||||
/// {stack, stack, stack stack}
|
||||
/// </code>
|
||||
/// Where 'stack' is a dictionary of the names and the values of the variables
|
||||
/// </summary>
|
||||
private List<Dictionary<string, IValue>> Variables;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new ValueStorage
|
||||
/// </summary>
|
||||
public ValueStorage() {
|
||||
Reset();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset the ValueStorage
|
||||
/// </summary>
|
||||
public void Reset() {
|
||||
Variables = new List<Dictionary<string, IValue>> {
|
||||
new Dictionary<string, IValue>()
|
||||
};
|
||||
currentStack = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the ValueStorage stack
|
||||
/// </summary>
|
||||
/// <param name="stack">stack number</param>
|
||||
private void SetStack(int stack) {
|
||||
if (stack < 0) throw new Exception("Stack cannot be less than 0");
|
||||
|
||||
//Decreased Stack
|
||||
if (currentStack > stack) {
|
||||
Variables.RemoveAt(currentStack);
|
||||
}
|
||||
//Increased Stack
|
||||
else if (currentStack < stack) {
|
||||
Variables.Add(new Dictionary<string, IValue>());
|
||||
}
|
||||
|
||||
currentStack = stack;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Increase the stack
|
||||
/// </summary>
|
||||
public void IncreaseStack() {
|
||||
SetStack(currentStack + 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decrease the stack
|
||||
/// </summary>
|
||||
public void DecreaseStack() {
|
||||
if (currentStack > 0) {
|
||||
SetStack(currentStack - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a variable
|
||||
/// </summary>
|
||||
/// <param name="name">Variable name</param>
|
||||
/// <param name="stack">the start stack</param>
|
||||
/// <param name="value">the IValue</param>
|
||||
private void SetVariable(string name, int stack, IValue value) {
|
||||
for (int internalStack = stack; internalStack >= 0; internalStack--) {
|
||||
if (value == null || CheckVariableExists(name, internalStack)) {
|
||||
Variables[internalStack][name] = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
Variables[stack][name] = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a variable
|
||||
/// </summary>
|
||||
/// <param name="name">Variable name</param>
|
||||
/// <param name="value">the IValue</param>
|
||||
public void SetVariable(string name, IValue value) {
|
||||
SetVariable(name, currentStack, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the variable at the specified stack
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <param name="stack">stack</param>
|
||||
/// <returns>IValue</returns>
|
||||
private IValue GetVariable(string name, int stack) {
|
||||
return Variables[stack][name];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the variable at the first available stack
|
||||
/// </summary>
|
||||
/// <param name="name">the names of the variable</param>
|
||||
/// <returns>IValue</returns>
|
||||
public IValue GetVariable(string name) {
|
||||
for (int stack = currentStack; stack >= 0; stack--) {
|
||||
if (CheckVariableExists(name, stack) && GetVariable(name, stack) != null) return GetVariable(name, stack);
|
||||
}
|
||||
throw new Exception("Cannot find variable " + name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if the variable exists at the stack specified
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <param name="stack">stack</param>
|
||||
/// <returns>IValue</returns>
|
||||
private bool CheckVariableExists(string name, int stack) {
|
||||
if (name == null) return false;
|
||||
return Variables[stack].ContainsKey(name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if the variable exists in the first available stack
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <returns>IValue</returns>
|
||||
public bool CheckVariableExists(string name) {
|
||||
if (name == null) return false;
|
||||
for (int stack = currentStack; stack >= 0; stack--) {
|
||||
if (CheckVariableExists(name, stack)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// The storage for all the values
|
||||
/// </summary>
|
||||
public class ValueStorage {
|
||||
private int currentStack;
|
||||
|
||||
/// <summary>
|
||||
/// The list is structured something like this:
|
||||
/// <code>
|
||||
/// {stack, stack, stack stack}
|
||||
/// </code>
|
||||
/// Where 'stack' is a dictionary of the names and the values of the variables
|
||||
/// </summary>
|
||||
private List<Dictionary<string, IValue>> Variables;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new ValueStorage
|
||||
/// </summary>
|
||||
public ValueStorage() {
|
||||
Reset();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset the ValueStorage
|
||||
/// </summary>
|
||||
public void Reset() {
|
||||
Variables = new List<Dictionary<string, IValue>> {
|
||||
new Dictionary<string, IValue>()
|
||||
};
|
||||
currentStack = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the ValueStorage stack
|
||||
/// </summary>
|
||||
/// <param name="stack">stack number</param>
|
||||
private void SetStack(int stack) {
|
||||
if (stack < 0) throw new Exception("Stack cannot be less than 0");
|
||||
|
||||
//Decreased Stack
|
||||
if (currentStack > stack) {
|
||||
Variables.RemoveAt(currentStack);
|
||||
}
|
||||
//Increased Stack
|
||||
else if (currentStack < stack) {
|
||||
Variables.Add(new Dictionary<string, IValue>());
|
||||
}
|
||||
|
||||
currentStack = stack;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Increase the stack
|
||||
/// </summary>
|
||||
public void IncreaseStack() {
|
||||
SetStack(currentStack + 1);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decrease the stack
|
||||
/// </summary>
|
||||
public void DecreaseStack() {
|
||||
if (currentStack > 0) {
|
||||
SetStack(currentStack - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a variable
|
||||
/// </summary>
|
||||
/// <param name="name">Variable name</param>
|
||||
/// <param name="stack">the start stack</param>
|
||||
/// <param name="value">the IValue</param>
|
||||
private void SetVariable(string name, int stack, IValue value) {
|
||||
for (int internalStack = stack; internalStack >= 0; internalStack--) {
|
||||
if (value == null || CheckVariableExists(name, internalStack)) {
|
||||
Variables[internalStack][name] = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
Variables[stack][name] = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set a variable
|
||||
/// </summary>
|
||||
/// <param name="name">Variable name</param>
|
||||
/// <param name="value">the IValue</param>
|
||||
public void SetVariable(string name, IValue value) {
|
||||
SetVariable(name, currentStack, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the variable at the specified stack
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <param name="stack">stack</param>
|
||||
/// <returns>IValue</returns>
|
||||
private IValue GetVariable(string name, int stack) {
|
||||
return Variables[stack][name];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the variable at the first available stack
|
||||
/// </summary>
|
||||
/// <param name="name">the names of the variable</param>
|
||||
/// <returns>IValue</returns>
|
||||
public IValue GetVariable(string name) {
|
||||
for (int stack = currentStack; stack >= 0; stack--) {
|
||||
if (CheckVariableExists(name, stack) && GetVariable(name, stack) != null) return GetVariable(name, stack);
|
||||
}
|
||||
throw new Exception("Cannot find variable " + name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if the variable exists at the stack specified
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <param name="stack">stack</param>
|
||||
/// <returns>IValue</returns>
|
||||
private bool CheckVariableExists(string name, int stack) {
|
||||
if (name == null) return false;
|
||||
return Variables[stack].ContainsKey(name);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Check if the variable exists in the first available stack
|
||||
/// </summary>
|
||||
/// <param name="name">variable name</param>
|
||||
/// <returns>IValue</returns>
|
||||
public bool CheckVariableExists(string name) {
|
||||
if (name == null) return false;
|
||||
for (int stack = currentStack; stack >= 0; stack--) {
|
||||
if (CheckVariableExists(name, stack)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+52
-52
@@ -1,53 +1,53 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class BoolValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private readonly bool value;
|
||||
|
||||
public BoolValue(bool value) {
|
||||
this.value = value;
|
||||
initialised = true;
|
||||
}
|
||||
|
||||
public BoolValue() {
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
if (initialised) return "boolean of value " + value.ToString();
|
||||
else return "an unset boolean value";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "bool";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
if (initialised) return value;
|
||||
else throw new Exception("Not initilised");
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
return ToBool() ? Color.White : Color.Black;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return ToBool() ? 1d : 0d;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return ToBool() ? 1 : 0;
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new BoolValue(value);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class BoolValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private readonly bool value;
|
||||
|
||||
public BoolValue(bool value) {
|
||||
this.value = value;
|
||||
initialised = true;
|
||||
}
|
||||
|
||||
public BoolValue() {
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
if (initialised) return "boolean of value " + value.ToString();
|
||||
else return "an unset boolean value";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "bool";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
if (initialised) return value;
|
||||
else throw new Exception("Not initilised");
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
return ToBool() ? Color.White : Color.Black;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return ToBool() ? 1d : 0d;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return ToBool() ? 1 : 0;
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new BoolValue(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+79
-79
@@ -1,80 +1,80 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class ComparisonValue : IValue {
|
||||
private readonly string op;
|
||||
private readonly IValue value1;
|
||||
private readonly IValue value2;
|
||||
|
||||
public ComparisonValue(IValue value1, IValue value2, string op) {
|
||||
this.value1 = value1;
|
||||
this.value2 = value2;
|
||||
|
||||
switch (op) {
|
||||
case "=":
|
||||
case "!":
|
||||
case ">":
|
||||
case "<":
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Invalid operation");
|
||||
}
|
||||
|
||||
this.op = op;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "Compare two values";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return Evaluate().GetOriginalType();
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
private IValue Evaluate() {
|
||||
switch (op) {
|
||||
case "=":
|
||||
return new BoolValue(value1.ToBool() == value2.ToBool() && value1.ToDouble() == value2.ToDouble() && value1.ToInt() == value2.ToInt());
|
||||
|
||||
case "!":
|
||||
return new BoolValue(value1.ToBool() != value2.ToBool() && value1.ToDouble() != value2.ToDouble() && value1.ToInt() != value2.ToInt());
|
||||
|
||||
case ">":
|
||||
return new BoolValue(value1.ToDouble() > value2.ToDouble() && value1.ToInt() > value2.ToInt());
|
||||
|
||||
case "<":
|
||||
return new BoolValue(value1.ToDouble() < value2.ToDouble() && value1.ToInt() < value2.ToInt());
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operator");
|
||||
}
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return Evaluate().ToBool();
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
return Evaluate().ToColor();
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return Evaluate().ToDouble();
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return Evaluate().ToInt();
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new ComparisonValue(value1, value2, op);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class ComparisonValue : IValue {
|
||||
private readonly string op;
|
||||
private readonly IValue value1;
|
||||
private readonly IValue value2;
|
||||
|
||||
public ComparisonValue(IValue value1, IValue value2, string op) {
|
||||
this.value1 = value1;
|
||||
this.value2 = value2;
|
||||
|
||||
switch (op) {
|
||||
case "=":
|
||||
case "!":
|
||||
case ">":
|
||||
case "<":
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Invalid operation");
|
||||
}
|
||||
|
||||
this.op = op;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "Compare two values";
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return Evaluate().GetOriginalType();
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
private IValue Evaluate() {
|
||||
switch (op) {
|
||||
case "=":
|
||||
return new BoolValue(value1.ToBool() == value2.ToBool() && value1.ToDouble() == value2.ToDouble() && value1.ToInt() == value2.ToInt());
|
||||
|
||||
case "!":
|
||||
return new BoolValue(value1.ToBool() != value2.ToBool() && value1.ToDouble() != value2.ToDouble() && value1.ToInt() != value2.ToInt());
|
||||
|
||||
case ">":
|
||||
return new BoolValue(value1.ToDouble() > value2.ToDouble() && value1.ToInt() > value2.ToInt());
|
||||
|
||||
case "<":
|
||||
return new BoolValue(value1.ToDouble() < value2.ToDouble() && value1.ToInt() < value2.ToInt());
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operator");
|
||||
}
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return Evaluate().ToBool();
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
return Evaluate().ToColor();
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return Evaluate().ToDouble();
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return Evaluate().ToInt();
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new ComparisonValue(value1, value2, op);
|
||||
}
|
||||
}
|
||||
}
|
||||
+56
-56
@@ -1,57 +1,57 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class DoubleValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private bool colorValueCacheAvailable = false;
|
||||
private Color colorValueCache;
|
||||
|
||||
private readonly double value;
|
||||
|
||||
public DoubleValue(double value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "an double value of " + value;
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "double";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return value > 0;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (!colorValueCacheAvailable) {
|
||||
int i = (int)Math.Round(value * 255);
|
||||
i = Math.Min(255, i);
|
||||
if (i < 0) i = 0;
|
||||
colorValueCache = ValueHelper.IntsToColor(i, i, i);
|
||||
colorValueCacheAvailable = true;
|
||||
}
|
||||
return colorValueCache;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return (int)Math.Round(value);
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new DoubleValue(value);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class DoubleValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private bool colorValueCacheAvailable = false;
|
||||
private Color colorValueCache;
|
||||
|
||||
private readonly double value;
|
||||
|
||||
public DoubleValue(double value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "an double value of " + value;
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "double";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
return value > 0;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (!colorValueCacheAvailable) {
|
||||
int i = (int)Math.Round(value * 255);
|
||||
i = Math.Min(255, i);
|
||||
if (i < 0) i = 0;
|
||||
colorValueCache = ValueHelper.IntsToColor(i, i, i);
|
||||
colorValueCacheAvailable = true;
|
||||
}
|
||||
return colorValueCache;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return (int)Math.Round(value);
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new DoubleValue(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+213
-213
@@ -1,214 +1,214 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Expression values are used when there are two IValues that need to be added or subtracted or anything from each other.
|
||||
/// </summary>
|
||||
public class ExpressionValue : IValue {
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting addition
|
||||
/// </summary>
|
||||
public const int ADD = 0;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting subtraction
|
||||
/// </summary>
|
||||
public const int SUBTRACT = 1;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting multiplication
|
||||
/// </summary>
|
||||
public const int MULTIPLY = 2;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting division
|
||||
/// </summary>
|
||||
public const int DIVIDE = 3;
|
||||
|
||||
private readonly IValue variable1;
|
||||
private readonly IValue variable2;
|
||||
private readonly int operation;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Expression Value based on the two IValues
|
||||
/// </summary>
|
||||
/// <param name="variable1">IValue to perform the operation on</param>
|
||||
/// <param name="variable2">IValue to perform the operation on</param>
|
||||
/// <param name="operation">The operation. Can be <see cref="ADD"/>, <see cref="SUBTRACT"/>, <see cref="MULTIPLY"/> or <see cref="DIVIDE"/>.</param>
|
||||
public ExpressionValue(IValue variable1, IValue variable2, int operation) {
|
||||
this.variable1 = variable1;
|
||||
this.variable2 = variable2;
|
||||
this.operation = operation;
|
||||
|
||||
//Check for bad input
|
||||
if (operation > 3 && operation < 0) throw new Exception("Bad operation");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Expression Value based on the two IValues
|
||||
/// </summary>
|
||||
/// <param name="variable1">IValue to perform the operation on</param>
|
||||
/// <param name="variable2">IValue to perform the operation on</param>
|
||||
/// <param name="operation">The operation. Can be "+"(<see cref="ADD"/>), "-"(<see cref="SUBTRACT"/>), "*"(<see cref="MULTIPLY"/>) or "/"(<see cref="DIVIDE"/>).</param>
|
||||
public ExpressionValue(IValue variable1, IValue variable2, string operation) {
|
||||
switch (operation) {
|
||||
case "+":
|
||||
this.operation = ADD;
|
||||
break;
|
||||
|
||||
case "-":
|
||||
this.operation = SUBTRACT;
|
||||
break;
|
||||
|
||||
case "*":
|
||||
this.operation = MULTIPLY;
|
||||
break;
|
||||
|
||||
case "/":
|
||||
this.operation = DIVIDE;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Undefined operation");
|
||||
}
|
||||
|
||||
this.variable1 = variable1;
|
||||
this.variable2 = variable2;
|
||||
|
||||
//Check for bad input
|
||||
if (this.operation > 3 && this.operation < 0) throw new Exception("Bad operation");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Evaluates the expression.
|
||||
/// </summary>
|
||||
/// <returns>an IValue with the result</returns>
|
||||
private IValue Evaluate() {
|
||||
IValue variable1 = this.variable1.Clone();
|
||||
IValue variable2 = this.variable2.Clone();
|
||||
IValue evaluatedValue = null;
|
||||
string outputType = variable1.GetOriginalType();
|
||||
|
||||
switch (outputType) {
|
||||
case "bool":
|
||||
//operations as standard for bool expressions eg
|
||||
// (a + b) => a or b, (a * b) => a and b, (a ^ b) => a xor b
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() || variable2.ToBool());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() ^ variable2.ToBool());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() && variable2.ToBool());
|
||||
else if (operation == DIVIDE) throw new Exception("Bool cannot be divided");
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "int":
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() + variable2.ToInt());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() - variable2.ToInt());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() * variable2.ToInt());
|
||||
else if (operation == DIVIDE) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() / variable2.ToInt());
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "double":
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() + variable2.ToDouble());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() - variable2.ToDouble());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() * variable2.ToDouble());
|
||||
else if (operation == DIVIDE) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() / variable2.ToDouble());
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "color":
|
||||
throw new Exception("Colors are immutable");
|
||||
}
|
||||
|
||||
return evaluatedValue;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes the expression
|
||||
/// </summary>
|
||||
/// <returns>A string description of the expression</returns>
|
||||
public string GetDescription() {
|
||||
string operation;
|
||||
switch (this.operation) {
|
||||
case ADD:
|
||||
operation = "added";
|
||||
break;
|
||||
|
||||
case SUBTRACT:
|
||||
operation = "subtracted";
|
||||
break;
|
||||
|
||||
case MULTIPLY:
|
||||
operation = "multiplied";
|
||||
break;
|
||||
|
||||
case DIVIDE:
|
||||
operation = "divided";
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operation");
|
||||
}
|
||||
return "Expression of the variables " + variable1 + " and " + variable2 + " being " + operation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the type of the expression
|
||||
/// </summary>
|
||||
/// <returns>"expression"</returns>
|
||||
public string GetOriginalType() {
|
||||
return "expression";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Expressions are always initialised
|
||||
/// </summary>
|
||||
/// <returns>true</returns>
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the bool of the result
|
||||
/// </summary>
|
||||
/// <returns>bool value of the result</returns>
|
||||
public bool ToBool() {
|
||||
return Evaluate().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the color of the result
|
||||
/// </summary>
|
||||
/// <returns>color value of the result</returns>
|
||||
public Color ToColor() {
|
||||
return Evaluate().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the double value of the result
|
||||
/// </summary>
|
||||
/// <returns>double value of the result</returns>
|
||||
public double ToDouble() {
|
||||
return Evaluate().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the int of the result
|
||||
/// </summary>
|
||||
/// <returns>int value of the result</returns>
|
||||
public int ToInt() {
|
||||
return Evaluate().ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clones the value of the result
|
||||
/// </summary>
|
||||
/// <returns>A new IValue</returns>
|
||||
public IValue Clone() {
|
||||
return Evaluate();
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value {
|
||||
|
||||
/// <summary>
|
||||
/// Expression values are used when there are two IValues that need to be added or subtracted or anything from each other.
|
||||
/// </summary>
|
||||
public class ExpressionValue : IValue {
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting addition
|
||||
/// </summary>
|
||||
public const int ADD = 0;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting subtraction
|
||||
/// </summary>
|
||||
public const int SUBTRACT = 1;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting multiplication
|
||||
/// </summary>
|
||||
public const int MULTIPLY = 2;
|
||||
|
||||
/// <summary>
|
||||
/// An operation denoting division
|
||||
/// </summary>
|
||||
public const int DIVIDE = 3;
|
||||
|
||||
private readonly IValue variable1;
|
||||
private readonly IValue variable2;
|
||||
private readonly int operation;
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Expression Value based on the two IValues
|
||||
/// </summary>
|
||||
/// <param name="variable1">IValue to perform the operation on</param>
|
||||
/// <param name="variable2">IValue to perform the operation on</param>
|
||||
/// <param name="operation">The operation. Can be <see cref="ADD"/>, <see cref="SUBTRACT"/>, <see cref="MULTIPLY"/> or <see cref="DIVIDE"/>.</param>
|
||||
public ExpressionValue(IValue variable1, IValue variable2, int operation) {
|
||||
this.variable1 = variable1;
|
||||
this.variable2 = variable2;
|
||||
this.operation = operation;
|
||||
|
||||
//Check for bad input
|
||||
if (operation > 3 && operation < 0) throw new Exception("Bad operation");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new Expression Value based on the two IValues
|
||||
/// </summary>
|
||||
/// <param name="variable1">IValue to perform the operation on</param>
|
||||
/// <param name="variable2">IValue to perform the operation on</param>
|
||||
/// <param name="operation">The operation. Can be "+"(<see cref="ADD"/>), "-"(<see cref="SUBTRACT"/>), "*"(<see cref="MULTIPLY"/>) or "/"(<see cref="DIVIDE"/>).</param>
|
||||
public ExpressionValue(IValue variable1, IValue variable2, string operation) {
|
||||
switch (operation) {
|
||||
case "+":
|
||||
this.operation = ADD;
|
||||
break;
|
||||
|
||||
case "-":
|
||||
this.operation = SUBTRACT;
|
||||
break;
|
||||
|
||||
case "*":
|
||||
this.operation = MULTIPLY;
|
||||
break;
|
||||
|
||||
case "/":
|
||||
this.operation = DIVIDE;
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Undefined operation");
|
||||
}
|
||||
|
||||
this.variable1 = variable1;
|
||||
this.variable2 = variable2;
|
||||
|
||||
//Check for bad input
|
||||
if (this.operation > 3 && this.operation < 0) throw new Exception("Bad operation");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Evaluates the expression.
|
||||
/// </summary>
|
||||
/// <returns>an IValue with the result</returns>
|
||||
private IValue Evaluate() {
|
||||
IValue variable1 = this.variable1.Clone();
|
||||
IValue variable2 = this.variable2.Clone();
|
||||
IValue evaluatedValue = null;
|
||||
string outputType = variable1.GetOriginalType();
|
||||
|
||||
switch (outputType) {
|
||||
case "bool":
|
||||
//operations as standard for bool expressions eg
|
||||
// (a + b) => a or b, (a * b) => a and b, (a ^ b) => a xor b
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() || variable2.ToBool());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() ^ variable2.ToBool());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToBool() && variable2.ToBool());
|
||||
else if (operation == DIVIDE) throw new Exception("Bool cannot be divided");
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "int":
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() + variable2.ToInt());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() - variable2.ToInt());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() * variable2.ToInt());
|
||||
else if (operation == DIVIDE) evaluatedValue = ValueFactory.CreateValue(variable1.ToInt() / variable2.ToInt());
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "double":
|
||||
if (operation == ADD) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() + variable2.ToDouble());
|
||||
else if (operation == SUBTRACT) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() - variable2.ToDouble());
|
||||
else if (operation == MULTIPLY) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() * variable2.ToDouble());
|
||||
else if (operation == DIVIDE) evaluatedValue = ValueFactory.CreateValue(variable1.ToDouble() / variable2.ToDouble());
|
||||
else throw new Exception("Bad operation");
|
||||
break;
|
||||
|
||||
case "color":
|
||||
throw new Exception("Colors are immutable");
|
||||
}
|
||||
|
||||
return evaluatedValue;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes the expression
|
||||
/// </summary>
|
||||
/// <returns>A string description of the expression</returns>
|
||||
public string GetDescription() {
|
||||
string operation;
|
||||
switch (this.operation) {
|
||||
case ADD:
|
||||
operation = "added";
|
||||
break;
|
||||
|
||||
case SUBTRACT:
|
||||
operation = "subtracted";
|
||||
break;
|
||||
|
||||
case MULTIPLY:
|
||||
operation = "multiplied";
|
||||
break;
|
||||
|
||||
case DIVIDE:
|
||||
operation = "divided";
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Bad operation");
|
||||
}
|
||||
return "Expression of the variables " + variable1 + " and " + variable2 + " being " + operation;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the type of the expression
|
||||
/// </summary>
|
||||
/// <returns>"expression"</returns>
|
||||
public string GetOriginalType() {
|
||||
return "expression";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Expressions are always initialised
|
||||
/// </summary>
|
||||
/// <returns>true</returns>
|
||||
public bool IsInitialised() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the bool of the result
|
||||
/// </summary>
|
||||
/// <returns>bool value of the result</returns>
|
||||
public bool ToBool() {
|
||||
return Evaluate().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the color of the result
|
||||
/// </summary>
|
||||
/// <returns>color value of the result</returns>
|
||||
public Color ToColor() {
|
||||
return Evaluate().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the double value of the result
|
||||
/// </summary>
|
||||
/// <returns>double value of the result</returns>
|
||||
public double ToDouble() {
|
||||
return Evaluate().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the int of the result
|
||||
/// </summary>
|
||||
/// <returns>int value of the result</returns>
|
||||
public int ToInt() {
|
||||
return Evaluate().ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clones the value of the result
|
||||
/// </summary>
|
||||
/// <returns>A new IValue</returns>
|
||||
public IValue Clone() {
|
||||
return Evaluate();
|
||||
}
|
||||
}
|
||||
}
|
||||
+70
-70
@@ -1,71 +1,71 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class IntValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private readonly int value;
|
||||
|
||||
private bool doubleValueCacheAvaiable = false;
|
||||
private double doubleValueCache;
|
||||
|
||||
private bool boolValueCacheAvailable = false;
|
||||
private bool boolValueCache;
|
||||
|
||||
private bool colorValueCacheAvailable = false;
|
||||
private Color colorValueCache;
|
||||
|
||||
public IntValue(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "an integer value of " + value;
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "int";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
if (!boolValueCacheAvailable) {
|
||||
boolValueCache = value <= 0;
|
||||
boolValueCacheAvailable = true;
|
||||
}
|
||||
|
||||
return boolValueCache;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (!colorValueCacheAvailable) {
|
||||
byte[] bytes = BitConverter.GetBytes(value);
|
||||
Array.Reverse(bytes);
|
||||
colorValueCache = ValueHelper.IntsToColor(bytes[1], bytes[2], bytes[3], bytes[0]);
|
||||
colorValueCacheAvailable = true;
|
||||
}
|
||||
return colorValueCache;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
if (!doubleValueCacheAvaiable) {
|
||||
doubleValueCache = value;
|
||||
doubleValueCacheAvaiable = true;
|
||||
}
|
||||
return doubleValueCache;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new IntValue(value);
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
internal class IntValue : IValue {
|
||||
private readonly bool initialised = false;
|
||||
|
||||
private readonly int value;
|
||||
|
||||
private bool doubleValueCacheAvaiable = false;
|
||||
private double doubleValueCache;
|
||||
|
||||
private bool boolValueCacheAvailable = false;
|
||||
private bool boolValueCache;
|
||||
|
||||
private bool colorValueCacheAvailable = false;
|
||||
private Color colorValueCache;
|
||||
|
||||
public IntValue(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public string GetDescription() {
|
||||
return "an integer value of " + value;
|
||||
}
|
||||
|
||||
public string GetOriginalType() {
|
||||
return "int";
|
||||
}
|
||||
|
||||
public bool ToBool() {
|
||||
if (!boolValueCacheAvailable) {
|
||||
boolValueCache = value <= 0;
|
||||
boolValueCacheAvailable = true;
|
||||
}
|
||||
|
||||
return boolValueCache;
|
||||
}
|
||||
|
||||
public Color ToColor() {
|
||||
if (!colorValueCacheAvailable) {
|
||||
byte[] bytes = BitConverter.GetBytes(value);
|
||||
Array.Reverse(bytes);
|
||||
colorValueCache = ValueHelper.IntsToColor(bytes[1], bytes[2], bytes[3], bytes[0]);
|
||||
colorValueCacheAvailable = true;
|
||||
}
|
||||
return colorValueCache;
|
||||
}
|
||||
|
||||
public double ToDouble() {
|
||||
if (!doubleValueCacheAvaiable) {
|
||||
doubleValueCache = value;
|
||||
doubleValueCacheAvaiable = true;
|
||||
}
|
||||
return doubleValueCache;
|
||||
}
|
||||
|
||||
public int ToInt() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public bool IsInitialised() {
|
||||
return initialised;
|
||||
}
|
||||
|
||||
public IValue Clone() {
|
||||
return new IntValue(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
+95
-95
@@ -1,96 +1,96 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
/// <summary>
|
||||
/// Variable value is responsible for setting up values for <see cref="UpdateVariable"/> to then update
|
||||
/// </summary>
|
||||
public class VariableValue : IValue {
|
||||
private readonly ValueStorage storage;
|
||||
private readonly string variableName;
|
||||
|
||||
/// <summary>
|
||||
/// The new VariableValue
|
||||
/// </summary>
|
||||
/// <param name="storage">the storage to use</param>
|
||||
/// <param name="variableName">variable name</param>
|
||||
public VariableValue(ValueStorage storage, string variableName) {
|
||||
this.variableName = variableName;
|
||||
if (!storage.CheckVariableExists(variableName)) throw new Exception("Tried to access " + variableName + " before it was assigned. ");
|
||||
this.storage = storage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the variable value
|
||||
/// </summary>
|
||||
/// <returns><see cref="IValue"/></returns>
|
||||
private IValue Get() {
|
||||
return storage.GetVariable(variableName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the IValue
|
||||
/// </summary>
|
||||
/// <returns>description of the IValue</returns>
|
||||
public string GetDescription() {
|
||||
return Get().GetDescription();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the IValue
|
||||
/// </summary>
|
||||
/// <returns>original type of the IValue</returns>
|
||||
public string GetOriginalType() {
|
||||
return Get().GetOriginalType();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the initialised state of the IValue
|
||||
/// </summary>
|
||||
/// <returns>initialised state of the IValue</returns>
|
||||
public bool IsInitialised() {
|
||||
return Get().IsInitialised();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a boolean
|
||||
/// </summary>
|
||||
/// <returns>Boolean value of the IValue</returns>
|
||||
public bool ToBool() {
|
||||
return Get().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a color
|
||||
/// </summary>
|
||||
/// <returns>Color value of the IValue</returns>
|
||||
public Color ToColor() {
|
||||
return Get().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a double
|
||||
/// </summary>
|
||||
/// <returns>Double value of the IValue</returns>
|
||||
public double ToDouble() {
|
||||
return Get().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to an integer
|
||||
/// </summary>
|
||||
/// <returns>Int value of the IValue</returns>
|
||||
public int ToInt() {
|
||||
return Get().ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clone the value and return it
|
||||
/// </summary>
|
||||
/// <returns>Cloned IValue</returns>
|
||||
public IValue Clone() {
|
||||
return Get().Clone();
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
||||
namespace Advanced_Software_Engineering.Verbs.Value.ValueTypes {
|
||||
|
||||
/// <summary>
|
||||
/// Variable value is responsible for setting up values for <see cref="UpdateVariable"/> to then update
|
||||
/// </summary>
|
||||
public class VariableValue : IValue {
|
||||
private readonly ValueStorage storage;
|
||||
private readonly string variableName;
|
||||
|
||||
/// <summary>
|
||||
/// The new VariableValue
|
||||
/// </summary>
|
||||
/// <param name="storage">the storage to use</param>
|
||||
/// <param name="variableName">variable name</param>
|
||||
public VariableValue(ValueStorage storage, string variableName) {
|
||||
this.variableName = variableName;
|
||||
if (!storage.CheckVariableExists(variableName)) throw new Exception("Tried to access " + variableName + " before it was assigned. ");
|
||||
this.storage = storage;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the variable value
|
||||
/// </summary>
|
||||
/// <returns><see cref="IValue"/></returns>
|
||||
private IValue Get() {
|
||||
return storage.GetVariable(variableName);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the description of the IValue
|
||||
/// </summary>
|
||||
/// <returns>description of the IValue</returns>
|
||||
public string GetDescription() {
|
||||
return Get().GetDescription();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the original type of the IValue
|
||||
/// </summary>
|
||||
/// <returns>original type of the IValue</returns>
|
||||
public string GetOriginalType() {
|
||||
return Get().GetOriginalType();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the initialised state of the IValue
|
||||
/// </summary>
|
||||
/// <returns>initialised state of the IValue</returns>
|
||||
public bool IsInitialised() {
|
||||
return Get().IsInitialised();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a boolean
|
||||
/// </summary>
|
||||
/// <returns>Boolean value of the IValue</returns>
|
||||
public bool ToBool() {
|
||||
return Get().ToBool();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a color
|
||||
/// </summary>
|
||||
/// <returns>Color value of the IValue</returns>
|
||||
public Color ToColor() {
|
||||
return Get().ToColor();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to a double
|
||||
/// </summary>
|
||||
/// <returns>Double value of the IValue</returns>
|
||||
public double ToDouble() {
|
||||
return Get().ToDouble();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts the IValue to an integer
|
||||
/// </summary>
|
||||
/// <returns>Int value of the IValue</returns>
|
||||
public int ToInt() {
|
||||
return Get().ToInt();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clone the value and return it
|
||||
/// </summary>
|
||||
/// <returns>Cloned IValue</returns>
|
||||
public IValue Clone() {
|
||||
return Get().Clone();
|
||||
}
|
||||
}
|
||||
}
|
||||
+366
-366
@@ -1,367 +1,367 @@
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs;
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs.Actions;
|
||||
using Advanced_Software_Engineering.Verbs.Flow;
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is responsible for creating Verbs.
|
||||
/// </summary>
|
||||
public class VerbFactory {
|
||||
|
||||
/// <summary>
|
||||
/// This function returns a IVerb from a command and drawer.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This factory is specifically useful since it automatically converts the parameters to what they should be.
|
||||
/// </remarks>
|
||||
/// <param name="drawer">The drawer to affect</param>
|
||||
/// <param name="fullCommand">The command as a string</param>
|
||||
/// <returns>A IVerb that maches the command</returns>
|
||||
public static IVerb MakeVerb(Drawer drawer, string fullCommand) {
|
||||
ValueStorage rootValueStorage = drawer.GetValueStorage();
|
||||
|
||||
List<IVerbChunk> verbChunks = drawer.verbChunks;
|
||||
if (verbChunks.Count == 0) verbChunks.Add(null);
|
||||
|
||||
int chunkDepth = verbChunks.Count - 1;
|
||||
IVerbChunk currentChunk = verbChunks[chunkDepth];
|
||||
|
||||
CommandAndParameterParserResult result = HelperFunctions.CommandAndParameterParser(fullCommand);
|
||||
|
||||
string command = result.GetCommand();
|
||||
if (command == null) return new NoOp();
|
||||
string[] commandParameters = result.GetParameters();
|
||||
if (command == null) throw new Exception("There is no command to process");
|
||||
|
||||
IVerb tmpVerb = null;
|
||||
bool parsed = false;
|
||||
|
||||
//check for names in directory
|
||||
if (rootValueStorage.CheckVariableExists(command)) {
|
||||
if (commandParameters.Length == 1) {
|
||||
tmpVerb = new UpdateVariable(rootValueStorage, command, commandParameters[0]);
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
} else throw new Exception(command + "needs something to be assigned to it");
|
||||
}
|
||||
|
||||
//process declarations
|
||||
if (!(commandParameters == null) && !parsed) {
|
||||
switch (command) {
|
||||
case "var":
|
||||
if (commandParameters.Length == 1) {
|
||||
tmpVerb = new DeclareVariable(rootValueStorage, commandParameters[0]);
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
} else throw new Exception(command + "s need to be initialised");
|
||||
|
||||
default:
|
||||
//assignment
|
||||
if (rootValueStorage.CheckVariableExists(command)) {
|
||||
string[] assignmentCommands = command.Split("="[0]);
|
||||
if (assignmentCommands.Length > 2) throw new Exception("Cannot have two assignments");
|
||||
tmpVerb = new UpdateVariable(rootValueStorage, assignmentCommands[0], ValueFactory.CreateValue(rootValueStorage, assignmentCommands[1]));
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Parse flow verbs
|
||||
switch (command) {
|
||||
case "if":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new IfChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new IfChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "while":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new WhileChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new WhileChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "for":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new ForChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new ForChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "def":
|
||||
if (drawer.verbChunkGeneratingMethod) throw new Exception("Cannot declare a method while declaring method");
|
||||
else if (chunkDepth != 0) throw new Exception("Cannot declare a method above root chunk"); //TODO, explain better
|
||||
else if (commandParameters.Length >= 1) {
|
||||
rootValueStorage.IncreaseStack();
|
||||
//All parameters
|
||||
DeclareVariable[] methodParameters = new DeclareVariable[] { };
|
||||
|
||||
//if assignments exist, make them
|
||||
if (commandParameters.Length > 1) {
|
||||
List<DeclareVariable> methodParameterList = new List<DeclareVariable>();
|
||||
for (int index = 1; index < commandParameters.Length; index++) {
|
||||
methodParameterList.Add(new DeclareVariable(rootValueStorage, commandParameters[index]));
|
||||
}
|
||||
methodParameters = methodParameterList.ToArray();
|
||||
}
|
||||
|
||||
//Get method name
|
||||
string methodName = commandParameters[0];
|
||||
|
||||
MethodChunk methodChunk = new MethodChunk(rootValueStorage, methodParameters);
|
||||
DeclareMethod declareMethod = new DeclareMethod(drawer, methodName);
|
||||
|
||||
drawer.Methods.Add(methodName, methodChunk);
|
||||
verbChunks.Add(declareMethod);
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!parsed) {
|
||||
List<IValue> parameters = new List<IValue>();
|
||||
if (!(commandParameters == null)) foreach (string parameter in commandParameters) {
|
||||
parameters.Add(ValueFactory.CreateValue(rootValueStorage, parameter));
|
||||
}
|
||||
|
||||
int parameterLength = parameters.Count;
|
||||
|
||||
//Check if method
|
||||
if (drawer.Methods.ContainsKey(command)) {
|
||||
MethodChunk methodChunk = drawer.Methods[command];
|
||||
string[] methodVariableNames = methodChunk.GetVariableNames().ToArray();
|
||||
|
||||
//Handle errors
|
||||
if (methodVariableNames.Length != parameterLength) throw new Exception("Method " + command + "Has an incorrect number of parameters");
|
||||
|
||||
/* So something like this:
|
||||
* def abc d
|
||||
* circle d
|
||||
*
|
||||
* abc 5
|
||||
*
|
||||
* would have to be translated into something like this
|
||||
* @increase stack
|
||||
* var d = 5 (of course in a higher stack)
|
||||
*
|
||||
* @run abc (abc doesn't increase it's own stack)
|
||||
*
|
||||
*/
|
||||
|
||||
// Update the values of the variables
|
||||
List<UpdateVariable> UpdateVariableList = new List<UpdateVariable>();
|
||||
for (int variableIndex = 0; variableIndex < methodVariableNames.Length; variableIndex++) {
|
||||
UpdateVariableList.Add(new UpdateVariable(rootValueStorage, methodVariableNames[variableIndex], parameters[variableIndex]));
|
||||
}
|
||||
|
||||
methodChunk.SetVariableValues(UpdateVariableList.ToArray());
|
||||
tmpVerb = methodChunk.DuplicateForExecution();
|
||||
}
|
||||
|
||||
//process drawing commands and extras
|
||||
else switch (command) {
|
||||
//Drawing commands
|
||||
case "move":
|
||||
case "moveto":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new MoveTo(drawer, new PointValue(parameters[0], parameters[1]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "drawto":
|
||||
case "line":
|
||||
case "lineto":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new DrawTo(drawer, new PointValue(parameters[0], parameters[1]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "regularpolygon":
|
||||
case "rp":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new RegularPolygon(drawer, parameters[0], parameters[1], new IntValue(0), new BoolValue(true));
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new RegularPolygon(drawer, parameters[0], parameters[1], parameters[2], new BoolValue(true));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "square":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new
|
||||
Square(drawer, parameters[0]);
|
||||
} else if (parameterLength == 2) {
|
||||
tmpVerb = new Square(drawer, parameters[0], parameters[1]);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "quadrilateral":
|
||||
//Check parameters
|
||||
if (parameterLength == 8) {
|
||||
tmpVerb = new Quadrilateral(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5]),
|
||||
new PointValue(parameters[6], parameters[7])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "rectangle":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new Rectangle(drawer, parameters[0], parameters[1]);
|
||||
} else if (parameterLength == 8) {
|
||||
tmpVerb = new Quadrilateral(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5]),
|
||||
new PointValue(parameters[6], parameters[7])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "circle":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new Circle(drawer, parameters[0]);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "triangle":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new
|
||||
Triangle(drawer, parameters[0]);
|
||||
} else if (parameterLength == 2) {
|
||||
tmpVerb = new
|
||||
Triangle(drawer, parameters[0], parameters[1]);
|
||||
} else if (parameterLength == 6) {
|
||||
tmpVerb = new Triangle(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "dot":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Dot(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "clear":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Clear(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "reset":
|
||||
case "resetpen":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new ResetPen(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "fillon":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Fill(drawer, true);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "filloff":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Fill(drawer, false);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "pen":
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new PenColor(drawer, parameters[0]);
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new PenColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2]));
|
||||
} else if (parameterLength == 4) {
|
||||
tmpVerb = new PenColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], parameters[3]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "fill":
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new FillColor(drawer, parameters[0]);
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new FillColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], new IntValue(255)));
|
||||
} else if (parameterLength == 4) {
|
||||
tmpVerb = new FillColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], parameters[3]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
//exit flow
|
||||
case "end":
|
||||
if (parameterLength == 0) {
|
||||
if (currentChunk == null) throw new Exception("Cannot end at root level"); //Todo, describe better
|
||||
verbChunks.Remove(currentChunk);
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
if (chunkDepth == 0) drawer.verbChunkGeneratingMethod = false;
|
||||
tmpVerb = currentChunk;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
rootValueStorage.DecreaseStack();
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown command or cannot parse");
|
||||
}
|
||||
}
|
||||
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
}
|
||||
}
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs;
|
||||
using Advanced_Software_Engineering.Verbs.DrawingVerbs.Actions;
|
||||
using Advanced_Software_Engineering.Verbs.Flow;
|
||||
using Advanced_Software_Engineering.Verbs.Value;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueObjects;
|
||||
using Advanced_Software_Engineering.Verbs.Value.ValueTypes;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is responsible for creating Verbs.
|
||||
/// </summary>
|
||||
public class VerbFactory {
|
||||
|
||||
/// <summary>
|
||||
/// This function returns a IVerb from a command and drawer.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This factory is specifically useful since it automatically converts the parameters to what they should be.
|
||||
/// </remarks>
|
||||
/// <param name="drawer">The drawer to affect</param>
|
||||
/// <param name="fullCommand">The command as a string</param>
|
||||
/// <returns>A IVerb that maches the command</returns>
|
||||
public static IVerb MakeVerb(Drawer drawer, string fullCommand) {
|
||||
ValueStorage rootValueStorage = drawer.GetValueStorage();
|
||||
|
||||
List<IVerbChunk> verbChunks = drawer.verbChunks;
|
||||
if (verbChunks.Count == 0) verbChunks.Add(null);
|
||||
|
||||
int chunkDepth = verbChunks.Count - 1;
|
||||
IVerbChunk currentChunk = verbChunks[chunkDepth];
|
||||
|
||||
CommandAndParameterParserResult result = HelperFunctions.CommandAndParameterParser(fullCommand);
|
||||
|
||||
string command = result.GetCommand();
|
||||
if (command == null) return new NoOp();
|
||||
string[] commandParameters = result.GetParameters();
|
||||
if (command == null) throw new Exception("There is no command to process");
|
||||
|
||||
IVerb tmpVerb = null;
|
||||
bool parsed = false;
|
||||
|
||||
//check for names in directory
|
||||
if (rootValueStorage.CheckVariableExists(command)) {
|
||||
if (commandParameters.Length == 1) {
|
||||
tmpVerb = new UpdateVariable(rootValueStorage, command, commandParameters[0]);
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
} else throw new Exception(command + "needs something to be assigned to it");
|
||||
}
|
||||
|
||||
//process declarations
|
||||
if (!(commandParameters == null) && !parsed) {
|
||||
switch (command) {
|
||||
case "var":
|
||||
if (commandParameters.Length == 1) {
|
||||
tmpVerb = new DeclareVariable(rootValueStorage, commandParameters[0]);
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
} else throw new Exception(command + "s need to be initialised");
|
||||
|
||||
default:
|
||||
//assignment
|
||||
if (rootValueStorage.CheckVariableExists(command)) {
|
||||
string[] assignmentCommands = command.Split("="[0]);
|
||||
if (assignmentCommands.Length > 2) throw new Exception("Cannot have two assignments");
|
||||
tmpVerb = new UpdateVariable(rootValueStorage, assignmentCommands[0], ValueFactory.CreateValue(rootValueStorage, assignmentCommands[1]));
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Parse flow verbs
|
||||
switch (command) {
|
||||
case "if":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new IfChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new IfChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "while":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new WhileChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new WhileChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "for":
|
||||
if (commandParameters.Length == 1) {
|
||||
verbChunks.Add(new ForChunk(rootValueStorage, ValueFactory.CreateValue(rootValueStorage, commandParameters[0])));
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else if (commandParameters.Length >= 2) { //single line if
|
||||
string commandAfterIf = fullCommand.Substring(fullCommand.IndexOf(",") + 1); // find the first ,
|
||||
IValue conditional = ValueFactory.CreateValue(rootValueStorage, commandParameters[0]); //make the conditional
|
||||
IVerb AfterIf = MakeVerb(drawer, commandAfterIf); //make the following command
|
||||
tmpVerb = new ForChunk(rootValueStorage, conditional, AfterIf); //Create the chunk
|
||||
parsed = true;
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "def":
|
||||
if (drawer.verbChunkGeneratingMethod) throw new Exception("Cannot declare a method while declaring method");
|
||||
else if (chunkDepth != 0) throw new Exception("Cannot declare a method above root chunk"); //TODO, explain better
|
||||
else if (commandParameters.Length >= 1) {
|
||||
rootValueStorage.IncreaseStack();
|
||||
//All parameters
|
||||
DeclareVariable[] methodParameters = new DeclareVariable[] { };
|
||||
|
||||
//if assignments exist, make them
|
||||
if (commandParameters.Length > 1) {
|
||||
List<DeclareVariable> methodParameterList = new List<DeclareVariable>();
|
||||
for (int index = 1; index < commandParameters.Length; index++) {
|
||||
methodParameterList.Add(new DeclareVariable(rootValueStorage, commandParameters[index]));
|
||||
}
|
||||
methodParameters = methodParameterList.ToArray();
|
||||
}
|
||||
|
||||
//Get method name
|
||||
string methodName = commandParameters[0];
|
||||
|
||||
MethodChunk methodChunk = new MethodChunk(rootValueStorage, methodParameters);
|
||||
DeclareMethod declareMethod = new DeclareMethod(drawer, methodName);
|
||||
|
||||
drawer.Methods.Add(methodName, methodChunk);
|
||||
verbChunks.Add(declareMethod);
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
parsed = true;
|
||||
tmpVerb = new NoOp();
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!parsed) {
|
||||
List<IValue> parameters = new List<IValue>();
|
||||
if (!(commandParameters == null)) foreach (string parameter in commandParameters) {
|
||||
parameters.Add(ValueFactory.CreateValue(rootValueStorage, parameter));
|
||||
}
|
||||
|
||||
int parameterLength = parameters.Count;
|
||||
|
||||
//Check if method
|
||||
if (drawer.Methods.ContainsKey(command)) {
|
||||
MethodChunk methodChunk = drawer.Methods[command];
|
||||
string[] methodVariableNames = methodChunk.GetVariableNames().ToArray();
|
||||
|
||||
//Handle errors
|
||||
if (methodVariableNames.Length != parameterLength) throw new Exception("Method " + command + "Has an incorrect number of parameters");
|
||||
|
||||
/* So something like this:
|
||||
* def abc d
|
||||
* circle d
|
||||
*
|
||||
* abc 5
|
||||
*
|
||||
* would have to be translated into something like this
|
||||
* @increase stack
|
||||
* var d = 5 (of course in a higher stack)
|
||||
*
|
||||
* @run abc (abc doesn't increase it's own stack)
|
||||
*
|
||||
*/
|
||||
|
||||
// Update the values of the variables
|
||||
List<UpdateVariable> UpdateVariableList = new List<UpdateVariable>();
|
||||
for (int variableIndex = 0; variableIndex < methodVariableNames.Length; variableIndex++) {
|
||||
UpdateVariableList.Add(new UpdateVariable(rootValueStorage, methodVariableNames[variableIndex], parameters[variableIndex]));
|
||||
}
|
||||
|
||||
methodChunk.SetVariableValues(UpdateVariableList.ToArray());
|
||||
tmpVerb = methodChunk.DuplicateForExecution();
|
||||
}
|
||||
|
||||
//process drawing commands and extras
|
||||
else switch (command) {
|
||||
//Drawing commands
|
||||
case "move":
|
||||
case "moveto":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new MoveTo(drawer, new PointValue(parameters[0], parameters[1]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "drawto":
|
||||
case "line":
|
||||
case "lineto":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new DrawTo(drawer, new PointValue(parameters[0], parameters[1]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "regularpolygon":
|
||||
case "rp":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new RegularPolygon(drawer, parameters[0], parameters[1], new IntValue(0), new BoolValue(true));
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new RegularPolygon(drawer, parameters[0], parameters[1], parameters[2], new BoolValue(true));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "square":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new
|
||||
Square(drawer, parameters[0]);
|
||||
} else if (parameterLength == 2) {
|
||||
tmpVerb = new Square(drawer, parameters[0], parameters[1]);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "quadrilateral":
|
||||
//Check parameters
|
||||
if (parameterLength == 8) {
|
||||
tmpVerb = new Quadrilateral(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5]),
|
||||
new PointValue(parameters[6], parameters[7])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "rectangle":
|
||||
//Check parameters
|
||||
if (parameterLength == 2) {
|
||||
tmpVerb = new Rectangle(drawer, parameters[0], parameters[1]);
|
||||
} else if (parameterLength == 8) {
|
||||
tmpVerb = new Quadrilateral(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5]),
|
||||
new PointValue(parameters[6], parameters[7])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "circle":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new Circle(drawer, parameters[0]);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "triangle":
|
||||
//Check parameters
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new
|
||||
Triangle(drawer, parameters[0]);
|
||||
} else if (parameterLength == 2) {
|
||||
tmpVerb = new
|
||||
Triangle(drawer, parameters[0], parameters[1]);
|
||||
} else if (parameterLength == 6) {
|
||||
tmpVerb = new Triangle(drawer,
|
||||
new PointValue(parameters[0], parameters[1]),
|
||||
new PointValue(parameters[2], parameters[3]),
|
||||
new PointValue(parameters[4], parameters[5])
|
||||
);
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "dot":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Dot(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "clear":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Clear(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "reset":
|
||||
case "resetpen":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new ResetPen(drawer);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "fillon":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Fill(drawer, true);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "filloff":
|
||||
if (parameterLength == 0) {
|
||||
tmpVerb = new Fill(drawer, false);
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
case "pen":
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new PenColor(drawer, parameters[0]);
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new PenColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2]));
|
||||
} else if (parameterLength == 4) {
|
||||
tmpVerb = new PenColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], parameters[3]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
case "fill":
|
||||
if (parameterLength == 1) {
|
||||
tmpVerb = new FillColor(drawer, parameters[0]);
|
||||
} else if (parameterLength == 3) {
|
||||
tmpVerb = new FillColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], new IntValue(255)));
|
||||
} else if (parameterLength == 4) {
|
||||
tmpVerb = new FillColor(drawer, new ColorValue(parameters[0], parameters[1], parameters[2], parameters[3]));
|
||||
} else throw new Exception(command + " has an incorrect number of parameters");
|
||||
break;
|
||||
|
||||
//exit flow
|
||||
case "end":
|
||||
if (parameterLength == 0) {
|
||||
if (currentChunk == null) throw new Exception("Cannot end at root level"); //Todo, describe better
|
||||
verbChunks.Remove(currentChunk);
|
||||
chunkDepth = verbChunks.Count - 1;
|
||||
if (chunkDepth == 0) drawer.verbChunkGeneratingMethod = false;
|
||||
tmpVerb = currentChunk;
|
||||
currentChunk = verbChunks[chunkDepth];
|
||||
rootValueStorage.DecreaseStack();
|
||||
} else throw new Exception(command + " doesn't take parameters");
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Exception("Unknown command or cannot parse");
|
||||
}
|
||||
}
|
||||
|
||||
if (chunkDepth == 0) return tmpVerb;
|
||||
currentChunk.AddVerb(tmpVerb);
|
||||
return new NoOp();
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+114
-114
@@ -1,115 +1,115 @@
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code
|
||||
/// </summary>
|
||||
partial class About_Window
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About_Window));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(196, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Advanced Software Engineering Project";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 26);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(235, 13);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Drawing Programming Language Implementation";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(253, 26);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(35, 13);
|
||||
this.label3.TabIndex = 1;
|
||||
this.label3.Text = "Part 1";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(13, 63);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(160, 13);
|
||||
this.label4.TabIndex = 2;
|
||||
this.label4.Text = "Programming by Lukasz Baldyga";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(15, 89);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(143, 13);
|
||||
this.label5.TabIndex = 3;
|
||||
this.label5.Text = "Icons by Sorana Ioana Marin";
|
||||
//
|
||||
// About_Window
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(312, 206);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "About_Window";
|
||||
this.Text = "About";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.About_Window_FormClosed);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
}
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code
|
||||
/// </summary>
|
||||
partial class About_Window
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About_Window));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(196, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Advanced Software Engineering Project";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(12, 26);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(235, 13);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "Drawing Programming Language Implementation";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(253, 26);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(35, 13);
|
||||
this.label3.TabIndex = 1;
|
||||
this.label3.Text = "Part 1";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(13, 63);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(160, 13);
|
||||
this.label4.TabIndex = 2;
|
||||
this.label4.Text = "Programming by Lukasz Baldyga";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(15, 89);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(143, 13);
|
||||
this.label5.TabIndex = 3;
|
||||
this.label5.Text = "Icons by Sorana Ioana Marin";
|
||||
//
|
||||
// About_Window
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(312, 206);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "About_Window";
|
||||
this.Text = "About";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.About_Window_FormClosed);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
}
|
||||
}
|
||||
+23
-23
@@ -1,24 +1,24 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
partial class About_Window : Form {
|
||||
|
||||
///<summary>
|
||||
///Creates an About Window which shows details about the program.
|
||||
///</summary>
|
||||
public About_Window() {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When the form closes, the window count should be updated which this function is responsible for.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void About_Window_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
MenuManager.WindowClosed();
|
||||
}
|
||||
}
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
partial class About_Window : Form {
|
||||
|
||||
///<summary>
|
||||
///Creates an About Window which shows details about the program.
|
||||
///</summary>
|
||||
public About_Window() {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When the form closes, the window count should be updated which this function is responsible for.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void About_Window_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
MenuManager.WindowClosed();
|
||||
}
|
||||
}
|
||||
}
|
||||
+196
-196
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+605
-605
File diff suppressed because it is too large.
Load diff
+16
-16
@@ -1,17 +1,17 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is resposible for the command help window. The command help window shows help for the commands.
|
||||
/// </summary>
|
||||
public partial class CommandHelp : Form {
|
||||
|
||||
/// <summary>
|
||||
/// Initilize CommandHelp.
|
||||
/// </summary>
|
||||
public CommandHelp() {
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This class is resposible for the command help window. The command help window shows help for the commands.
|
||||
/// </summary>
|
||||
public partial class CommandHelp : Form {
|
||||
|
||||
/// <summary>
|
||||
/// Initilize CommandHelp.
|
||||
/// </summary>
|
||||
public CommandHelp() {
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
+196
-196
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+62
-62
@@ -1,63 +1,63 @@
|
||||
namespace Advanced_Software_Engineering {
|
||||
partial class DetailsWindow {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DetailsWindow));
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.textBox1.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ReadOnly = true;
|
||||
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.textBox1.Size = new System.Drawing.Size(365, 405);
|
||||
this.textBox1.TabIndex = 0;
|
||||
//
|
||||
// DetailsWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(365, 405);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "DetailsWindow";
|
||||
this.Text = "Details";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
}
|
||||
namespace Advanced_Software_Engineering {
|
||||
partial class DetailsWindow {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DetailsWindow));
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.textBox1.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ReadOnly = true;
|
||||
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.textBox1.Size = new System.Drawing.Size(365, 405);
|
||||
this.textBox1.TabIndex = 0;
|
||||
//
|
||||
// DetailsWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(365, 405);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "DetailsWindow";
|
||||
this.Text = "Details";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
}
|
||||
}
|
||||
+29
-29
@@ -1,30 +1,30 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This form is reponsible for showing details. It is essentially a textbox in a form.
|
||||
/// </summary>
|
||||
public partial class DetailsWindow : Form {
|
||||
|
||||
/// <summary>
|
||||
/// A details window dedicated to showing details.
|
||||
/// </summary>
|
||||
/// <param name="details">The textbox text</param>
|
||||
public DetailsWindow(string details) {
|
||||
InitializeComponent();
|
||||
textBox1.Text = details;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A details window that shows details in the textbox and title as the window title.
|
||||
/// </summary>
|
||||
/// <param name="details">the details to be shown in the textbox</param>
|
||||
/// <param name="title">the title of the window</param>
|
||||
public DetailsWindow(string details, string title) {
|
||||
InitializeComponent();
|
||||
textBox1.Text = details;
|
||||
Text = title;
|
||||
}
|
||||
}
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// This form is reponsible for showing details. It is essentially a textbox in a form.
|
||||
/// </summary>
|
||||
public partial class DetailsWindow : Form {
|
||||
|
||||
/// <summary>
|
||||
/// A details window dedicated to showing details.
|
||||
/// </summary>
|
||||
/// <param name="details">The textbox text</param>
|
||||
public DetailsWindow(string details) {
|
||||
InitializeComponent();
|
||||
textBox1.Text = details;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A details window that shows details in the textbox and title as the window title.
|
||||
/// </summary>
|
||||
/// <param name="details">the details to be shown in the textbox</param>
|
||||
/// <param name="title">the title of the window</param>
|
||||
public DetailsWindow(string details, string title) {
|
||||
InitializeComponent();
|
||||
textBox1.Text = details;
|
||||
Text = title;
|
||||
}
|
||||
}
|
||||
}
|
||||
+196
-196
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+97
-97
@@ -1,98 +1,98 @@
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto Generated Code
|
||||
/// </summary>
|
||||
partial class Draw_Preview
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Draw_Preview));
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.button1.Location = new System.Drawing.Point(455, 480);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(83, 22);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "Submit";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.SubmitCommand);
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 481);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(449, 20);
|
||||
this.textBox1.TabIndex = 1;
|
||||
this.textBox1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.textBox1_PreviewKeyDown);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(537, 474);
|
||||
this.panel1.TabIndex = 2;
|
||||
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawPreviewPane_Paint);
|
||||
//
|
||||
// Draw_Preview
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(537, 501);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "Draw_Preview";
|
||||
this.Text = "Draw Preview";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.DrawPreview_FormClosed);
|
||||
this.ResizeEnd += new System.EventHandler(this.DrawPreviewPane_Paint);
|
||||
this.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawPreviewPane_Paint);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto Generated Code
|
||||
/// </summary>
|
||||
partial class Draw_Preview
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Draw_Preview));
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.button1.Location = new System.Drawing.Point(455, 480);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(83, 22);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "Submit";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.SubmitCommand);
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 481);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(449, 20);
|
||||
this.textBox1.TabIndex = 1;
|
||||
this.textBox1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.textBox1_PreviewKeyDown);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(537, 474);
|
||||
this.panel1.TabIndex = 2;
|
||||
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawPreviewPane_Paint);
|
||||
//
|
||||
// Draw_Preview
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(537, 501);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "Draw_Preview";
|
||||
this.Text = "Draw Preview";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.DrawPreview_FormClosed);
|
||||
this.ResizeEnd += new System.EventHandler(this.DrawPreviewPane_Paint);
|
||||
this.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawPreviewPane_Paint);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
}
|
||||
+114
-114
@@ -1,115 +1,115 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class Draw_Preview : Form {
|
||||
private Graphics graphics;
|
||||
private readonly Commander commander;
|
||||
private bool pardonCommands;
|
||||
|
||||
/// <summary>
|
||||
/// The draw preview window. Spawns the basic DrawPreview.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This window is responsible for showing what has been drawn.
|
||||
/// </remarks>
|
||||
public Draw_Preview() {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
graphics = panel1.CreateGraphics();
|
||||
graphics.ResetClip();
|
||||
commander = new Commander(graphics);
|
||||
pardonCommands = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The draw preview window. Spawns the DrawPreview with commands locked.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This window is responsible for showing what has been drawn.
|
||||
/// </remarks>
|
||||
public Draw_Preview(string commands) {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
graphics = panel1.CreateGraphics();
|
||||
graphics.ResetClip();
|
||||
commander = new Commander(graphics, commands);
|
||||
pardonCommands = false;
|
||||
//disable components
|
||||
textBox1.Enabled = false;
|
||||
button1.Enabled = false;
|
||||
}
|
||||
|
||||
private void DrawPreview_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
MenuManager.WindowClosed();
|
||||
Dispose();
|
||||
}
|
||||
|
||||
private void DrawPreviewPane_Paint(object sender, EventArgs e) {
|
||||
DrawPreviewPane_Paint(sender, null);
|
||||
}
|
||||
|
||||
private void DrawPreviewPane_Paint(object sender, PaintEventArgs e) {
|
||||
graphics = panel1.CreateGraphics();
|
||||
commander.DrawAllCommands(graphics);
|
||||
}
|
||||
|
||||
private void SubmitCommand(object sender, EventArgs e) {
|
||||
commander.ProcessCommandsAndExecute(textBox1.Text, pardonCommands);
|
||||
textBox1.Text = "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Submit commands to the commander to execute on the form.
|
||||
/// </summary>
|
||||
/// <param name="comamnds">Commands seperated by new lines</param>
|
||||
public void SubmitCommands(string comamnds) {
|
||||
commander.ProcessCommandsAndExecute(comamnds, pardonCommands);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes all the commands from the form
|
||||
/// </summary>
|
||||
public void RemoveAllCommands() {
|
||||
commander.RemoveAllCommands();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables the textbox and submit button to allow the user to interract with the preview directly
|
||||
/// </summary>
|
||||
public void ReleaseCommandLock() {
|
||||
textBox1.Enabled = true;
|
||||
button1.Enabled = true;
|
||||
pardonCommands = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes all of the current commands stored inside commander.
|
||||
/// </summary>
|
||||
/// <returns>A string with all the command descriptions</returns>
|
||||
public string DescribeAllCommands() {
|
||||
return commander.ExplainCommands();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns weather there were any errors in the commander.
|
||||
/// </summary>
|
||||
/// <returns>A boolean describing the success of command phrasing</returns>
|
||||
public bool IsSuccess() {
|
||||
return commander.GetLastStatus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Submits the form
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
|
||||
if (e.KeyCode == Keys.Enter && textBox1.Enabled) {
|
||||
button1.PerformClick();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class Draw_Preview : Form {
|
||||
private Graphics graphics;
|
||||
private readonly Commander commander;
|
||||
private bool pardonCommands;
|
||||
|
||||
/// <summary>
|
||||
/// The draw preview window. Spawns the basic DrawPreview.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This window is responsible for showing what has been drawn.
|
||||
/// </remarks>
|
||||
public Draw_Preview() {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
graphics = panel1.CreateGraphics();
|
||||
graphics.ResetClip();
|
||||
commander = new Commander(graphics);
|
||||
pardonCommands = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The draw preview window. Spawns the DrawPreview with commands locked.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This window is responsible for showing what has been drawn.
|
||||
/// </remarks>
|
||||
public Draw_Preview(string commands) {
|
||||
InitializeComponent();
|
||||
MenuManager.NumberOfWindows++;
|
||||
graphics = panel1.CreateGraphics();
|
||||
graphics.ResetClip();
|
||||
commander = new Commander(graphics, commands);
|
||||
pardonCommands = false;
|
||||
//disable components
|
||||
textBox1.Enabled = false;
|
||||
button1.Enabled = false;
|
||||
}
|
||||
|
||||
private void DrawPreview_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
MenuManager.WindowClosed();
|
||||
Dispose();
|
||||
}
|
||||
|
||||
private void DrawPreviewPane_Paint(object sender, EventArgs e) {
|
||||
DrawPreviewPane_Paint(sender, null);
|
||||
}
|
||||
|
||||
private void DrawPreviewPane_Paint(object sender, PaintEventArgs e) {
|
||||
graphics = panel1.CreateGraphics();
|
||||
commander.DrawAllCommands(graphics);
|
||||
}
|
||||
|
||||
private void SubmitCommand(object sender, EventArgs e) {
|
||||
commander.ProcessCommandsAndExecute(textBox1.Text, pardonCommands);
|
||||
textBox1.Text = "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Submit commands to the commander to execute on the form.
|
||||
/// </summary>
|
||||
/// <param name="comamnds">Commands seperated by new lines</param>
|
||||
public void SubmitCommands(string comamnds) {
|
||||
commander.ProcessCommandsAndExecute(comamnds, pardonCommands);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Removes all the commands from the form
|
||||
/// </summary>
|
||||
public void RemoveAllCommands() {
|
||||
commander.RemoveAllCommands();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables the textbox and submit button to allow the user to interract with the preview directly
|
||||
/// </summary>
|
||||
public void ReleaseCommandLock() {
|
||||
textBox1.Enabled = true;
|
||||
button1.Enabled = true;
|
||||
pardonCommands = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Describes all of the current commands stored inside commander.
|
||||
/// </summary>
|
||||
/// <returns>A string with all the command descriptions</returns>
|
||||
public string DescribeAllCommands() {
|
||||
return commander.ExplainCommands();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns weather there were any errors in the commander.
|
||||
/// </summary>
|
||||
/// <returns>A boolean describing the success of command phrasing</returns>
|
||||
public bool IsSuccess() {
|
||||
return commander.GetLastStatus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Submits the form
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
|
||||
if (e.KeyCode == Keys.Enter && textBox1.Enabled) {
|
||||
button1.PerformClick();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+196
-196
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+121
-121
@@ -1,122 +1,122 @@
|
||||
namespace Advanced_Software_Engineering {
|
||||
partial class ErrorWindow {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ErrorWindow));
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.ExitButton = new System.Windows.Forms.Button();
|
||||
this.ShowDetailsButton = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = global::Advanced_Software_Engineering.Properties.Resources.warning;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(6, 19);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(56, 60);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoEllipsis = true;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(68, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Error Name";
|
||||
//
|
||||
// ExitButton
|
||||
//
|
||||
this.ExitButton.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ExitButton.Location = new System.Drawing.Point(0, 127);
|
||||
this.ExitButton.Name = "ExitButton";
|
||||
this.ExitButton.Size = new System.Drawing.Size(336, 23);
|
||||
this.ExitButton.TabIndex = 1;
|
||||
this.ExitButton.Text = "Exit";
|
||||
this.ExitButton.UseVisualStyleBackColor = true;
|
||||
this.ExitButton.Click += new System.EventHandler(this.Exit_Click);
|
||||
//
|
||||
// ShowDetailsButton
|
||||
//
|
||||
this.ShowDetailsButton.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ShowDetailsButton.Location = new System.Drawing.Point(0, 104);
|
||||
this.ShowDetailsButton.Name = "ShowDetailsButton";
|
||||
this.ShowDetailsButton.Size = new System.Drawing.Size(336, 23);
|
||||
this.ShowDetailsButton.TabIndex = 5;
|
||||
this.ShowDetailsButton.Text = "Show Details";
|
||||
this.ShowDetailsButton.UseVisualStyleBackColor = true;
|
||||
this.ShowDetailsButton.Click += new System.EventHandler(this.ShowDescriptionButton_Click);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.AutoSize = true;
|
||||
this.groupBox1.Controls.Add(this.pictureBox1);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.groupBox1.Location = new System.Drawing.Point(0, 6);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(336, 98);
|
||||
this.groupBox1.TabIndex = 4;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Error";
|
||||
//
|
||||
// ErrorWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(336, 150);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.ShowDetailsButton);
|
||||
this.Controls.Add(this.ExitButton);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ErrorWindow";
|
||||
this.Text = "Error";
|
||||
this.Load += new System.EventHandler(this.ErrorWindow_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Button ExitButton;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button ShowDetailsButton;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
}
|
||||
namespace Advanced_Software_Engineering {
|
||||
partial class ErrorWindow {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ErrorWindow));
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.ExitButton = new System.Windows.Forms.Button();
|
||||
this.ShowDetailsButton = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = global::Advanced_Software_Engineering.Properties.Resources.warning;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(6, 19);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(56, 60);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoEllipsis = true;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(68, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Error Name";
|
||||
//
|
||||
// ExitButton
|
||||
//
|
||||
this.ExitButton.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ExitButton.Location = new System.Drawing.Point(0, 127);
|
||||
this.ExitButton.Name = "ExitButton";
|
||||
this.ExitButton.Size = new System.Drawing.Size(336, 23);
|
||||
this.ExitButton.TabIndex = 1;
|
||||
this.ExitButton.Text = "Exit";
|
||||
this.ExitButton.UseVisualStyleBackColor = true;
|
||||
this.ExitButton.Click += new System.EventHandler(this.Exit_Click);
|
||||
//
|
||||
// ShowDetailsButton
|
||||
//
|
||||
this.ShowDetailsButton.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.ShowDetailsButton.Location = new System.Drawing.Point(0, 104);
|
||||
this.ShowDetailsButton.Name = "ShowDetailsButton";
|
||||
this.ShowDetailsButton.Size = new System.Drawing.Size(336, 23);
|
||||
this.ShowDetailsButton.TabIndex = 5;
|
||||
this.ShowDetailsButton.Text = "Show Details";
|
||||
this.ShowDetailsButton.UseVisualStyleBackColor = true;
|
||||
this.ShowDetailsButton.Click += new System.EventHandler(this.ShowDescriptionButton_Click);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.AutoSize = true;
|
||||
this.groupBox1.Controls.Add(this.pictureBox1);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.groupBox1.Location = new System.Drawing.Point(0, 6);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(336, 98);
|
||||
this.groupBox1.TabIndex = 4;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Error";
|
||||
//
|
||||
// ErrorWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(336, 150);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.ShowDetailsButton);
|
||||
this.Controls.Add(this.ExitButton);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ErrorWindow";
|
||||
this.Text = "Error";
|
||||
this.Load += new System.EventHandler(this.ErrorWindow_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Button ExitButton;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button ShowDetailsButton;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
}
|
||||
}
|
||||
+114
-114
@@ -1,115 +1,115 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The error window that can show errors, warnings and messages.
|
||||
/// </summary>
|
||||
public partial class ErrorWindow : Form {
|
||||
private readonly string desc;
|
||||
|
||||
/// <summary>
|
||||
/// The error message type.
|
||||
/// </summary>
|
||||
public const int ERROR_MESSAGE = 0;
|
||||
|
||||
/// <summary>
|
||||
/// The warning message type
|
||||
/// </summary>
|
||||
public const int WARNING_MESSAGE = 1;
|
||||
|
||||
/// <summary>
|
||||
/// The info message type
|
||||
/// </summary>
|
||||
public const int INFO_MESSAGE = 2;
|
||||
|
||||
/// <summary>
|
||||
/// The image directory which links the message types to the image to display.
|
||||
/// </summary>
|
||||
protected Dictionary<int, Image> IMAGEDIR = new Dictionary<int, Image> {
|
||||
{ ERROR_MESSAGE, Properties.Resources.error },
|
||||
{ WARNING_MESSAGE, Properties.Resources.warning },
|
||||
{ INFO_MESSAGE, Properties.Resources.info }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The default error window constructor. Creates an error window with the title "Error", short description "An error has occured", a long description of "None" and message type of ERROR.
|
||||
/// </summary>
|
||||
public ErrorWindow() {
|
||||
InitializeComponent();
|
||||
this.Text = "Error";
|
||||
label1.Text = "An error has occured";
|
||||
desc = "None";
|
||||
|
||||
SetPicture(ERROR_MESSAGE);
|
||||
|
||||
Focus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The error window constructor.
|
||||
/// It is responsible for creating an error form which shows the user information depending on the parameters.
|
||||
/// </summary>
|
||||
/// <param name="title">Title of the window</param>
|
||||
/// <param name="brief">A brief description of the message</param>
|
||||
/// <param name="desc">A detailed description of the message</param>
|
||||
/// <param name="type">The type of message (can either be: ERROR_MESSAGE, WARNING_MESSAGE or INFO_MESSAGE</param>
|
||||
public ErrorWindow(string title, string brief, string desc, int type) {
|
||||
InitializeComponent();
|
||||
this.Text = title;
|
||||
label1.Text = brief;
|
||||
this.desc = desc;
|
||||
|
||||
SetPicture(type);
|
||||
|
||||
Focus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the picture of the window.
|
||||
/// </summary>
|
||||
/// <param name="type">The type of message (can either be: ERROR_MESSAGE, WARNING_MESSAGE or INFO_MESSAGE</param>
|
||||
public void SetPicture(int type) {
|
||||
pictureBox1.Image = IMAGEDIR[type];
|
||||
pictureBox1.Refresh();
|
||||
|
||||
switch (type) {
|
||||
case ERROR_MESSAGE:
|
||||
groupBox1.Text = "Error";
|
||||
break;
|
||||
|
||||
case WARNING_MESSAGE:
|
||||
groupBox1.Text = "Warning";
|
||||
break;
|
||||
|
||||
case INFO_MESSAGE:
|
||||
groupBox1.Text = "Info";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes the from.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void Exit_Click(object sender, EventArgs e) {
|
||||
Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Show description window.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void ShowDescriptionButton_Click(object sender, EventArgs e) {
|
||||
new DetailsWindow(desc).Show();
|
||||
}
|
||||
|
||||
private void ErrorWindow_Load(object sender, EventArgs e) {
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
/// <summary>
|
||||
/// The error window that can show errors, warnings and messages.
|
||||
/// </summary>
|
||||
public partial class ErrorWindow : Form {
|
||||
private readonly string desc;
|
||||
|
||||
/// <summary>
|
||||
/// The error message type.
|
||||
/// </summary>
|
||||
public const int ERROR_MESSAGE = 0;
|
||||
|
||||
/// <summary>
|
||||
/// The warning message type
|
||||
/// </summary>
|
||||
public const int WARNING_MESSAGE = 1;
|
||||
|
||||
/// <summary>
|
||||
/// The info message type
|
||||
/// </summary>
|
||||
public const int INFO_MESSAGE = 2;
|
||||
|
||||
/// <summary>
|
||||
/// The image directory which links the message types to the image to display.
|
||||
/// </summary>
|
||||
protected Dictionary<int, Image> IMAGEDIR = new Dictionary<int, Image> {
|
||||
{ ERROR_MESSAGE, Properties.Resources.error },
|
||||
{ WARNING_MESSAGE, Properties.Resources.warning },
|
||||
{ INFO_MESSAGE, Properties.Resources.info }
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The default error window constructor. Creates an error window with the title "Error", short description "An error has occured", a long description of "None" and message type of ERROR.
|
||||
/// </summary>
|
||||
public ErrorWindow() {
|
||||
InitializeComponent();
|
||||
this.Text = "Error";
|
||||
label1.Text = "An error has occured";
|
||||
desc = "None";
|
||||
|
||||
SetPicture(ERROR_MESSAGE);
|
||||
|
||||
Focus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The error window constructor.
|
||||
/// It is responsible for creating an error form which shows the user information depending on the parameters.
|
||||
/// </summary>
|
||||
/// <param name="title">Title of the window</param>
|
||||
/// <param name="brief">A brief description of the message</param>
|
||||
/// <param name="desc">A detailed description of the message</param>
|
||||
/// <param name="type">The type of message (can either be: ERROR_MESSAGE, WARNING_MESSAGE or INFO_MESSAGE</param>
|
||||
public ErrorWindow(string title, string brief, string desc, int type) {
|
||||
InitializeComponent();
|
||||
this.Text = title;
|
||||
label1.Text = brief;
|
||||
this.desc = desc;
|
||||
|
||||
SetPicture(type);
|
||||
|
||||
Focus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the picture of the window.
|
||||
/// </summary>
|
||||
/// <param name="type">The type of message (can either be: ERROR_MESSAGE, WARNING_MESSAGE or INFO_MESSAGE</param>
|
||||
public void SetPicture(int type) {
|
||||
pictureBox1.Image = IMAGEDIR[type];
|
||||
pictureBox1.Refresh();
|
||||
|
||||
switch (type) {
|
||||
case ERROR_MESSAGE:
|
||||
groupBox1.Text = "Error";
|
||||
break;
|
||||
|
||||
case WARNING_MESSAGE:
|
||||
groupBox1.Text = "Warning";
|
||||
break;
|
||||
|
||||
case INFO_MESSAGE:
|
||||
groupBox1.Text = "Info";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Closes the from.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void Exit_Click(object sender, EventArgs e) {
|
||||
Close();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Show description window.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void ShowDescriptionButton_Click(object sender, EventArgs e) {
|
||||
new DetailsWindow(desc).Show();
|
||||
}
|
||||
|
||||
private void ErrorWindow_Load(object sender, EventArgs e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
+196
-196
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+140
-140
@@ -1,140 +1,140 @@
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code.
|
||||
/// </summary>
|
||||
partial class Menu
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Menu));
|
||||
this.InteractivePreviewButton = new System.Windows.Forms.Button();
|
||||
this.TextEditorButton = new System.Windows.Forms.Button();
|
||||
this.AboutButton = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.ExitButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// InteractivePreviewButton
|
||||
//
|
||||
this.InteractivePreviewButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.InteractivePreviewButton.Location = new System.Drawing.Point(0, 26);
|
||||
this.InteractivePreviewButton.Name = "InteractivePreviewButton";
|
||||
this.InteractivePreviewButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.InteractivePreviewButton.TabIndex = 0;
|
||||
this.InteractivePreviewButton.Text = "Interactive Preview";
|
||||
this.InteractivePreviewButton.UseVisualStyleBackColor = true;
|
||||
this.InteractivePreviewButton.Click += new System.EventHandler(this.InteractivePreviewClick);
|
||||
//
|
||||
// TextEditorButton
|
||||
//
|
||||
this.TextEditorButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.TextEditorButton.Location = new System.Drawing.Point(0, 49);
|
||||
this.TextEditorButton.Name = "TextEditorButton";
|
||||
this.TextEditorButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.TextEditorButton.TabIndex = 0;
|
||||
this.TextEditorButton.Text = "Text Editor";
|
||||
this.TextEditorButton.UseVisualStyleBackColor = true;
|
||||
this.TextEditorButton.Click += new System.EventHandler(this.TextEditorClick);
|
||||
//
|
||||
// AboutButton
|
||||
//
|
||||
this.AboutButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.AboutButton.Location = new System.Drawing.Point(0, 72);
|
||||
this.AboutButton.Name = "AboutButton";
|
||||
this.AboutButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.AboutButton.TabIndex = 0;
|
||||
this.AboutButton.Text = "About";
|
||||
this.AboutButton.UseVisualStyleBackColor = true;
|
||||
this.AboutButton.Click += new System.EventHandler(this.AboutWindowClick);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label1.Location = new System.Drawing.Point(0, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(160, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Advanced Software Engineering";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label2.Location = new System.Drawing.Point(0, 13);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(88, 13);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "Drawing Program";
|
||||
//
|
||||
// ExitButton
|
||||
//
|
||||
this.ExitButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.ExitButton.Location = new System.Drawing.Point(0, 95);
|
||||
this.ExitButton.Name = "ExitButton";
|
||||
this.ExitButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.ExitButton.TabIndex = 0;
|
||||
this.ExitButton.Text = "Exit";
|
||||
this.ExitButton.UseVisualStyleBackColor = true;
|
||||
this.ExitButton.Click += new System.EventHandler(this.ExitClick);
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(172, 118);
|
||||
this.Controls.Add(this.ExitButton);
|
||||
this.Controls.Add(this.AboutButton);
|
||||
this.Controls.Add(this.TextEditorButton);
|
||||
this.Controls.Add(this.InteractivePreviewButton);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Menu";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.Text = "Menu";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button InteractivePreviewButton;
|
||||
private System.Windows.Forms.Button TextEditorButton;
|
||||
private System.Windows.Forms.Button AboutButton;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button ExitButton;
|
||||
}
|
||||
}
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code.
|
||||
/// </summary>
|
||||
partial class Menu
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Menu));
|
||||
this.InteractivePreviewButton = new System.Windows.Forms.Button();
|
||||
this.TextEditorButton = new System.Windows.Forms.Button();
|
||||
this.AboutButton = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.ExitButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// InteractivePreviewButton
|
||||
//
|
||||
this.InteractivePreviewButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.InteractivePreviewButton.Location = new System.Drawing.Point(0, 26);
|
||||
this.InteractivePreviewButton.Name = "InteractivePreviewButton";
|
||||
this.InteractivePreviewButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.InteractivePreviewButton.TabIndex = 0;
|
||||
this.InteractivePreviewButton.Text = "Interactive Preview";
|
||||
this.InteractivePreviewButton.UseVisualStyleBackColor = true;
|
||||
this.InteractivePreviewButton.Click += new System.EventHandler(this.InteractivePreviewClick);
|
||||
//
|
||||
// TextEditorButton
|
||||
//
|
||||
this.TextEditorButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.TextEditorButton.Location = new System.Drawing.Point(0, 49);
|
||||
this.TextEditorButton.Name = "TextEditorButton";
|
||||
this.TextEditorButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.TextEditorButton.TabIndex = 0;
|
||||
this.TextEditorButton.Text = "Text Editor";
|
||||
this.TextEditorButton.UseVisualStyleBackColor = true;
|
||||
this.TextEditorButton.Click += new System.EventHandler(this.TextEditorClick);
|
||||
//
|
||||
// AboutButton
|
||||
//
|
||||
this.AboutButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.AboutButton.Location = new System.Drawing.Point(0, 72);
|
||||
this.AboutButton.Name = "AboutButton";
|
||||
this.AboutButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.AboutButton.TabIndex = 0;
|
||||
this.AboutButton.Text = "About";
|
||||
this.AboutButton.UseVisualStyleBackColor = true;
|
||||
this.AboutButton.Click += new System.EventHandler(this.AboutWindowClick);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label1.Location = new System.Drawing.Point(0, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(160, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "Advanced Software Engineering";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.label2.Location = new System.Drawing.Point(0, 13);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(88, 13);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "Drawing Program";
|
||||
//
|
||||
// ExitButton
|
||||
//
|
||||
this.ExitButton.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.ExitButton.Location = new System.Drawing.Point(0, 95);
|
||||
this.ExitButton.Name = "ExitButton";
|
||||
this.ExitButton.Size = new System.Drawing.Size(172, 23);
|
||||
this.ExitButton.TabIndex = 0;
|
||||
this.ExitButton.Text = "Exit";
|
||||
this.ExitButton.UseVisualStyleBackColor = true;
|
||||
this.ExitButton.Click += new System.EventHandler(this.ExitClick);
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(172, 118);
|
||||
this.Controls.Add(this.ExitButton);
|
||||
this.Controls.Add(this.AboutButton);
|
||||
this.Controls.Add(this.TextEditorButton);
|
||||
this.Controls.Add(this.InteractivePreviewButton);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Menu";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.Text = "Menu";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button InteractivePreviewButton;
|
||||
private System.Windows.Forms.Button TextEditorButton;
|
||||
private System.Windows.Forms.Button AboutButton;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button ExitButton;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class Menu : Form {
|
||||
|
||||
/// <summary>
|
||||
/// This creates the main menu window you see when launching the program.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This program window is only meant to show at launch and when all of the other windows are closed. It launches all windows independently of each other, so a theoretically unlimited number of windows can exist.
|
||||
/// </remarks>
|
||||
public Menu() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InteractivePreviewClick(object sender, EventArgs e) {
|
||||
new Draw_Preview().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void TextEditorClick(object sender, EventArgs e) {
|
||||
new TextEditor().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void AboutWindowClick(object sender, EventArgs e) {
|
||||
new About_Window().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void ExitClick(object sender, EventArgs e) {
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class Menu : Form {
|
||||
|
||||
/// <summary>
|
||||
/// This creates the main menu window you see when launching the program.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This program window is only meant to show at launch and when all of the other windows are closed. It launches all windows independently of each other, so a theoretically unlimited number of windows can exist.
|
||||
/// </remarks>
|
||||
public Menu() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InteractivePreviewClick(object sender, EventArgs e) {
|
||||
new Draw_Preview().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void TextEditorClick(object sender, EventArgs e) {
|
||||
new TextEditor().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void AboutWindowClick(object sender, EventArgs e) {
|
||||
new About_Window().Show();
|
||||
this.Hide();
|
||||
}
|
||||
|
||||
private void ExitClick(object sender, EventArgs e) {
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,197 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
Mzx3S0r/cEAw/4JLL/95Qij/ZC8c/1AqLv86JzD/MBge/yYNFv8lChXlIAsTnRUGCHgdHQeLOEYPlVR7
|
||||
IJ11rjGhke46mZT/PCb///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///8CMSEhPpthXv+wdFT/qWhE/45WNP+OUS7/hkc1/2tRXv9SMTL/OxsY/zARF/8tDBn/JAkT/xoH
|
||||
C/8ZFQf/OEQQ/12CIP+KzzT/qv9H843/Q0z///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP8AgAIgGBxAgFVZ/Uc+Tf9YOi//yYNR/8B/Xf+yaUH/mm1w/3lNQf9YMBv/PBwX/0AV
|
||||
G/84Dh3/MAkZ/yEHEP8UCAb/KC0N/1NzIf96vjP9kehC0////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAiMRFyxkPUT/pIN//8SNaP/pq4L/4Ztw/9ONZP/Dl5X/kmI7/4JR
|
||||
LP9eOB7/PRwX/z4RFP8/DBn/MQcV/yoHE/8dBwz/ISAL/z5VH71GohcWAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACORwrEj8nLvnltqr//uzf//rJrv/xsYv/7bGT/9uw
|
||||
qv+xf1T/o3VB/4dhMf91Tib/SiQZ/z4SE/9BChD/OQoX/zQLG/8nCRLzKhEiHgD/gAIAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AIACQB8o28aDc///0ab//9Cs//zJ
|
||||
qv/52dD/5ryq/+DBvv+7lXb/vo5L/5x3O/+KZTT/Wzci/0cZFf9DDQz/OwsR/zgMGf8yDBnNMzMzCgAA
|
||||
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AgAI4GyanqmVf//7N
|
||||
qP/+48z//dnC//vj3P/04+P/7tzc/9/P1f+3lG7/v5dQ/6qHRv+ZdDv/Xzkl/2AoG/9OGBD/QAwO/zYL
|
||||
F/8zDhqR/wCAAoD/AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wCAAiYU
|
||||
HGRfNDr/36GO//W7nP/6ya7/+tXF//ba0P/lzdD/077E/8y7xv+/pJH/06pc/7OQSf94VTz/eUcr/2s1
|
||||
IP9PHhH/PwwM/zUKGP0lDRJ0PTcSKoC/gASA/wACAP+AAoD/AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD/AIACMCAoIDkfKf2LW2f/poaa/6GDkv+3jY7/uJSW/7SSlf/cy9r/7t7j/+zS0P/VsZ//w6F9/7mG
|
||||
dP+jbU3/hU4v/2k1H/9SIRT/PQsN/zAKFP8uMRH/QVUj6UuEILc/lRNqTb8aFAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP///wJFMUGRLBoq/04rNv+HYnn/jm2R/5FzjP+cfIT/w5iV//Xb0//66On/9NrX/+nA
|
||||
rf/mwLH/xI+A/6BtV/+la03/iFAy/2w2If9OHBL/OQkR/yELCv87Rhr/Unsp/2y1L/+K9DfpgP9JDoD/
|
||||
AAIAAAAAAAAAAAAAAAD///8CgHWGfmdZY/8xIzP/MR0p/1s0Qv+OYYD/oXiR/9Wdk//5073//eDP//7p
|
||||
3v/407//78Wu/7iOe/+BVkv/wol9/7+Dav+iakn/hk8w/2YyHv9GEQ7/LwkS/y0yEv9diiz/fN8p/4n7
|
||||
L+2f30AIgP8AAgAAAAAAAAAA////ApqKnHSim6j/iXyK/1VHUP8zIDP/Nh8r/5BJVf/2spf//tCn///e
|
||||
w//+5NH//tvE/+q/qP+rhXr/jWxi/8aYhv/iqp//156O/8WNcP+qblT/hUwx/2ErHP84Cw3/HRUL/0lm
|
||||
HP+X4Tb/rv1Nfv///wIAAAAAAAAAAAAAAADYzdMu5d3p+5yRn/+PiJT/dm56/1RDTv81IDX/QSUx/6pd
|
||||
Xv/8yqr//s+p//DHsv/Jopj/oIKE/6GCgP/YsZz/+NO+//HBp//puqr/26qS/6ByXv+TXkH/hEgw/1Ae
|
||||
Ff8tCQmjSF0ePKjkPCYAAAAAAAAAAAAAAAAAAAAAAAAAAP///x7RxdDv1MzZ/5ySn/+YkJv/eGt1/1tF
|
||||
VP9DLD3/NR8u/39BSv+sboH/lW6Q/494kv+mi4//5MGu//7lz//+3cP//NS4/+/Eqf+uh3T/k21b/7h8
|
||||
Yv+hY0v/ajQk/zoRDrOAQAAE////AgAAAAAAAAAAAAAAAAAAAAAAAAAA////Avv7+z7QyNHr3Nfi/42E
|
||||
j/+Ujpv/em52/2VQX/9EMT//NCEv/1AwPv+TXnX/xoSF//XIq//+48v//ufU//7hyv/lvqj/q4R6/556
|
||||
bP/muaH/1px//8V/aP+PTjz/Rx8U+zseFTz/gAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av//
|
||||
/yDOws3B8u32/351g/+1rLT/fnB8/1JCUf9ZRFP/NSI1/0IqN/+fVFD/5KKJ/+q2o//Zr6X/vJKS/6GE
|
||||
i/+zj4r/8sep//zOsP/0vaP/2pN8/6hgTv9iLSH/QygW32ZmJhT//wACAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////Av///wTb0dtk3tXb58e8yf+2r7v/Zlxo/3Zmc/9ZR1b/Nyk5/1M8W/9ILUbpgFJp34Jc
|
||||
hP+XdZL/1Kaa//zZv//+4MX//tW5/+WzoP/SjoD/0H1u/5pQQv9bOx7/hJAlv5e/MCD//wACgP8AAgAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///8Q6N3jeNLN1eXDvcr/rKCt/6OUpvlDPFK3WUlmUIBV
|
||||
lQxPNENUMiAq/2c6P/+jcmD/wZeH/8KTj/+4hIr/1ZuP//zIrv/vppD/um1h/49kRf+rqzT/t9Az+6PH
|
||||
J9F6sB2lX6kYdGqqKhgAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///8CzMzMCu3q9la/tsRw18/fIP//
|
||||
/wL///8C////Am1VWypONTz/Ty00/0MoKv8tISX/KyEp/0wwM/+lcWKz1Kd/xbeVb//Dnnz/3dhq/9Hr
|
||||
S/+9zjn/rMku/bXtMf2s/T+djvE5EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C////AgAA
|
||||
AAD///8CAAAAAAAAAAAAAAAAmZmZCmJPT/FYQDj/dktK/2FFSv9CLSn/hmh3/2lHTYH///8ClZVFduHm
|
||||
aP/U+FD/vuE+/7jZNP++7jbjxfs2Qv///wL//wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Cr6G0yXVhTf/Gs7r/1cPT88m3vbm9j5Jw0bncFv//
|
||||
/wKfqlUYrLpG+cjmQv+85zX/vvI12c7/Thr///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wLh3exEvaeldM60v0T///8O////AgAA
|
||||
AAD///8CAAAAAP///wK95DnJyOxC/cf8OPXR/0Ys////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av//
|
||||
/wIAAAAAAAAAAAAAAAAAAAAA////AprQMIm58zn/yv88av///wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wACd70wOqTsNZX///8CAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA///////////x////4L///4AP//+AAgf/gAAD/4AAAf+AAAH/gAAD/4AA
|
||||
A//AAAH/wAAA/8AAAA/AAAAPwAAAA4AAAAMAAAAHAAAAHwAAAB8AAAAfgAAAD8AAAAPwAAAA+AAAAP5c
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+236
-236
@@ -1,237 +1,237 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code
|
||||
/// </summary>
|
||||
partial class TextEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextEditor));
|
||||
this.TextBox = new System.Windows.Forms.TextBox();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.newFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.checkSyntaxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.describeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.SavedLabelTimer = new System.Windows.Forms.Timer(this.components);
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TextBox
|
||||
//
|
||||
this.TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.TextBox.Font = new System.Drawing.Font("Lucida Console", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.TextBox.Location = new System.Drawing.Point(0, 23);
|
||||
this.TextBox.Multiline = true;
|
||||
this.TextBox.Name = "TextBox";
|
||||
this.TextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.TextBox.Size = new System.Drawing.Size(602, 509);
|
||||
this.TextBox.TabIndex = 0;
|
||||
this.TextBox.WordWrap = false;
|
||||
this.TextBox.Click += new System.EventHandler(this.TextBoxClick);
|
||||
this.TextBox.TextChanged += new System.EventHandler(this.HandleKeypress);
|
||||
this.TextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
|
||||
this.TextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.TextBox_KeyUp);
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.runToolStripMenuItem,
|
||||
this.checkSyntaxToolStripMenuItem,
|
||||
this.describeToolStripMenuItem,
|
||||
this.helpToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(602, 24);
|
||||
this.menuStrip1.TabIndex = 1;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.newFileToolStripMenuItem,
|
||||
this.openToolStripMenuItem,
|
||||
this.saveToolStripMenuItem,
|
||||
this.saveAsToolStripMenuItem,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// newFileToolStripMenuItem
|
||||
//
|
||||
this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem";
|
||||
this.newFileToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.newFileToolStripMenuItem.Text = "New File (Ctrl + N)";
|
||||
this.newFileToolStripMenuItem.Click += new System.EventHandler(this.NewFileToolStripMenuItem_Click);
|
||||
//
|
||||
// openToolStripMenuItem
|
||||
//
|
||||
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
|
||||
this.openToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.openToolStripMenuItem.Text = "Open (Ctrl + O)";
|
||||
this.openToolStripMenuItem.Click += new System.EventHandler(this.OpenToolStripMenuItem_Click);
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.saveToolStripMenuItem.Text = "Save (Ctrl + S)";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItem_Click);
|
||||
//
|
||||
// saveAsToolStripMenuItem
|
||||
//
|
||||
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
|
||||
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.saveAsToolStripMenuItem.Text = "Save As (Ctrl + Shift + S)";
|
||||
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.SaveAsToolStripMenuItem_Click);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.exitToolStripMenuItem.Text = "Exit (Alt + F4)";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItem_Click);
|
||||
//
|
||||
// runToolStripMenuItem
|
||||
//
|
||||
this.runToolStripMenuItem.Name = "runToolStripMenuItem";
|
||||
this.runToolStripMenuItem.Size = new System.Drawing.Size(63, 20);
|
||||
this.runToolStripMenuItem.Text = "Run (F5)";
|
||||
this.runToolStripMenuItem.Click += new System.EventHandler(this.RunToolStripMenuItem_Click);
|
||||
//
|
||||
// checkSyntaxToolStripMenuItem
|
||||
//
|
||||
this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem";
|
||||
this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(151, 20);
|
||||
this.checkSyntaxToolStripMenuItem.Text = "Check Syntax (Shift + F5)";
|
||||
this.checkSyntaxToolStripMenuItem.Click += new System.EventHandler(this.CheckSyntaxToolStripMenuItem_Click);
|
||||
//
|
||||
// describeToolStripMenuItem
|
||||
//
|
||||
this.describeToolStripMenuItem.Name = "describeToolStripMenuItem";
|
||||
this.describeToolStripMenuItem.Size = new System.Drawing.Size(125, 20);
|
||||
this.describeToolStripMenuItem.Text = "Describe (Shift + F1)";
|
||||
this.describeToolStripMenuItem.Click += new System.EventHandler(this.DescribeToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem,
|
||||
this.helpToolStripMenuItem1});
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
|
||||
this.aboutToolStripMenuItem.Text = "About";
|
||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem1
|
||||
//
|
||||
this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
|
||||
this.helpToolStripMenuItem1.Size = new System.Drawing.Size(107, 22);
|
||||
this.helpToolStripMenuItem1.Text = "Help";
|
||||
this.helpToolStripMenuItem1.Click += new System.EventHandler(this.HelpToolStripMenuItem1_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.label1.Location = new System.Drawing.Point(0, 535);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(0, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
//
|
||||
// SavedLabelTimer
|
||||
//
|
||||
this.SavedLabelTimer.Interval = 1000;
|
||||
this.SavedLabelTimer.Tick += new System.EventHandler(this.SavedLableTimerTick);
|
||||
//
|
||||
// TextEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(602, 548);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.TextBox);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.KeyPreview = true;
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Name = "TextEditor";
|
||||
this.Text = "Advanced Software Engineering - Text Editor";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Text_Editor_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Console_FormClosed);
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox TextBox;
|
||||
private MenuStrip menuStrip1;
|
||||
private ToolStripMenuItem fileToolStripMenuItem;
|
||||
private ToolStripMenuItem newFileToolStripMenuItem;
|
||||
private ToolStripMenuItem openToolStripMenuItem;
|
||||
private ToolStripMenuItem saveToolStripMenuItem;
|
||||
private ToolStripMenuItem exitToolStripMenuItem;
|
||||
private ToolStripMenuItem runToolStripMenuItem;
|
||||
private ToolStripMenuItem helpToolStripMenuItem;
|
||||
private ToolStripMenuItem aboutToolStripMenuItem;
|
||||
private ToolStripMenuItem helpToolStripMenuItem1;
|
||||
private ToolStripMenuItem saveAsToolStripMenuItem;
|
||||
private ToolStripMenuItem checkSyntaxToolStripMenuItem;
|
||||
private Label label1;
|
||||
private Timer SavedLabelTimer;
|
||||
private ToolStripMenuItem describeToolStripMenuItem;
|
||||
}
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering
|
||||
{
|
||||
/// <summary>
|
||||
/// Auto generated code
|
||||
/// </summary>
|
||||
partial class TextEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextEditor));
|
||||
this.TextBox = new System.Windows.Forms.TextBox();
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.newFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.checkSyntaxToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.describeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.SavedLabelTimer = new System.Windows.Forms.Timer(this.components);
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TextBox
|
||||
//
|
||||
this.TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.TextBox.Font = new System.Drawing.Font("Lucida Console", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.TextBox.Location = new System.Drawing.Point(0, 23);
|
||||
this.TextBox.Multiline = true;
|
||||
this.TextBox.Name = "TextBox";
|
||||
this.TextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.TextBox.Size = new System.Drawing.Size(602, 509);
|
||||
this.TextBox.TabIndex = 0;
|
||||
this.TextBox.WordWrap = false;
|
||||
this.TextBox.Click += new System.EventHandler(this.TextBoxClick);
|
||||
this.TextBox.TextChanged += new System.EventHandler(this.HandleKeypress);
|
||||
this.TextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
|
||||
this.TextBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.TextBox_KeyUp);
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.runToolStripMenuItem,
|
||||
this.checkSyntaxToolStripMenuItem,
|
||||
this.describeToolStripMenuItem,
|
||||
this.helpToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(602, 24);
|
||||
this.menuStrip1.TabIndex = 1;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.newFileToolStripMenuItem,
|
||||
this.openToolStripMenuItem,
|
||||
this.saveToolStripMenuItem,
|
||||
this.saveAsToolStripMenuItem,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// newFileToolStripMenuItem
|
||||
//
|
||||
this.newFileToolStripMenuItem.Name = "newFileToolStripMenuItem";
|
||||
this.newFileToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.newFileToolStripMenuItem.Text = "New File (Ctrl + N)";
|
||||
this.newFileToolStripMenuItem.Click += new System.EventHandler(this.NewFileToolStripMenuItem_Click);
|
||||
//
|
||||
// openToolStripMenuItem
|
||||
//
|
||||
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
|
||||
this.openToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.openToolStripMenuItem.Text = "Open (Ctrl + O)";
|
||||
this.openToolStripMenuItem.Click += new System.EventHandler(this.OpenToolStripMenuItem_Click);
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.saveToolStripMenuItem.Text = "Save (Ctrl + S)";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItem_Click);
|
||||
//
|
||||
// saveAsToolStripMenuItem
|
||||
//
|
||||
this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
|
||||
this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.saveAsToolStripMenuItem.Text = "Save As (Ctrl + Shift + S)";
|
||||
this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.SaveAsToolStripMenuItem_Click);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
|
||||
this.exitToolStripMenuItem.Text = "Exit (Alt + F4)";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItem_Click);
|
||||
//
|
||||
// runToolStripMenuItem
|
||||
//
|
||||
this.runToolStripMenuItem.Name = "runToolStripMenuItem";
|
||||
this.runToolStripMenuItem.Size = new System.Drawing.Size(63, 20);
|
||||
this.runToolStripMenuItem.Text = "Run (F5)";
|
||||
this.runToolStripMenuItem.Click += new System.EventHandler(this.RunToolStripMenuItem_Click);
|
||||
//
|
||||
// checkSyntaxToolStripMenuItem
|
||||
//
|
||||
this.checkSyntaxToolStripMenuItem.Name = "checkSyntaxToolStripMenuItem";
|
||||
this.checkSyntaxToolStripMenuItem.Size = new System.Drawing.Size(151, 20);
|
||||
this.checkSyntaxToolStripMenuItem.Text = "Check Syntax (Shift + F5)";
|
||||
this.checkSyntaxToolStripMenuItem.Click += new System.EventHandler(this.CheckSyntaxToolStripMenuItem_Click);
|
||||
//
|
||||
// describeToolStripMenuItem
|
||||
//
|
||||
this.describeToolStripMenuItem.Name = "describeToolStripMenuItem";
|
||||
this.describeToolStripMenuItem.Size = new System.Drawing.Size(125, 20);
|
||||
this.describeToolStripMenuItem.Text = "Describe (Shift + F1)";
|
||||
this.describeToolStripMenuItem.Click += new System.EventHandler(this.DescribeToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem,
|
||||
this.helpToolStripMenuItem1});
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
|
||||
this.aboutToolStripMenuItem.Text = "About";
|
||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem1
|
||||
//
|
||||
this.helpToolStripMenuItem1.Name = "helpToolStripMenuItem1";
|
||||
this.helpToolStripMenuItem1.Size = new System.Drawing.Size(107, 22);
|
||||
this.helpToolStripMenuItem1.Text = "Help";
|
||||
this.helpToolStripMenuItem1.Click += new System.EventHandler(this.HelpToolStripMenuItem1_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.label1.Location = new System.Drawing.Point(0, 535);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(0, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
//
|
||||
// SavedLabelTimer
|
||||
//
|
||||
this.SavedLabelTimer.Interval = 1000;
|
||||
this.SavedLabelTimer.Tick += new System.EventHandler(this.SavedLableTimerTick);
|
||||
//
|
||||
// TextEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(602, 548);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.TextBox);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.KeyPreview = true;
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Name = "TextEditor";
|
||||
this.Text = "Advanced Software Engineering - Text Editor";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Text_Editor_FormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Console_FormClosed);
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Text_Editor_PreviewKeyDown);
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox TextBox;
|
||||
private MenuStrip menuStrip1;
|
||||
private ToolStripMenuItem fileToolStripMenuItem;
|
||||
private ToolStripMenuItem newFileToolStripMenuItem;
|
||||
private ToolStripMenuItem openToolStripMenuItem;
|
||||
private ToolStripMenuItem saveToolStripMenuItem;
|
||||
private ToolStripMenuItem exitToolStripMenuItem;
|
||||
private ToolStripMenuItem runToolStripMenuItem;
|
||||
private ToolStripMenuItem helpToolStripMenuItem;
|
||||
private ToolStripMenuItem aboutToolStripMenuItem;
|
||||
private ToolStripMenuItem helpToolStripMenuItem1;
|
||||
private ToolStripMenuItem saveAsToolStripMenuItem;
|
||||
private ToolStripMenuItem checkSyntaxToolStripMenuItem;
|
||||
private Label label1;
|
||||
private Timer SavedLabelTimer;
|
||||
private ToolStripMenuItem describeToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
+256
-256
@@ -1,257 +1,257 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class TextEditor : Form {
|
||||
private const string DefaultTitleString = "ASE - Text Editor";
|
||||
|
||||
private Draw_Preview DisplayForm = null;
|
||||
private bool unsavedChanges = false;
|
||||
private bool newWindow = true;
|
||||
private bool okToOverwrite = false;
|
||||
private string fileName = "";
|
||||
|
||||
/// <summary>
|
||||
/// The text editor is the main window that the user will be using for writing code.
|
||||
/// </summary>
|
||||
public TextEditor() {
|
||||
MenuManager.NumberOfWindows++;
|
||||
InitializeComponent();
|
||||
UpdateTitle();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The text editor is the main window that the user will be using for writing code.
|
||||
/// </summary>
|
||||
/// <param name="openFile">File dialog which points to the file to open</param>
|
||||
public TextEditor(OpenFileDialog openFile) {
|
||||
MenuManager.NumberOfWindows++;
|
||||
InitializeComponent();
|
||||
|
||||
StreamReader fileStream = new StreamReader(openFile.OpenFile());
|
||||
TextBox.Text = fileStream.ReadToEnd();
|
||||
unsavedChanges = false;
|
||||
newWindow = false;
|
||||
okToOverwrite = true;
|
||||
UpdateTitle(openFile.FileName);
|
||||
fileStream.Close();
|
||||
}
|
||||
|
||||
private void UpdateTitle(string fileName) {
|
||||
this.fileName = fileName;
|
||||
UpdateTitle();
|
||||
}
|
||||
|
||||
private void UpdateTitle() {
|
||||
if (fileName != "") this.Text = DefaultTitleString + " - " + fileName;
|
||||
else this.Text = DefaultTitleString;
|
||||
if (unsavedChanges) this.Text = "* " + this.Text + " *";
|
||||
}
|
||||
|
||||
private void SaveFile() {
|
||||
if (!okToOverwrite) SaveFileAs();
|
||||
else {
|
||||
try {
|
||||
StreamWriter fileStream = new StreamWriter(fileName);
|
||||
fileStream.Write(TextBox.Text);
|
||||
unsavedChanges = false;
|
||||
ShowSavedMessage();
|
||||
fileStream.Close();
|
||||
} catch (Exception e) {
|
||||
new ErrorWindow("Write Failed!", "The program failed to write the file.", e.Message + "\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
} finally {
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveFileAs() {
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog {
|
||||
OverwritePrompt = true,
|
||||
DefaultExt = ".txt"
|
||||
};
|
||||
if (fileName != "") saveFileDialog.FileName = fileName;
|
||||
saveFileDialog.ValidateNames = true;
|
||||
|
||||
DialogResult dialogResult = saveFileDialog.ShowDialog();
|
||||
if (dialogResult == DialogResult.OK) {
|
||||
StreamWriter fileStream = new StreamWriter(saveFileDialog.OpenFile());
|
||||
try {
|
||||
fileStream.Write(TextBox.Text);
|
||||
unsavedChanges = false;
|
||||
okToOverwrite = true;
|
||||
fileName = saveFileDialog.FileName;
|
||||
ShowSavedMessage();
|
||||
} catch (Exception e) {
|
||||
new ErrorWindow("Write Failed!", "The program failed to write the file.", e.Message + "\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
} finally {
|
||||
fileStream.Close();
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowSavedMessage() {
|
||||
label1.Text = "File saved";
|
||||
SavedLabelTimer.Start();
|
||||
}
|
||||
|
||||
private void UpdateRowsAndColumnsPreview() {
|
||||
int line = TextBox.GetLineFromCharIndex(TextBox.SelectionStart);
|
||||
int column = TextBox.SelectionStart - TextBox.GetFirstCharIndexFromLine(line);
|
||||
line++;
|
||||
column++;
|
||||
label1.Text = "row: " + line.ToString() + " col: " + column.ToString();
|
||||
}
|
||||
|
||||
private void HandleKeypress() {
|
||||
if (newWindow) newWindow = false;
|
||||
UpdateSaveStatus();
|
||||
UpdateRowsAndColumnsPreview();
|
||||
}
|
||||
|
||||
private void UpdateSaveStatus() {
|
||||
if (!unsavedChanges) {
|
||||
unsavedChanges = true;
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenFile() {
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK) {
|
||||
if (newWindow) {
|
||||
StreamReader fileStream = new StreamReader(openFileDialog.OpenFile());
|
||||
TextBox.Text = fileStream.ReadToEnd();
|
||||
unsavedChanges = false;
|
||||
okToOverwrite = true;
|
||||
newWindow = false;
|
||||
UpdateTitle(openFileDialog.FileName);
|
||||
fileStream.Close();
|
||||
} else new TextEditor(openFileDialog).Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void RunCode() {
|
||||
if (DisplayForm == null || DisplayForm.IsDisposed) {
|
||||
DisplayForm = new Draw_Preview(TextBox.Text);
|
||||
} else {
|
||||
Console.WriteLine("Removed all commands");
|
||||
DisplayForm.RemoveAllCommands();
|
||||
DisplayForm.SubmitCommands(TextBox.Text);
|
||||
}
|
||||
|
||||
if (DisplayForm.IsSuccess()) {
|
||||
DisplayForm.Show();
|
||||
DisplayForm.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This function checks if the code written is OK
|
||||
/// </summary>
|
||||
public void CheckCode() {
|
||||
Draw_Preview tmpDrawPreview = new Draw_Preview();
|
||||
tmpDrawPreview.Hide();
|
||||
tmpDrawPreview.SubmitCommands(TextBox.Text);
|
||||
if (tmpDrawPreview.IsSuccess()) new ErrorWindow("No errors", "No errors found in the program", "There have been no errors found", ErrorWindow.INFO_MESSAGE).Show();
|
||||
tmpDrawPreview.Close();
|
||||
MenuManager.WindowClosed();
|
||||
tmpDrawPreview.Dispose();
|
||||
}
|
||||
|
||||
private void HandleExit(FormClosingEventArgs e) {
|
||||
if (unsavedChanges) {
|
||||
DialogResult dialogResult = MessageBox.Show("You have unsaved work. Would you like to discard your work?", "Unsaved work!", MessageBoxButtons.YesNo, MessageBoxIcon.None);
|
||||
if (e != null) e.Cancel = dialogResult != DialogResult.Yes;
|
||||
}
|
||||
}
|
||||
|
||||
private void DescribeCode() {
|
||||
Draw_Preview tmpDrawPreview = new Draw_Preview();
|
||||
tmpDrawPreview.Hide();
|
||||
tmpDrawPreview.SubmitCommands(TextBox.Text);
|
||||
|
||||
string commandDesc = tmpDrawPreview.DescribeAllCommands();
|
||||
Console.WriteLine(commandDesc);
|
||||
|
||||
tmpDrawPreview.Close();
|
||||
MenuManager.WindowClosed();
|
||||
tmpDrawPreview.Dispose();
|
||||
|
||||
new DetailsWindow(commandDesc, "Command explanation").Show();
|
||||
}
|
||||
|
||||
private void Console_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock();
|
||||
MenuManager.WindowClosed();
|
||||
Dispose();
|
||||
}
|
||||
|
||||
private void RunToolStripMenuItem_Click(object sender, EventArgs e) => RunCode();
|
||||
|
||||
private void CreateNewInstance() => new TextEditor().Show();
|
||||
|
||||
private void HandleKeypress(object sender, EventArgs e) => HandleKeypress();
|
||||
|
||||
private void TextBoxClick(object sender, EventArgs e) => UpdateRowsAndColumnsPreview();
|
||||
|
||||
private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e) => SaveFileAs();
|
||||
|
||||
private void SaveToolStripMenuItem_Click(object sender, EventArgs e) => SaveFile();
|
||||
|
||||
private void NewFileToolStripMenuItem_Click(object sender, EventArgs e) => CreateNewInstance();
|
||||
|
||||
private void AboutToolStripMenuItem_Click(object sender, EventArgs e) => new About_Window().Show();
|
||||
|
||||
private void Text_Editor_FormClosing(object sender, FormClosingEventArgs e) => HandleExit(e);
|
||||
|
||||
private void ExitToolStripMenuItem_Click(object sender, EventArgs e) => Close();
|
||||
|
||||
private void OpenToolStripMenuItem_Click(object sender, EventArgs e) => OpenFile();
|
||||
|
||||
private void Text_Editor_PreviewKeyDown(object sender, KeyEventArgs e) {
|
||||
//New window
|
||||
if (e.Control && e.KeyCode == Keys.N) {
|
||||
CreateNewInstance();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.KeyCode == Keys.S) {
|
||||
SaveFile();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.Shift && e.KeyCode == Keys.S) {
|
||||
SaveFileAs();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.KeyCode == Keys.O) {
|
||||
OpenFile();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F5) {
|
||||
RunCode();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F5 && e.Shift) {
|
||||
CheckCode();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F1 && e.Shift) {
|
||||
DescribeCode();
|
||||
e.Handled = true;
|
||||
} else {
|
||||
UpdateRowsAndColumnsPreview();
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckSyntaxToolStripMenuItem_Click(object sender, EventArgs e) => CheckCode();
|
||||
|
||||
private void DescribeToolStripMenuItem_Click(object sender, EventArgs e) => DescribeCode();
|
||||
|
||||
private void SavedLableTimerTick(object sender, EventArgs e) {
|
||||
UpdateRowsAndColumnsPreview();
|
||||
SavedLabelTimer.Stop();
|
||||
}
|
||||
|
||||
private void TextBox_KeyUp(object sender, KeyEventArgs e) => UpdateRowsAndColumnsPreview();
|
||||
|
||||
private void HelpToolStripMenuItem1_Click(object sender, EventArgs e) => new CommandHelp().Show();
|
||||
}
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Advanced_Software_Engineering {
|
||||
|
||||
public partial class TextEditor : Form {
|
||||
private const string DefaultTitleString = "ASE - Text Editor";
|
||||
|
||||
private Draw_Preview DisplayForm = null;
|
||||
private bool unsavedChanges = false;
|
||||
private bool newWindow = true;
|
||||
private bool okToOverwrite = false;
|
||||
private string fileName = "";
|
||||
|
||||
/// <summary>
|
||||
/// The text editor is the main window that the user will be using for writing code.
|
||||
/// </summary>
|
||||
public TextEditor() {
|
||||
MenuManager.NumberOfWindows++;
|
||||
InitializeComponent();
|
||||
UpdateTitle();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The text editor is the main window that the user will be using for writing code.
|
||||
/// </summary>
|
||||
/// <param name="openFile">File dialog which points to the file to open</param>
|
||||
public TextEditor(OpenFileDialog openFile) {
|
||||
MenuManager.NumberOfWindows++;
|
||||
InitializeComponent();
|
||||
|
||||
StreamReader fileStream = new StreamReader(openFile.OpenFile());
|
||||
TextBox.Text = fileStream.ReadToEnd();
|
||||
unsavedChanges = false;
|
||||
newWindow = false;
|
||||
okToOverwrite = true;
|
||||
UpdateTitle(openFile.FileName);
|
||||
fileStream.Close();
|
||||
}
|
||||
|
||||
private void UpdateTitle(string fileName) {
|
||||
this.fileName = fileName;
|
||||
UpdateTitle();
|
||||
}
|
||||
|
||||
private void UpdateTitle() {
|
||||
if (fileName != "") this.Text = DefaultTitleString + " - " + fileName;
|
||||
else this.Text = DefaultTitleString;
|
||||
if (unsavedChanges) this.Text = "* " + this.Text + " *";
|
||||
}
|
||||
|
||||
private void SaveFile() {
|
||||
if (!okToOverwrite) SaveFileAs();
|
||||
else {
|
||||
try {
|
||||
StreamWriter fileStream = new StreamWriter(fileName);
|
||||
fileStream.Write(TextBox.Text);
|
||||
unsavedChanges = false;
|
||||
ShowSavedMessage();
|
||||
fileStream.Close();
|
||||
} catch (Exception e) {
|
||||
new ErrorWindow("Write Failed!", "The program failed to write the file.", e.Message + "\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
} finally {
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveFileAs() {
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog {
|
||||
OverwritePrompt = true,
|
||||
DefaultExt = ".txt"
|
||||
};
|
||||
if (fileName != "") saveFileDialog.FileName = fileName;
|
||||
saveFileDialog.ValidateNames = true;
|
||||
|
||||
DialogResult dialogResult = saveFileDialog.ShowDialog();
|
||||
if (dialogResult == DialogResult.OK) {
|
||||
StreamWriter fileStream = new StreamWriter(saveFileDialog.OpenFile());
|
||||
try {
|
||||
fileStream.Write(TextBox.Text);
|
||||
unsavedChanges = false;
|
||||
okToOverwrite = true;
|
||||
fileName = saveFileDialog.FileName;
|
||||
ShowSavedMessage();
|
||||
} catch (Exception e) {
|
||||
new ErrorWindow("Write Failed!", "The program failed to write the file.", e.Message + "\n" + e.StackTrace, ErrorWindow.ERROR_MESSAGE).Show();
|
||||
} finally {
|
||||
fileStream.Close();
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowSavedMessage() {
|
||||
label1.Text = "File saved";
|
||||
SavedLabelTimer.Start();
|
||||
}
|
||||
|
||||
private void UpdateRowsAndColumnsPreview() {
|
||||
int line = TextBox.GetLineFromCharIndex(TextBox.SelectionStart);
|
||||
int column = TextBox.SelectionStart - TextBox.GetFirstCharIndexFromLine(line);
|
||||
line++;
|
||||
column++;
|
||||
label1.Text = "row: " + line.ToString() + " col: " + column.ToString();
|
||||
}
|
||||
|
||||
private void HandleKeypress() {
|
||||
if (newWindow) newWindow = false;
|
||||
UpdateSaveStatus();
|
||||
UpdateRowsAndColumnsPreview();
|
||||
}
|
||||
|
||||
private void UpdateSaveStatus() {
|
||||
if (!unsavedChanges) {
|
||||
unsavedChanges = true;
|
||||
UpdateTitle();
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenFile() {
|
||||
OpenFileDialog openFileDialog = new OpenFileDialog();
|
||||
|
||||
if (openFileDialog.ShowDialog() == DialogResult.OK) {
|
||||
if (newWindow) {
|
||||
StreamReader fileStream = new StreamReader(openFileDialog.OpenFile());
|
||||
TextBox.Text = fileStream.ReadToEnd();
|
||||
unsavedChanges = false;
|
||||
okToOverwrite = true;
|
||||
newWindow = false;
|
||||
UpdateTitle(openFileDialog.FileName);
|
||||
fileStream.Close();
|
||||
} else new TextEditor(openFileDialog).Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void RunCode() {
|
||||
if (DisplayForm == null || DisplayForm.IsDisposed) {
|
||||
DisplayForm = new Draw_Preview(TextBox.Text);
|
||||
} else {
|
||||
Console.WriteLine("Removed all commands");
|
||||
DisplayForm.RemoveAllCommands();
|
||||
DisplayForm.SubmitCommands(TextBox.Text);
|
||||
}
|
||||
|
||||
if (DisplayForm.IsSuccess()) {
|
||||
DisplayForm.Show();
|
||||
DisplayForm.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This function checks if the code written is OK
|
||||
/// </summary>
|
||||
public void CheckCode() {
|
||||
Draw_Preview tmpDrawPreview = new Draw_Preview();
|
||||
tmpDrawPreview.Hide();
|
||||
tmpDrawPreview.SubmitCommands(TextBox.Text);
|
||||
if (tmpDrawPreview.IsSuccess()) new ErrorWindow("No errors", "No errors found in the program", "There have been no errors found", ErrorWindow.INFO_MESSAGE).Show();
|
||||
tmpDrawPreview.Close();
|
||||
MenuManager.WindowClosed();
|
||||
tmpDrawPreview.Dispose();
|
||||
}
|
||||
|
||||
private void HandleExit(FormClosingEventArgs e) {
|
||||
if (unsavedChanges) {
|
||||
DialogResult dialogResult = MessageBox.Show("You have unsaved work. Would you like to discard your work?", "Unsaved work!", MessageBoxButtons.YesNo, MessageBoxIcon.None);
|
||||
if (e != null) e.Cancel = dialogResult != DialogResult.Yes;
|
||||
}
|
||||
}
|
||||
|
||||
private void DescribeCode() {
|
||||
Draw_Preview tmpDrawPreview = new Draw_Preview();
|
||||
tmpDrawPreview.Hide();
|
||||
tmpDrawPreview.SubmitCommands(TextBox.Text);
|
||||
|
||||
string commandDesc = tmpDrawPreview.DescribeAllCommands();
|
||||
Console.WriteLine(commandDesc);
|
||||
|
||||
tmpDrawPreview.Close();
|
||||
MenuManager.WindowClosed();
|
||||
tmpDrawPreview.Dispose();
|
||||
|
||||
new DetailsWindow(commandDesc, "Command explanation").Show();
|
||||
}
|
||||
|
||||
private void Console_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
if (DisplayForm != null && !DisplayForm.IsDisposed) DisplayForm.ReleaseCommandLock();
|
||||
MenuManager.WindowClosed();
|
||||
Dispose();
|
||||
}
|
||||
|
||||
private void RunToolStripMenuItem_Click(object sender, EventArgs e) => RunCode();
|
||||
|
||||
private void CreateNewInstance() => new TextEditor().Show();
|
||||
|
||||
private void HandleKeypress(object sender, EventArgs e) => HandleKeypress();
|
||||
|
||||
private void TextBoxClick(object sender, EventArgs e) => UpdateRowsAndColumnsPreview();
|
||||
|
||||
private void SaveAsToolStripMenuItem_Click(object sender, EventArgs e) => SaveFileAs();
|
||||
|
||||
private void SaveToolStripMenuItem_Click(object sender, EventArgs e) => SaveFile();
|
||||
|
||||
private void NewFileToolStripMenuItem_Click(object sender, EventArgs e) => CreateNewInstance();
|
||||
|
||||
private void AboutToolStripMenuItem_Click(object sender, EventArgs e) => new About_Window().Show();
|
||||
|
||||
private void Text_Editor_FormClosing(object sender, FormClosingEventArgs e) => HandleExit(e);
|
||||
|
||||
private void ExitToolStripMenuItem_Click(object sender, EventArgs e) => Close();
|
||||
|
||||
private void OpenToolStripMenuItem_Click(object sender, EventArgs e) => OpenFile();
|
||||
|
||||
private void Text_Editor_PreviewKeyDown(object sender, KeyEventArgs e) {
|
||||
//New window
|
||||
if (e.Control && e.KeyCode == Keys.N) {
|
||||
CreateNewInstance();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.KeyCode == Keys.S) {
|
||||
SaveFile();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.Shift && e.KeyCode == Keys.S) {
|
||||
SaveFileAs();
|
||||
e.Handled = true;
|
||||
} else if (e.Control && e.KeyCode == Keys.O) {
|
||||
OpenFile();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F5) {
|
||||
RunCode();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F5 && e.Shift) {
|
||||
CheckCode();
|
||||
e.Handled = true;
|
||||
} else if (e.KeyCode == Keys.F1 && e.Shift) {
|
||||
DescribeCode();
|
||||
e.Handled = true;
|
||||
} else {
|
||||
UpdateRowsAndColumnsPreview();
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckSyntaxToolStripMenuItem_Click(object sender, EventArgs e) => CheckCode();
|
||||
|
||||
private void DescribeToolStripMenuItem_Click(object sender, EventArgs e) => DescribeCode();
|
||||
|
||||
private void SavedLableTimerTick(object sender, EventArgs e) {
|
||||
UpdateRowsAndColumnsPreview();
|
||||
SavedLabelTimer.Stop();
|
||||
}
|
||||
|
||||
private void TextBox_KeyUp(object sender, KeyEventArgs e) => UpdateRowsAndColumnsPreview();
|
||||
|
||||
private void HelpToolStripMenuItem1_Click(object sender, EventArgs e) => new CommandHelp().Show();
|
||||
}
|
||||
}
|
||||
+205
-205
@@ -1,206 +1,206 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="SavedLabelTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>132, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>59</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
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
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="SavedLabelTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>132, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>59</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+AAAL/AIACAAAAAgAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIAIMxQPMi4UDzJQICAQ/wCAAgAA
|
||||
AAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/gAACqlUqDGtKUM9PND3/MRAN/y4O
|
||||
DvcqERnDJRAabioVIBgAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wJWPkY+gEg5/W5D
|
||||
Lf9bMCD/UCEV/zESEv8rFRv/KRIa9SYJFKMlCBU+KioqBgAAAAIAAAAAAAAAAoD/AAKA/wAC/4AAAv//
|
||||
/wL///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Akwz
|
||||
Mzx3S0r/cEAw/4JLL/95Qij/ZC8c/1AqLv86JzD/MBge/yYNFv8lChXlIAsTnRUGCHgdHQeLOEYPlVR7
|
||||
IJ11rjGhke46mZT/PCb///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///8CMSEhPpthXv+wdFT/qWhE/45WNP+OUS7/hkc1/2tRXv9SMTL/OxsY/zARF/8tDBn/JAkT/xoH
|
||||
C/8ZFQf/OEQQ/12CIP+KzzT/qv9H843/Q0z///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP8AgAIgGBxAgFVZ/Uc+Tf9YOi//yYNR/8B/Xf+yaUH/mm1w/3lNQf9YMBv/PBwX/0AV
|
||||
G/84Dh3/MAkZ/yEHEP8UCAb/KC0N/1NzIf96vjP9kehC0////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAiMRFyxkPUT/pIN//8SNaP/pq4L/4Ztw/9ONZP/Dl5X/kmI7/4JR
|
||||
LP9eOB7/PRwX/z4RFP8/DBn/MQcV/yoHE/8dBwz/ISAL/z5VH71GohcWAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACORwrEj8nLvnltqr//uzf//rJrv/xsYv/7bGT/9uw
|
||||
qv+xf1T/o3VB/4dhMf91Tib/SiQZ/z4SE/9BChD/OQoX/zQLG/8nCRLzKhEiHgD/gAIAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AIACQB8o28aDc///0ab//9Cs//zJ
|
||||
qv/52dD/5ryq/+DBvv+7lXb/vo5L/5x3O/+KZTT/Wzci/0cZFf9DDQz/OwsR/zgMGf8yDBnNMzMzCgAA
|
||||
AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AgAI4GyanqmVf//7N
|
||||
qP/+48z//dnC//vj3P/04+P/7tzc/9/P1f+3lG7/v5dQ/6qHRv+ZdDv/Xzkl/2AoG/9OGBD/QAwO/zYL
|
||||
F/8zDhqR/wCAAoD/AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wCAAiYU
|
||||
HGRfNDr/36GO//W7nP/6ya7/+tXF//ba0P/lzdD/077E/8y7xv+/pJH/06pc/7OQSf94VTz/eUcr/2s1
|
||||
IP9PHhH/PwwM/zUKGP0lDRJ0PTcSKoC/gASA/wACAP+AAoD/AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD/AIACMCAoIDkfKf2LW2f/poaa/6GDkv+3jY7/uJSW/7SSlf/cy9r/7t7j/+zS0P/VsZ//w6F9/7mG
|
||||
dP+jbU3/hU4v/2k1H/9SIRT/PQsN/zAKFP8uMRH/QVUj6UuEILc/lRNqTb8aFAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAP///wJFMUGRLBoq/04rNv+HYnn/jm2R/5FzjP+cfIT/w5iV//Xb0//66On/9NrX/+nA
|
||||
rf/mwLH/xI+A/6BtV/+la03/iFAy/2w2If9OHBL/OQkR/yELCv87Rhr/Unsp/2y1L/+K9DfpgP9JDoD/
|
||||
AAIAAAAAAAAAAAAAAAD///8CgHWGfmdZY/8xIzP/MR0p/1s0Qv+OYYD/oXiR/9Wdk//5073//eDP//7p
|
||||
3v/407//78Wu/7iOe/+BVkv/wol9/7+Dav+iakn/hk8w/2YyHv9GEQ7/LwkS/y0yEv9diiz/fN8p/4n7
|
||||
L+2f30AIgP8AAgAAAAAAAAAA////ApqKnHSim6j/iXyK/1VHUP8zIDP/Nh8r/5BJVf/2spf//tCn///e
|
||||
w//+5NH//tvE/+q/qP+rhXr/jWxi/8aYhv/iqp//156O/8WNcP+qblT/hUwx/2ErHP84Cw3/HRUL/0lm
|
||||
HP+X4Tb/rv1Nfv///wIAAAAAAAAAAAAAAADYzdMu5d3p+5yRn/+PiJT/dm56/1RDTv81IDX/QSUx/6pd
|
||||
Xv/8yqr//s+p//DHsv/Jopj/oIKE/6GCgP/YsZz/+NO+//HBp//puqr/26qS/6ByXv+TXkH/hEgw/1Ae
|
||||
Ff8tCQmjSF0ePKjkPCYAAAAAAAAAAAAAAAAAAAAAAAAAAP///x7RxdDv1MzZ/5ySn/+YkJv/eGt1/1tF
|
||||
VP9DLD3/NR8u/39BSv+sboH/lW6Q/494kv+mi4//5MGu//7lz//+3cP//NS4/+/Eqf+uh3T/k21b/7h8
|
||||
Yv+hY0v/ajQk/zoRDrOAQAAE////AgAAAAAAAAAAAAAAAAAAAAAAAAAA////Avv7+z7QyNHr3Nfi/42E
|
||||
j/+Ujpv/em52/2VQX/9EMT//NCEv/1AwPv+TXnX/xoSF//XIq//+48v//ufU//7hyv/lvqj/q4R6/556
|
||||
bP/muaH/1px//8V/aP+PTjz/Rx8U+zseFTz/gAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av//
|
||||
/yDOws3B8u32/351g/+1rLT/fnB8/1JCUf9ZRFP/NSI1/0IqN/+fVFD/5KKJ/+q2o//Zr6X/vJKS/6GE
|
||||
i/+zj4r/8sep//zOsP/0vaP/2pN8/6hgTv9iLSH/QygW32ZmJhT//wACAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAA////Av///wTb0dtk3tXb58e8yf+2r7v/Zlxo/3Zmc/9ZR1b/Nyk5/1M8W/9ILUbpgFJp34Jc
|
||||
hP+XdZL/1Kaa//zZv//+4MX//tW5/+WzoP/SjoD/0H1u/5pQQv9bOx7/hJAlv5e/MCD//wACgP8AAgAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///8Q6N3jeNLN1eXDvcr/rKCt/6OUpvlDPFK3WUlmUIBV
|
||||
lQxPNENUMiAq/2c6P/+jcmD/wZeH/8KTj/+4hIr/1ZuP//zIrv/vppD/um1h/49kRf+rqzT/t9Az+6PH
|
||||
J9F6sB2lX6kYdGqqKhgAAAAAAAAAAAAAAAAAAAAAAAAAAP///wL///8CzMzMCu3q9la/tsRw18/fIP//
|
||||
/wL///8C////Am1VWypONTz/Ty00/0MoKv8tISX/KyEp/0wwM/+lcWKz1Kd/xbeVb//Dnnz/3dhq/9Hr
|
||||
S/+9zjn/rMku/bXtMf2s/T+djvE5EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8C////AgAA
|
||||
AAD///8CAAAAAAAAAAAAAAAAmZmZCmJPT/FYQDj/dktK/2FFSv9CLSn/hmh3/2lHTYH///8ClZVFduHm
|
||||
aP/U+FD/vuE+/7jZNP++7jbjxfs2Qv///wL//wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8Cr6G0yXVhTf/Gs7r/1cPT88m3vbm9j5Jw0bncFv//
|
||||
/wKfqlUYrLpG+cjmQv+85zX/vvI12c7/Thr///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wLh3exEvaeldM60v0T///8O////AgAA
|
||||
AAD///8CAAAAAP///wK95DnJyOxC/cf8OPXR/0Ys////AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////Av//
|
||||
/wIAAAAAAAAAAAAAAAAAAAAA////AprQMIm58zn/yv88av///wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wACd70wOqTsNZX///8CAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA///////////x////4L///4AP//+AAgf/gAAD/4AAAf+AAAH/gAAD/4AA
|
||||
A//AAAH/wAAA/8AAAA/AAAAPwAAAA4AAAAMAAAAHAAAAHwAAAB8AAAAfgAAAD8AAAAPwAAAA+AAAAP5c
|
||||
AAD//AAD//wKB///ng////4f//////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,156 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Class List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering.html" target="_self">Advanced_Software_Engineering</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs.html" target="_self">Verbs</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs.html" target="_self">DrawingVerbs</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_circle.html" target="_self">Circle</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_circle.html" title="Circle IVerb class.">Circle</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_clear.html" target="_self">Clear</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_clear.html" title="The Clear IVerb class.">Clear</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_2_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_dot.html" target="_self">Dot</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_dot.html" title="The Dot IVerb class">Dot</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_draw_lines.html" target="_self">DrawLines</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_draw_lines.html" title="DrawLines IVerb class">DrawLines</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_4_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_draw_to.html" target="_self">DrawTo</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_draw_to.html" title="DrawTo IVerb class">DrawTo</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_fill.html" target="_self">Fill</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_fill.html" title="Fill IVerb class">Fill</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_6_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_fill_color.html" target="_self">FillColor</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_fill_color.html" title="The FillColor IVerb class">FillColor</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_7_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_move_to.html" target="_self">MoveTo</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_move_to.html" title="MoveTo IVerb class">MoveTo</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_8_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_pen_color.html" target="_self">PenColor</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_pen_color.html" title="The PenColor IVerb class">PenColor</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_9_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_quadrilateral.html" target="_self">Quadrilateral</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_quadrilateral.html" title="The Quadrilateral IVerb class">Quadrilateral</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_10_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_rectangle.html" target="_self">Rectangle</a></td><td class="desc"><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_rectangle.html" title="Rectangle IVerb class">Rectangle</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_11_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_regular_polygon.html" target="_self">RegularPolygon</a></td><td class="desc">A class that generates a <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_regular_polygon.html" title="A class that generates a RegularPolygon IVerb.">RegularPolygon</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> </td></tr>
|
||||
<tr id="row_0_0_0_12_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_reset_pen.html" target="_self">ResetPen</a></td><td class="desc">Setsets the pen to the initial position </td></tr>
|
||||
<tr id="row_0_0_0_13_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_square.html" target="_self">Square</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_square.html" title="The Square IVerb class">Square</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_0_14_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_triangle.html" target="_self">Triangle</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_drawing_verbs_1_1_triangle.html" title="The Triangle IVerb class">Triangle</a> <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> class </td></tr>
|
||||
<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_1_" class="arrow" onclick="toggleFolder('0_0_1_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_flow.html" target="_self">Flow</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_declare_method.html" target="_self">DeclareMethod</a></td><td class="desc">Declares a method. See DrawingVerbs.Actions.NoOp because these classes behave similarly </td></tr>
|
||||
<tr id="row_0_0_1_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_for_chunk.html" target="_self">ForChunk</a></td><td class="desc">A <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_for_chunk.html" title="A ForChunk is similar to a WhileChunk. It executes a specific number of times.">ForChunk</a> is similar to a <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_while_chunk.html" title="A Chunk that loops over its code">WhileChunk</a>. It executes a specific number of times </td></tr>
|
||||
<tr id="row_0_0_1_2_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_if_chunk.html" target="_self">IfChunk</a></td><td class="desc">A simple If Object </td></tr>
|
||||
<tr id="row_0_0_1_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_i_verb_chunk.html" target="_self">IVerbChunk</a></td><td class="desc">A Collection of chunks to be executed. They extend <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> because they should be interchangable </td></tr>
|
||||
<tr id="row_0_0_1_4_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_method_chunk.html" target="_self">MethodChunk</a></td><td class="desc">The method chunk class </td></tr>
|
||||
<tr id="row_0_0_1_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_verb_chunk.html" target="_self">VerbChunk</a></td><td class="desc">A simple <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_verb_chunk.html" title="A simple VerbChunk. Used for storing and executing a bunch of verbs">VerbChunk</a>. Used for storing and executing a bunch of verbs </td></tr>
|
||||
<tr id="row_0_0_1_6_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_flow_1_1_while_chunk.html" target="_self">WhileChunk</a></td><td class="desc">A Chunk that loops over its code </td></tr>
|
||||
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_2_" class="arrow" onclick="toggleFolder('0_0_2_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_value.html" target="_self">Value</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_0_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_0_2_0_" class="arrow" onclick="toggleFolder('0_0_2_0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_objects.html" target="_self">ValueObjects</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_0_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_objects_1_1_point_value.html" target="_self">PointValue</a></td><td class="desc">A point <a class="el" href="interface_advanced___software___engineering_1_1_verbs_1_1_value_1_1_i_value.html" title="A value">IValue</a>. Simply the same as Point but with IValues intstead of ints </td></tr>
|
||||
<tr id="row_0_0_2_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span id="arr_0_0_2_1_" class="arrow" onclick="toggleFolder('0_0_2_1_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_types.html" target="_self">ValueTypes</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_1_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_types_1_1_variable_value.html" target="_self">VariableValue</a></td><td class="desc">Variable value is responsible for setting up values for <a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_update_variable.html" title="Used for updating the variables">UpdateVariable</a> to then update </td></tr>
|
||||
<tr id="row_0_0_2_2_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_declare_variable.html" target="_self">DeclareVariable</a></td><td class="desc">Declares a variable </td></tr>
|
||||
<tr id="row_0_0_2_3_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_expression_value.html" target="_self">ExpressionValue</a></td><td class="desc">Expression values are used when there are two IValues that need to be added or subtracted or anything from each other </td></tr>
|
||||
<tr id="row_0_0_2_4_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_advanced___software___engineering_1_1_verbs_1_1_value_1_1_i_value.html" target="_self">IValue</a></td><td class="desc">A value </td></tr>
|
||||
<tr id="row_0_0_2_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_update_variable.html" target="_self">UpdateVariable</a></td><td class="desc">Used for updating the variables </td></tr>
|
||||
<tr id="row_0_0_2_6_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_container.html" target="_self">ValueContainer</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_7_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_factory.html" target="_self">ValueFactory</a></td><td class="desc"><a class="el" href="namespace_advanced___software___engineering_1_1_verbs_1_1_value.html">Value</a> factory creates values </td></tr>
|
||||
<tr id="row_0_0_2_8_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_helper.html" target="_self">ValueHelper</a></td><td class="desc">This class contains a large amount of useful conversions </td></tr>
|
||||
<tr id="row_0_0_2_9_" class="even"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verbs_1_1_value_1_1_value_storage.html" target="_self">ValueStorage</a></td><td class="desc">The storage for all the values </td></tr>
|
||||
<tr id="row_0_1_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_about___window.html" target="_self">About_Window</a></td><td class="desc">Auto generated code </td></tr>
|
||||
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html" target="_self">CommandAndParameterParserResult</a></td><td class="desc">This class is a direct replacement to the dictionaries that were returned by <a class="el" href="class_advanced___software___engineering_1_1_helper_functions.html#a9ef9da799e2adfe0213313c9642f1de8" title="Parses the commands into a directry that Commander can use. See Commander">HelperFunctions.CommandAndParameterParser(string)</a>. This class provides better intraface to the output </td></tr>
|
||||
<tr id="row_0_3_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_commander.html" target="_self">Commander</a></td><td class="desc">The commander class takes care of commands. It also takes control of the drawer </td></tr>
|
||||
<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_command_help.html" target="_self">CommandHelp</a></td><td class="desc">This class is resposible for the command help window. The command help window shows help for the commands </td></tr>
|
||||
<tr id="row_0_5_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_details_window.html" target="_self">DetailsWindow</a></td><td class="desc">This form is reponsible for showing details. It is essentially a textbox in a form </td></tr>
|
||||
<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_draw___preview.html" target="_self">Draw_Preview</a></td><td class="desc">Auto Generated Code </td></tr>
|
||||
<tr id="row_0_7_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_drawer.html" target="_self">Drawer</a></td><td class="desc">The drawer is responsible for drawing on the graphics object </td></tr>
|
||||
<tr id="row_0_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_error_window.html" target="_self">ErrorWindow</a></td><td class="desc">The error window that can show errors, warnings and messages </td></tr>
|
||||
<tr id="row_0_9_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_helper_functions.html" target="_self">HelperFunctions</a></td><td class="desc">This class simply provides settings and some functions that are used across many components </td></tr>
|
||||
<tr id="row_0_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" target="_self">IVerb</a></td><td class="desc"><a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> is an interface for executing and getting the descriptions of <a class="el" href="namespace_advanced___software___engineering_1_1_verbs.html">Verbs</a>. Some <a class="el" href="namespace_advanced___software___engineering_1_1_verbs.html">Verbs</a> draw lines, some verbs will assign </td></tr>
|
||||
<tr id="row_0_11_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_menu.html" target="_self">Menu</a></td><td class="desc">Auto generated code </td></tr>
|
||||
<tr id="row_0_12_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_text_editor.html" target="_self">TextEditor</a></td><td class="desc">Auto generated code </td></tr>
|
||||
<tr id="row_0_13_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering_1_1_verb_factory.html" target="_self">VerbFactory</a></td><td class="desc">This class is responsible for creating <a class="el" href="namespace_advanced___software___engineering_1_1_verbs.html">Verbs</a> </td></tr>
|
||||
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespace_advanced___software___engineering___tests.html" target="_self">Advanced_Software_Engineering_Tests</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering___tests_1_1_command_tester.html" target="_self">CommandTester</a></td><td class="desc">The <a class="el" href="class_advanced___software___engineering___tests_1_1_command_tester.html" title="The CommandTester class tests the commands possible, mostly by getting a IVerb and checking it's desc...">CommandTester</a> class tests the commands possible, mostly by getting a IVerb and checking it's description. </td></tr>
|
||||
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_advanced___software___engineering___tests_1_1_helper_functions_tester.html" target="_self">HelperFunctionsTester</a></td><td class="desc">This class tests HelperFunctions methods. It uses a combination of manual and random tests </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
var annotated_dup =
|
||||
[
|
||||
[ "Advanced_Software_Engineering", "namespace_advanced___software___engineering.html", "namespace_advanced___software___engineering" ],
|
||||
[ "Advanced_Software_Engineering_Tests", "namespace_advanced___software___engineering___tests.html", "namespace_advanced___software___engineering___tests" ]
|
||||
];
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 676 B |
Binary file not shown.
|
After Width: | Height: | Size: 147 B |
+102
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_about___window.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.About_Window Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_advanced___software___engineering_1_1_about___window.html">Advanced_Software_Engineering.About_Window</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html#a0353daeb3889287b3ed4d4ae0e5c4a95">About_Window</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html">Advanced_Software_Engineering.About_Window</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html#acfb3ec119316fac00be14bc8d567c8de">Dispose</a>(bool disposing)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html">Advanced_Software_Engineering.About_Window</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+166
@@ -0,0 +1,166 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Advanced_Software_Engineering.About_Window Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_about___window.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="class_advanced___software___engineering_1_1_about___window-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.About_Window Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Auto generated code
|
||||
<a href="class_advanced___software___engineering_1_1_about___window.html#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for Advanced_Software_Engineering.About_Window:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_advanced___software___engineering_1_1_about___window.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a0353daeb3889287b3ed4d4ae0e5c4a95"><td class="memItemLeft" align="right" valign="top"><a id="a0353daeb3889287b3ed4d4ae0e5c4a95"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html#a0353daeb3889287b3ed4d4ae0e5c4a95">About_Window</a> ()</td></tr>
|
||||
<tr class="memdesc:a0353daeb3889287b3ed4d4ae0e5c4a95"><td class="mdescLeft"> </td><td class="mdescRight">Creates an About Window which shows details about the program. /summary> <br /></td></tr>
|
||||
<tr class="separator:a0353daeb3889287b3ed4d4ae0e5c4a95"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acfb3ec119316fac00be14bc8d567c8de"><td class="memItemLeft" align="right" valign="top">override void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html#acfb3ec119316fac00be14bc8d567c8de">Dispose</a> (bool disposing)</td></tr>
|
||||
<tr class="memdesc:acfb3ec119316fac00be14bc8d567c8de"><td class="mdescLeft"> </td><td class="mdescRight">Clean up any resources being used. <a href="class_advanced___software___engineering_1_1_about___window.html#acfb3ec119316fac00be14bc8d567c8de">More...</a><br /></td></tr>
|
||||
<tr class="separator:acfb3ec119316fac00be14bc8d567c8de"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Auto generated code </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="acfb3ec119316fac00be14bc8d567c8de"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acfb3ec119316fac00be14bc8d567c8de">◆ </a></span>Dispose()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">override void Advanced_Software_Engineering.About_Window.Dispose </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"><em>disposing</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Clean up any resources being used. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">disposing</td><td>true if managed resources should be disposed; otherwise, false.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>Advanced Software Engineering/Windows/AboutWindow.cs</li>
|
||||
<li>Advanced Software Engineering/Windows/AboutWindow.Designer.cs</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="namespace_advanced___software___engineering.html">Advanced_Software_Engineering</a></li><li class="navelem"><a class="el" href="class_advanced___software___engineering_1_1_about___window.html">About_Window</a></li>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
var class_advanced___software___engineering_1_1_about___window =
|
||||
[
|
||||
[ "About_Window", "class_advanced___software___engineering_1_1_about___window.html#a0353daeb3889287b3ed4d4ae0e5c4a95", null ],
|
||||
[ "Dispose", "class_advanced___software___engineering_1_1_about___window.html#acfb3ec119316fac00be14bc8d567c8de", null ]
|
||||
];
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 835 B |
+103
@@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.CommandAndParameterParserResult Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html">Advanced_Software_Engineering.CommandAndParameterParserResult</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#ae53327aa9d9301559bc0e08de5c70632">CommandAndParameterParserResult</a>(string command, string[] parameters)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html">Advanced_Software_Engineering.CommandAndParameterParserResult</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#aa9e6b9e408e380587efb1e8e4f928335">GetCommand</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html">Advanced_Software_Engineering.CommandAndParameterParserResult</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#adff164e86339e3b3b0fa1da61e2305bf">GetParameters</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html">Advanced_Software_Engineering.CommandAndParameterParserResult</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+201
@@ -0,0 +1,201 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Advanced_Software_Engineering.CommandAndParameterParserResult Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.CommandAndParameterParserResult Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This class is a direct replacement to the dictionaries that were returned by <a class="el" href="class_advanced___software___engineering_1_1_helper_functions.html#a9ef9da799e2adfe0213313c9642f1de8" title="Parses the commands into a directry that Commander can use. See Commander">HelperFunctions.CommandAndParameterParser(string)</a>. This class provides better intraface to the output.
|
||||
<a href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ae53327aa9d9301559bc0e08de5c70632"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#ae53327aa9d9301559bc0e08de5c70632">CommandAndParameterParserResult</a> (string command, string[] parameters)</td></tr>
|
||||
<tr class="memdesc:ae53327aa9d9301559bc0e08de5c70632"><td class="mdescLeft"> </td><td class="mdescRight">Generates a new Result <a href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#ae53327aa9d9301559bc0e08de5c70632">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae53327aa9d9301559bc0e08de5c70632"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa9e6b9e408e380587efb1e8e4f928335"><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#aa9e6b9e408e380587efb1e8e4f928335">GetCommand</a> ()</td></tr>
|
||||
<tr class="memdesc:aa9e6b9e408e380587efb1e8e4f928335"><td class="mdescLeft"> </td><td class="mdescRight">Gets the command from the result <a href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#aa9e6b9e408e380587efb1e8e4f928335">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa9e6b9e408e380587efb1e8e4f928335"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adff164e86339e3b3b0fa1da61e2305bf"><td class="memItemLeft" align="right" valign="top">string[] </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#adff164e86339e3b3b0fa1da61e2305bf">GetParameters</a> ()</td></tr>
|
||||
<tr class="memdesc:adff164e86339e3b3b0fa1da61e2305bf"><td class="mdescLeft"> </td><td class="mdescRight">Gets the command parameters <a href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#adff164e86339e3b3b0fa1da61e2305bf">More...</a><br /></td></tr>
|
||||
<tr class="separator:adff164e86339e3b3b0fa1da61e2305bf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>This class is a direct replacement to the dictionaries that were returned by <a class="el" href="class_advanced___software___engineering_1_1_helper_functions.html#a9ef9da799e2adfe0213313c9642f1de8" title="Parses the commands into a directry that Commander can use. See Commander">HelperFunctions.CommandAndParameterParser(string)</a>. This class provides better intraface to the output. </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="ae53327aa9d9301559bc0e08de5c70632"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae53327aa9d9301559bc0e08de5c70632">◆ </a></span>CommandAndParameterParserResult()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Advanced_Software_Engineering.CommandAndParameterParserResult.CommandAndParameterParserResult </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">string </td>
|
||||
<td class="paramname"><em>command</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">string[] </td>
|
||||
<td class="paramname"><em>parameters</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Generates a new Result </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">command</td><td>The command</td></tr>
|
||||
<tr><td class="paramname">parameters</td><td>The parameters</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="aa9e6b9e408e380587efb1e8e4f928335"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa9e6b9e408e380587efb1e8e4f928335">◆ </a></span>GetCommand()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">string Advanced_Software_Engineering.CommandAndParameterParserResult.GetCommand </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the command from the result </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the command</dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="adff164e86339e3b3b0fa1da61e2305bf"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#adff164e86339e3b3b0fa1da61e2305bf">◆ </a></span>GetParameters()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">string [] Advanced_Software_Engineering.CommandAndParameterParserResult.GetParameters </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the command parameters </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>command parameters</dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>Advanced Software Engineering/HelperFunctions.cs</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="namespace_advanced___software___engineering.html">Advanced_Software_Engineering</a></li><li class="navelem"><a class="el" href="class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html">CommandAndParameterParserResult</a></li>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
var class_advanced___software___engineering_1_1_command_and_parameter_parser_result =
|
||||
[
|
||||
[ "CommandAndParameterParserResult", "class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#ae53327aa9d9301559bc0e08de5c70632", null ],
|
||||
[ "GetCommand", "class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#aa9e6b9e408e380587efb1e8e4f928335", null ],
|
||||
[ "GetParameters", "class_advanced___software___engineering_1_1_command_and_parameter_parser_result.html#adff164e86339e3b3b0fa1da61e2305bf", null ]
|
||||
];
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_command_help.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.CommandHelp Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_advanced___software___engineering_1_1_command_help.html">Advanced_Software_Engineering.CommandHelp</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html#a38b129b6290edb20ec8eef80d3329581">CommandHelp</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html">Advanced_Software_Engineering.CommandHelp</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html#a10f65ed95c5177c2ecb46db714b62ecf">Dispose</a>(bool disposing)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html">Advanced_Software_Engineering.CommandHelp</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Advanced_Software_Engineering.CommandHelp Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_command_help.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="class_advanced___software___engineering_1_1_command_help-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.CommandHelp Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This class is resposible for the command help window. The command help window shows help for the commands.
|
||||
<a href="class_advanced___software___engineering_1_1_command_help.html#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for Advanced_Software_Engineering.CommandHelp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_advanced___software___engineering_1_1_command_help.png" alt=""/>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a38b129b6290edb20ec8eef80d3329581"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html#a38b129b6290edb20ec8eef80d3329581">CommandHelp</a> ()</td></tr>
|
||||
<tr class="memdesc:a38b129b6290edb20ec8eef80d3329581"><td class="mdescLeft"> </td><td class="mdescRight">Initilize <a class="el" href="class_advanced___software___engineering_1_1_command_help.html" title="This class is resposible for the command help window. The command help window shows help for the comm...">CommandHelp</a>. <a href="class_advanced___software___engineering_1_1_command_help.html#a38b129b6290edb20ec8eef80d3329581">More...</a><br /></td></tr>
|
||||
<tr class="separator:a38b129b6290edb20ec8eef80d3329581"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a10f65ed95c5177c2ecb46db714b62ecf"><td class="memItemLeft" align="right" valign="top">override void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html#a10f65ed95c5177c2ecb46db714b62ecf">Dispose</a> (bool disposing)</td></tr>
|
||||
<tr class="memdesc:a10f65ed95c5177c2ecb46db714b62ecf"><td class="mdescLeft"> </td><td class="mdescRight">Clean up any resources being used. <a href="class_advanced___software___engineering_1_1_command_help.html#a10f65ed95c5177c2ecb46db714b62ecf">More...</a><br /></td></tr>
|
||||
<tr class="separator:a10f65ed95c5177c2ecb46db714b62ecf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>This class is resposible for the command help window. The command help window shows help for the commands. </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="a38b129b6290edb20ec8eef80d3329581"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a38b129b6290edb20ec8eef80d3329581">◆ </a></span>CommandHelp()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Advanced_Software_Engineering.CommandHelp.CommandHelp </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Initilize <a class="el" href="class_advanced___software___engineering_1_1_command_help.html" title="This class is resposible for the command help window. The command help window shows help for the comm...">CommandHelp</a>. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a10f65ed95c5177c2ecb46db714b62ecf"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a10f65ed95c5177c2ecb46db714b62ecf">◆ </a></span>Dispose()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">override void Advanced_Software_Engineering.CommandHelp.Dispose </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"><em>disposing</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Clean up any resources being used. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">disposing</td><td>true if managed resources should be disposed; otherwise, false.</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li>Advanced Software Engineering/Windows/CommandHelp.cs</li>
|
||||
<li>Advanced Software Engineering/Windows/CommandHelp.Designer.cs</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="namespace_advanced___software___engineering.html">Advanced_Software_Engineering</a></li><li class="navelem"><a class="el" href="class_advanced___software___engineering_1_1_command_help.html">CommandHelp</a></li>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
var class_advanced___software___engineering_1_1_command_help =
|
||||
[
|
||||
[ "CommandHelp", "class_advanced___software___engineering_1_1_command_help.html#a38b129b6290edb20ec8eef80d3329581", null ],
|
||||
[ "Dispose", "class_advanced___software___engineering_1_1_command_help.html#a10f65ed95c5177c2ecb46db714b62ecf", null ]
|
||||
];
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 832 B |
+110
@@ -0,0 +1,110 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_commander.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.Commander Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a5302b164dd665ab04be9371715e349b1">AddCommand</a>(IVerb command)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#aeb458f428da383573abfa8d383d57c7e">Commander</a>(Graphics graphics)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#afe4b1718e56a5bf7527e79a1bca04806">Commander</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a90249188220cd4b799a8a6fc0991b070">Commander</a>(Graphics graphics, string rawCommands)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af27d54abd28b28688b68638c47ee4c16">DrawAllCommands</a>(Graphics updateGraphicsElement)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#afc12bab7c8f0c0b6f410522d7dc0006b">ExplainCommands</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a8c04ac09ab9d88ba7b20959ee8ec397f">GetLastStatus</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af26f94701ea4fe9827ac6ee0fc4791c3">ProcessCommands</a>(string rawCommands, bool pardonCommands=false)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#aa50faec513eb08ffacd646b107997785">ProcessCommandsAndExecute</a>(string rawCommands, bool pardonCommands=false)</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af92bbeb5d08ab1445f30f4e05dcee30b">RemoveAllCommands</a>()</td><td class="entry"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Advanced_Software_Engineering.Commander</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
+417
@@ -0,0 +1,417 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.20"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Advanced Software Engineering: Advanced_Software_Engineering.Commander Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="resize.js"></script>
|
||||
<script type="text/javascript" src="navtreedata.js"></script>
|
||||
<script type="text/javascript" src="navtree.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Advanced Software Engineering
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.20 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('class_advanced___software___engineering_1_1_commander.html',''); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="class_advanced___software___engineering_1_1_commander-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Advanced_Software_Engineering.Commander Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>The commander class takes care of commands. It also takes control of the drawer.
|
||||
<a href="class_advanced___software___engineering_1_1_commander.html#details">More...</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:af27d54abd28b28688b68638c47ee4c16"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af27d54abd28b28688b68638c47ee4c16">DrawAllCommands</a> (Graphics updateGraphicsElement)</td></tr>
|
||||
<tr class="memdesc:af27d54abd28b28688b68638c47ee4c16"><td class="mdescLeft"> </td><td class="mdescRight">This command updates the graphics element (usually) when the page repaints. <a href="class_advanced___software___engineering_1_1_commander.html#af27d54abd28b28688b68638c47ee4c16">More...</a><br /></td></tr>
|
||||
<tr class="separator:af27d54abd28b28688b68638c47ee4c16"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aeb458f428da383573abfa8d383d57c7e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#aeb458f428da383573abfa8d383d57c7e">Commander</a> (Graphics graphics)</td></tr>
|
||||
<tr class="memdesc:aeb458f428da383573abfa8d383d57c7e"><td class="mdescLeft"> </td><td class="mdescRight">Create a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance. <a href="class_advanced___software___engineering_1_1_commander.html#aeb458f428da383573abfa8d383d57c7e">More...</a><br /></td></tr>
|
||||
<tr class="separator:aeb458f428da383573abfa8d383d57c7e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afe4b1718e56a5bf7527e79a1bca04806"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#afe4b1718e56a5bf7527e79a1bca04806">Commander</a> ()</td></tr>
|
||||
<tr class="memdesc:afe4b1718e56a5bf7527e79a1bca04806"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance without a context. Should only be used for testing purpouses. <a href="class_advanced___software___engineering_1_1_commander.html#afe4b1718e56a5bf7527e79a1bca04806">More...</a><br /></td></tr>
|
||||
<tr class="separator:afe4b1718e56a5bf7527e79a1bca04806"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a90249188220cd4b799a8a6fc0991b070"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a90249188220cd4b799a8a6fc0991b070">Commander</a> (Graphics graphics, string rawCommands)</td></tr>
|
||||
<tr class="memdesc:a90249188220cd4b799a8a6fc0991b070"><td class="mdescLeft"> </td><td class="mdescRight">Creates a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance with a graphics context and commands to process right off the bat. <a href="class_advanced___software___engineering_1_1_commander.html#a90249188220cd4b799a8a6fc0991b070">More...</a><br /></td></tr>
|
||||
<tr class="separator:a90249188220cd4b799a8a6fc0991b070"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5302b164dd665ab04be9371715e349b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a5302b164dd665ab04be9371715e349b1">AddCommand</a> (<a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html">IVerb</a> command)</td></tr>
|
||||
<tr class="memdesc:a5302b164dd665ab04be9371715e349b1"><td class="mdescLeft"> </td><td class="mdescRight">Adds a <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> to the command list to be executed. <a href="class_advanced___software___engineering_1_1_commander.html#a5302b164dd665ab04be9371715e349b1">More...</a><br /></td></tr>
|
||||
<tr class="separator:a5302b164dd665ab04be9371715e349b1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af26f94701ea4fe9827ac6ee0fc4791c3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af26f94701ea4fe9827ac6ee0fc4791c3">ProcessCommands</a> (string rawCommands, bool pardonCommands=false)</td></tr>
|
||||
<tr class="memdesc:af26f94701ea4fe9827ac6ee0fc4791c3"><td class="mdescLeft"> </td><td class="mdescRight">processes commands. Removes all commands if it fails parsing the raw commands. <a href="class_advanced___software___engineering_1_1_commander.html#af26f94701ea4fe9827ac6ee0fc4791c3">More...</a><br /></td></tr>
|
||||
<tr class="separator:af26f94701ea4fe9827ac6ee0fc4791c3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa50faec513eb08ffacd646b107997785"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#aa50faec513eb08ffacd646b107997785">ProcessCommandsAndExecute</a> (string rawCommands, bool pardonCommands=false)</td></tr>
|
||||
<tr class="memdesc:aa50faec513eb08ffacd646b107997785"><td class="mdescLeft"> </td><td class="mdescRight">Processes the commands and executes them at the same time. It's the same as <a href="class_advanced___software___engineering_1_1_commander.html#aa50faec513eb08ffacd646b107997785">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa50faec513eb08ffacd646b107997785"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af92bbeb5d08ab1445f30f4e05dcee30b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#af92bbeb5d08ab1445f30f4e05dcee30b">RemoveAllCommands</a> ()</td></tr>
|
||||
<tr class="memdesc:af92bbeb5d08ab1445f30f4e05dcee30b"><td class="mdescLeft"> </td><td class="mdescRight">Removes all commands from the <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> and resets the drawer. <a href="class_advanced___software___engineering_1_1_commander.html#af92bbeb5d08ab1445f30f4e05dcee30b">More...</a><br /></td></tr>
|
||||
<tr class="separator:af92bbeb5d08ab1445f30f4e05dcee30b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afc12bab7c8f0c0b6f410522d7dc0006b"><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#afc12bab7c8f0c0b6f410522d7dc0006b">ExplainCommands</a> ()</td></tr>
|
||||
<tr class="memdesc:afc12bab7c8f0c0b6f410522d7dc0006b"><td class="mdescLeft"> </td><td class="mdescRight">Explains all of the commands in order <a href="class_advanced___software___engineering_1_1_commander.html#afc12bab7c8f0c0b6f410522d7dc0006b">More...</a><br /></td></tr>
|
||||
<tr class="separator:afc12bab7c8f0c0b6f410522d7dc0006b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8c04ac09ab9d88ba7b20959ee8ec397f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_advanced___software___engineering_1_1_commander.html#a8c04ac09ab9d88ba7b20959ee8ec397f">GetLastStatus</a> ()</td></tr>
|
||||
<tr class="memdesc:a8c04ac09ab9d88ba7b20959ee8ec397f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the status of the code that was processed <a href="class_advanced___software___engineering_1_1_commander.html#a8c04ac09ab9d88ba7b20959ee8ec397f">More...</a><br /></td></tr>
|
||||
<tr class="separator:a8c04ac09ab9d88ba7b20959ee8ec397f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>The commander class takes care of commands. It also takes control of the drawer. </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="aeb458f428da383573abfa8d383d57c7e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aeb458f428da383573abfa8d383d57c7e">◆ </a></span>Commander() <span class="overload">[1/3]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Advanced_Software_Engineering.Commander.Commander </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Graphics </td>
|
||||
<td class="paramname"><em>graphics</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Create a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">graphics</td><td>initial graphics object</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="afe4b1718e56a5bf7527e79a1bca04806"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afe4b1718e56a5bf7527e79a1bca04806">◆ </a></span>Commander() <span class="overload">[2/3]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Advanced_Software_Engineering.Commander.Commander </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Creates a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance without a context. Should only be used for testing purpouses. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a90249188220cd4b799a8a6fc0991b070"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a90249188220cd4b799a8a6fc0991b070">◆ </a></span>Commander() <span class="overload">[3/3]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Advanced_Software_Engineering.Commander.Commander </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Graphics </td>
|
||||
<td class="paramname"><em>graphics</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">string </td>
|
||||
<td class="paramname"><em>rawCommands</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Creates a new <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> instance with a graphics context and commands to process right off the bat. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">graphics</td><td>Graphics contetx</td></tr>
|
||||
<tr><td class="paramname">rawCommands</td><td>Commands to process</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a5302b164dd665ab04be9371715e349b1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5302b164dd665ab04be9371715e349b1">◆ </a></span>AddCommand()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Advanced_Software_Engineering.Commander.AddCommand </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html">IVerb</a> </td>
|
||||
<td class="paramname"><em>command</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Adds a <a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> to the command list to be executed. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">command</td><td><a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a> to be added. <dl class="section see"><dt>See also</dt><dd><a class="el" href="interface_advanced___software___engineering_1_1_i_verb.html" title="IVerb is an interface for executing and getting the descriptions of Verbs. Some Verbs draw lines,...">IVerb</a></dd></dl>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af27d54abd28b28688b68638c47ee4c16"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af27d54abd28b28688b68638c47ee4c16">◆ </a></span>DrawAllCommands()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Advanced_Software_Engineering.Commander.DrawAllCommands </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">Graphics </td>
|
||||
<td class="paramname"><em>updateGraphicsElement</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>This command updates the graphics element (usually) when the page repaints. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">updateGraphicsElement</td><td>The graphics element to be updated</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="afc12bab7c8f0c0b6f410522d7dc0006b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afc12bab7c8f0c0b6f410522d7dc0006b">◆ </a></span>ExplainCommands()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">string Advanced_Software_Engineering.Commander.ExplainCommands </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Explains all of the commands in order </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Explanation of all the commands</dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8c04ac09ab9d88ba7b20959ee8ec397f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8c04ac09ab9d88ba7b20959ee8ec397f">◆ </a></span>GetLastStatus()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Advanced_Software_Engineering.Commander.GetLastStatus </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Gets the status of the code that was processed </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>False if there was no error. True if there was an error</dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af26f94701ea4fe9827ac6ee0fc4791c3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af26f94701ea4fe9827ac6ee0fc4791c3">◆ </a></span>ProcessCommands()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Advanced_Software_Engineering.Commander.ProcessCommands </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">string </td>
|
||||
<td class="paramname"><em>rawCommands</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"><em>pardonCommands</em> = <code>false</code> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>processes commands. Removes all commands if it fails parsing the raw commands. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">rawCommands</td><td>Processes commands seperated by <br />
|
||||
or \r<br />
|
||||
</td></tr>
|
||||
<tr><td class="paramname">pardonCommands</td><td>If the command is wrong, don't remove all of the commands</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa50faec513eb08ffacd646b107997785"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa50faec513eb08ffacd646b107997785">◆ </a></span>ProcessCommandsAndExecute()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Advanced_Software_Engineering.Commander.ProcessCommandsAndExecute </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">string </td>
|
||||
<td class="paramname"><em>rawCommands</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">bool </td>
|
||||
<td class="paramname"><em>pardonCommands</em> = <code>false</code> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Processes the commands and executes them at the same time. It's the same as </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">rawCommands</td><td>Processes commands seperated by <br />
|
||||
or \r<br />
|
||||
</td></tr>
|
||||
<tr><td class="paramname">pardonCommands</td><td>If the command is wrong, don't remove all of the commands</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="af92bbeb5d08ab1445f30f4e05dcee30b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af92bbeb5d08ab1445f30f4e05dcee30b">◆ </a></span>RemoveAllCommands()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Advanced_Software_Engineering.Commander.RemoveAllCommands </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Removes all commands from the <a class="el" href="class_advanced___software___engineering_1_1_commander.html" title="The commander class takes care of commands. It also takes control of the drawer.">Commander</a> and resets the drawer. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>Advanced Software Engineering/Commander.cs</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="namespace_advanced___software___engineering.html">Advanced_Software_Engineering</a></li><li class="navelem"><a class="el" href="class_advanced___software___engineering_1_1_commander.html">Commander</a></li>
|
||||
<li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loaded 100 of 667 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user