From 5715bc91a58170bf9d8c70c5bcdb29645bb7728e Mon Sep 17 00:00:00 2001 From: Allanis Date: Fri, 21 Jun 2013 21:00:14 +0100 Subject: [PATCH] [Add] Main window to control subwindows. --- utils/resedit/resedit.glade | 186 ++++++++++++++++++++++++++++++++++++ utils/resedit/resedit.py | 27 +++++- utils/resedit/space.py | 21 +++- 3 files changed, 230 insertions(+), 4 deletions(-) create mode 100644 utils/resedit/resedit.glade diff --git a/utils/resedit/resedit.glade b/utils/resedit/resedit.glade new file mode 100644 index 0000000..c69c5d4 --- /dev/null +++ b/utils/resedit/resedit.glade @@ -0,0 +1,186 @@ + + + + + + + True + + + True + + + True + _File + True + + + True + + + True + gtk-new + True + True + + + + + True + gtk-open + True + True + + + + + True + gtk-save + True + True + + + + + True + gtk-save-as + True + True + + + + + True + + + + + True + gtk-quit + True + True + + + + + + + + + True + _Edit + True + + + True + + + True + gtk-cut + True + True + + + + + True + gtk-copy + True + True + + + + + True + gtk-paste + True + True + + + + + True + gtk-delete + True + True + + + + + + + + + True + _View + True + + + + + True + _Help + True + + + True + + + True + gtk-about + True + True + + + + + + + + + False + + + + + True + + + True + True + True + System Editor + 0 + + + + + True + True + True + Planet Editor + 0 + + + 1 + + + + + 1 + + + + + True + 2 + + + False + 2 + + + + + + diff --git a/utils/resedit/resedit.py b/utils/resedit/resedit.py index a20a128..ac98270 100755 --- a/utils/resedit/resedit.py +++ b/utils/resedit/resedit.py @@ -14,7 +14,6 @@ import space, faction, fleet # Load the factions factions = faction.Factions() factions.loadFactions("../../dat/faction.xml") -factions.window() # Load the fleets. fleets = fleet.Fleets() @@ -24,7 +23,31 @@ fleets.loadFleets("../../dat/fleet.xml") universe = space.Space(factions.data(), fleets.data()) universe.loadSystems("../../dat/ssys.xml") universe.loadPlanets("../../dat/planet.xml") -universe.window() + +# Load the editor interface. +# Functions. +def winSystem(widget=None, event=None): + if wtree.get_widget("butEditSystem").get_active(): + universe.windowSystem() + else: + universe.windowSystemClose() + +def winPlanet(widget=None, event=None): + if wtree.get_widget("butEditPlanet").get_active(): + universe.windowPlanet() + else: + universe.windowPlanetClose() + +wtree = gtk.glade.XML("resedit.glade", "winResedit") +hooks = { + "winResedit":["destroy", gtk.main_quit], + "butEditSystem":["toggled", winSystem], + "butEditPlanet":["toggled", winPlanet] +} + +for key, val in hooks.items(): + wtree.get_widget(key).connect(val[0], val[1]) +wtree.get_widget("winResedit").show_all() gtk.main() diff --git a/utils/resedit/space.py b/utils/resedit/space.py index fab4aa6..99a19d2 100644 --- a/utils/resedit/space.py +++ b/utils/resedit/space.py @@ -24,6 +24,9 @@ class Space: else: self.fleets = fleets + self.swtree = None + self.pwtree = None + def loadSystems(self, xmlfile): self.systems = data.load(xmlfile, "ssys", True, ["jumps", "planets"], {"fleets":"chance"} ) @@ -52,6 +55,10 @@ class Space: self.planetTree[planet] = name def window(self): + self.windowSystem() + self.windowPlanet() + + def windowSystem(self): """ create the window """ @@ -111,6 +118,12 @@ class Space: self.x = self.y = 0 self.lx = self.ly = 0 + def windowSystemClose(self): + wgt = self.__swidget("winSystems") + if wgt != None: + wgt.hide_all() + + def windowPlanet(self): # ---------------- PLANETS -------------------- self.pwtree = gtk.glade.XML(self.planet_glade, "winPlanets") @@ -156,7 +169,10 @@ class Space: wgt.set_model(combo) wgt.set_active(0) - # --------------------------------------------- + def windowPlanetClose(self): + wgt = self.__pwidget("winPlanets") + if wgt != None: + wgt.hide_all() def __create_treSystems(self): # Populate the tree. @@ -467,7 +483,8 @@ class Space: """ Window is done """ - gtk.main_quit() + #gtk.main_quit() + return def __space_reset(self, wgt=None, event=None): self.x = self.y = 0