def __init__(self, parent, mydir_path: str, version_name: str, logging_level: int, is_saving: bool, is_out_log: bool): self.version_name = version_name self.logging_level = logging_level self.is_out_log = is_out_log self.is_saving = is_saving self.mydir_path = mydir_path self.elapsed_time = 0 self.popuped_finger_warning = False self.worker = None self.load_worker = None wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"VMDサイジング ローカル版 {0}".format(self.version_name), \ pos=wx.DefaultPosition, size=wx.Size(600, 650), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) # ファイル履歴読み込み self.file_hitories = MFileUtils.read_history(self.mydir_path) # --------------------------------------------- self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.note_ctrl = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) if self.logging_level == MLogger.FULL or self.logging_level == MLogger.DEBUG_FULL: # フルデータの場合 self.note_ctrl.SetBackgroundColour("RED") elif self.logging_level == MLogger.DEBUG: # テスト(デバッグ版)の場合 self.note_ctrl.SetBackgroundColour("CORAL") elif self.logging_level == MLogger.TIMER: # 時間計測の場合 self.note_ctrl.SetBackgroundColour("YELLOW") elif not is_saving: # ログありの場合、色変え self.note_ctrl.SetBackgroundColour("BLUE") elif is_out_log: # ログありの場合、色変え self.note_ctrl.SetBackgroundColour("AQUAMARINE") else: self.note_ctrl.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNSHADOW)) # --------------------------------------------- # ファイルタブ self.file_panel_ctrl = FilePanel(self, self.note_ctrl, 0, self.file_hitories) self.note_ctrl.AddPage(self.file_panel_ctrl, u"ファイル", True) # 複数タブ self.multi_panel_ctrl = MultiPanel(self, self.note_ctrl, 1, self.file_hitories) self.note_ctrl.AddPage(self.multi_panel_ctrl, u"複数", False) # モーフタブ self.morph_panel_ctrl = MorphPanel(self, self.note_ctrl, 2) self.note_ctrl.AddPage(self.morph_panel_ctrl, u"モーフ", False) # 腕タブ self.arm_panel_ctrl = ArmPanel(self, self.note_ctrl, 3) self.note_ctrl.AddPage(self.arm_panel_ctrl, u"腕", False) # カメラタブ self.camera_panel_ctrl = CameraPanel(self, self.note_ctrl, 4) self.note_ctrl.AddPage(self.camera_panel_ctrl, u"カメラ", False) # 一括タブ self.bulk_panel_ctrl = BulkPanel(self, self.note_ctrl, 5) self.note_ctrl.AddPage(self.bulk_panel_ctrl, u"一括", False) # CSVタブ self.csv_panel_ctrl = CsvPanel(self, self.note_ctrl, 6) self.note_ctrl.AddPage(self.csv_panel_ctrl, u"CSV", False) # VMDタブ self.vmd_panel_ctrl = VmdPanel(self, self.note_ctrl, 7) self.note_ctrl.AddPage(self.vmd_panel_ctrl, u"VMD", False) # --------------------------------------------- # タブ押下時の処理 self.note_ctrl.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.on_tab_change) # --------------------------------------------- bSizer1.Add(self.note_ctrl, 1, wx.EXPAND, 5) # デフォルトの出力先はファイルタブのコンソール sys.stdout = self.file_panel_ctrl.console_ctrl # イベントバインド self.Bind(EVT_SIZING_THREAD, self.on_exec_result) self.Bind(EVT_LOAD_THREAD, self.on_load_result) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent, mydir_path: str, version_name: str, logging_level: int, is_saving: bool, is_out_log: bool): self.version_name = version_name self.logging_level = logging_level self.is_out_log = is_out_log self.is_saving = is_saving self.mydir_path = mydir_path self.elapsed_time = 0 self.popuped_finger_warning = False self.worker = None self.load_worker = None wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"モーションサポーター ローカル版 {0}".format(self.version_name), \ pos=wx.DefaultPosition, size=wx.Size(600, 650), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) # ファイル履歴読み込み self.file_hitories = MFileUtils.read_history(self.mydir_path) # --------------------------------------------- self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.note_ctrl = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) if self.logging_level == MLogger.FULL or self.logging_level == MLogger.DEBUG_FULL: # フルデータの場合 self.note_ctrl.SetBackgroundColour("RED") elif self.logging_level == MLogger.DEBUG: # テスト(デバッグ版)の場合 self.note_ctrl.SetBackgroundColour("CORAL") elif self.logging_level == MLogger.TIMER: # 時間計測の場合 self.note_ctrl.SetBackgroundColour("YELLOW") elif not is_saving: # ログありの場合、色変え self.note_ctrl.SetBackgroundColour("BLUE") elif is_out_log: # ログありの場合、色変え self.note_ctrl.SetBackgroundColour("AQUAMARINE") else: self.note_ctrl.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNSHADOW)) # --------------------------------------------- # 全親タブ self.parent_panel_ctrl = ParentPanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.parent_panel_ctrl, u"全親移植", False) # ゆらぎタブ self.noise_panel_ctrl = NoisePanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.noise_panel_ctrl, u"ゆらぎ複製", False) # 多段分割タブ self.multi_split_panel_ctrl = MultiSplitPanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.multi_split_panel_ctrl, u"多段分割", False) # 多段統合タブ self.multi_join_panel_ctrl = MultiJoinPanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.multi_join_panel_ctrl, u"多段統合", False) # 足FK2FKタブ self.leg_fk2ik_panel_ctrl = LegFKtoIKPanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.leg_fk2ik_panel_ctrl, u"足FKtoIK", False) # スムーズタブ self.smooth_panel_ctrl = SmoothPanel(self, self.note_ctrl, 5) self.note_ctrl.AddPage(self.smooth_panel_ctrl, u"スムーズ", False) # ブレンドタブ self.blend_panel_ctrl = BlendPanel(self, self.note_ctrl, 6) self.note_ctrl.AddPage(self.blend_panel_ctrl, u"ブレンド", False) # 補間タブ self.bezier_panel_ctrl = BezierPanel(self, self.note_ctrl, 9) self.note_ctrl.AddPage(self.bezier_panel_ctrl, u"補間", False) # # 腕IKtoFKタブ # self.arm_ik2fk_panel_ctrl = ArmIKtoFKPanel(self, self.note_ctrl, 9) # self.note_ctrl.AddPage(self.arm_ik2fk_panel_ctrl, u"腕IKtoFK", False) # --------------------------------------------- # タブ押下時の処理 self.note_ctrl.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.on_tab_change) # --------------------------------------------- bSizer1.Add(self.note_ctrl, 1, wx.EXPAND, 5) # デフォルトの出力先はファイルタブのコンソール sys.stdout = self.parent_panel_ctrl.console_ctrl self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH)