start implementing edit_recipe

This commit is contained in:
Jannes Magnusson
2025-10-18 23:28:55 +02:00
parent 06df2e0e9b
commit eb32f089ad
12 changed files with 241 additions and 70 deletions

View File

@@ -3,20 +3,25 @@ from typing import Tuple
from ..base import View
from ..button_interface import ButtonInterface
from .recipe_manager import RecipeManager
from .recipe import V60, ESPRESSO
from PIL import ImageDraw, Image
class RecipeSelection(View, ButtonInterface):
recipes = [
V60,
ESPRESSO
]
@property
def recipes(self):
return self.recipe_manager.recipes
def __init__(self, parent, im_size, center, deactivate_command=None):
def __init__(self, parent, im_size, center,
recipe_manager: RecipeManager = None,
edit_recipe_command=None,
deactivate_command=None):
self.selected_index = 0
self.deactivate_command = deactivate_command
self.recipe_manager = recipe_manager
self.edit_recipe_command = edit_recipe_command
super().__init__(parent, im_size, center)
def _get_visual_recipes(self):
@@ -56,6 +61,10 @@ class RecipeSelection(View, ButtonInterface):
def left_press(self):
self.selected_index = (self.selected_index - 1) % (len(self.recipes) + 2)
def left_long_press(self):
if self.selected_index < len(self.recipes):
self.edit_recipe_command(self.recipes[self.selected_index])
def right_press(self):
self.selected_index = (self.selected_index + 1) % (len(self.recipes) + 2)
@@ -65,8 +74,7 @@ class RecipeSelection(View, ButtonInterface):
# activate selected recipe
print(f"Activating recipe: {self.recipes[self.selected_index]}")
elif self.selected_index == len(self.recipes):
# add new recipe
print("Adding new recipe")
self.edit_recipe_command()
else:
self.selected_index = 0
self.deactivate_command()