[Update(tmp)] ※Dropdown Menu開きません。 Config Window: Option Menu系widgetを全てframeを使った自作widgetにすり替え。
This commit is contained in:
6
view.py
6
view.py
@@ -692,14 +692,14 @@ class View():
|
||||
|
||||
def updateList_MicHost(self, new_mic_host_list:list):
|
||||
self.view_variable.LIST_MIC_HOST = new_mic_host_list
|
||||
vrct_gui.config_window.sb__optionmenu_mic_host.configure(values=new_mic_host_list)
|
||||
# vrct_gui.config_window.sb__optionmenu_mic_host.configure(values=new_mic_host_list)
|
||||
|
||||
def updateSelected_MicHost(self, selected_mic_host_name:str):
|
||||
self.view_variable.VAR_MIC_HOST.set(selected_mic_host_name)
|
||||
|
||||
def updateList_MicDevice(self, new_mic_device_list):
|
||||
self.view_variable.LIST_MIC_DEVICE = new_mic_device_list
|
||||
vrct_gui.config_window.sb__optionmenu_mic_device.configure(values=new_mic_device_list)
|
||||
# vrct_gui.config_window.sb__optionmenu_mic_device.configure(values=new_mic_device_list)
|
||||
|
||||
def updateSelected_MicDevice(self, default_selected_mic_device_name:str):
|
||||
self.view_variable.VAR_MIC_DEVICE.set(default_selected_mic_device_name)
|
||||
@@ -716,7 +716,7 @@ class View():
|
||||
|
||||
def updateList_SpeakerDevice(self, new_speaker_device_list):
|
||||
self.view_variable.LIST_SPEAKER_DEVICE = new_speaker_device_list
|
||||
vrct_gui.config_window.sb__optionmenu_speaker_device.configure(values=new_speaker_device_list)
|
||||
# vrct_gui.config_window.sb__optionmenu_speaker_device.configure(values=new_speaker_device_list)
|
||||
|
||||
@staticmethod
|
||||
def updateSetProgressBar_SpeakerEnergy(new_speaker_energy):
|
||||
|
||||
@@ -3,7 +3,7 @@ from typing import Union
|
||||
|
||||
from customtkinter import CTkOptionMenu, CTkFont, CTkFrame, CTkLabel, CTkRadioButton, CTkEntry, CTkSlider, CTkSwitch, CTkCheckBox, CTkProgressBar
|
||||
|
||||
from vrct_gui.ui_utils import createButtonWithImage, getLatestWidth
|
||||
from vrct_gui.ui_utils import createButtonWithImage, getLatestWidth, createOptionMenuBox
|
||||
|
||||
SETTING_BOX_COLUMN = 1
|
||||
|
||||
@@ -76,19 +76,30 @@ class _SettingBoxGenerator():
|
||||
def createSettingBoxDropdownMenu(self, for_var_label_text, for_var_desc_text, optionmenu_attr_name, command, variable=None, dropdown_menu_values=None):
|
||||
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(for_var_label_text, for_var_desc_text)
|
||||
|
||||
option_menu_widget = CTkOptionMenu(
|
||||
setting_box_item_frame,
|
||||
height=self.settings.uism.SB__OPTIONMENU_HEIGHT,
|
||||
width=self.settings.uism.SB__OPTIONMENU_WIDTH,
|
||||
values=dropdown_menu_values,
|
||||
button_color=self.settings.ctm.SB__OPTIONMENU_BG_COLOR,
|
||||
button_hover_color=self.settings.ctm.SB__OPTIONMENU_HOVERED_BG_COLOR,
|
||||
fg_color=self.settings.ctm.SB__OPTIONMENU_BG_COLOR,
|
||||
font=CTkFont(family=self.settings.FONT_FAMILY, size=self.settings.uism.SB__OPTION_MENU_FONT_SIZE, weight="normal"),
|
||||
option_menu_widget = createOptionMenuBox(
|
||||
parent_widget=setting_box_item_frame,
|
||||
optionmenu_bg_color=self.settings.ctm.SB__OPTIONMENU_BG_COLOR,
|
||||
optionmenu_hovered_bg_color=self.settings.ctm.SB__OPTIONMENU_HOVERED_BG_COLOR,
|
||||
optionmenu_clicked_bg_color=self.settings.ctm.SB__OPTIONMENU_CLICKED_BG_COLOR,
|
||||
optionmenu_ipadx=(8,8),
|
||||
optionmenu_ipady=2,
|
||||
optionmenu_ipady_between_img=8,
|
||||
optionmenu_min_height=self.settings.uism.SB__OPTIONMENU_MIN_HEIGHT,
|
||||
optionmenu_min_width=self.settings.uism.SB__OPTIONMENU_MIN_WIDTH,
|
||||
variable=variable,
|
||||
command=command,
|
||||
anchor="w",
|
||||
font_family=self.settings.FONT_FAMILY,
|
||||
font_size=self.settings.uism.SB__OPTION_MENU_FONT_SIZE,
|
||||
text_color=self.settings.ctm.LABELS_TEXT_COLOR,
|
||||
image_file=self.settings.image_file.ARROW_LEFT.rotate(90),
|
||||
image_size=(14,14),
|
||||
command=lambda _e: print(_e),
|
||||
# command=open_selectable_language_window_command,
|
||||
|
||||
# optionmenu_position="center",
|
||||
# setattr_widget=main_window,
|
||||
# image_widget_attr_name=arrow_img_attr_name,
|
||||
)
|
||||
|
||||
option_menu_widget.grid(row=1, column=SETTING_BOX_COLUMN, sticky="e")
|
||||
setattr(self.config_window, optionmenu_attr_name, option_menu_widget)
|
||||
|
||||
|
||||
@@ -232,6 +232,7 @@ class ColorThemeManager():
|
||||
|
||||
self.config_window.SB__OPTIONMENU_BG_COLOR = self.DARK_925_COLOR
|
||||
self.config_window.SB__OPTIONMENU_HOVERED_BG_COLOR = self.DARK_850_COLOR
|
||||
self.config_window.SB__OPTIONMENU_CLICKED_BG_COLOR = self.DARK_950_COLOR
|
||||
|
||||
self.config_window.SB__SLIDER_BUTTON_COLOR = self.DARK_700_COLOR
|
||||
self.config_window.SB__SLIDER_BUTTON_HOVERED_COLOR = self.DARK_600_COLOR
|
||||
|
||||
@@ -146,9 +146,9 @@ class UiScalingManager():
|
||||
|
||||
|
||||
self.config_window.SB__OPTION_MENU_FONT_SIZE = self.config_window.SB__SELECTOR_FONT_SIZE
|
||||
self.config_window.SB__OPTIONMENU_HEIGHT = self._calculateUiSize(30)
|
||||
self.config_window.SB__OPTIONMENU_WIDTH = self._calculateUiSize(200)
|
||||
self.config_window.SB__DROPDOWN_MENU_WIDTH = self.config_window.SB__OPTIONMENU_WIDTH
|
||||
self.config_window.SB__OPTIONMENU_MIN_HEIGHT = self._calculateUiSize(30)
|
||||
self.config_window.SB__OPTIONMENU_MIN_WIDTH = self._calculateUiSize(200)
|
||||
self.config_window.SB__DROPDOWN_MENU_WIDTH = self.config_window.SB__OPTIONMENU_MIN_WIDTH
|
||||
self.config_window.SB__DROPDOWN_MENU_MAX_BUTTON_HEIGHT = int(self.config_window.SB__OPTION_MENU_FONT_SIZE + self._calculateUiSize(6))
|
||||
self.config_window.SB__DROPDOWN_MENU_FRAME_CORNER_RADIUS = self._calculateUiSize(10)
|
||||
self.config_window.SB__DROPDOWN_MENU_FRAME_MAX_HEIGHT = self._calculateUiSize(200)
|
||||
|
||||
@@ -142,14 +142,18 @@ def createButtonWithImage(parent_widget, button_fg_color, button_enter_color, bu
|
||||
return button_wrapper
|
||||
|
||||
|
||||
def createOptionMenuBox(parent_widget, optionmenu_bg_color, optionmenu_hovered_bg_color, optionmenu_clicked_bg_color, optionmenu_ipadx, optionmenu_ipady, variable, font_family, font_size, text_color, image_file, image_size, command, optionmenu_position=None, setattr_widget=None, image_widget_attr_name=None):
|
||||
def createOptionMenuBox(parent_widget, optionmenu_bg_color, optionmenu_hovered_bg_color, optionmenu_clicked_bg_color, optionmenu_ipadx, optionmenu_ipady, variable, font_family, font_size, text_color, image_file, image_size, command, optionmenu_position=None, optionmenu_ipady_between_img=0, optionmenu_min_height=None, optionmenu_min_width=None, setattr_widget=None, image_widget_attr_name=None):
|
||||
|
||||
option_menu_box = CTkFrame(parent_widget, corner_radius=4, fg_color=optionmenu_bg_color, cursor="hand2")
|
||||
option_menu_box = CTkFrame(parent_widget, corner_radius=6, fg_color=optionmenu_bg_color, cursor="hand2")
|
||||
|
||||
option_menu_box.grid_rowconfigure(0, weight=1)
|
||||
if optionmenu_min_height is not None: option_menu_box.grid_rowconfigure(0, minsize=optionmenu_min_height)
|
||||
|
||||
option_menu_box.grid_columnconfigure(0, weight=1)
|
||||
option_menu_box.grid_rowconfigure(0, weight=1)
|
||||
if optionmenu_min_width is not None: option_menu_box.grid_columnconfigure(0, minsize=optionmenu_min_width)
|
||||
|
||||
optionmenu_label_wrapper = CTkFrame(option_menu_box, corner_radius=0, fg_color=optionmenu_bg_color)
|
||||
optionmenu_label_wrapper.grid(row=0, column=0, sticky="ew")
|
||||
optionmenu_label_wrapper.grid(row=0, column=0, padx=(optionmenu_ipadx[0],0), pady=optionmenu_ipady, sticky="ew")
|
||||
|
||||
LABEL_COLUMN=0
|
||||
if optionmenu_position == "center":
|
||||
@@ -163,7 +167,7 @@ def createOptionMenuBox(parent_widget, optionmenu_bg_color, optionmenu_hovered_b
|
||||
font=CTkFont(family=font_family, size=font_size, weight="normal"),
|
||||
text_color=text_color
|
||||
)
|
||||
optionmenu_label_widget.grid(row=0, column=LABEL_COLUMN, padx=optionmenu_ipadx, pady=optionmenu_ipady)
|
||||
optionmenu_label_widget.grid(row=0, column=LABEL_COLUMN, padx=(0, optionmenu_ipady_between_img))
|
||||
|
||||
|
||||
optionmenu_img_widget = CTkLabel(
|
||||
@@ -177,7 +181,7 @@ def createOptionMenuBox(parent_widget, optionmenu_bg_color, optionmenu_hovered_b
|
||||
if image_widget_attr_name is not None:
|
||||
setattr(setattr_widget, image_widget_attr_name, optionmenu_img_widget)
|
||||
|
||||
optionmenu_img_widget.grid(row=0, column=1, padx=0, pady=0)
|
||||
optionmenu_img_widget.grid(row=0, column=1, padx=(0, optionmenu_ipadx[1]), pady=optionmenu_ipady)
|
||||
|
||||
|
||||
bindEnterAndLeaveColor([optionmenu_label_wrapper, option_menu_box, optionmenu_label_widget, optionmenu_img_widget], optionmenu_hovered_bg_color, optionmenu_bg_color)
|
||||
|
||||
Reference in New Issue
Block a user