summaryrefslogtreecommitdiff
path: root/wasp/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'wasp/widgets.py')
-rw-r--r--wasp/widgets.py76
1 files changed, 15 insertions, 61 deletions
diff --git a/wasp/widgets.py b/wasp/widgets.py
index bed9be5..40523ce 100644
--- a/wasp/widgets.py
+++ b/wasp/widgets.py
@@ -378,76 +378,30 @@ class Spinner():
return False
-_message_string_x_coord = const(0)
-_message_string_y_coord = const(60)
-_yes_button_x_coord = const(20)
-_yes_button_y_coord = const(100)
-_no_button_x_coord = const(120)
-_no_button_y_coord = const(100)
-
class ConfirmationView:
"""Confirmation widget allowing user confirmation of a setting."""
def __init__(self):
self.active = False
-
- self.yes_button_bounds = (
- (_yes_button_x_coord, _yes_button_y_coord),
- (
- icons.yes_button[0] + _yes_button_x_coord,
- icons.yes_button[1] + _yes_button_y_coord,
- ),
- )
- self.no_button_bounds = (
- (_no_button_x_coord, _no_button_y_coord),
- (
- icons.no_button[0] + _no_button_x_coord,
- icons.no_button[1] + _no_button_y_coord,
- )
- )
+ self.value = False
def draw(self, message):
- wasp.watch.drawable.fill(1)
- wasp.watch.drawable.string(
- message,
- _message_string_x_coord,
- _message_string_y_coord
- )
- wasp.watch.drawable.blit(
- icons.yes_button,
- _yes_button_x_coord,
- _yes_button_y_coord,
- )
- wasp.watch.drawable.blit(
- icons.no_button,
- _no_button_x_coord,
- _no_button_y_coord,
- )
self.active = True
-
+ wasp.watch.drawable.fill(1)
+ wasp.watch.drawable.string(message, 0, 60)
+ wasp.watch.drawable.blit(icons.yes_button, 20, 100)
+ wasp.watch.drawable.blit(icons.no_button, 120, 100)
def touch(self, event):
- x_coord = event[1]
- y_coord = event[2]
- is_yes_button_press = (
- x_coord > self.yes_button_bounds[0][0]
- and y_coord > self.yes_button_bounds[0][1]
- and x_coord < self.yes_button_bounds[1][0]
- and y_coord < self.yes_button_bounds[1][1]
- )
-
- is_no_button_press = (
- x_coord > self.no_button_bounds[0][0]
- and y_coord > self.no_button_bounds[0][1]
- and x_coord < self.no_button_bounds[1][0]
- and y_coord < self.no_button_bounds[1][1]
- )
-
- if is_yes_button_press:
+ if not self.active:
+ return False
+
+ x = event[1]
+ y = event[2]
+
+ if y >= 80 and y < 180:
self.active = False
+ self.value = x < 120
return True
- elif is_no_button_press:
- self.active = False
- return False
- else:
- return None
+
+ return False