comparison gamelib/gamegui.py @ 215:0a441ded8a83

Always sort widgets, so jumping through json doesn't change the order
author Neil Muller <drnlmuller@gmail.com>
date Sat, 12 May 2012 20:38:44 +0200
parents 16ce5ed563c9
children 9a1a169497c6
comparison
equal deleted inserted replaced
214:d378459567bb 215:0a441ded8a83
348 self._equip = [] 348 self._equip = []
349 x = 0 349 x = 0
350 y = max(250, 130 + self.description.rect.height + 350 y = max(250, 130 + self.description.rect.height +
351 20 * len(self._inventory) // 3) 351 20 * len(self._inventory) // 3)
352 available = self.game.get_available_equipment() 352 available = self.game.get_available_equipment()
353 for equip in self.game.get_all_equipment(): 353 for equip in sorted(self.game.get_all_equipment(),
354 key=lambda x: x.NAME):
354 copies = self.parent.equipment.count(equip) 355 copies = self.parent.equipment.count(equip)
355 widget = EquipWidget(equip, (x, y), self, copies, 356 widget = EquipWidget(equip, (x, y), self, copies,
356 equip in available) 357 equip in available)
357 self._equip.append(widget) 358 self._equip.append(widget)
358 self.add_child(widget) 359 self.add_child(widget)
500 for widget in self._missions: 501 for widget in self._missions:
501 self.remove_child(widget) 502 self.remove_child(widget)
502 self._missions = [] 503 self._missions = []
503 x = 0 504 x = 0
504 y = 150 505 y = 150
505 for mission in self.game.get_available_missions(): 506 for mission in sorted(self.game.get_available_missions(),
507 key=lambda x: x.NAME):
506 widget = MissionWidget(mission, (x, y), self) 508 widget = MissionWidget(mission, (x, y), self)
507 self._missions.append(widget) 509 self._missions.append(widget)
508 self.add_child(widget) 510 self.add_child(widget)
509 x += widget.WIDTH + 10 511 x += widget.WIDTH + 10
510 if x >= WIDTH: 512 if x >= WIDTH:
571 for widget in self._sciences: 573 for widget in self._sciences:
572 self.remove_child(widget) 574 self.remove_child(widget)
573 self._sciences = [] 575 self._sciences = []
574 x = 0 576 x = 0
575 y = 150 577 y = 150
576 for science in self.game.lab.science: 578 for science in sorted(self.game.lab.science, key=lambda x: x.NAME):
577 if science.SCIENCE_TYPE == 'schematic': 579 if science.SCIENCE_TYPE == 'schematic':
578 widget = ScienceWidget(science, (x, y), self) 580 widget = ScienceWidget(science, (x, y), self)
579 self.add_child(widget) 581 self.add_child(widget)
580 self._sciences.append(widget) 582 self._sciences.append(widget)
581 x += widget.WIDTH + 10 583 x += widget.WIDTH + 10
641 for widget in self._sciences: 643 for widget in self._sciences:
642 self.remove_child(widget) 644 self.remove_child(widget)
643 self._sciences = [] 645 self._sciences = []
644 x = 0 646 x = 0
645 y = 150 647 y = 150
646 for science in self.game.lab.science: 648 for science in sorted(self.game.lab.science, key=lambda x: x.NAME):
647 if science.SCIENCE_TYPE == 'research': 649 if science.SCIENCE_TYPE == 'research':
648 widget = ScienceWidget(science, (x, y), self) 650 widget = ScienceWidget(science, (x, y), self)
649 self.add_child(widget) 651 self.add_child(widget)
650 self._sciences.append(widget) 652 self._sciences.append(widget)
651 x += widget.WIDTH + 10 653 x += widget.WIDTH + 10