本文整理汇总了Python中launcher.launcher_settings.LauncherSettings.add_listener方法的典型用法代码示例。如果您正苦于以下问题:Python LauncherSettings.add_listener方法的具体用法?Python LauncherSettings.add_listener怎么用?Python LauncherSettings.add_listener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类launcher.launcher_settings.LauncherSettings
的用法示例。
在下文中一共展示了LauncherSettings.add_listener方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from launcher.launcher_settings import LauncherSettings [as 别名]
# 或者: from launcher.launcher_settings.LauncherSettings import add_listener [as 别名]
def __init__(self, parent):
StatusElement.__init__(self, parent)
self.error_icon = Image("launcher:res/16/error.png")
self.warning_icon = Image("launcher:res/16/warning_3.png")
self.notice_icon = Image("launcher:res/16/information.png")
self.icons = [
self.error_icon,
self.warning_icon,
self.notice_icon,
]
self.coordinates = []
self.warnings = []
self.game_notice = ""
self.variant_notice = ""
self.variant_warning = ""
self.variant_error = ""
self.joy_emu_conflict = ""
self.using_joy_emu = False
self.kickstart_file = ""
self.x_kickstart_file_sha1 = ""
self.update_available = ""
self.__error = ""
self.x_missing_files = ""
self.download_page = ""
self.download_file = ""
self.amiga_model = ""
self.amiga_model_calculated = ""
self.chip_memory = ""
self.chip_memory_calculated = 0
self.outdated_plugins = []
self.custom_config = set()
self.custom_uae_config = set()
self.settings_config_keys = set()
plugin_manager = PluginManager.instance()
for plugin in plugin_manager.plugins():
if plugin.outdated:
self.outdated_plugins.append(plugin.name)
ConfigBehavior(self, [
"x_game_notice", "x_variant_notice", "x_variant_warning",
"x_variant_error", "x_joy_emu_conflict", "amiga_model",
"x_kickstart_file_sha1", "kickstart_file", "download_page",
"download_file", "x_missing_files", "__error",
"chip_memory", "jit_compiler"])
SettingsBehavior(self, ["__update_available"])
LauncherConfig.add_listener(self)
for key in JOYSTICK_KEYS:
self.on_config(key, LauncherConfig.get(key))
for key in LauncherConfig.keys():
if LauncherConfig.is_custom_uae_option(key):
self.on_config(key, LauncherConfig.get(key))
elif LauncherConfig.is_custom_option(key):
self.on_config(key, LauncherConfig.get(key))
LauncherSettings.add_listener(self)
for key in LauncherSettings.keys():
if LauncherConfig.is_config_only_option(key):
self.on_setting(key, LauncherSettings.get(key))
示例2: __init__
# 需要导入模块: from launcher.launcher_settings import LauncherSettings [as 别名]
# 或者: from launcher.launcher_settings.LauncherSettings import add_listener [as 别名]
def __init__(self, parent, names):
parent.__settings_enable_behavior = self
self._parent = weakref.ref(parent)
self._names = set(names)
LauncherSettings.add_listener(self)
try:
parent.destroyed.connect(self.on_parent_destroyed)
except AttributeError:
print("WARNING: SettingsBehavior without remove_listener "
"implementation")
for name in names:
# Broadcast initial value
self.on_setting(name, LauncherSettings.get(name))
示例3: __init__
# 需要导入模块: from launcher.launcher_settings import LauncherSettings [as 别名]
# 或者: from launcher.launcher_settings.LauncherSettings import add_listener [as 别名]
def __init__(self, parent):
fsui.Panel.__init__(self, parent)
Skin.set_background_color(self)
self.layout = fsui.HorizontalLayout()
vert_layout = fsui.VerticalLayout()
self.layout.add(vert_layout, fill=True, expand=True)
hor_layout = fsui.HorizontalLayout()
vert_layout.add(hor_layout, fill=True)
label_stand_in = fsui.Panel(self)
tw, th = label_stand_in.measure_text("Games")
label_stand_in.set_min_height(th)
hor_layout.add(label_stand_in, margin_top=10, margin_bottom=10)
hor_layout.add(NewButton(self), margin_left=10, margin_right=10)
game_list_selector = GameListSelector(self)
game_list_selector.set_min_width(250)
game_list_selector.setMaximumWidth(250)
game_list_selector.changed.connect(self.on_game_list_changed)
hor_layout.add(game_list_selector, expand=False, margin_left=10)
self.text_field = fsui.TextField(
self, LauncherSettings.get("config_search"))
self.text_field.on_changed = self.on_search_changed
if VariantsBrowser.use_horizontal_layout():
# window is big enough to use fixed size
# self.text_field.set_min_width(210)
self.text_field.set_min_width(229)
hor_layout.add(
self.text_field, expand=False, margin=10, margin_top=0,
margin_bottom=0)
else:
hor_layout.add(
self.text_field, expand=True, margin=10, margin_top=0,
margin_bottom=0)
# self.refresh_button = IconButton(self, "refresh_button.png")
# self.refresh_button.set_tooltip(
# gettext("Refresh Game Configurations from Online Database"))
# self.refresh_button.activated.connect(self.on_refresh_button)
# hor_layout.add(
# self.refresh_button, margin=10, margin_top=0, margin_bottom=0)
self.configurations_browser = ConfigurationsBrowser(self)
vert_layout.add(
self.configurations_browser, fill=True, expand=3, margin=10)
self.variants_panel = fsui.Panel(self)
vert_layout.add(self.variants_panel, fill=True, expand=False,
margin=10, margin_top=20)
self.variants_panel.layout = fsui.HorizontalLayout()
self.variants_browser = VariantsBrowser(self.variants_panel)
# Do not use fill=True with the default OS X theme at least,
# if you do the item will be rendered with the old Aqua look
self.variants_panel.layout.add(
self.variants_browser, fill=False, expand=True)
# for rating in [1, 4, 5]:
# button = RatingButton(self.variants_panel, rating)
# self.variants_panel.layout.add(button, margin_left=5, fill=True)
self.variants_panel.layout.add(
RatingChoice(self.variants_panel), margin_left=5, fill=True)
self.config_panel = fsui.Panel(self)
vert_layout.add(self.config_panel, fill=True, expand=False,
margin_bottom=10, margin_top=20)
self.config_panel.layout = fsui.VerticalLayout()
self.config_group = ConfigGroup(self.config_panel, new_button=False)
self.config_panel.layout.add(self.config_group, fill=True, expand=True)
LauncherSettings.add_listener(self)
self.on_setting("parent_uuid", LauncherSettings.get("parent_uuid"))
示例4: __init__
# 需要导入模块: from launcher.launcher_settings import LauncherSettings [as 别名]
# 或者: from launcher.launcher_settings.LauncherSettings import add_listener [as 别名]
def __init__(self, parent):
super().__init__(parent)
icon = fsui.Icon("video-settings", "pkg:workspace")
gettext("Video Synchronization Settings")
title = gettext("Synchronization")
subtitle = gettext("Synchronize FS-UAE with your display for "
"smooth video")
self.add_header(icon, title, subtitle)
label = fsui.MultiLineLabel(self, gettext(
"Enabling the following option will synchronize the emulation "
"to the display when the emulation refresh rate matches the"
"screen refresh rate."), 640)
self.layout.add(label, fill=True, margin_top=0)
self.video_sync_group = self.add_option("video_sync")
self.low_latency_group = self.add_option("low_latency_vsync")
# label = fsui.MultiLineLabel(self, gettext(
# "Enabling the following option will prevent tearing from "
# "occurring, but will also use more CPU. Input latency "
# "may become slightly higher."), 640)
# self.layout.add(label, fill=True, margin_top=0)
# self.vblank_checkbox = fsui.HeadingCheckBox(self, gettext(
# "Synchronize buffer swaps with display (prevents tearing)"))
# self.layout.add(self.vblank_checkbox, margin_top=20)
self.sync_method_label = fsui.MultiLineLabel(self, gettext(
"Depending on your OS and OpenGL drivers, synchronizing "
"can use needlessly much CPU (esp. applies to "
"Linux). You can experiment with different sync methods "
"to improve performance."), 640)
self.layout.add(self.sync_method_label, fill=True, margin_top=20)
self.sync_method_group = self.add_option("video_sync_method")
# self.smooth_label = fsui.MultiLineLabel(self, gettext(
# "In order to get really smooth Amiga graphics, you need to "
# "enable the following option, and also make sure your display "
# "is running at 50Hz (for PAL) or 60Hz (for NTSC)."), 640)
# self.layout.add(self.smooth_label, fill=True, margin_top=20)
# self.full_sync_checkbox = fsui.HeadingCheckBox(self, gettext(
# "Also synchronize emulation with display when possible "
# "(smooth scrolling)"))
# self.layout.add(self.full_sync_checkbox, margin_top=20)
self.layout.add_spacer(0, expand=True)
hori_layout = fsui.HorizontalLayout()
self.layout.add(hori_layout, fill=True, margin_top=10)
hori_layout.add(fsui.ImageView(self, fsui.Image(
"launcher:res/16/world_link.png")))
label = fsui.URLLabel(self, gettext(
"How to achieve perfectly smooth scrolling"),
"http://fs-uae.net/perfectly-smooth-scrolling")
hori_layout.add(label, margin_left=6)
text = gettext(
"Synchronizing with the display can in some cases cause "
"increased stuttering and low frame rates (esp. in some Linux "
"desktop environments with compositing enabled).")
link = (" <a href='https://fs-uae.net/video-synchronization-issues'>"
"{0}</a>.".format(gettext("Read more")))
label = fsui.MultiLineLabel(self, text + link, min_width=640)
self.layout.add(label, fill=True, margin_top=20)
LauncherSettings.add_listener(self)
for key in ["video_sync"]:
self.on_setting(key, LauncherSettings.get(key))