def _eventCb(self, element, event): if event.type == Gdk.EventType.ENTER_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL: ui.set_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.props.width_request = TrimHandle.SELECTED_WIDTH elif event.type == Gdk.EventType.LEAVE_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL: ui.unset_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.props.width_request = TrimHandle.DEFAULT_WIDTH return False
def _eventCb(self, element, event): if event.type == Gdk.EventType.ENTER_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL: ui.set_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.enlarge() elif event.type == Gdk.EventType.LEAVE_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL: ui.unset_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.shrink() return False
def _eventCb(self, element, event): if (event.type == Gdk.EventType.ENTER_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL and not self.timeline._scrubbing): ui.set_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.enlarge() elif (event.type == Gdk.EventType.LEAVE_NOTIFY and event.mode == Gdk.CrossingMode.NORMAL): ui.unset_children_state_recurse(self, Gtk.StateFlags.PRELIGHT) for handle in self.handles: handle.shrink() return False
def setSelection(self, objs, mode): """ Update the current selection. Depending on the value of C{mode}, the selection will be: - L{SELECT} : set to the provided selection. - L{UNSELECT} : the same minus the provided selection. - L{SELECT_ADD} : extended with the provided selection. @param objs: Timeline objects to update the selection with. @param mode: The type of update to apply. Can be C{SELECT}, C{UNSELECT} or C{SELECT_ADD} @see: L{setToObj} """ selection = set() for obj in objs: # FIXME GES break, handle the fact that we have unlinked objects in # GES if isinstance(obj, GES.TrackElement): selection.add(obj.get_parent()) else: selection.add(obj) if mode == SELECT_ADD: selection = self.selected | selection elif mode == UNSELECT: selection = self.selected - selection old_selection = self.selected if selection == old_selection: # Nothing changed. This can happen for example when the user clicks # the selected clip, then the clip remains selected. return self.selected = selection for obj in old_selection - self.selected: obj.selected.selected = False for element in obj.get_children(False): ui.unset_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) if not isinstance(element, GES.BaseEffect) and not isinstance(element, GES.TextOverlay): element.selected.selected = False for obj in self.selected - old_selection: obj.selected.selected = True if not hasattr(obj, "ui") or not obj.ui: continue ui.set_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) for element in obj.get_children(False): if not isinstance(element, GES.BaseEffect) and not isinstance(element, GES.TextOverlay): element.selected.selected = True self.emit("selection-changed")
def set_selection(self, objs, mode): """Updates the current selection. Args: objs (List[GES.TrackElement]): Timeline objects to update the selection with. mode (SELECT or UNSELECT or SELECT_ADD): The type of update to apply. The selection will be: - `SELECT` : set to the provided selection. - `UNSELECT` : the same minus the provided selection. - `SELECT_ADD` : extended with the provided selection. """ selection = set() for obj in objs: # FIXME GES break, handle the fact that we have unlinked objects in # GES if isinstance(obj, GES.TrackElement): selection.add(obj.get_parent()) else: selection.add(obj) if mode == SELECT_ADD: selection = self.selected | selection elif mode == UNSELECT: selection = self.selected - selection old_selection = self.selected if selection == old_selection: # Nothing changed. This can happen for example when the user clicks # the selected clip, then the clip remains selected. return self.selected = selection for obj, selected in self.__get_selection_changes(old_selection): obj.selected.selected = selected if obj.ui: if selected: from pitivi.utils.ui import set_children_state_recurse set_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) else: from pitivi.utils.ui import unset_children_state_recurse unset_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) for element in obj.get_children(False): if isinstance(obj, (GES.BaseEffect, GES.TextOverlay)): continue element.selected.selected = selected self.set_can_group_ungroup() self.emit("selection-changed")
def setSelection(self, objs, mode): """Updates the current selection. Args: objs (List[GES.TrackElement]): Timeline objects to update the selection with. mode (SELECT or UNSELECT or SELECT_ADD): The type of update to apply. The selection will be: - `SELECT` : set to the provided selection. - `UNSELECT` : the same minus the provided selection. - `SELECT_ADD` : extended with the provided selection. """ selection = set() for obj in objs: # FIXME GES break, handle the fact that we have unlinked objects in # GES if isinstance(obj, GES.TrackElement): selection.add(obj.get_parent()) else: selection.add(obj) if mode == SELECT_ADD: selection = self.selected | selection elif mode == UNSELECT: selection = self.selected - selection old_selection = self.selected if selection == old_selection: # Nothing changed. This can happen for example when the user clicks # the selected clip, then the clip remains selected. return self.selected = selection for obj, selected in self.__get_selection_changes(old_selection): obj.selected.selected = selected if obj.ui: if selected: set_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) else: unset_children_state_recurse(obj.ui, Gtk.StateFlags.SELECTED) for element in obj.get_children(False): if isinstance(obj, GES.BaseEffect) or\ isinstance(obj, GES.TextOverlay): continue element.selected.selected = selected self.set_can_group_ungroup() self.emit("selection-changed")