OSDN Git Service

Merge branch 'feature-tuning-performance-of-wxpython' into develop
authorkei9 <kei9@users.sourceforge.jp>
Sun, 8 Dec 2013 16:50:49 +0000 (01:50 +0900)
committerkei9 <kei9@users.sourceforge.jp>
Sun, 8 Dec 2013 16:50:49 +0000 (01:50 +0900)
amulettool.py

index 3f8d6a5..bde94d2 100644 (file)
@@ -136,13 +136,10 @@ class AmuletToolController(wx.App):
                 [view.NAME_AMULET1, view.NAME_AMULET2, view.NAME_AMULET3]):
             amu_id = self._amulet_name2id_dict[amu_name]
             skill_ids = self._amulet_id2skill2_id_dict[amu_id]
-            skill_names = [self._skill_id2name_dict[x] for x in skill_ids]
+            skill_names = [view.VAL_NO_SKILL] + [self._skill_id2name_dict[x] for x in skill_ids]
             for combo in combo_dict[amu_key]:
-                combo.Clear()
-                combo.Append(view.VAL_NO_SKILL)
-                for name in skill_names:
-                    combo.Append(name)
-                combo.SetSelection(0)
+               combo.SetItems(skill_names)
+               combo.SetSelection(0)
 
         # amulet search
         amu_id = self._amulet_name2id_dict[view.NAME_AMULET1]
@@ -151,19 +148,21 @@ class AmuletToolController(wx.App):
 
     def _set_skill_list_from_amulet(self, amulet_id):
         u""" お守り種類の選択が変わった時の動作 """
+
         for i, (combo, skill_dict) in enumerate(zip(
                 [self.frame_view.combo_box_amulet_search_skill1, 
                     self.frame_view.combo_box_amulet_search_skill2], 
                 [self._amulet_id2skill1_id_dict, self._amulet_id2skill2_id_dict]
                 )):
             skill_ids = skill_dict[amulet_id]
-            combo.Clear()
-            if i == 1:
-                combo.Append(view.VAL_NO_SKILL)
-            else:
+            skill_names = [self._skill_id2name_dict[_id] for _id in skill_ids]
+            if i == 0:
+                combo.SetItems(skill_names)
                 skill1_selected = skill_ids[0]
-            for skill_id in skill_ids:
-                combo.Append(self._skill_id2name_dict[skill_id])
+            elif i == 1:
+                combo.SetItems([view.VAL_NO_SKILL] + skill_names)
+            else:
+                raise NotImplementedError(u"this iteration must be conducted only twice!")
             combo.SetSelection(0)   # combo1 = skill1, combo2 = No Skill
         self._set_spin_range(amulet_id, skill1_selected, None)
 
@@ -210,12 +209,13 @@ class AmuletToolController(wx.App):
         seed_sets = self.db_accessor.select_seeds(amu_id2skill_id_list_dict)
         self.frame_view.text_ctrl_seed_result.SetValue(u"""Seedの候補は{0}個です。""".format(len(seed_sets)))
 
-        self.frame_view.list_box_seed.Clear()
         if len(seed_sets) > 0:
-            for seed in seed_sets:
-                self.frame_view.list_box_seed.Append(u"{0}".format(seed))
+            self.frame_view.list_box_seed.SetItems([u"{0}".format(seed) for seed in seed_sets])
             self.frame_view.list_box_seed.SetSelection(0)
             self.frame_view.button_skill_from_seed_search.Enable()
+        else:
+            self.frame_view.list_box_seed.Clear()
+
 
     def OnClickSeedClear(self, evt):
         u""" reset seed search settings of combo box"""
@@ -337,9 +337,7 @@ class AmuletToolController(wx.App):
                 if len(seeds_set) > 0:
                     self.frame_view.text_ctrl_amulet_search_result.SetValue(
                         u"{0}個のSeedで出現するお守りです".format(len(seeds_set)))
-                    list_box.Clear()
-                    for seed in seeds_set:
-                        list_box.Append(u"{0}".format(seed))
+                    list_box.SetItems([u"{0}".format(seed) for seed in seeds_set])
                     list_box.SetSelection(0)
                     self.frame_view.button_amulet_search_skill.Enable()
                 else:
@@ -349,7 +347,7 @@ class AmuletToolController(wx.App):
                     list_box.Clear()
             else:
                 self.frame_view.text_ctrl_amulet_search_result.SetValue(
-                    u"指定されたお守りは見つかりませんでした")
+                    u"エラー。充足値が計算できません")
                 self.frame_view.button_amulet_search_skill.Disable()
                 list_box.Clear()