Skip to content
Snippets Groups Projects
Commit 88b38d2b authored by lukas tast's avatar lukas tast
Browse files

Added a secound button that adds 10 secounds to the timer

parent 099239c7
No related branches found
No related tags found
1 merge request!2Feature/new button
Pipeline #268261 failed
......@@ -18,11 +18,12 @@ namespace Microwave.Classes.Controllers
private IDisplay myDisplay;
private int powerLevel = 50;
private int time = 1;
private int time = 60;
public UserInterface(
IButton powerButton,
IButton timeButton,
IButton minuteButton,
IButton secoundButton,
IButton startCancelButton,
IDoor door,
IDisplay display,
......@@ -30,7 +31,8 @@ namespace Microwave.Classes.Controllers
ICookController cooker)
{
powerButton.Pressed += new EventHandler(OnPowerPressed);
timeButton.Pressed += new EventHandler(OnTimePressed);
minuteButton.Pressed += new EventHandler(OnTimePressed);
secoundButton.Pressed += new EventHandler(OnSecoundPressed);
startCancelButton.Pressed += new EventHandler(OnStartCancelPressed);
door.Closed += new EventHandler(OnDoorClosed);
......@@ -44,7 +46,7 @@ namespace Microwave.Classes.Controllers
private void ResetValues()
{
powerLevel = 50;
time = 1;
time = 60;
}
public void OnPowerPressed(object sender, EventArgs e)
......@@ -67,16 +69,32 @@ namespace Microwave.Classes.Controllers
switch (myState)
{
case States.SETPOWER:
myDisplay.ShowTime(time, 0);
myDisplay.ShowTime(time / 60, time % 60);
myState = States.SETTIME;
break;
case States.SETTIME:
time += 1;
myDisplay.ShowTime(time, 0);
time += 60;
myDisplay.ShowTime(time / 60, time % 60);
break;
}
}
public void OnSecoundPressed(object sender, EventArgs e)
{
switch (myState)
{
case States.SETPOWER:
myDisplay.ShowTime(time / 60, time % 60);
myState = States.SETTIME;
break;
case States.SETTIME:
time += 10;
myDisplay.ShowTime(time / 60, time % 60);
break;
}
}
public void OnStartCancelPressed(object sender, EventArgs e)
{
switch (myState)
......@@ -88,7 +106,7 @@ namespace Microwave.Classes.Controllers
break;
case States.SETTIME:
myLight.TurnOn();
myCooker.StartCooking(powerLevel, time*60);
myCooker.StartCooking(powerLevel, time);
myState = States.COOKING;
break;
case States.COOKING:
......
......@@ -10,6 +10,7 @@ namespace Microwave.Classes.Interfaces
{
void OnPowerPressed(object sender, EventArgs e);
void OnTimePressed(object sender, EventArgs e);
void OnSecoundPressed(object sender, EventArgs e);
void OnStartCancelPressed(object sender, EventArgs e);
void OnDoorOpened(object sender, EventArgs e);
......
......@@ -11,6 +11,7 @@ namespace Microwave.App
Button startCancelButton = new Button();
Button powerButton = new Button();
Button timeButton = new Button();
Button secoundButton = new Button();
Door door = new Door();
......@@ -26,7 +27,7 @@ namespace Microwave.App
CookController cooker = new CookController(timer, display, powerTube);
UserInterface ui = new UserInterface(powerButton, timeButton, startCancelButton, door, display, light, cooker);
UserInterface ui = new UserInterface(powerButton, timeButton, secoundButton, startCancelButton, door, display, light, cooker);
// Finish the double association
cooker.UI = ui;
......@@ -37,6 +38,10 @@ namespace Microwave.App
timeButton.Press();
timeButton.Press();
secoundButton.Press();
startCancelButton.Press();
// The simple sequence should now run
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment