self._init_database()
self._init_notebook_seed1()
self._init_notebook_seed2()
+ self._init_notebook_skill1()
self._init_notebook_skill2()
self._init_notebook_setting()
+ self._init_notebook_simulator()
self._init_notebook_amulet()
self.frame_view.EnableNoteBook()
# menu event
frame.Bind(wx.EVT_MENU, self.OnClose, id=self.frame_view.ID_MENU_ITEM_EXIT)
frame.Bind(wx.EVT_MENU, self.OnAboutBox, id=self.frame_view.ID_MENU_ITEM_ABOUT)
+ frame.Bind(wx.EVT_MENU, self.OnMemoBox, id=self.frame_view.ID_MENU_MEMO)
frame.Bind(wx.EVT_CLOSE, self.CloseHandler)
# button event
self.notebook_seed1_view = self.frame_view.notebook_seed1_view
self.notebook_seed1_view.bind_button_search(self.OnClickSeed1Search)
self.notebook_seed1_view.bind_button_clear(self.OnClickSeed1Clear)
+ self.notebook_seed1_view.bind_button_skill1(self.OnClickSkill1SearchFromSeed1)
+ self.notebook_seed1_view.set_skill1_button_enable(False)
u" 各種お守りの第1スキル選択のセット "
name2skill1s = {}
def _init_notebook_skill2(self):
u""" Seed2によるSkill2一覧タブのviewの初期化 """
self.notebook_skill2_view = self.frame_view.notebook_skill2_view
- self.notebook_skill2_view.bind_button_search(self.OnClickSkillSearch)
- self.notebook_skill2_view.bind_button_clear(self.OnClickSkillClear)
+ self.notebook_skill2_view.bind_button_search(self.OnClickSkill2Search)
+ self.notebook_skill2_view.bind_button_clear(self.OnClickSkill2Clear)
+
+ def _init_notebook_skill1(self):
+ u""" Seed1によるSkill1一覧タブのviewの初期化 """
+ self.notebook_skill1_view = self.frame_view.notebook_skill1_view
+ self.notebook_skill1_view.bind_button_search(self.OnClickSkill1Search)
+ self.notebook_skill1_view.bind_button_clear(self.OnClickSkill1Clear)
+
+ def _init_notebook_simulator(self):
+ u""" Seed1,Seed2による錬金シミュレータータブのviewの初期化 """
+ self.notebook_simulator_view = self.frame_view.notebook_simulator_view
+ self.notebook_simulator_view.bind_button_search(self.OnClickSimulatorSearch)
+ self.notebook_simulator_view.bind_button_clear(self.OnClickSimulatorClear)
+
def _update_notebook_amulet(self, amulet_id=None):
u""" お守り検索タブのviewの更新
u""" update highlight cells """
self.notebook_skill2_view.set_skill2_highlight(
self._highlight_skills, self._highlight_threshold1, self._highlight_threshold2)
- self.notebook_seed1_view.update_highlight(self._highlight_skills)
+ self.notebook_skill1_view.update_highlight(self._highlight_skills)
u""" Seed1 view's event"""
def OnClickSeed1Search(self, evt):
seed1s = self.db_accessor.select_seed1s(amu_skill_name_list, alchemy_type)
if len(seed1s) == 0:
self.notebook_seed1_view.set_text_result(u"条件に一致するSeed1は見つかりません")
- self.notebook_seed1_view.clear_seed1_grid()
+ self.notebook_seed1_view.set_skill1_button_enable(False)
elif len(seed1s) == 1:
seed1 = [x for x in seed1s][0]
no, table_no, result_num = self.db_accessor.select_table_nos_from_seed1(seed1, alchemy_type)
- self.notebook_seed1_view.set_text_result(
- u"Seed1: {0}, テーブルNo: {1}, 通し番号: {2}".format(seed1, table_no, no))
- # list of (no, seed1)
- near_num = view.NEAR_SEED1_NUMBERS
- no_seed1_dict = self.db_accessor.select_near_seed1s_from_table_no(
- no, table_no, near_num, near_num, alchemy_type)
-
- # no -> (seed1, result_num, amu_names, skill_names)
- self.notebook_seed1_view.set_no2seed1s_dict(no_seed1_dict, no)
- self.notebook_seed1_view.update_highlight(self._highlight_skills)
+ self.notebook_seed1_view.set_text_result_by_seed1(seed1, table_no, no)
+ self.notebook_seed1_view.set_skill1_button_enable(True)
else:
self.notebook_seed1_view.set_text_result(
u"Seed1は{0}件あります。条件を絞ってください".format(len(seed1s)))
- self.notebook_seed1_view.clear_seed1_grid()
+ self.notebook_seed1_view.set_skill1_button_enable(False)
def OnClickSeed1Clear(self, evt):
u""" clear seed1s from selected skill1s """
self.notebook_seed1_view.clear_combobox()
- self.notebook_seed1_view.clear_seed1_grid()
self.notebook_seed1_view.clear_text_result()
+ def OnClickSkill1SearchFromSeed1(self, evt):
+ u""" change page to skill1 search from seed1"""
+ seed1 = self.notebook_seed1_view.get_result_seed1()
+ alchemy_type = self.notebook_seed1_view.get_tenun_radio_key()
+ if seed1 is not None:
+ self.notebook_skill1_view.set_seed1_value(seed1)
+ self.notebook_skill1_view.set_tenun_radio_key(alchemy_type)
+ self.frame_view.note_book.SetSelection(view.SKILL1_SEARCH_PAGE)
+ self.OnClickSkill1Search(evt)
+
u""" Seed2 view's event """
def OnClickSeed2Search(self, evt):
u""" search seed2s from selected skill2s """
seed2 = self.notebook_seed2_view.get_selected_seed2()
if seed2 is not None:
self.notebook_skill2_view.set_seed2_value(seed2)
- self.frame_view.note_book.SetSelection(view.SKILL_SEARCH_PAGE)
- self.OnClickSkillSearch(evt)
+ self.frame_view.note_book.SetSelection(view.SKILL2_SEARCH_PAGE)
+ self.OnClickSkill2Search(evt)
+
+ u""" Skill1 search from Seed1's event """
+ def OnClickSkill1Search(self, evt):
+ u""" skill1 search from seed1"""
+ seed1 = self.notebook_skill1_view.get_seed1_value()
+ alchemy_type = self.notebook_skill1_view.get_tenun_radio_key()
+ if seed1 is not None:
+ try:
+ no, table_no, result_num = self.db_accessor.select_table_nos_from_seed1(seed1, alchemy_type)
+ self.notebook_skill1_view.set_text_result_by_seed1(seed1, table_no, no)
+ # list of (no, seed1)
+ near_num = view.NEAR_SEED1_NUMBERS
+ no_seed1_dict = self.db_accessor.select_near_seed1s_from_table_no(
+ no, table_no, near_num, near_num, alchemy_type)
+
+ # no -> (seed1, result_num, amu_names, skill_names)
+ self.notebook_skill1_view.set_no2seed1s_dict(no_seed1_dict, no)
+ self.notebook_skill1_view.update_highlight(self._highlight_skills)
+ except KeyError, e:
+ self._show_message_dialog(message=u"指定されたSeed値は存在しません")
+ else:
+ self._show_message_dialog(message=u"Seed値には数字を入力してください")
+
+ def OnClickSkill1Clear(self, evt):
+ u""" clear skills from seed """
+ self.notebook_skill1_view.clear_skill1_grid()
+ self.notebook_skill1_view.clear_highlight()
+ self.notebook_skill1_view.clear_result_text()
u""" Skill2 search from Seed2's event """
- def OnClickSkillSearch(self, evt):
+ def OnClickSkill2Search(self, evt):
u""" skill search from seed2"""
seed2 = self.notebook_skill2_view.get_seed2_value()
if seed2 is not None:
else:
self._show_message_dialog(message=u"Seed値には数字を入力してください")
- def OnClickSkillClear(self, evt):
+ def OnClickSkill2Clear(self, evt):
u""" clear skills from seed """
self.notebook_skill2_view.clear_skill2_grid()
self.notebook_skill2_view.clear_skill2_highlight()
- self.notebook_skill2_view.clear_items_amulet_prospects()
self.notebook_skill2_view.clear_result_text()
self.notebook_skill2_view.clear_inishie()
+ u""" Alchemy Simulator's event """
+ def OnClickSimulatorSearch(self, evt):
+ u""" alchemy simulation from seed1, seed2"""
+ seeds = self.notebook_simulator_view.get_seed_values()
+ alchemy_type = self.notebook_simulator_view.get_tenun_radio_key()
+ if seeds is not None:
+ seed1, seed2 = seeds
+ #try:
+ result = self.db_accessor.simulate_nazo(seed1, seed2)
+ self.notebook_simulator_view.set_values(view.KEY_NAZO, *result)
+ result = self.db_accessor.simulate_komyou(seed1, seed2)
+ self.notebook_simulator_view.set_values(view.KEY_KOMYOU, *result)
+ result = self.db_accessor.simulate_inishie(seed1, seed2)
+ self.notebook_simulator_view.set_values(view.KEY_INISHIE, *result)
+ result = self.db_accessor.simulate_tenun(seed1, seed2, alchemy_type)
+ self.notebook_simulator_view.set_tenun_values(result)
+ #except KeyError, e:
+ # self._show_message_dialog(message=u"指定されたSeed値は存在しません")
+ #finally:
+ self.notebook_simulator_view.update_highlight(self._highlight_skills)
+ else:
+ self._show_message_dialog(message=u"Seed値には数字を入力してください")
+
+ def OnClickSimulatorClear(self, evt):
+ u""" clear simulator form """
+ self.notebook_simulator_view.clear_seed_values()
+ self.notebook_simulator_view.clear_grid()
+ self.notebook_simulator_view.clear_highlight()
+
u""" amulet search event """
def OnClickAmuletRadioAmulet(self, evt):
u""" switch skill lists by amulet id """
info = self.frame_view.GetAboutInfo()
wx.AboutBox(info)
+ def OnMemoBox(self, evt):
+ dlg_view = view.MemoDialogView(os.path.join(_get_base_dir(), u"view", view.XRC_MEMO_DIALOG))
+ dlg_view.Show()
+
def _write_settings(self):
with open(SETTING_FILE, mode="w") as f:
data = {SETTING_THRESHOLD1:self._highlight_threshold1,