def getEffectConfigurationUI(self, effect): """Permit to get a configuration GUI for the effect @param effect: The effect for which we want the configuration UI @type effect: C{Gst.Element} """ if effect not in self.cache_dict: # Here we should handle special effects configuration UI effect_settings_widget = GstElementSettingsWidget() effect_settings_widget.setElement(effect, ignore=PROPS_TO_IGNORE, default_btn=True, use_element_props=True) scrolled_window = Gtk.ScrolledWindow() scrolled_window.add_with_viewport(effect_settings_widget) scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) self.cache_dict[effect] = scrolled_window self._connectAllWidgetCallbacks(effect_settings_widget, effect) self._postConfiguration(effect, effect_settings_widget) self._current_effect_setting_ui = self._getUiToSetEffect(effect) element = self._current_effect_setting_ui.element for prop in element.list_children_properties(): self._current_element_values[ prop.name] = element.get_child_property(prop.name) return self.cache_dict[effect]
def _register_alpha_widget(self, widgets): """Sets up an EffectsPropertiesManager instance to create custom effect UI.""" self.alpha_effect = GES.Effect.new("alpha") self.prop_name = "black-sensitivity" _, _, self.prop = self.alpha_effect.lookup_child(self.prop_name) self.effects_prop_manager = EffectsPropertiesManager(self.app) self.effects_prop_manager.connect("create-widget", self.create_alpha_widget_cb, widgets) self.element_settings_widget = GstElementSettingsWidget(self.alpha_effect, PROPS_TO_IGNORE) self.effects_prop_manager.emit("create-widget", self.element_settings_widget, self.alpha_effect) self.effects_prop_manager._connect_all_widget_callbacks(self.element_settings_widget, self.alpha_effect) self.effects_prop_manager._post_configuration(self.alpha_effect, self.element_settings_widget)
def get_effect_configuration_ui(self, effect): """Gets a configuration UI element for the effect. Args: effect (Gst.Element): The effect for which we want the UI. Returns: GstElementSettingsWidget: A container for configuring the effect. """ effect_widget = GstElementSettingsWidget(effect, PROPS_TO_IGNORE) widget = self.emit("create_widget", effect_widget, effect) # The default handler of `create_widget` handles visibility # itself and returns None if widget is not None: effect_widget.show_widget(widget) self._connect_all_widget_callbacks(effect_widget, effect) return effect_widget
def getEffectConfigurationUI(self, effect): """Gets a configuration UI element for the effect. Args: effect (Gst.Element): The effect for which we want the UI. Returns: GstElementSettingsWidget: A container for configuring the effect. """ if effect not in self.cache_dict: # Here we should handle special effects configuration UI effect_widget = GstElementSettingsWidget() effect_widget.setElement(effect, ignore=PROPS_TO_IGNORE, with_reset_button=True) self.cache_dict[effect] = effect_widget self._connectAllWidgetCallbacks(effect_widget, effect) self._postConfiguration(effect, effect_widget) for prop in effect.list_children_properties(): value = effect.get_child_property(prop.name) self._current_element_values[prop.name] = value return self.cache_dict[effect]