def test_toplevels(self): timeline_container = common.create_timeline_container() timeline = timeline_container.timeline clip1, clip2, clip3, clip4 = self.addClipsSimple(timeline, 4) selection = Selection() selection.setSelection([clip1, clip2, clip3, clip4], SELECT) self.assertSetEqual(selection.toplevels, {clip1, clip2, clip3, clip4}) group1 = GES.Container.group([clip1, clip2]) group1.props.serialize = True self.assertSetEqual(selection.toplevels, {group1, clip3, clip4}) group2 = GES.Container.group([group1, clip3]) group2.props.serialize = True self.assertSetEqual(selection.toplevels, {group2, clip4}) group1.props.serialize = True group1.props.serialize = False self.assertSetEqual(selection.toplevels, {group2, clip4}) group1.props.serialize = False group2.props.serialize = False self.assertSetEqual(selection.toplevels, {clip1, clip2, clip3, clip4}) group1.props.serialize = True group2.props.serialize = False self.assertSetEqual(selection.toplevels, {group1, clip3, clip4})
def testBoolEvaluation(self): clip1 = mock.MagicMock() selection = Selection() self.assertFalse(selection) selection.setSelection([clip1], SELECT) self.assertTrue(selection) selection.setSelection([clip1], SELECT_ADD) self.assertTrue(selection) selection.setSelection([clip1], UNSELECT) self.assertFalse(selection)
def __init__(self, container): Clutter.ScrollActor.__init__(self) Zoomable.__init__(self) self.bTimeline = None self._container = container self.elements = [] self.ghostClips = [] self.selection = Selection() self._scroll_point = Clutter.Point() self.lastPosition = 0 # Saved for redrawing when paused self._createPlayhead() self._createSnapIndicator()
def test_can_group_ungroup(self): clip1 = common.create_test_clip(GES.UriClip) clip2 = common.create_test_clip(GES.UriClip) selection = Selection() self.assertFalse(selection) selection.setSelection([clip1], SELECT) self.assertFalse(selection.can_ungroup) self.assertFalse(selection.can_group) selection.setSelection([clip2], SELECT_ADD) self.assertTrue(selection.can_group) self.assertFalse(selection.can_ungroup) selection.setSelection([], SELECT) self.assertFalse(selection.can_group) self.assertFalse(selection.can_ungroup)
def testGetSingleClip(self): selection = Selection() clip1 = common.create_test_clip(GES.UriClip) clip2 = common.create_test_clip(GES.TitleClip) # Selection empty. self.assertFalse(selection.getSingleClip(GES.TitleClip)) # Selection contains only a non-requested-type clip. selection.setSelection([clip1], SELECT) self.assertFalse(selection.getSingleClip(GES.TitleClip)) # Selection contains only requested-type clip. selection.setSelection([clip2], SELECT) self.assertEqual(clip2, selection.getSingleClip(GES.TitleClip)) # Selection contains more than one clip. selection.setSelection([clip1, clip2], SELECT) self.assertFalse(selection.getSingleClip(GES.UriClip))
def test_can_group_ungroup(self): timeline_container = common.create_timeline_container() timeline = timeline_container.timeline clip1, clip2 = self.addClipsSimple(timeline, 2) selection = Selection() self.assertFalse(selection.can_group) self.assertFalse(selection.can_ungroup) selection.setSelection([clip1], SELECT) self.assertFalse(selection.can_group) self.assertTrue(selection.can_ungroup) selection.setSelection([clip2], SELECT_ADD) self.assertTrue(selection.can_group) self.assertFalse(selection.can_ungroup) selection.setSelection([], SELECT) self.assertFalse(selection.can_group) self.assertFalse(selection.can_ungroup)
def testGetSingleClip(self): selection = Selection() clip1 = common.create_test_clip(GES.UriClip) clip2 = common.create_test_clip(GES.TitleClip) # Selection empty. self.assertIsNone(selection.getSingleClip()) self.assertIsNone(selection.getSingleClip(GES.UriClip)) self.assertIsNone(selection.getSingleClip(GES.TitleClip)) selection.setSelection([clip1], SELECT) self.assertEqual(selection.getSingleClip(), clip1) self.assertEqual(selection.getSingleClip(GES.UriClip), clip1) self.assertIsNone(selection.getSingleClip(GES.TitleClip)) selection.setSelection([clip2], SELECT) self.assertEqual(selection.getSingleClip(), clip2) self.assertIsNone(selection.getSingleClip(GES.UriClip)) self.assertEqual(selection.getSingleClip(GES.TitleClip), clip2) selection.setSelection([clip1, clip2], SELECT) self.assertIsNone(selection.getSingleClip()) self.assertIsNone(selection.getSingleClip(GES.UriClip)) self.assertIsNone(selection.getSingleClip(GES.TitleClip))