OSDN Git Service

add seed1 gui xrc & revise other view xrc
[amulettoolsmh4/main.git] / view / mainframeview.py
index 6306087..56d250d 100644 (file)
@@ -1,12 +1,18 @@
 # -*- coding: utf-8 -*-
 
 # GUIのメインフレーム
-# 2013/12/05 written by kei9
+# 2013/12/15 written by kei9
 import wx
 from wx import xrc
 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 notebookamuletview import NoteBookAmuletView
 
 class MainFrameView():
     u""" メインのフレームクラス """
@@ -17,148 +23,29 @@ class MainFrameView():
     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
-
-        #load grid
-        self.skill2_grid = xrc.XRCCTRL(self.frame, "GridSecondSkill")
-        self.ID_SKILL2_GRID = xrc.XRCID("GridSecondSkill")
-        self._load_grid()
-        self.skill2_grid.Bind(wx.EVT_SIZE, self.OnGridSize)
-
         # 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
 
-        # 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_highlight1 = xrc.XRCCTRL(self.frame, "SpinCtrlHighlightThreshold1")
-        self.spin_ctrl_highlight2 = xrc.XRCCTRL(self.frame, "SpinCtrlHighlightThreshold2")
-
-        # load custom ctrl
-        self.ID_CHECK_LIST_BOX_HIGHLIGHT_SKILL = xrc.XRCID("CheckListBoxHighlight")
-        self.check_list_box_highlight_skill =  xrc.XRCCTRL(self.frame, "CheckListBoxHighlight")
-
-        # 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")
-
-    def _load_grid(self):
-        # load grid value
-        self.skill2_grid.CreateGrid(constnumbers.NUM_SKILL2_GRID_ROW, constnumbers.NUM_SKILL2_GRID_COL)
-        self.skill2_grid.SetColLabelValue(0, constnumbers.NAME_AMULET1)
-        self.skill2_grid.SetColLabelValue(1, constnumbers.NAME_AMULET2)
-        self.skill2_grid.SetColLabelValue(2, constnumbers.NAME_AMULET3)
-        self.skill2_grid.SetColLabelValue(3, constnumbers.NAME_THRESHOLD1)
-        self.skill2_grid.SetColLabelValue(4, constnumbers.NAME_THRESHOLD2)
-        for i in range(constnumbers.NUM_SKILL2_GRID_ROW):
-            self.skill2_grid.SetRowLabelValue(i, constnumbers.LABEL_FORMAT_SKILL2_GRID_ROW.format(i))
-        self.skill2_grid.DisableDragGridSize()
-        self.skill2_grid.EnableEditing(False)
-
-    def OnGridSize(self, event):
-        width, height = self.skill2_grid.GetParent().GetSize()
-        each_width = (width - 50) / (constnumbers.NUM_SKILL2_GRID_COL) # consider margin size
-        self.skill2_grid.SetRowLabelSize(40)
-        for col in range(constnumbers.NUM_SKILL2_GRID_COL):
-            self.skill2_grid.SetColSize(col, each_width) 
+        # 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)
+
+        # 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()
@@ -171,7 +58,7 @@ class MainFrameView():
 
     def EnableNoteBook(self):
         self.note_book.Enable()
-        
+
     def OnAboutBox(self, evt):
         u""" Show About Box """
         info = wx.AboutDialogInfo()