本文整理汇总了Python中quodlibet.qltk.models.ObjectStore.remove方法的典型用法代码示例。如果您正苦于以下问题:Python ObjectStore.remove方法的具体用法?Python ObjectStore.remove怎么用?Python ObjectStore.remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类quodlibet.qltk.models.ObjectStore
的用法示例。
在下文中一共展示了ObjectStore.remove方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_is_empty
# 需要导入模块: from quodlibet.qltk.models import ObjectStore [as 别名]
# 或者: from quodlibet.qltk.models.ObjectStore import remove [as 别名]
def test_is_empty(self):
m = ObjectStore()
self.assertTrue(m.is_empty())
iter_ = m.append(row=[1])
self.assertFalse(m.is_empty())
m.remove(iter_)
self.assertTrue(m.is_empty())
示例2: ResultTreeView
# 需要导入模块: from quodlibet.qltk.models import ObjectStore [as 别名]
# 或者: from quodlibet.qltk.models.ObjectStore import remove [as 别名]
class ResultTreeView(HintedTreeView, MultiDragTreeView):
"""The result treeview"""
def __init__(self, album):
self.album = album
self._release = None
self.model = ObjectStore()
self.model.append_many(album)
super(ResultTreeView, self).__init__(self.model)
self.set_headers_clickable(True)
self.set_rules_hint(True)
self.set_reorderable(True)
self.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
mode = Pango.EllipsizeMode
cols = [
(_('Filename'), self.__name_datafunc, True, mode.MIDDLE),
(_('Disc'), self.__disc_datafunc, False, mode.END),
(_('Track'), self.__track_datafunc, False, mode.END),
(_('Title'), self.__title_datafunc, True, mode.END),
(_('Artist'), self.__artist_datafunc, True, mode.END),
]
for title, func, resize, mode in cols:
render = Gtk.CellRendererText()
render.set_property('ellipsize', mode)
col = Gtk.TreeViewColumn(title, render)
col.set_cell_data_func(render, func)
col.set_resizable(resize)
col.set_expand(resize)
self.append_column(col)
def iter_tracks(self):
"""Yields tuples of (release, track, song) combinations as they
are shown in the list.
"""
tracks = self._tracks
for idx, (song, ) in enumerate(self.model):
if song is None:
continue
if idx >= len(tracks):
continue
track = tracks[idx]
yield (self._release, track, song)
def update_release(self, full_release):
"""Updates the TreeView, handling results with a different number of
tracks than the album being tagged.
Passing in None will reset the list.
"""
if full_release is not None:
tracks = full_release.tracks
else:
tracks = []
for i in range(len(self.model), len(tracks)):
self.model.append((None, ))
for i in range(len(self.model), len(tracks), -1):
if self.model[-1][0] is not None:
break
itr = self.model.get_iter_from_string(str(len(self.model) - 1))
self.model.remove(itr)
self._release = full_release
for row in self.model:
self.model.row_changed(row.path, row.iter)
# Only show artists if we have any
has_artists = bool(filter(lambda t: t.artists, tracks))
col = self.get_column(4)
col.set_visible(has_artists)
# Only show discs column if we have more than one disc
col = self.get_column(1)
col.set_visible(
bool(full_release) and bool(full_release.disc_count > 1))
self.columns_autosize()
@property
def _tracks(self):
if self._release is None:
return []
return self._release.tracks
def __name_datafunc(self, col, cell, model, itr, data):
song = model[itr][0]
if song:
cell.set_property('text', path.fsdecode(song("~basename")))
else:
cell.set_property('text', '')
def __track_datafunc(self, col, cell, model, itr, data):
idx = model.get_path(itr)[0]
if idx >= len(self._tracks):
#.........这里部分代码省略.........