[Refactor] Main Window: _printToTextbox. textboxへの出力関数のリファクタリング。

view.pyではターゲットタイプとメッセージを渡すだけにして、vrct_gui内でwidgetの取得と、allタブへの出力自動設定を行うように。
This commit is contained in:
Sakamoto Shiina
2023-09-14 03:06:12 +09:00
parent 0b1e731246
commit 43a880775b
3 changed files with 35 additions and 9 deletions

21
view.py
View File

@@ -437,8 +437,11 @@ class View():
@staticmethod
def _printToTextbox_Info(info_message):
vrct_gui.printToTextbox(vrct_gui.textbox_all, info_message, "", "INFO")
vrct_gui.printToTextbox(vrct_gui.textbox_system, info_message, "", "INFO")
vrct_gui.printToTextbox(
target_type="INFO",
original_message=info_message,
translated_message="",
)
@@ -447,8 +450,11 @@ class View():
@staticmethod
def _printToTextbox_Sent(original_message, translated_message):
vrct_gui.printToTextbox(vrct_gui.textbox_all, original_message, translated_message, "SEND")
vrct_gui.printToTextbox(vrct_gui.textbox_sent, original_message, translated_message, "SEND")
vrct_gui.printToTextbox(
target_type="SEND",
original_message=original_message,
translated_message=translated_message,
)
def printToTextbox_ReceivedMessage(self, original_message, translated_message):
@@ -456,8 +462,11 @@ class View():
@staticmethod
def _printToTextbox_Received(original_message, translated_message):
vrct_gui.printToTextbox(vrct_gui.textbox_all, original_message, translated_message, "RECEIVE")
vrct_gui.printToTextbox(vrct_gui.textbox_received, original_message, translated_message, "RECEIVE")
vrct_gui.printToTextbox(
target_type="RECEIVE",
original_message=original_message,
translated_message=translated_message,
)
@staticmethod

View File

@@ -1,7 +1,7 @@
from datetime import datetime
from customtkinter import CTkFont
def _printToTextbox(settings, target_textbox, original_message, translated_message, tags=None):
def _printToTextbox(settings, target_textbox, original_message=None, translated_message=None, tags=None):
now_raw_data = datetime.now()
now = now_raw_data.strftime('%H:%M:%S')
now_hm = now_raw_data.strftime('%H:%M')

View File

@@ -125,13 +125,30 @@ class VRCT_GUI(CTk):
target_names=target_names,
)
def printToTextbox(self, target_textbox, original_message, translated_message, tags=None):
def printToTextbox(self, target_type, original_message=None, translated_message=None):
match (target_type):
case "INFO":
target_textbox = self.textbox_system
case "SEND":
target_textbox = self.textbox_sent
case "RECEIVE":
target_textbox = self.textbox_received
case (_):
raise ValueError(f"No matching case for target_type: {target_type}")
_printToTextbox(
settings=self.settings.main,
target_textbox=target_textbox,
original_message=original_message,
translated_message=translated_message,
tags=tags,
tags=target_type,
)
# To automatically print the same log to the textbox_all widget as well.
_printToTextbox(
settings=self.settings.main,
target_textbox=self.textbox_all,
original_message=original_message,
translated_message=translated_message,
tags=target_type,
)
def setDefaultActiveLanguagePresetTab(self, tab_no:str):