OSDN Git Service

prepare .spec file for pyinstaller2.1 & revise source
[amulettoolsmh4/main.git] / view / mainframeview.py
index f119d77..a90011c 100644 (file)
@@ -2,34 +2,62 @@
 
 # GUIのメインフレーム
 # 2013/12/05 written by kei9
-import os.path
-
 import wx
 from wx import xrc
+import wx.lib.intctrl
 
 import constnumbers
 
 class MainFrameView():
     u""" メインのフレームクラス """
-    def __init__(self, dirname=None):
-        if dirname is None:
-            self.res = wx.xrc.XmlResource(constnumbers.XRC_MAIN_FRAME)
-        else:
-            self.res = wx.xrc.XmlResource(os.path.join(dirname,constnumbers.XRC_MAIN_FRAME))
+    def __init__(self, filename):
+        self.res = wx.xrc.XmlResource(filename)
         self._init_frame()
 
     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, "ButtonSkillSearch")
-        self.button_skill_clear = xrc.XRCCTRL(self.frame, "ButtonSkillClear")
+        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
@@ -42,13 +70,35 @@ class MainFrameView():
         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)
@@ -59,30 +109,32 @@ class MainFrameView():
         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_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_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_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
@@ -131,6 +183,12 @@ class MainFrameView():
     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()