From 790ff2582eae61d3ef87dae4fb6ab9ab9559ab97 Mon Sep 17 00:00:00 2001
From: cse <cse>
Date: Thu, 26 Jan 2017 15:32:53 -0600
Subject: [PATCH] Finished up the Canes ordering app

---
 main.py  |  78 +++++++++++++++++++++++++++++++++++++++++++
 order.kv | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 176 insertions(+), 2 deletions(-)

diff --git a/main.py b/main.py
index da72251..2204d2f 100644
--- a/main.py
+++ b/main.py
@@ -1,6 +1,8 @@
 from kivy.app import App
 from kivy.modules import inspector # For inspection.
 from kivy.core.window import Window # For inspection.
+from kivy.properties import BooleanProperty, NumericProperty
+
 
 __app_package__ = 'edu.unl.cse.soft161.order'
 __app__ = 'Order Meal'
@@ -9,10 +11,86 @@ __flags__ = ['--bootstrap=sdl2', '--requirements=python2,kivy', '--orientation=l
 
 
 class OrderApp(App):
+    total = NumericProperty(0.00)
+    price_2_strips = NumericProperty(4.99)
+    price_3_strips = NumericProperty(6.50)
+    price_4_strips = NumericProperty(7.99)
+    price_6_strips = NumericProperty(10.99)
+    price_sandwitch = NumericProperty(7.99)
+    price_25_strips = NumericProperty(19.99)
+    price_50_strips = NumericProperty(38.99)
+    price_75_strips = NumericProperty(56.99)
+    price_100_strips = NumericProperty(69.99)
+    price_jug_of_lemonade = NumericProperty(2.99)
+    price_jug_of_icedtea = NumericProperty(2.99)
+    price_extra_sauce = NumericProperty(.99)
+    price_extra_drink = NumericProperty(2.39)
+    price_extra_fries = NumericProperty(2.99)
+
+    toast_no_slaw_disabled = BooleanProperty(False)
+    slaw_no_toast_disabled = BooleanProperty(False)
+    msg = 'Place Order \n Total: $'
+
     def build(self):
         inspector.create_inspector(Window, self) # For inspection (press control-e to toggle).
 
+    def two_strips(self):
+        self.total += self.price_2_strips
+
+    def three_strips(self):
+        self.total += self.price_3_strips
+
+    def four_strips(self):
+        self.total += self.price_4_strips
+
+    def six_strips(self):
+        self.total += self.price_6_strips
+
+    def sandwitch(self):
+        self.total += self.price_sandwitch
+
+    def twenty5_strips(self):
+        self.total += self.price_25_strips
+
+    def fifty_strips(self):
+        self.total += self.price_50_strips
+
+    def seventy5_strips(self):
+        self.total += self.price_75_strips
+
+    def hundred_strips(self):
+        self.total += self.price_100_strips
+
+    def lemonade(self):
+        self.total += self.price_jug_of_lemonade
+
+    def icedtea(self):
+        self.total += self.price_jug_of_icedtea
+
+    def sauce(self):
+        self.total += self.price_extra_sauce
+
+    def drink(self):
+        self.total += self.price_extra_drink
+
+    def fries(self):
+        self.total += self.price_extra_fries
+
+    def extra_toast(self):
+        self.slaw_no_toast_disabled = BooleanProperty(True)
+
+    def extra_slaw(self):
+        self.toast_no_slaw_disabled = BooleanProperty(True)
+
+    def reset(self):
+        self.total = 0.00
+        self.toast_no_slaw_disabled = False
+        self.slaw_no_toast_disabled = False
+
+    def placed_order(self):
+        pass  #would actually place an order if this were a real thing
 
 if __name__ == '__main__':
     app = OrderApp()
     app.run()
+
diff --git a/order.kv b/order.kv
index d23f974..bd590f2 100644
--- a/order.kv
+++ b/order.kv
@@ -1,4 +1,100 @@
 BoxLayout:
     orientation: 'vertical'
-    Label:
-        text: '[Your meal-ordering GUI here]'
+    BoxLayout:
+        size_hint_y: .2
+        Label:
+            text: 'Canes Chicken'
+            font_size: '50sp'
+    BoxLayout:
+        orientation: 'horizontal'
+        BoxLayout:
+            orientation: 'vertical'
+            Label:
+                font_size: '20sp'
+                text: 'Meals'
+            Button:
+                size_hint: (1, 0.6)
+                text: '2 Chicken Strips'
+                on_press: app.two_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '3 Chicken Strips'
+                on_press: app.three_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '4 Chicken Strips'
+                on_press: app.four_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '6 Chicken Strips'
+                on_press: app.six_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Chicken Strip Sandwitch'
+                on_press: app.sandwitch()
+        BoxLayout:
+            orientation: 'vertical'
+            Label:
+                font_size: '20sp'
+                text: 'Tailgating'
+            Button:
+                size_hint: (1, 0.6)
+                text: '25 Chicken Strips'
+                on_press: app.twenty5_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '50 Chicken Strips'
+                on_press: app.fifty_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '75 Chicken Strips'
+                on_press: app.seventy5_strips()
+            Button:
+                size_hint: (1, 0.6)
+                text: '100 Chicken Strips'
+                on_press: app.hundred_strips()
+            Button:
+                size_hint: (1, 0.3)
+                text: 'Jug of Lemonade'
+                on_press: app.lemonade()
+            Button:
+                size_hint: (1, 0.3)
+                text: 'Jug of Iced Tea'
+                on_press: app.icedtea()
+        BoxLayout:
+            orientation: 'vertical'
+            Label:
+                font_size: '20sp'
+                text: 'Extras'
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Two coleslaw'
+                on_press: app.extra_slaw()
+                disabled: app.slaw_no_toast_disabled
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Two pieces of toast'
+                disabled: app.toast_no_slaw_disabled
+                on_press: app.extra_toast()
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Extra sauce'
+                on_press: app.sauce()
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Extra drinks'
+                on_press: app.drink()
+            Button:
+                size_hint: (1, 0.6)
+                text: 'Extra fries'
+                on_press: app.fries()
+    BoxLayout:
+        size_hint: (1, 0.2)
+        orientation: 'horizontal'
+        Button:
+            text: 'Reset'
+            on_press: app.reset()
+        Button:
+            on_press: app.placed_order()
+            text: app.msg + str(app.total)
+
-- 
GitLab