[Update] Config Window: slider tooltips. ステップを1ずつにして、さらにパーセンテージ表記するように。
This commit is contained in:
@@ -239,11 +239,14 @@ class _SettingBoxGenerator():
|
||||
slider_number_of_steps: Union[int,
|
||||
None] = None,
|
||||
slider_bind__ButtonPress=None,
|
||||
slider_bind__ButtonRelease=None
|
||||
slider_bind__ButtonRelease=None,
|
||||
sliderTooltipFormatter=None,
|
||||
):
|
||||
|
||||
(setting_box_frame, setting_box_item_frame) = self._createSettingBoxFrame(slider_attr_name, for_var_label_text, for_var_desc_text)
|
||||
|
||||
if slider_number_of_steps is None:
|
||||
slider_number_of_steps = int(slider_range[1] - slider_range[0])
|
||||
|
||||
slider_widget = CTkSlider(
|
||||
setting_box_item_frame,
|
||||
@@ -261,9 +264,14 @@ class _SettingBoxGenerator():
|
||||
)
|
||||
setattr(self.config_window, slider_attr_name, slider_widget)
|
||||
|
||||
def getSliderValueWAfterFormatting():
|
||||
return sliderTooltipFormatter(variable.get()) if sliderTooltipFormatter else variable.get()
|
||||
|
||||
|
||||
|
||||
slider_tooltip = CTkToolTip(
|
||||
slider_widget,
|
||||
message=variable.get(),
|
||||
message=getSliderValueWAfterFormatting(),
|
||||
delay=0,
|
||||
bg_color=self.settings.ctm.SB__SLIDER_TOOLTIP_BG_COLOR,
|
||||
text_color=self.settings.ctm.SB__SLIDER_TOOLTIP_TEXT_COLOR,
|
||||
@@ -275,7 +283,7 @@ class _SettingBoxGenerator():
|
||||
if slider_bind__ButtonPress is not None:
|
||||
def adjusted_slider_bind__ButtonPress(_e):
|
||||
command(_e)
|
||||
slider_tooltip.configure(message=slider_widget.get())
|
||||
slider_tooltip.configure(message=getSliderValueWAfterFormatting())
|
||||
slider_bind__ButtonPress()
|
||||
slider_widget.configure(command=adjusted_slider_bind__ButtonPress)
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ def createSettingBox_Appearance(setting_box_wrapper, config_window, settings, vi
|
||||
variable=view_variable.VAR_TRANSPARENCY,
|
||||
slider_bind__ButtonPress=view_variable.CALLBACK_BUTTON_PRESS_TRANSPARENCY,
|
||||
slider_bind__ButtonRelease=view_variable.CALLBACK_BUTTON_RELEASE_TRANSPARENCY,
|
||||
sliderTooltipFormatter=view_variable.CALLBACK_SLIDER_TOOLTIP_PERCENTAGE_FORMATTER,
|
||||
)
|
||||
config_window.sb__transparency.grid(row=row)
|
||||
row+=1
|
||||
@@ -76,6 +77,7 @@ def createSettingBox_Appearance(setting_box_wrapper, config_window, settings, vi
|
||||
variable=view_variable.VAR_TEXTBOX_UI_SCALING,
|
||||
slider_bind__ButtonPress=view_variable.CALLBACK_BUTTON_PRESS_TEXTBOX_UI_SCALING,
|
||||
slider_bind__ButtonRelease=view_variable.CALLBACK_BUTTON_RELEASE_TEXTBOX_UI_SCALING,
|
||||
sliderTooltipFormatter=view_variable.CALLBACK_SLIDER_TOOLTIP_PERCENTAGE_FORMATTER,
|
||||
)
|
||||
config_window.sb__textbox_uis_scaling.grid(row=row)
|
||||
row+=1
|
||||
|
||||
Reference in New Issue
Block a user