From f205c0f3c3fa0de263ed65cb38f7d992b1f72c5e Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Fri, 21 Jun 2013 22:27:40 +0100
Subject: [PATCH] [Add] <resedit> You can now set planet graphics. [Fix]
 Commodity adding.

---
 utils/resedit/space.py | 73 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 70 insertions(+), 3 deletions(-)

diff --git a/utils/resedit/space.py b/utils/resedit/space.py
index 8d9a348..de7ff34 100644
--- a/utils/resedit/space.py
+++ b/utils/resedit/space.py
@@ -2,6 +2,7 @@
 
 import gtk,gtk.glade
 import gobject
+import os
 
 import data
 
@@ -133,7 +134,9 @@ class Space:
         "comFaction":["changed", self.__pnewFact],
         "butSave":["clicked", self.savePlanets],
         "butComAdd":["clicked", self.__commodity_add],
-        "butComRm":["clicked", self.__commodity_rm]
+        "butComRm":["clicked", self.__commodity_rm],
+        "comSpace":["changed", self.__space_sel],
+        "comExterior":["changed", self.__exterior_sel]
     }
     for key, val in hooks.items():
       self.__pwidget(key).connect(val[0], val[1])
@@ -177,6 +180,32 @@ class Space:
     wgt.set_model(combo)
     wgt.set_active(0)
 
+    # Graphics - space.
+    wgt = self.__pwidget("comSpace")
+    combo = gtk.ListStore(str)
+    combo.append(["None"])
+    for gfx in os.listdir(self.planet_gfx+"space"):
+      if gfx[-4:] == ".png":
+        node = combo.append([gfx])
+    cell = gtk.CellRendererText()
+    wgt.pack_start(cell, True)
+    wgt.add_attribute(cell, 'text', 0)
+    wgt.set_model(combo)
+    wgt.set_active(0)
+
+    # Graphics - exterior.
+    wgt = self.__pwidget("comExterior")
+    combo = gtk.ListStore(str)
+    combo.append(["None"])
+    for gfx in os.listdir(self.planet_gfx+"exterior"):
+      if gfx[-4:] == ".png":
+        node = combo.append([gfx])
+    cell = gtk.CellRendererText()
+    wgt.pack_start(cell, True)
+    wgt.add_attribute(cell, 'text', 0)
+    wgt.set_model(combo)
+    wgt.set_active(0)
+
   def windowPlanetClose(self):
     wgt = self.__pwidget("winPlanets")
     if wgt != None:
@@ -216,7 +245,7 @@ class Space:
 
   def __create_treCommodities(self):
     # Treeview.
-    wgt = self.__pwdiget("treCommodities")
+    wgt = self.__pwidget("treCommodities")
     self.tree_commodities = gtk.TreeStore(str)
     try:
       for commodity in self.planets[self.cur_planet]["general"]["commodities"]:
@@ -343,6 +372,29 @@ class Space:
     except:
       wgt.set_active(0) # None.
 
+    # gfx - space.
+    space = planet["GFX"]["space"]
+    i = 0
+    wgt = self.__pwidget("comSpace")
+    model = wgt.get_model()
+    for row in model:
+      if row[0] == space:
+        wgt.set_active_iter(model.get_iter(i))
+      i = i+1
+
+    # gfx - exterior.
+    wgt = self.__pwidget("comExterior")
+    model = wgt.get_model()
+    try:
+      exterior = planet["GFX"]["exterior"]
+      i = 0
+      for row in model:
+        if row[0] == exterior:
+          wgt.set_active_iter(model.get_iter(i))
+        i = i+1
+    except:
+      wgt.set_active_iter(model_iter(0))
+
     # Tech.
     try:
       self.__pwidget("spiTech0").set_text(str(planet["general"]["tech"]["main"]))
@@ -715,7 +767,7 @@ class Space:
   """
   Add or remove a commodity from a planet.
   """
-  def __comodity_sel(self):
+  def __commodity_sel(self):
     tree = self.__pwidget("treCommodities")
     model = tree.get_model()
     try:
@@ -741,6 +793,21 @@ class Space:
       self.planets[self.cur_planet]["general"]["commodities"].remove(commodity)
       self.__pupdate()
 
+  """
+  Change the graphics.
+  """
+  def __space_sel(self, wgt=None, event=None):
+    space = self.__pwidget("comSpace").get_active_text()
+    if self.cur_planet != "":
+      self.planets[self.cur_planet]["GFX"]["space"] = space
+      self.__pupdate()
+
+  def __exterior_sel(self, wgt=None, event=None):
+    space = self.__pwidget("comExterior").get_active_text()
+    if self.cur_planet != "":
+      self.planets[self.cur_planet]["GFX"]["exterior"] = space
+      self.__pupdate()
+
   """
   Create a new star system.
   """