Merge branch 'view' into UI_2.0
This commit is contained in:
19
view.py
19
view.py
@@ -35,6 +35,12 @@ class View():
|
||||
**common_args
|
||||
)
|
||||
|
||||
self.settings.selectable_language_window = SimpleNamespace(
|
||||
ctm=all_ctm.selectable_language_window,
|
||||
uism=all_uism.config_window,
|
||||
**common_args
|
||||
)
|
||||
|
||||
self.view_variable = SimpleNamespace(
|
||||
# Main Window
|
||||
# Sidebar
|
||||
@@ -58,16 +64,18 @@ class View():
|
||||
# Sidebar Language Settings
|
||||
VAR_LABEL_LANGUAGE_SETTINGS=StringVar(value="Language Settings"), # JA: 言語設定
|
||||
LIST_SELECTABLE_LANGUAGES=[],
|
||||
|
||||
CALLBACK_SELECTED_LANGUAGE_PRESET_TAB=None,
|
||||
|
||||
VAR_LABEL_YOUR_LANGUAGE=StringVar(value="Your Language"), # JA: あなたの言語
|
||||
VAR_YOUR_LANGUAGE = StringVar(value="Japanese\n(Japan)"),
|
||||
CALLBACK_OPEN_SELECTABLE_YOUR_LANGUAGE_WINDOW=None,
|
||||
CALLBACK_SELECTED_YOUR_LANGUAGE=None,
|
||||
|
||||
VAR_LABEL_BOTH_DIRECTION_DESC=StringVar(value="Translate Each Other"), # JA: 双方向に翻訳
|
||||
|
||||
VAR_LABEL_TARGET_LANGUAGE=StringVar(value="Target Language"), # JA: 相手の言語
|
||||
VAR_TARGET_LANGUAGE = StringVar(value="English\n(United States)"),
|
||||
CALLBACK_OPEN_SELECTABLE_TARGET_LANGUAGE_WINDOW=None,
|
||||
CALLBACK_SELECTED_TARGET_LANGUAGE=None,
|
||||
|
||||
|
||||
@@ -248,6 +256,8 @@ class View():
|
||||
self.view_variable.CALLBACK_SELECTED_LANGUAGE_PRESET_TAB = language_presets["callback_selected_language_preset_tab"]
|
||||
vrct_gui.setDefaultActiveLanguagePresetTab(tab_no=config.SELECTED_TAB_NO)
|
||||
|
||||
self.view_variable.CALLBACK_OPEN_SELECTABLE_YOUR_LANGUAGE_WINDOW = self.openSelectableLanguagesWindow_YourLanguage
|
||||
self.view_variable.CALLBACK_OPEN_SELECTABLE_TARGET_LANGUAGE_WINDOW = self.openSelectableLanguagesWindow_TargetLanguage
|
||||
|
||||
entry_message_box = getattr(vrct_gui, "entry_message_box")
|
||||
entry_message_box.bind("<Return>", entry_message_box_commands["bind_Return"])
|
||||
@@ -345,6 +355,11 @@ class View():
|
||||
self.view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE = is_turned_on
|
||||
vrct_gui.recreateMainWindowSidebar()
|
||||
|
||||
def openSelectableLanguagesWindow_YourLanguage(self, _e):
|
||||
vrct_gui.openSelectableLanguagesWindow("your_language")
|
||||
def openSelectableLanguagesWindow_TargetLanguage(self, _e):
|
||||
vrct_gui.openSelectableLanguagesWindow("target_language")
|
||||
|
||||
|
||||
def updateGuiVariableByPresetTabNo(self, tab_no:str):
|
||||
self.view_variable.VAR_YOUR_LANGUAGE.set(config.SELECTED_TAB_YOUR_LANGUAGES[tab_no])
|
||||
@@ -353,8 +368,6 @@ class View():
|
||||
|
||||
def updateList_selectableLanguages(self, new_selectable_language_list:list):
|
||||
self.view_variable.LIST_SELECTABLE_LANGUAGES = new_selectable_language_list
|
||||
vrct_gui.sls__optionmenu_your_language.configure(values=new_selectable_language_list)
|
||||
vrct_gui.sls__optionmenu_target_language.configure(values=new_selectable_language_list)
|
||||
|
||||
|
||||
def printToTextbox_enableTranslation(self):
|
||||
|
||||
159
vrct_gui/_CreateSelectableLanguagesWindow.py
Normal file
159
vrct_gui/_CreateSelectableLanguagesWindow.py
Normal file
@@ -0,0 +1,159 @@
|
||||
from functools import partial
|
||||
|
||||
from .ui_utils import bindButtonReleaseFunction, bindEnterAndLeaveColor, bindButtonPressColor
|
||||
from utils import callFunctionIfCallable
|
||||
|
||||
from customtkinter import CTkToplevel, CTkFrame, CTkLabel, CTkFont, CTkScrollableFrame
|
||||
|
||||
class _CreateSelectableLanguagesWindow(CTkToplevel):
|
||||
def __init__(self, vrct_gui, settings, view_variable):
|
||||
super().__init__()
|
||||
self.withdraw()
|
||||
|
||||
|
||||
# configure window
|
||||
self.title("_CreateSelectableLanguagesWindow")
|
||||
self.overrideredirect(True)
|
||||
|
||||
self.attach = vrct_gui.main_bg_container
|
||||
self.vrct_gui = vrct_gui
|
||||
|
||||
|
||||
self.configure(fg_color="black")
|
||||
self.protocol("WM_DELETE_WINDOW", vrct_gui.closeSelectableLanguagesWindow)
|
||||
|
||||
self.settings = settings
|
||||
self._view_variable = view_variable
|
||||
|
||||
self.bind("<FocusOut>", lambda e: vrct_gui.closeSelectableLanguagesWindow())
|
||||
|
||||
|
||||
|
||||
self.is_created = False
|
||||
|
||||
|
||||
self.selectable_language_window_type = None
|
||||
|
||||
def createContainer(self, selectable_language_window_type):
|
||||
self.selectable_language_window_type = selectable_language_window_type
|
||||
|
||||
self.x_pos = self.attach.winfo_rootx()
|
||||
self.y_pos = self.attach.winfo_rooty()
|
||||
self.width_new = self.attach.winfo_width() - 16
|
||||
self.height_new = self.attach.winfo_height() - 50
|
||||
|
||||
|
||||
self.geometry('+{}+{}'.format(self.x_pos, self.y_pos))
|
||||
|
||||
|
||||
if self.is_created is True:
|
||||
pass
|
||||
else:
|
||||
self._createContainer()
|
||||
|
||||
|
||||
def callbackSelectableLanguages(self, value, _e):
|
||||
if self.selectable_language_window_type == "your_language":
|
||||
callback = self._view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE
|
||||
target_variable = self._view_variable.VAR_YOUR_LANGUAGE
|
||||
elif self.selectable_language_window_type == "target_language":
|
||||
callback = self._view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE
|
||||
target_variable = self._view_variable.VAR_TARGET_LANGUAGE
|
||||
|
||||
callFunctionIfCallable(callback, value)
|
||||
target_variable.set(value)
|
||||
self.vrct_gui.closeSelectableLanguagesWindow()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def _createContainer(self):
|
||||
# self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos))
|
||||
# self.geometry('{}x{}+{}+{}'.format(self.width_new, self.height_new, self.x_pos, self.y_pos))
|
||||
|
||||
|
||||
self.rowconfigure(0, minsize=50)
|
||||
self.top_container = CTkFrame(self, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=0, height=0)
|
||||
self.top_container.grid(row=0, column=0, sticky="nsew")
|
||||
|
||||
|
||||
self.top_container.rowconfigure((0,2), weight=1)
|
||||
self.go_back_button_container = CTkFrame(self.top_container, corner_radius=0, fg_color=self.settings.ctm.GO_BACK_BUTTON_BG_COLOR, width=0, height=0)
|
||||
self.go_back_button_container.grid(row=1, column=0)
|
||||
|
||||
self.go_back_button_label_wrapper = CTkFrame(self.go_back_button_container, corner_radius=0, fg_color=self.settings.ctm.GO_BACK_BUTTON_BG_COLOR, width=0, height=0)
|
||||
self.go_back_button_label_wrapper.grid(row=0, column=0)
|
||||
|
||||
|
||||
self.go_back_button_label = CTkLabel(
|
||||
self.go_back_button_label_wrapper,
|
||||
text="Go back",
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"),
|
||||
anchor="w",
|
||||
text_color=self.settings.ctm.BASIC_TEXT_COLOR,
|
||||
)
|
||||
self.go_back_button_label.grid(row=1, column=0, padx=10, pady=10)
|
||||
|
||||
bindButtonReleaseFunction([self.go_back_button_label_wrapper, self.go_back_button_label], lambda _e: self.vrct_gui.closeSelectableLanguagesWindow())
|
||||
|
||||
|
||||
|
||||
|
||||
self.scroll_frame_container = CTkScrollableFrame(self, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=self.width_new, height=self.height_new)
|
||||
self.scroll_frame_container.grid(row=1, column=0, sticky="nsew")
|
||||
|
||||
|
||||
|
||||
self.container = CTkFrame(self.scroll_frame_container, corner_radius=0, fg_color=self.settings.ctm.MAIN_BG_COLOR, width=0, height=0)
|
||||
self.container.grid(row=0, column=0, sticky="nsew")
|
||||
|
||||
|
||||
|
||||
max_row = int(len(self._view_variable.LIST_SELECTABLE_LANGUAGES)/3) + 1
|
||||
max_row+=1
|
||||
row=0
|
||||
column=0
|
||||
for selectable_language_name in self._view_variable.LIST_SELECTABLE_LANGUAGES:
|
||||
|
||||
self.wrapper = CTkFrame(self.container, corner_radius=0, fg_color=self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR, width=0, height=0)
|
||||
self.wrapper.grid(row=row, column=column, ipadx=6, ipady=6, sticky="nsew")
|
||||
setattr(self, f"{row}_{column}", self.wrapper)
|
||||
|
||||
|
||||
|
||||
self.wrapper.rowconfigure((0,2), weight=1)
|
||||
selectable_language_name_for_text = selectable_language_name.replace("\n", " ")
|
||||
label_widget = CTkLabel(
|
||||
self.wrapper,
|
||||
text=selectable_language_name_for_text,
|
||||
height=0,
|
||||
corner_radius=0,
|
||||
font=CTkFont(family=self.settings.FONT_FAMILY, size=14, weight="normal"),
|
||||
anchor="w",
|
||||
text_color=self.settings.ctm.BASIC_TEXT_COLOR,
|
||||
)
|
||||
# setattr(self, f"l", label_widget)
|
||||
|
||||
label_widget.grid(row=1, column=0, padx=(8,0))
|
||||
|
||||
|
||||
|
||||
bindEnterAndLeaveColor([self.wrapper, label_widget], self.settings.ctm.LANGUAGE_BUTTON_BG_HOVERED_COLOR, self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR)
|
||||
bindButtonPressColor([self.wrapper, label_widget], self.settings.ctm.LANGUAGE_BUTTON_BG_CLICKED_COLOR, self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR)
|
||||
|
||||
|
||||
|
||||
callback = partial(self.callbackSelectableLanguages, selectable_language_name)
|
||||
bindButtonReleaseFunction([self.wrapper, label_widget], callback)
|
||||
|
||||
if row == max_row:
|
||||
row=0
|
||||
column+=1
|
||||
else:
|
||||
row+=1
|
||||
|
||||
|
||||
self.is_created = True
|
||||
@@ -87,8 +87,8 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, view_variable, status, ta
|
||||
vrct_gui.sls__title_text_target_language.configure(text_color=settings.ctm.SF__TEXT_DISABLED_COLOR)
|
||||
if view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is False:
|
||||
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR_PASSIVE)
|
||||
vrct_gui.sls__optionmenu_your_language.configure(state="disabled")
|
||||
vrct_gui.sls__optionmenu_target_language.configure(state="disabled")
|
||||
# vrct_gui.sls__optionmenu_your_language.configure(state="disabled")
|
||||
# vrct_gui.sls__optionmenu_target_language.configure(state="disabled")
|
||||
|
||||
elif status == "normal":
|
||||
vrct_gui.sls__container_title.configure(text_color=settings.ctm.LABELS_TEXT_COLOR)
|
||||
@@ -97,8 +97,8 @@ def _changeMainWindowWidgetsStatus(vrct_gui, settings, view_variable, status, ta
|
||||
if view_variable.IS_MAIN_WINDOW_SIDEBAR_COMPACT_MODE is False:
|
||||
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR)
|
||||
vrct_gui.current_active_preset_tab.children["!ctklabel"].configure(text_color=settings.ctm.SLS__PRESETS_TAB_ACTIVE_TEXT_COLOR)
|
||||
vrct_gui.sls__optionmenu_your_language.configure(state="normal")
|
||||
vrct_gui.sls__optionmenu_target_language.configure(state="normal")
|
||||
# vrct_gui.sls__optionmenu_your_language.configure(state="normal")
|
||||
# vrct_gui.sls__optionmenu_target_language.configure(state="normal")
|
||||
|
||||
|
||||
case "config_button":
|
||||
|
||||
@@ -27,9 +27,6 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
def switchPresetTabFunction(target_active_widget):
|
||||
switchActiveAndPassivePresetsTabsColor(target_active_widget)
|
||||
switchActiveTabAndPassiveTab(target_active_widget, main_window.current_active_preset_tab, main_window.current_active_preset_tab.passive_function, settings.ctm.SLS__PRESETS_TAB_BG_HOVERED_COLOR, settings.ctm.SLS__PRESETS_TAB_BG_CLICKED_COLOR, settings.ctm.SLS__PRESETS_TAB_BG_PASSIVE_COLOR)
|
||||
|
||||
main_window.sls__optionmenu_your_language.set(view_variable.VAR_YOUR_LANGUAGE.get())
|
||||
main_window.sls__optionmenu_target_language.set(view_variable.VAR_TARGET_LANGUAGE.get())
|
||||
main_window.current_active_preset_tab = target_active_widget
|
||||
|
||||
|
||||
@@ -76,13 +73,14 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
|
||||
|
||||
|
||||
def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, optionmenu_attr_name, dropdown_menu_values, command, variable):
|
||||
def createLanguageSettingBox(parent_widget, var_title_text, title_text_attr_name, arrow_img_attr_name, dropdown_menu_values, open_selectable_language_window_command, variable):
|
||||
sls__box = CTkFrame(parent_widget, corner_radius=0, fg_color=settings.ctm.SLS__BOX_BG_COLOR, width=0, height=0)
|
||||
|
||||
sls__box.columnconfigure((0,2), weight=1)
|
||||
|
||||
sls__box_wrapper = CTkFrame(sls__box, corner_radius=0, fg_color=settings.ctm.SLS__BOX_BG_COLOR, width=0, height=0)
|
||||
sls__box_wrapper.grid(row=2, column=1, padx=0, pady=settings.uism.SLS__BOX_IPADY)
|
||||
sls__box_wrapper.grid(row=2, column=1, padx=10, pady=settings.uism.SLS__BOX_IPADY)
|
||||
|
||||
|
||||
sls__label = CTkLabel(
|
||||
sls__box_wrapper,
|
||||
@@ -97,19 +95,50 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
|
||||
|
||||
|
||||
createOption_DropdownMenu_for_languageSettings(
|
||||
main_window,
|
||||
sls__box_wrapper,
|
||||
optionmenu_attr_name,
|
||||
dropdown_menu_values=dropdown_menu_values,
|
||||
command=command,
|
||||
width=settings.uism.SLS__BOX_DROPDOWN_MENU_WIDTH,
|
||||
font_size=settings.uism.SLS__BOX_DROPDOWN_MENU_FONT_SIZE,
|
||||
text_color=settings.ctm.LABELS_TEXT_COLOR,
|
||||
variable=variable,
|
||||
# variable=StringVar(value="Chinese, Cantonese\n(Traditional Hong Kong)"),
|
||||
|
||||
sls__selected_language_box = CTkFrame(sls__box_wrapper, corner_radius=0, fg_color=settings.ctm.SLS__DROPDOWN_MENU_BG_COLOR)
|
||||
sls__selected_language_box.grid(row=1, column=0)
|
||||
|
||||
|
||||
sls__selected_language_box.columnconfigure(0, minsize=200)
|
||||
sls__selected_language_box.rowconfigure(0, minsize=30)
|
||||
sls__selected_language_label = CTkFrame(sls__selected_language_box, corner_radius=0, fg_color=settings.ctm.SLS__DROPDOWN_MENU_BG_COLOR)
|
||||
sls__selected_language_label.grid(row=0, column=0)
|
||||
|
||||
sls__selected_language_label = CTkLabel(
|
||||
sls__selected_language_label,
|
||||
textvariable=variable,
|
||||
height=0,
|
||||
# anchor="center",
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.SLS__BOX_DROPDOWN_MENU_FONT_SIZE, weight="normal"),
|
||||
text_color=settings.ctm.LABELS_TEXT_COLOR
|
||||
)
|
||||
getattr(main_window, optionmenu_attr_name).grid(row=1, column=0, padx=0, pady=0)
|
||||
sls__selected_language_label.grid(row=0, column=0, pady=2)
|
||||
setattr(main_window, title_text_attr_name, sls__selected_language_label)
|
||||
|
||||
|
||||
sls__selected_language_arrow_img = CTkLabel(
|
||||
sls__selected_language_box,
|
||||
text=None,
|
||||
corner_radius=0,
|
||||
height=0,
|
||||
image=CTkImage((settings.image_file.ARROW_LEFT).rotate(180),size=(20,20))
|
||||
)
|
||||
setattr(main_window, arrow_img_attr_name, sls__selected_language_arrow_img)
|
||||
|
||||
|
||||
|
||||
sls__selected_language_arrow_img.grid(row=0, column=1, padx=0, pady=0)
|
||||
|
||||
|
||||
|
||||
|
||||
# bindEnterAndLeaveColor([self.wrapper, label_widget], self.settings.ctm.LANGUAGE_BUTTON_BG_HOVERED_COLOR, self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR)
|
||||
# bindButtonPressColor([self.wrapper, label_widget], self.settings.ctm.LANGUAGE_BUTTON_BG_CLICKED_COLOR, self.settings.ctm.LANGUAGE_BUTTON_BG_COLOR)
|
||||
|
||||
|
||||
|
||||
bindButtonReleaseFunction([sls__selected_language_box, sls__selected_language_label, sls__selected_language_arrow_img], open_selectable_language_window_command)
|
||||
|
||||
return sls__box
|
||||
|
||||
@@ -204,12 +233,12 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
column+=1
|
||||
|
||||
|
||||
def selectYourLanguageCommand(value):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SELECTED_YOUR_LANGUAGE, value)
|
||||
def callbackOpenSelectableYourLanguageWindow(value):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_OPEN_SELECTABLE_YOUR_LANGUAGE_WINDOW, value)
|
||||
|
||||
|
||||
def selectTargetLanguageCommand(value):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_SELECTED_TARGET_LANGUAGE, value)
|
||||
def callbackOpenSelectableTargetLanguageWindow(value):
|
||||
callFunctionIfCallable(view_variable.CALLBACK_OPEN_SELECTABLE_TARGET_LANGUAGE_WINDOW, value)
|
||||
|
||||
# Language Settings BOX
|
||||
main_window.sls__box_frame = CTkFrame(main_window.sls__container, corner_radius=0, fg_color=settings.ctm.SLS__BG_COLOR, width=0, height=0)
|
||||
@@ -221,17 +250,17 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
parent_widget=main_window.sls__box_frame,
|
||||
var_title_text=view_variable.VAR_LABEL_YOUR_LANGUAGE,
|
||||
title_text_attr_name="sls__title_text_your_language",
|
||||
optionmenu_attr_name="sls__optionmenu_your_language",
|
||||
arrow_img_attr_name="sls__arrow_img_your_language",
|
||||
dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES,
|
||||
command=selectYourLanguageCommand,
|
||||
open_selectable_language_window_command=callbackOpenSelectableYourLanguageWindow,
|
||||
variable=view_variable.VAR_YOUR_LANGUAGE
|
||||
)
|
||||
main_window.sls__box_your_language.grid(row=2, column=0, padx=0, pady=(settings.uism.SLS__BOX_TOP_PADY,0),sticky="ew")
|
||||
main_window.sls__box_your_language.grid(row=2, column=0, pady=(settings.uism.SLS__BOX_TOP_PADY,0),sticky="ew")
|
||||
|
||||
|
||||
# Both direction arrow icon
|
||||
main_window.sls__arrow_direction_box = CTkFrame(main_window.sls__box_frame, corner_radius=0, fg_color=settings.ctm.SLS__BG_COLOR, width=0, height=0)
|
||||
main_window.sls__arrow_direction_box.grid(row=3, column=0, padx=0, pady=settings.uism.SLS__BOX_ARROWS_PADY,sticky="ew")
|
||||
main_window.sls__arrow_direction_box.grid(row=3, column=0, pady=settings.uism.SLS__BOX_ARROWS_PADY,sticky="ew")
|
||||
|
||||
main_window.sls__arrow_direction_box.grid_columnconfigure((0,4), weight=1)
|
||||
|
||||
@@ -251,7 +280,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
font=CTkFont(family=settings.FONT_FAMILY, size=settings.uism.SLS__BOX_ARROWS_DESC_FONT_SIZE, weight="normal"),
|
||||
text_color=settings.ctm.SLS__BOX_ARROWS_TEXT_COLOR,
|
||||
)
|
||||
main_window.sls__both_direction_desc.grid(row=0, column=2, padx=settings.uism.SLS__BOX_ARROWS_DESC_PADX, pady=0)
|
||||
main_window.sls__both_direction_desc.grid(row=0, column=2, padx=settings.uism.SLS__BOX_ARROWS_DESC_PADX)
|
||||
|
||||
main_window.sls__both_direction_label_down = CTkLabel(
|
||||
main_window.sls__arrow_direction_box,
|
||||
@@ -260,7 +289,7 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
image=CTkImage((settings.image_file.NARROW_ARROW_DOWN).rotate(0),size=settings.uism.SLS__BOX_ARROWS_IMAGE_SIZE)
|
||||
|
||||
)
|
||||
main_window.sls__both_direction_label_down.grid(row=0, column=3, pady=0)
|
||||
main_window.sls__both_direction_label_down.grid(row=0, column=3)
|
||||
|
||||
|
||||
|
||||
@@ -269,9 +298,9 @@ def createSidebarLanguagesSettings(settings, main_window, view_variable):
|
||||
parent_widget=main_window.sls__box_frame,
|
||||
var_title_text=view_variable.VAR_LABEL_TARGET_LANGUAGE,
|
||||
title_text_attr_name="sls__title_text_target_language",
|
||||
optionmenu_attr_name="sls__optionmenu_target_language",
|
||||
arrow_img_attr_name="sls__arrow_img_target_language",
|
||||
dropdown_menu_values=view_variable.LIST_SELECTABLE_LANGUAGES,
|
||||
command=selectTargetLanguageCommand,
|
||||
open_selectable_language_window_command=callbackOpenSelectableTargetLanguageWindow,
|
||||
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, sticky="ew")
|
||||
@@ -5,6 +5,7 @@ class ColorThemeManager():
|
||||
print(theme)
|
||||
self.main = SimpleNamespace()
|
||||
self.config_window = SimpleNamespace()
|
||||
self.selectable_language_window = SimpleNamespace()
|
||||
|
||||
self.PRIMARY_100_COLOR = "#c4eac1"
|
||||
self.PRIMARY_200_COLOR = "#9cdd98"
|
||||
@@ -151,6 +152,21 @@ class ColorThemeManager():
|
||||
# self.main.HELP_AND_INFO_BUTTON_DISABLE_COLOR = self.DARK_900_COLOR
|
||||
|
||||
|
||||
|
||||
# Selectable Language Window
|
||||
self.selectable_language_window.BASIC_TEXT_COLOR = self.main.BASIC_TEXT_COLOR
|
||||
|
||||
self.selectable_language_window.MAIN_BG_COLOR = self.DARK_875_COLOR
|
||||
|
||||
self.selectable_language_window.LANGUAGE_BUTTON_BG_COLOR = self.selectable_language_window.MAIN_BG_COLOR
|
||||
self.selectable_language_window.GO_BACK_BUTTON_BG_COLOR = self.DARK_800_COLOR
|
||||
|
||||
|
||||
self.selectable_language_window.LANGUAGE_BUTTON_BG_HOVERED_COLOR = self.DARK_825_COLOR
|
||||
self.selectable_language_window.LANGUAGE_BUTTON_BG_CLICKED_COLOR = self.DARK_888_COLOR
|
||||
|
||||
|
||||
|
||||
# Common
|
||||
self.config_window.BASIC_TEXT_COLOR = self.main.BASIC_TEXT_COLOR
|
||||
self.config_window.LABELS_TEXT_COLOR = self.config_window.BASIC_TEXT_COLOR
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
from types import SimpleNamespace
|
||||
|
||||
from customtkinter import CTk
|
||||
from customtkinter import CTk, CTkImage
|
||||
|
||||
# from window_help_and_info import ToplevelWindowInformation
|
||||
|
||||
# from .ui_managers import ColorThemeManager, ImageFileManager, UiScalingManager
|
||||
from ._CreateSelectableLanguagesWindow import _CreateSelectableLanguagesWindow
|
||||
|
||||
from ._changeMainWindowWidgetsStatus import _changeMainWindowWidgetsStatus
|
||||
from ._changeConfigWindowWidgetsStatus import _changeConfigWindowWidgetsStatus
|
||||
from ._printToTextbox import _printToTextbox
|
||||
@@ -24,10 +25,25 @@ class VRCT_GUI(CTk):
|
||||
self.settings = settings
|
||||
self._view_variable = view_variable
|
||||
|
||||
createMainWindowWidgets(vrct_gui=self, settings=self.settings.main, view_variable=self._view_variable)
|
||||
self.config_window = ConfigWindow(vrct_gui=self, settings=self.settings.config_window, view_variable=self._view_variable)
|
||||
createMainWindowWidgets(
|
||||
vrct_gui=self,
|
||||
settings=self.settings.main,
|
||||
view_variable=self._view_variable
|
||||
)
|
||||
|
||||
self.config_window = ConfigWindow(
|
||||
vrct_gui=self,
|
||||
settings=self.settings.config_window,
|
||||
view_variable=self._view_variable
|
||||
)
|
||||
# self.information_window = ToplevelWindowInformation(self)
|
||||
|
||||
self.selectable_languages_window = _CreateSelectableLanguagesWindow(
|
||||
vrct_gui=self,
|
||||
settings=self.settings.selectable_language_window,
|
||||
view_variable=self._view_variable
|
||||
)
|
||||
|
||||
def startMainLoop(self):
|
||||
self.mainloop()
|
||||
|
||||
@@ -48,6 +64,26 @@ class VRCT_GUI(CTk):
|
||||
self.config_window.grab_release()
|
||||
|
||||
|
||||
def openSelectableLanguagesWindow(self, selectable_language_window_type):
|
||||
if selectable_language_window_type == "your_language":
|
||||
self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
|
||||
elif selectable_language_window_type == "target_language":
|
||||
self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT),size=(20,20)))
|
||||
|
||||
self.sls__arrow_img_target_language
|
||||
self.selectable_languages_window.createContainer(selectable_language_window_type)
|
||||
self.selectable_languages_window.deiconify()
|
||||
self.selectable_languages_window.focus_set()
|
||||
self.selectable_languages_window.attributes("-topmost", True)
|
||||
|
||||
|
||||
def closeSelectableLanguagesWindow(self):
|
||||
self.sls__arrow_img_your_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20)))
|
||||
self.sls__arrow_img_target_language.configure(image=CTkImage((self.settings.main.image_file.ARROW_LEFT).rotate(180),size=(20,20)))
|
||||
self.selectable_languages_window.withdraw()
|
||||
|
||||
|
||||
|
||||
|
||||
def openHelpAndInfoWindow(self, e):
|
||||
self.information_window.deiconify()
|
||||
|
||||
Reference in New Issue
Block a user