Move some stuff to constants. Add QUIET flag for release
[erdslangetjie.git] / erdslangetjie / editor / editor.py
index ecdbec7cc61f3c3cc36f65248d656042ba7a60ee..04c95d93593ccd063d2c4d2a569a3d6fbd24fa63 100644 (file)
@@ -1,24 +1,24 @@
 import sys
 import os
 import kivy
 import sys
 import os
 import kivy
-from erdslangetjie.data import filepath, load
-from erdslangetjie.level import Level
 
 kivy.require('1.6.0')
 
 from kivy.app import App
 from kivy.logger import Logger, LoggerHistory
 from kivy.uix.widget import Widget
 
 kivy.require('1.6.0')
 
 from kivy.app import App
 from kivy.logger import Logger, LoggerHistory
 from kivy.uix.widget import Widget
-
 from kivy.uix.floatlayout import FloatLayout
 from kivy.uix.floatlayout import FloatLayout
-from kivy.uix.scatter import Scatter
 from kivy.graphics import Color, Rectangle
 
 from kivy.graphics import Color, Rectangle
 
+from erdslangetjie.data import filepath, load
+from erdslangetjie.level import Level
+from erdslangetjie.constants import TILE_SIZE, QUIET
+
 
 class EditorWindow(FloatLayout):
 
     def __init__(self, level):
 
 class EditorWindow(FloatLayout):
 
     def __init__(self, level):
-        super(EditorWindow, self).__init__()
+        super(EditorWindow, self).__init__(size=(800, 600))
         if os.path.exists(filepath(level)):
             level_data = load(level)
             self.level = level
         if os.path.exists(filepath(level)):
             level_data = load(level)
             self.level = level
@@ -32,25 +32,25 @@ class EditorWindow(FloatLayout):
                 self.level = level
             else:
                 self.level = 'levels/' + level
                 self.level = level
             else:
                 self.level = 'levels/' + level
-        self.level_obj = Level()
-        self.level_obj.load(level_data)
+        self.level_obj = Level(level_data)
         level_data.close()
         level_data.close()
+        self.level_obj.load_tiles()
 
     def build(self):
         self.clear_widgets()
         tiles = self.level_obj.get_tiles()
 
     def build(self):
         self.clear_widgets()
         tiles = self.level_obj.get_tiles()
-        tile_size = 24
         bx, by = 0, 0
         for tile_line in tiles:
             bx = 0
             for tile in tile_line:
         bx, by = 0, 0
         for tile_line in tiles:
             bx = 0
             for tile in tile_line:
-                node = Scatter(pos=(bx, by), size=(tile_size, tile_size))
+                node = Widget(size=(TILE_SIZE, TILE_SIZE), pos=(bx, by))
                 with node.canvas:
                     Color(1, 1, 1)
                 with node.canvas:
                     Color(1, 1, 1)
-                    Rectangle(size=node.size, texture=tile.texture)
+                    Rectangle(pos=node.pos, size=node.size,
+                            texture=tile.texture)
                 self.add_widget(node)
                 self.add_widget(node)
-                bx += tile_size
-            by += tile_size
+                bx += TILE_SIZE
+            by += TILE_SIZE
 
 
 class EditorApp(App):
 
 
 class EditorApp(App):
@@ -70,10 +70,10 @@ def main():
         level = sys.argv[1]
     else:
         level = 'level1.txt'
         level = sys.argv[1]
     else:
         level = 'level1.txt'
-    # Uncomment to silence excessive logging
-    #for hdlr in Logger.handlers[:]:
-    #    if not isinstance(hdlr, LoggerHistory):
-    #        Logger.removeHandler(hdlr)
+    if QUIET:
+        for hdlr in Logger.handlers[:]:
+            if not isinstance(hdlr, LoggerHistory):
+                Logger.removeHandler(hdlr)
     EditorApp(level).run()
 
 
     EditorApp(level).run()