Merge branch 'view' into UI_2.0
This commit is contained in:
11
view.py
11
view.py
@@ -37,6 +37,7 @@ class View():
|
|||||||
|
|
||||||
self.view_variable = SimpleNamespace(
|
self.view_variable = SimpleNamespace(
|
||||||
# Main Window
|
# Main Window
|
||||||
|
# Sidebar
|
||||||
# Sidebar Compact Mode
|
# Sidebar Compact Mode
|
||||||
IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False,
|
IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=False,
|
||||||
CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None,
|
CALLBACK_TOGGLE_MAIN_WINDOW_SIDEBAR_COMPACT_MODE=None,
|
||||||
@@ -54,7 +55,7 @@ class View():
|
|||||||
VAR_LABEL_FOREGROUND=StringVar(value="Foreground"),
|
VAR_LABEL_FOREGROUND=StringVar(value="Foreground"),
|
||||||
CALLBACK_TOGGLE_FOREGROUND=None,
|
CALLBACK_TOGGLE_FOREGROUND=None,
|
||||||
|
|
||||||
# Language Settings
|
# Sidebar Language Settings
|
||||||
VAR_LABEL_LANGUAGE_SETTINGS=StringVar(value="Language Settings"), # JA: 言語設定
|
VAR_LABEL_LANGUAGE_SETTINGS=StringVar(value="Language Settings"), # JA: 言語設定
|
||||||
LIST_SELECTABLE_LANGUAGES=[],
|
LIST_SELECTABLE_LANGUAGES=[],
|
||||||
|
|
||||||
@@ -70,6 +71,14 @@ class View():
|
|||||||
CALLBACK_SELECTED_TARGET_LANGUAGE=None,
|
CALLBACK_SELECTED_TARGET_LANGUAGE=None,
|
||||||
|
|
||||||
|
|
||||||
|
VAR_LABEL_TEXTBOX_ALL=StringVar(value="All"), # JA: 全て
|
||||||
|
VAR_LABEL_TEXTBOX_SENT=StringVar(value="Sent"), # JA: 送信
|
||||||
|
VAR_LABEL_TEXTBOX_RECEIVED=StringVar(value="Received"), # JA: 受信
|
||||||
|
VAR_LABEL_TEXTBOX_SYSTEM=StringVar(value="System"), # JA: システム
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Config Window
|
# Config Window
|
||||||
# Appearance Tab
|
# Appearance Tab
|
||||||
|
|||||||
@@ -60,6 +60,6 @@ def createMainWindowWidgets(vrct_gui, settings, view_variable):
|
|||||||
|
|
||||||
createMinimizeSidebarButton(settings, vrct_gui, view_variable)
|
createMinimizeSidebarButton(settings, vrct_gui, view_variable)
|
||||||
|
|
||||||
createTextbox(settings, vrct_gui)
|
createTextbox(settings, vrct_gui, view_variable)
|
||||||
|
|
||||||
createEntryMessageBox(settings, vrct_gui)
|
createEntryMessageBox(settings, vrct_gui)
|
||||||
@@ -274,41 +274,4 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
|||||||
command=selectTargetLanguageCommand,
|
command=selectTargetLanguageCommand,
|
||||||
variable=view_variable.VAR_TARGET_LANGUAGE
|
variable=view_variable.VAR_TARGET_LANGUAGE
|
||||||
)
|
)
|
||||||
main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew")
|
main_window.sls__box_target_language.grid(row=4, column=0, padx=0, pady=(0,0),sticky="ew")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Config Button
|
|
||||||
main_window.sidebar_config_button_container = CTkFrame(main_window.sidebar_bg_container, corner_radius=0, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, width=0, height=0)
|
|
||||||
main_window.sidebar_config_button_container.grid(row=3, column=0, sticky="ew")
|
|
||||||
|
|
||||||
|
|
||||||
main_window.sidebar_config_button_container.grid_columnconfigure(0, weight=1)
|
|
||||||
main_window.sidebar_config_button_wrapper = CTkFrame(main_window.sidebar_config_button_container, corner_radius=settings.uism.SIDEBAR_CONFIG_BUTTON_CORNER_RADIUS, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, height=0, width=0, cursor="hand2")
|
|
||||||
main_window.sidebar_config_button_wrapper.grid(row=0, column=0, padx=settings.uism.SIDEBAR_CONFIG_BUTTON_PADX, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_PADY, sticky="ew")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
main_window.sidebar_config_button_wrapper.grid_columnconfigure(0, weight=1)
|
|
||||||
|
|
||||||
settings.uism.CONFIG_BUTTON_PADX= 0
|
|
||||||
main_window.sidebar_config_button = CTkLabel(
|
|
||||||
main_window.sidebar_config_button_wrapper,
|
|
||||||
text=None,
|
|
||||||
height=0,
|
|
||||||
image=CTkImage((settings.image_file.CONFIGURATION_ICON),size=(settings.COMPACT_MODE_ICON_SIZE,settings.COMPACT_MODE_ICON_SIZE))
|
|
||||||
)
|
|
||||||
main_window.sidebar_config_button.grid(row=0, column=0, padx=0, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_IPADY)
|
|
||||||
|
|
||||||
|
|
||||||
bindButtonFunctionAndColor(
|
|
||||||
target_widgets=[main_window.sidebar_config_button_wrapper, main_window.sidebar_config_button],
|
|
||||||
enter_color=settings.ctm.CONFIG_BUTTON_HOVERED_BG_COLOR,
|
|
||||||
leave_color=settings.ctm.CONFIG_BUTTON_BG_COLOR,
|
|
||||||
clicked_color=settings.ctm.CONFIG_BUTTON_CLICKED_BG_COLOR,
|
|
||||||
buttonReleasedFunction=main_window.openConfigWindow,
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
from customtkinter import CTkFrame
|
from customtkinter import CTkFrame, CTkLabel, CTkImage
|
||||||
|
|
||||||
|
from ...ui_utils import bindButtonFunctionAndColor
|
||||||
|
|
||||||
from ._create_sidebar import createSidebarFeatures, createSidebarLanguagesSettings
|
from ._create_sidebar import createSidebarFeatures, createSidebarLanguagesSettings
|
||||||
|
|
||||||
@@ -6,8 +8,12 @@ def createSidebar(settings, main_window, view_variable):
|
|||||||
# Side Bar Container
|
# Side Bar Container
|
||||||
main_window.grid_rowconfigure(0, weight=1)
|
main_window.grid_rowconfigure(0, weight=1)
|
||||||
|
|
||||||
main_window.sidebar_bg_container = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
|
main_window.sidebar_bg_container_wrapper = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
|
||||||
main_window.sidebar_compact_mode_bg_container = CTkFrame(main_window, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
|
main_window.sidebar_bg_container_wrapper.grid(row=0, column=0, sticky="nsew")
|
||||||
|
|
||||||
|
|
||||||
|
main_window.sidebar_bg_container = CTkFrame(main_window.sidebar_bg_container_wrapper, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
|
||||||
|
main_window.sidebar_compact_mode_bg_container = CTkFrame(main_window.sidebar_bg_container_wrapper, corner_radius=0, fg_color=settings.ctm.SIDEBAR_BG_COLOR, width=0, height=0)
|
||||||
|
|
||||||
|
|
||||||
main_window.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.SIDEBAR_WIDTH)
|
main_window.sidebar_bg_container.grid_columnconfigure(0, weight=0, minsize=settings.uism.SIDEBAR_WIDTH)
|
||||||
@@ -24,4 +30,40 @@ def createSidebar(settings, main_window, view_variable):
|
|||||||
if view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE:
|
if view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE:
|
||||||
main_window.sidebar_bg_container.grid_remove()
|
main_window.sidebar_bg_container.grid_remove()
|
||||||
else:
|
else:
|
||||||
main_window.sidebar_compact_mode_bg_container.grid_remove()
|
main_window.sidebar_compact_mode_bg_container.grid_remove()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Config Button
|
||||||
|
main_window.sidebar_bg_container_wrapper.grid_rowconfigure(3, weight=1)
|
||||||
|
|
||||||
|
main_window.sidebar_config_button_container = CTkFrame(main_window.sidebar_bg_container_wrapper, corner_radius=0, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, width=0, height=0)
|
||||||
|
main_window.sidebar_config_button_container.grid(row=4, column=0, sticky="sew")
|
||||||
|
|
||||||
|
|
||||||
|
main_window.sidebar_config_button_container.grid_columnconfigure(0, weight=1)
|
||||||
|
main_window.sidebar_config_button_wrapper = CTkFrame(main_window.sidebar_config_button_container, corner_radius=settings.uism.SIDEBAR_CONFIG_BUTTON_CORNER_RADIUS, fg_color=settings.ctm.CONFIG_BUTTON_BG_COLOR, height=0, width=0, cursor="hand2")
|
||||||
|
main_window.sidebar_config_button_wrapper.grid(row=0, column=0, padx=settings.uism.SIDEBAR_CONFIG_BUTTON_PADX, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_PADY, sticky="ew")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main_window.sidebar_config_button_wrapper.grid_columnconfigure(0, weight=1)
|
||||||
|
|
||||||
|
settings.uism.CONFIG_BUTTON_PADX = 0
|
||||||
|
main_window.sidebar_config_button = CTkLabel(
|
||||||
|
main_window.sidebar_config_button_wrapper,
|
||||||
|
text=None,
|
||||||
|
height=0,
|
||||||
|
image=CTkImage((settings.image_file.CONFIGURATION_ICON),size=(settings.COMPACT_MODE_ICON_SIZE,settings.COMPACT_MODE_ICON_SIZE))
|
||||||
|
)
|
||||||
|
main_window.sidebar_config_button.grid(row=0, column=0, padx=0, pady=settings.uism.SIDEBAR_CONFIG_BUTTON_IPADY)
|
||||||
|
|
||||||
|
|
||||||
|
bindButtonFunctionAndColor(
|
||||||
|
target_widgets=[main_window.sidebar_config_button_wrapper, main_window.sidebar_config_button],
|
||||||
|
enter_color=settings.ctm.CONFIG_BUTTON_HOVERED_BG_COLOR,
|
||||||
|
leave_color=settings.ctm.CONFIG_BUTTON_BG_COLOR,
|
||||||
|
clicked_color=settings.ctm.CONFIG_BUTTON_CLICKED_BG_COLOR,
|
||||||
|
buttonReleasedFunction=main_window.openConfigWindow,
|
||||||
|
)
|
||||||
@@ -3,7 +3,7 @@ from customtkinter import CTkFont, CTkFrame, CTkLabel, CTkTextbox
|
|||||||
from ...ui_utils import getLatestWidth, getLongestText, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, _setDefaultActiveTab, switchActiveTabAndPassiveTab, switchTabsColor
|
from ...ui_utils import getLatestWidth, getLongestText, bindEnterAndLeaveColor, bindButtonPressColor, bindButtonReleaseFunction, _setDefaultActiveTab, switchActiveTabAndPassiveTab, switchTabsColor
|
||||||
|
|
||||||
|
|
||||||
def createTextbox(settings, main_window):
|
def createTextbox(settings, main_window, view_variable):
|
||||||
|
|
||||||
def switchTextbox(target_textbox_attr_name):
|
def switchTextbox(target_textbox_attr_name):
|
||||||
main_window.current_active_textbox.grid_remove()
|
main_window.current_active_textbox.grid_remove()
|
||||||
@@ -78,70 +78,59 @@ def createTextbox(settings, main_window):
|
|||||||
"textbox_tab_attr_name": "textbox_tab_all",
|
"textbox_tab_attr_name": "textbox_tab_all",
|
||||||
"command": switchToTextboxAll,
|
"command": switchToTextboxAll,
|
||||||
"textbox_attr_name": "textbox_all",
|
"textbox_attr_name": "textbox_all",
|
||||||
"text": "All",
|
"textvariable": view_variable.VAR_LABEL_TEXTBOX_ALL
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"textbox_tab_attr_name": "textbox_tab_sent",
|
"textbox_tab_attr_name": "textbox_tab_sent",
|
||||||
"command": switchToTextboxSent,
|
"command": switchToTextboxSent,
|
||||||
"textbox_attr_name": "textbox_sent",
|
"textbox_attr_name": "textbox_sent",
|
||||||
"text": "Sent",
|
"textvariable": view_variable.VAR_LABEL_TEXTBOX_SENT
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"textbox_tab_attr_name": "textbox_tab_received",
|
"textbox_tab_attr_name": "textbox_tab_received",
|
||||||
"command": switchToTextboxReceived,
|
"command": switchToTextboxReceived,
|
||||||
"textbox_attr_name": "textbox_received",
|
"textbox_attr_name": "textbox_received",
|
||||||
"text": "Received",
|
"textvariable": view_variable.VAR_LABEL_TEXTBOX_RECEIVED
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"textbox_tab_attr_name": "textbox_tab_system",
|
"textbox_tab_attr_name": "textbox_tab_system",
|
||||||
"command": switchToTextboxSystem,
|
"command": switchToTextboxSystem,
|
||||||
"textbox_attr_name": "textbox_system",
|
"textbox_attr_name": "textbox_system",
|
||||||
"text": "System",
|
"textvariable": view_variable.VAR_LABEL_TEXTBOX_SYSTEM
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
longest_text = getLongestText(textbox_settings)
|
|
||||||
|
|
||||||
setattr(main_window, "_mlw", CTkLabel(
|
|
||||||
main_window,
|
|
||||||
text=longest_text,
|
|
||||||
corner_radius=0,
|
|
||||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_TAB_FONT_SIZE, weight="normal"),
|
|
||||||
height=0,
|
|
||||||
anchor="center",
|
|
||||||
))
|
|
||||||
label_widget = getattr(main_window, "_mlw")
|
|
||||||
label_widget.grid()
|
|
||||||
MAX_LABEL_WIDTH = getLatestWidth(label_widget)
|
|
||||||
label_widget.grid_remove()
|
|
||||||
|
|
||||||
|
|
||||||
column=0
|
column=0
|
||||||
for textbox_setting in textbox_settings:
|
for textbox_setting in textbox_settings:
|
||||||
setattr(main_window, textbox_setting["textbox_tab_attr_name"], CTkFrame(main_window.textbox_switch_tabs_container, corner_radius=settings.uism.TEXTBOX_TAB_CORNER_RADIUS, fg_color=settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR, cursor="hand2", width=0, height=0)
|
setattr(main_window, textbox_setting["textbox_tab_attr_name"],
|
||||||
|
CTkFrame(
|
||||||
|
main_window.textbox_switch_tabs_container,
|
||||||
|
corner_radius=settings.uism.TEXTBOX_TAB_CORNER_RADIUS,
|
||||||
|
fg_color=settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR,
|
||||||
|
cursor="hand2",
|
||||||
|
width=0,
|
||||||
|
height=0
|
||||||
|
)
|
||||||
)
|
)
|
||||||
target_widget = getattr(main_window, textbox_setting["textbox_tab_attr_name"])
|
target_widget = getattr(main_window, textbox_setting["textbox_tab_attr_name"])
|
||||||
target_widget.grid(row=0, column=column, pady=0, padx=(0,2), sticky="ew")
|
target_widget.grid(row=0, column=column, pady=0, padx=(0,2), sticky="ew")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
target_widget.columnconfigure((0,2), weight=1)
|
||||||
setattr(main_window, "label_widget", CTkLabel(
|
setattr(main_window, "label_widget", CTkLabel(
|
||||||
target_widget,
|
target_widget,
|
||||||
text=textbox_setting["text"],
|
textvariable=textbox_setting["textvariable"],
|
||||||
corner_radius=0,
|
corner_radius=0,
|
||||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_TAB_FONT_SIZE, weight="normal"),
|
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.TEXTBOX_TAB_FONT_SIZE, weight="normal"),
|
||||||
height=0,
|
height=0,
|
||||||
width=MAX_LABEL_WIDTH,
|
width=0,
|
||||||
anchor="center",
|
anchor="center",
|
||||||
text_color=settings.ctm.TEXTBOX_TAB_TEXT_PASSIVE_COLOR,
|
text_color=settings.ctm.TEXTBOX_TAB_TEXT_PASSIVE_COLOR,
|
||||||
))
|
))
|
||||||
label_widget = getattr(main_window, "label_widget")
|
label_widget = getattr(main_window, "label_widget")
|
||||||
label_widget.grid(row=0, column=column)
|
label_widget.grid(row=0, column=1, pady=settings.uism.TEXTBOX_TAB_PADY, padx=settings.uism.TEXTBOX_TAB_PADX)
|
||||||
|
|
||||||
label_widget.grid(row=0, column=column, pady=settings.uism.TEXTBOX_TAB_PADY, padx=settings.uism.TEXTBOX_TAB_PADX)
|
|
||||||
|
|
||||||
bindEnterAndLeaveColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_HOVERED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR)
|
bindEnterAndLeaveColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_HOVERED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR)
|
||||||
bindButtonPressColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_CLICKED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR)
|
bindButtonPressColor([target_widget, label_widget], settings.ctm.TEXTBOX_TAB_BG_CLICKED_COLOR, settings.ctm.TEXTBOX_TAB_BG_PASSIVE_COLOR)
|
||||||
|
|||||||
Reference in New Issue
Block a user