Linked the commands

This commit is contained in:
Lukasz Baldyga committed 2020-10-24 09:11:36 +01:00
1 parent 720e9cc5a5
commit 0dcac3f12b
3 files changed
+61 -11

No files matched your search

@@ -57,7 +57,7 @@ namespace Advanced_Software_Engineering {
SettingsAndHelperFunctions.ConvertToDouble(parameters[1]) SettingsAndHelperFunctions.ConvertToDouble(parameters[1])
); );
} }
if (parameters.Length == 3) { else if (parameters.Length == 3) {
return new RegularPolygon(drawer, return new RegularPolygon(drawer,
SettingsAndHelperFunctions.ConvertToInt(parameters[0]), SettingsAndHelperFunctions.ConvertToInt(parameters[0]),
SettingsAndHelperFunctions.ConvertToDouble(parameters[1]), SettingsAndHelperFunctions.ConvertToDouble(parameters[1]),
@@ -65,10 +65,56 @@ namespace Advanced_Software_Engineering {
); );
} else throw new Exception("Command has an incorrect number of parameters"); } else throw new Exception("Command has an incorrect number of parameters");
case "square": case "square":
//Check parameters
if (parameters.Length == 1) {
return new
Square(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0])
);
}
else if(parameters.Length == 2) {
return new Square(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0]),
SettingsAndHelperFunctions.ConvertToDouble(parameters[1])
);
} else throw new Exception("Command has an incorrect number of parameters");
case "rectangle": case "rectangle":
//Check parameters
if (parameters.Length == 2) {
return new Rectangle(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0]),
SettingsAndHelperFunctions.ConvertToDouble(parameters[1])
);
}
else if(parameters.Length == 4) {
return new Rectangle(drawer,
SettingsAndHelperFunctions.ConvertToPoint(parameters[0], parameters[1]),
SettingsAndHelperFunctions.ConvertToPoint(parameters[2], parameters[3])
);
} else throw new Exception("Command has an incorrect number of parameters");
case "circle": case "circle":
//Check parameters
if (parameters.Length == 1) {
return new
Circle(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0])
);
} else throw new Exception("Command has an incorrect number of parameters");
case "triangle": case "triangle":
//Check parameters
if (parameters.Length == 1) {
return new
Triangle(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0])
);
}
else if(parameters.Length == 2) {
return new
Triangle(drawer,
SettingsAndHelperFunctions.ConvertToDouble(parameters[0]),
SettingsAndHelperFunctions.ConvertToDouble(parameters[1])
);
} else throw new Exception("Command has an incorrect number of parameters");
case "dot": case "dot":
case "clear": case "clear":
@@ -179,11 +225,11 @@ namespace Advanced_Software_Engineering {
Verb verb; Verb verb;
Square(Drawer drawer, double scale) { public Square(Drawer drawer, double scale) {
verb = new RegularPolygon(drawer, 4, scale); verb = new RegularPolygon(drawer, 4, scale);
} }
Square(Drawer drawer, double scale, double offset) { public Square(Drawer drawer, double scale, double offset) {
verb = new RegularPolygon(drawer, 4, scale, offset); verb = new RegularPolygon(drawer, 4, scale, offset);
} }
@@ -195,11 +241,11 @@ namespace Advanced_Software_Engineering {
class Triangle : Verb { class Triangle : Verb {
Verb verb; Verb verb;
Triangle(Drawer drawer, double scale) { public Triangle(Drawer drawer, double scale) {
verb = new RegularPolygon(drawer, 3, scale); verb = new RegularPolygon(drawer, 3, scale);
} }
Triangle(Drawer drawer, double scale, double offset) { public Triangle(Drawer drawer, double scale, double offset) {
verb = new RegularPolygon(drawer, 3, scale, offset); verb = new RegularPolygon(drawer, 3, scale, offset);
} }
@@ -216,7 +262,7 @@ namespace Advanced_Software_Engineering {
List<Point> points; List<Point> points;
bool correctForOrigin; bool correctForOrigin;
Rectangle(Drawer drawer, double width, double height, bool center = true) { public Rectangle(Drawer drawer, double width, double height, bool center = true) {
this.drawer = drawer; this.drawer = drawer;
correctForOrigin = true; correctForOrigin = true;
@@ -232,7 +278,7 @@ namespace Advanced_Software_Engineering {
foreach (PointF pointF in points) this.points.Add(new Point((int)Math.Round(pointF.X), (int)Math.Round(pointF.Y))); foreach (PointF pointF in points) this.points.Add(new Point((int)Math.Round(pointF.X), (int)Math.Round(pointF.Y)));
} }
Rectangle(Drawer drawer, Point point1, Point point2) { public Rectangle(Drawer drawer, Point point1, Point point2) {
this.drawer = drawer; this.drawer = drawer;
PointF[] points = new PointF[] PointF[] points = new PointF[]
@@ -73,8 +73,7 @@ namespace Advanced_Software_Engineering {
e.Message + Environment.NewLine + e.StackTrace, e.Message + Environment.NewLine + e.StackTrace,
ErrorWindow.ERROR_MESSAGE ErrorWindow.ERROR_MESSAGE
).Show(); ).Show();
} } catch (Exception windowError) {
catch(Exception windowError) {
Console.WriteLine("Failed to display error window!"); Console.WriteLine("Failed to display error window!");
throw windowError; throw windowError;
} }
@@ -175,7 +174,7 @@ namespace Advanced_Software_Engineering {
} }
public void DrawCircle(double scale) { public void DrawCircle(double scale) {
graphics.DrawEllipse(pen, penPosition.X, penPosition.Y, (float)scale, (float)scale); graphics.DrawEllipse(pen, penPosition.X - (float)(scale), penPosition.Y - (float)(scale), (float)scale*2, (float)scale*2);
} }
} }
@@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.Security.Policy; using System.Security.Policy;
using System.Windows.Forms; using System.Windows.Forms;
@@ -83,6 +84,10 @@ namespace Advanced_Software_Engineering {
return double.Parse(text); return double.Parse(text);
} }
public static Point ConvertToPoint(string text1, string text2) {
return new Point(ConvertToInt(text1), ConvertToInt(text2));
}
public static List<string> StripStringArray(string[] array) { public static List<string> StripStringArray(string[] array) {
List<string> newStringList = new List<string>(); List<string> newStringList = new List<string>();