7 from kivy.app import App
8 from kivy.logger import Logger, LoggerHistory
9 from kivy.uix.widget import Widget
10 from kivy.uix.floatlayout import FloatLayout
11 from kivy.graphics import Color, Rectangle
13 from erdslangetjie.data import filepath, load
14 from erdslangetjie.level import Level
15 from erdslangetjie.constants import TILE_SIZE, QUIET
18 class EditorWindow(FloatLayout):
20 def __init__(self, level):
21 super(EditorWindow, self).__init__(size=(800, 600))
22 if os.path.exists(filepath(level)):
23 level_data = load(level)
25 elif os.path.exists(filepath('levels/' + level)):
26 level_data = load('levels/' + level)
27 self.level = 'levels/' + level
29 print 'Unable to find %s - treating this as a new level' % level
30 level_data = load('levels/blank.txt')
31 if 'levels/' in level:
34 self.level = 'levels/' + level
35 self.level_obj = Level(level_data)
37 self.level_obj.load_tiles()
41 tiles = self.level_obj.get_tiles()
43 for tile_line in tiles:
45 for tile in tile_line:
46 node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=(bx, by))
49 Rectangle(pos=node.pos, size=node.size,
58 def __init__(self, level):
60 super(EditorApp, self).__init__()
63 editor = EditorWindow(self.level)
74 for hdlr in Logger.handlers[:]:
75 if not isinstance(hdlr, LoggerHistory):
76 Logger.removeHandler(hdlr)
77 EditorApp(level).run()
80 if __name__ == '__main__':