# -*- coding: utf-8 -*-
# GUIのメインフレーム
-# 2013/12/05 written by kei9
+# 2013/12/15 written by kei9
import wx
from wx import xrc
-import wx.lib.intctrl
+import wx.grid
import constnumbers
+from notebookflowview import NoteBookFlowView
+from notebooksettingview import NoteBookSettingView
+from notebookseed1view import NoteBookSeed1View
+from notebookseed2view import NoteBookSeed2View
+from notebookskill2view import NoteBookSkill2View
+from notebookskill1view import NoteBookSkill1View
+from notebookamuletview import NoteBookAmuletView
+from notebookalchemysimulatorview import NoteBookAlchemySimulatorView
class MainFrameView():
u""" メインのフレームクラス """
def _init_frame(self):
# load controls
self.frame = self.res.LoadFrame(None, "MainFrame")
-
self.note_book = xrc.XRCCTRL(self.frame, "NoteBookMain")
- # buttons
- self.button_seed_seaerch = xrc.XRCCTRL(self.frame, "ButtonSeedSearch")
- self.button_seed_clear = xrc.XRCCTRL(self.frame, "ButtonSeedClear")
- self.button_skill_from_seed_search = xrc.XRCCTRL(self.frame, "ButtonSkillFromSeedSearch")
- self.button_skill_search = xrc.XRCCTRL(self.frame, "ButtonSeedSkillSearch")
- self.button_skill_clear = xrc.XRCCTRL(self.frame, "ButtonSeedSkillClear")
- self.button_amulet_search_seaerch = xrc.XRCCTRL(self.frame, "ButtonAmuletSearchSearch")
- self.button_amulet_search_clear = xrc.XRCCTRL(self.frame, "ButtonAmuletSearchClear")
- self.button_amulet_search_skill = xrc.XRCCTRL(self.frame, "ButtonAmuletSearchSkill")
- self.button_setting_ok = xrc.XRCCTRL(self.frame, "ButtonSettingOK")
- self.button_setting_clear = xrc.XRCCTRL(self.frame, "ButtonSettingClear")
-
- self.ID_BUTTON_SEED_SEARCH = xrc.XRCID("ButtonSeedSearch")
- self.ID_BUTTON_SEED_CLEAR = xrc.XRCID("ButtonSeedClear")
- self.ID_BUTTON_SKILL_FROM_SEED_SEARCH = xrc.XRCID("ButtonSkillFromSeedSearch")
- self.ID_BUTTON_SKILL_SEARCH = xrc.XRCID("ButtonSeedSkillSearch")
- self.ID_BUTTON_SKILL_CLEAR = xrc.XRCID("ButtonSeedSkillClear")
- self.ID_BUTTON_AMULET_SEARCH_SEARCH = xrc.XRCID("ButtonAmuletSearchSearch")
- self.ID_BUTTON_AMULET_SEARCH_CLEAR = xrc.XRCID("ButtonAmuletSearchClear")
- self.ID_BUTTON_AMULET_SEARCH_SKILL = xrc.XRCID("ButtonAmuletSearchSkill")
- self.ID_BUTTON_SETTING_OK = xrc.XRCID("ButtonSettingOK")
- self.ID_BUTTON_SETTING_CLEAR = xrc.XRCID("ButtonSettingClear")
-
- # radio button
- self.radio_button_amulet1 = xrc.XRCCTRL(self.frame, "RadioButtonAmulet1")
- self.radio_button_amulet2 = xrc.XRCCTRL(self.frame, "RadioButtonAmulet2")
- self.radio_button_amulet3 = xrc.XRCCTRL(self.frame, "RadioButtonAmulet3")
- self.ID_RADIO_BUTTON_AMULET1 = xrc.XRCID("RadioButtonAmulet1")
- self.ID_RADIO_BUTTON_AMULET2 = xrc.XRCID("RadioButtonAmulet2")
- self.ID_RADIO_BUTTON_AMULET3 = xrc.XRCID("RadioButtonAmulet3")
- self.amulet2radio_button_dict = {}
- self.amulet2radio_button_dict[constnumbers.NAME_AMULET1] = self.radio_button_amulet1
- self.amulet2radio_button_dict[constnumbers.NAME_AMULET2] = self.radio_button_amulet2
- self.amulet2radio_button_dict[constnumbers.NAME_AMULET3] = self.radio_button_amulet3
- self.amulet2radio_id_dict = {}
- self.amulet2radio_id_dict[constnumbers.NAME_AMULET1] = self.ID_RADIO_BUTTON_AMULET1
- self.amulet2radio_id_dict[constnumbers.NAME_AMULET2] = self.ID_RADIO_BUTTON_AMULET2
- self.amulet2radio_id_dict[constnumbers.NAME_AMULET3] = self.ID_RADIO_BUTTON_AMULET3
-
# menu
self.ID_MENU_ITEM_EXIT = xrc.XRCID("wxID_EXIT") # same as wx.ID_EXIT
self.ID_MENU_ITEM_ABOUT = xrc.XRCID("wxID_ABOUT") # same as wx.ID_ABOUT
+ self.ID_MENU_MEMO = xrc.XRCID("MenuItemMemo") # open memo dialog
+
+ # seed1 decision view
+ self.notebook_seed1_view = NoteBookSeed1View(self.frame)
+
+ # seed2 decision view
+ self.notebook_seed2_view = NoteBookSeed2View(self.frame)
+
+ # skill2 search from seed2 view
+ self.notebook_skill2_view = NoteBookSkill2View(self.frame)
+
+ # skill2 search from seed2 view
+ self.notebook_skill1_view = NoteBookSkill1View(self.frame)
+
+ # simulator view
+ self.notebook_simulator_view = NoteBookAlchemySimulatorView(self.frame)
+
+ # amulet view
+ self.notebook_amulet_view = NoteBookAmuletView(self.frame)
+
+ # flow view
+ self.notebook_flow_view = NoteBookFlowView(self.frame)
+
+ # setting view
+ self.notebook_setting_view = NoteBookSettingView(self.frame)
+
+ def Show(self):
+ self.frame.Show()
+
+ def Close(self):
+ self.frame.Close(True)
+
+ def DisableNoteBook(self):
+ self.note_book.Disable()
+
+ def EnableNoteBook(self):
+ self.note_book.Enable()
+
+ def OnAboutBox(self, evt):
+ u""" Show About Box """
+ info = wx.AboutDialogInfo()
+ info.Name = constnumbers.NAME
+ info.Version = constnumbers.VERSION
+ info.Copyright = constnumbers.COPYRIGHT
+ info.Description = constnumbers.DESCRIPTION
+ info.WebSite = (constnumbers.WEBSITE_LINK, constnumbers.WEBSITE_TEXT)
+ info.Developers = constnumbers.DEVELOPERS
+ info.License = constnumbers.LICENSE_TEXT
+ wx.AboutBox(info)
+
+ # amulet view
+ self.notebook_amulet_view = NoteBookAmuletView(self.frame)
+
+ # flow view
+ self.notebook_flow_view = NoteBookFlowView(self.frame)
+
+ # setting view
+ self.notebook_setting_view = NoteBookSettingView(self.frame)
+
+ def Show(self):
+ self.frame.Show()
+
+ def Close(self):
+ self.frame.Close(True)
+
+ def DisableNoteBook(self):
+ self.note_book.Disable()
+
+ def EnableNoteBook(self):
+ self.note_book.Enable()
+
+ def OnAboutBox(self, evt):
+ u""" Show About Box """
+ info = wx.AboutDialogInfo()
+ info.Name = constnumbers.NAME
+ info.Version = constnumbers.VERSION
+ info.Copyright = constnumbers.COPYRIGHT
+ info.Description = constnumbers.DESCRIPTION
+ info.WebSite = (constnumbers.WEBSITE_LINK, constnumbers.WEBSITE_TEXT)
+ info.Developers = constnumbers.DEVELOPERS
+ info.License = constnumbers.LICENSE_TEXT
+ wx.AboutBox(info)
+
+ # amulet view
+ self.notebook_amulet_view = NoteBookAmuletView(self.frame)
- # load text ctrls
- self._load_text_ctrls()
-
- # load combo box
- self._load_combo_boxes()
-
- # load list box
- self.list_box_seed = xrc.XRCCTRL(self.frame, "ListBoxSeed")
- self.list_box_amulet_search_seeds = xrc.XRCCTRL(self.frame, "ListBoxAmuletSearchSeeds")
- self.list_box_seed_skill_amulet_prospect = xrc.XRCCTRL(self.frame, "ListBoxSeedSkillAmuletProspect")
- self.ID_LIST_BOX_SEED = xrc.XRCID("ListBoxSeed")
- self.ID_LIST_BOX_AMULET_SEARCH_SEEDS = xrc.XRCID("ListBoxAmuletSearchSeeds")
- self.ID_LIST_BOX_SEED_SKILL_AMULET_PROSPECT = xrc.XRCID("ListBoxSeedSkillAmuletProspect")
-
- # load spin ctrl
- self.spin_ctrl_amulet_search_skill1_val = xrc.XRCCTRL(self.frame, "SpinCtrlAmuletSearchSkill1Value")
- self.spin_ctrl_amulet_search_skill2_val = xrc.XRCCTRL(self.frame, "SpinCtrlAmuletSearchSkill2Value")
- self.spin_ctrl_amulet_search_slot_num = xrc.XRCCTRL(self.frame, "SpinCtrlAmuletSearchSlotNumber")
- self.ID_SPIN_CTRL_AMULET_SKILL1_VAL = xrc.XRCID("SpinCtrlAmuletSearchSkill1Value")
- self.ID_SPIN_CTRL_AMULET_SKILL2_VAL = xrc.XRCID("SpinCtrlAmuletSearchSkill2Value")
- self.spin_ctrl_highlight = xrc.XRCCTRL(self.frame, "SpinCtrlHighlightThreshold")
-
- # load custom ctrl
- panel = xrc.XRCCTRL(self.frame, "CheckListBoxPos")
- #panel = xrc.XRCCTRL(self.frame, "NoteBookPanelSettings")
- self.ID_CHECK_LIST_BOX_HIGHLIGHT_SKILL = wx.NewId()
- #self.check_list_box_highlight_skill = wx.CheckListBox(self.frame, self.ID_CHECK_LIST_BOX_HIGHLIGHT_SKILL)
- self.check_list_box_highlight_skill = wx.CheckListBox(panel, id=self.ID_CHECK_LIST_BOX_HIGHLIGHT_SKILL,
- name="CheckListBoxHighlightSkills")
- #self.res.AttachUnknownControl("CheckListBoxHighlightSkills", self.check_list_box_highlight_skill, panel) # list isn't shown. why?
-
- vbox = wx.BoxSizer(wx.VERTICAL)
- vbox.Add(self.check_list_box_highlight_skill, 1, wx.EXPAND)
- panel.SetSizer(vbox)
-
- #panel.Fit()
-
- # set explanation text
- self.text_ctrl_seed_explain.SetValue(constnumbers.SEED_DECISION_EXPLANATION)
- self.text_ctrl_flow.SetValue(constnumbers.SECOND_SKILL_FLOW)
-
- def _load_combo_boxes(self):
- # load combo boxes
- self.combo_box_skill_dict = {}
- self.combo_box_skill_dict[constnumbers.KEY_AMULET1] = [
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_1"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_2"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_3"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_4"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_5"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_6"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet1_7")]
- self.combo_box_skill_dict[constnumbers.KEY_AMULET2] = [
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_1"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_2"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_3"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_4"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_5"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_6"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet2_7")]
- self.combo_box_skill_dict[constnumbers.KEY_AMULET3] = [
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_1"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_2"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_3"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_4"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_5"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_6"),
- xrc.XRCCTRL(self.frame, "ComboBoxAmulet3_7")]
- self.combo_box_amulet_search_skill1 = xrc.XRCCTRL(self.frame, "ComboBoxAmuletSearchSkill1")
- self.combo_box_amulet_search_skill2 = xrc.XRCCTRL(self.frame, "ComboBoxAmuletSearchSkill2")
- self.ID_COMBO_BOX_AMULET_SEARCH_SKILL1 = xrc.XRCID("ComboBoxAmuletSearchSkill1")
- self.ID_COMBO_BOX_AMULET_SEARCH_SKILL2 = xrc.XRCID("ComboBoxAmuletSearchSkill2")
-
- def _load_text_ctrls(self):
- # load text ctrls
- self.text_ctrl_seed_explain = xrc.XRCCTRL(self.frame, "TextCtrlSeedExplain")
- self.text_ctrl_seed_result = xrc.XRCCTRL(self.frame, "TextCtrlSeedResults")
- self.text_ctrl_seed_select = xrc.XRCCTRL(self.frame, "TextCtrlSeedSelect")
- self.text_ctrl_amulet_search_result = xrc.XRCCTRL(self.frame, "TextCtrlAmuletSearchResult")
- self.text_ctrl_flow = xrc.XRCCTRL(self.frame, "TextCtrlFlow")
- self.text_ctrl_seed_skill_dict = {}
- self.text_ctrl_seed_skill_dict[constnumbers.KEY_AMULET1] = [
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_1"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_2"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_3"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_4"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_5"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_6"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet1_7")]
- self.text_ctrl_seed_skill_dict[constnumbers.KEY_AMULET2] = [
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_1"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_2"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_3"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_4"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_5"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_6"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet2_7")]
- self.text_ctrl_seed_skill_dict[constnumbers.KEY_AMULET3] = [
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_1"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_2"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_3"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_4"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_5"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_6"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillAmulet3_7")]
- self.text_ctrl_seed_skill_dict[constnumbers.KEY_THRESHOLD2] = [
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_1"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_2"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_3"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_4"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_5"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_6"),
- xrc.XRCCTRL(self.frame, "TextCtrlSeedSkillThreshold2_7")]
+ # flow view
+ self.notebook_flow_view = NoteBookFlowView(self.frame)
+
+ # setting view
+ self.notebook_setting_view = NoteBookSettingView(self.frame)
def Show(self):
self.frame.Show()
def EnableNoteBook(self):
self.note_book.Enable()
-
+
def OnAboutBox(self, evt):
u""" Show About Box """
info = wx.AboutDialogInfo()
if __name__ == "__main__":
app = wx.App(False)
- mainframe = MainFrameView()
+ mainframe = MainFrameView(u"mainframe.xrc")
mainframe.Show()
app.MainLoop()