From c13b9d64a61057e717e5f00ef52466037b1b9f9d Mon Sep 17 00:00:00 2001
From: Allanis <allanis@saracraft.net>
Date: Tue, 16 Apr 2013 22:09:58 +0100
Subject: [PATCH] [Add] resedit: Working towards being able to move planets
 around.

---
 utils/resedit/space.py  |  45 ++++++++++++++++++++++++++++++++++++----
 utils/resedit/space.pyc | Bin 18502 -> 19408 bytes
 2 files changed, 41 insertions(+), 4 deletions(-)

diff --git a/utils/resedit/space.py b/utils/resedit/space.py
index a382860..916fc7c 100644
--- a/utils/resedit/space.py
+++ b/utils/resedit/space.py
@@ -103,7 +103,8 @@ class Space:
     # Hooks.
     hooks = {
         "butNew":["clicked", self.__pnew],
-        "trePlanets":["button-release-event", self.__pupdate]
+        "trePlanets":["button-release-event", self.__pupdate],
+        "comSystem":["changed", self.__pnewSys]
     }
     for key, val in hooks.items():
       self.__pwidget(key).connect(val[0], val[1])
@@ -303,10 +304,11 @@ class Space:
     self.__sinpStore(system, "spiAsteroids", "general", "asteroids")
 
   def __pstore(self):
-    planet_name = self.__swidget("inpName").get_text()
+    planet_name = self.__pwidget("inpName").get_text()
     if planet_name == "":
       return
     
+    # Changed planet name.
     if planet_name != self.cur_planet:
       self.planets[planet_name] = self.planets[self.cur_planet]
       model = self.__pwidget("trePlanets").get_model()
@@ -558,9 +560,9 @@ class Space:
   def __pnew(self, wgt=None, event=None):
     name = "new planet"
     gfx = { "space":"none.png" }
-    gen = { "class":"A", "services":0, "GFX":gfx }
+    gen = { "class":"A", "services":0 }
     pos = { "x":0, "y":0 }
-    new_planet = { "general":gen, "pos":pos }
+    new_planet = { "GFX":gfx, "general":gen, "pos":pos }
     self.planets[name] = new_planet
     self.__create_trePlanets()
     self.__selPlanet(name)
@@ -575,6 +577,41 @@ class Space:
         break
       i = i+1
 
+  def __selPlanet(self, planet):
+    i = 0
+    tree = self.__pwidget("trePlanets")
+    for row in tree.get_model():
+      if row[0] == planet:
+        tree.set_cursor(i)
+        self.__pupdate()
+        break
+      i = i + 1
+
+  def __pnewSys(self, wgt=None, event=None):
+    combo = self.__pwidget("comSystem")
+    sys = combo.get_active_text()
+    planet = self.cur_planet
+
+    if planet == "":
+      return
+
+    # Remove other existances of the planet..
+    for name, system in self.systems.items():
+      for pnt in system["planets"]:
+        if pnt == planet:
+          if name == sys: # No change.
+            return
+          system["planets"].remove(planet)
+
+    # Append to new location.
+    self.systems[sys]["planets"].append(planet)
+
+    # Recreate the tree.
+    self.__genPlanetTree()
+    self.__create_treSystems()
+    self.__supdate()
+    self.__pupdate()
+
   def debug(self):
     print "SYSTEMS LOADED:"
     print
diff --git a/utils/resedit/space.pyc b/utils/resedit/space.pyc
index 91ca96603df3d08a25c59964aabe9762995a4003..d3cd3246d8740e1c53fd46a2fbf8ab4592a3d401 100644
GIT binary patch
delta 3743
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
IUFg2>U;Z=hF8}}l

delta 3076
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