From 5decaf284d5f5a3e0c5d382ab41df6ca6b573b84 Mon Sep 17 00:00:00 2001 From: Dorian Pula Date: Sat, 4 Jun 2016 12:35:33 -0700 Subject: [PATCH] Breakout map regions into standalone widget. --- main.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index ab87f7a..8497db0 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,14 @@ +import collections + from kivy.app import App from kivy import properties from kivy.uix import button from kivy.uix.floatlayout import FloatLayout +MapCoords = collections.namedtuple('MapCoords', ['row', 'col']) + + class StrategyGame(FloatLayout): main_map = properties.ObjectProperty(None) map_rows = properties.NumericProperty(0) @@ -16,7 +21,14 @@ class StrategyGame(FloatLayout): for region in xrange(0, number_of_regions): row = region / self.map_cols col = region % self.map_cols - self.main_map.add_widget(button.Button(text='({}, {})'.format(row, col))) + self.main_map.add_widget(MapRegion(row=row, col=col)) + + +class MapRegion(button.Button): + def __init__(self, row=0, col=0, **kwargs): + self.region_in_map = MapCoords(row, col) + super(MapRegion, self).__init__(**kwargs) + self.text = '({}, {})'.format(self.region_in_map.row, self.region_in_map.col) class StrategyGameApp(App):