From 9c7f862f2c2ba11aafdbc0d75e9352558224e11b Mon Sep 17 00:00:00 2001 From: Allanis Date: Tue, 18 Jun 2013 22:21:05 +0100 Subject: [PATCH] [Add] You may now add fleets to systems. --- utils/resedit/data.pyc | Bin 3567 -> 0 bytes utils/resedit/faction.pyc | Bin 3817 -> 0 bytes utils/resedit/fleet.py | 22 +++++++++++++ utils/resedit/resedit.py | 10 ++++-- utils/resedit/space.glade | 49 +++++++++++++++++++++++++---- utils/resedit/space.py | 63 ++++++++++++++++++++++++++++++-------- utils/resedit/space.pyc | Bin 21797 -> 0 bytes 7 files changed, 123 insertions(+), 21 deletions(-) delete mode 100644 utils/resedit/data.pyc delete mode 100644 utils/resedit/faction.pyc create mode 100644 utils/resedit/fleet.py delete mode 100644 utils/resedit/space.pyc diff --git a/utils/resedit/data.pyc b/utils/resedit/data.pyc deleted file mode 100644 index 20a6c5aee8ef99f8997a695d1aea303d35f79209..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3567 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 270 - 460 + 480 @@ -421,7 +421,7 @@ 360 - 460 + 480 @@ -441,14 +441,14 @@ - - 183 - 20 + + 189 + 25 True 270 - 425 + 445 @@ -473,6 +473,43 @@ 556 + + + 72 + 20 + True + Fleet + + + 278 + 421 + + + + + 84 + 23 + True + Chance + + + 430 + 416 + + + + + 50 + 20 + True + True + 0 0 100 1 10 10 + + + 472 + 445 + + True diff --git a/utils/resedit/space.py b/utils/resedit/space.py index da9c403..5f32667 100644 --- a/utils/resedit/space.py +++ b/utils/resedit/space.py @@ -21,6 +21,7 @@ class Space: self.factions = factions if fleets==None: self.fleets = {} + else: self.fleets = fleets def loadSystems(self, xmlfile): @@ -92,6 +93,18 @@ class Space: area.connect("button-press-event", self.__space_down) area.connect("motion-notify-event", self.__space_drag) + # Factions. + wgt = self.__swidget("comFleets") + combo = gtk.ListStore(str) + combo.append(["None"]) + for f in self.fleets.keys(): + node = combo.append([f]) + cell = gtk.CellRendererText() + wgt.pack_start(cell, True) + wgt.add_attribute(cell, 'text', 0) + wgt.set_model(combo) + wgt.set_active(0) + # Display the window and such. self.__swidget("winSystems").show_all() self.cur_system = "" @@ -129,6 +142,7 @@ class Space: wgt.pack_start(cell, True) wgt.add_attribute(cell, 'text', 0) wgt.set_model(combo) + wgt.set_active(0) # Factions. wgt = self.__pwidget("comFaction") @@ -140,6 +154,7 @@ class Space: wgt.pack_start(cell, True) wgt.add_attribute(cell, "text", 0) wgt.set_model(combo) + wgt.set_active(0) # --------------------------------------------- @@ -599,6 +614,9 @@ class Space: # Draw the frame at the end. area.window.draw_rectangle(sys_gc, False, 0, 0, ww-1, wh-1) + """ + Add or remove jumps from a star system. + """ def __jump_add(self, wgt=None, event=None): if self.space_sel in self.systems.keys() and self.cur_system in self.systems.keys(): self.systems[self.cur_system]["jumps"].append(self.space_sel) @@ -611,25 +629,40 @@ class Space: def __jump_rm(self, wgt=None, event=None): if self.space_sel in self.systems.keys() and self.cur_system in self.systems.keys(): - i = 0 - for e in self.systems[self.cur_system]["jumps"]: - if e == self.space_sel: - self.systems[self.cur_system]["jumps"].pop(i) - i = i + 1 - i = 0 - for e in self.systems[self.space_sel]["jumps"]: - if e == self.cur_system: - self.systems[self.space_sel]["jumps"].pop(i) - i = i + 1 + self.systems[self.cur_system]["jumps"].remove(self.space_sel) + self.systems[self.space_sel]["jumps"].remove(self.cur_system) self.__supdate() self.__space_draw() + """ + Add or remove fleets from a star system. + """ + def __fleet_sel(self): + tree = self.__swidget("treFleets") + model = tree.get_model() + try: + iter = tree.get_selection().get_selected()[1] + except: + return "" + return model.get_value(iter, 0) + def __fleet_add(self, wgt=None, event=None): - return + fleet = self.__swidget("comFleets").get_active_text() + value = self.__swidget("spiFleets").get_value_as_int() + if fleet != "None" and value > 0: + self.systems[self.cur_system]["fleets"][fleet] = str(value) + self.__supdate() def __fleet_rm(self, wgt=None, event=None): - reutrn + sel = self.__fleet_sel() + if sel is "": + return + del self.systems[self.cur_system]["fleets"][sel] + self.__supdate() + """ + Create a new star system. + """ def __snew(self, wgt=None, event=None): name = "new system" gen = { "asteroids":0, "interference":0, "stars":100 } @@ -639,6 +672,9 @@ class Space: self.__create_treSystems() self.__selSys(name) + """ + Create a new planet. + """ def __pnew(self, wgt=None, event=None): name = "new planet" gfx = { "space":"none.png" } @@ -695,6 +731,9 @@ class Space: self.__pupdate() def __pnewFact(self, wgt=None, event=None): + if self.cur_planet == "": + return + combo = self.__pwidget("comFaction") fact = combo.get_active_text() planet = self.planets[self.cur_planet] diff --git a/utils/resedit/space.pyc b/utils/resedit/space.pyc deleted file mode 100644 index d9ca801a75fc31f1c77824d44fb31251cd293611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21797 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