1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 19:40:21 +01:00

* Added widget for so called "tag cloud".

This commit is contained in:
2008-03-26 20:39:32 +00:00
parent 0279279083
commit c72639af8e
5 changed files with 79 additions and 56 deletions

View File

@@ -669,4 +669,30 @@ class MainController(Controller):
else:
self.view['thumb'].hide()
return
def __tag_cloud(self):
"""generate tag cloud"""
# TODO: checkit!
def tag_cloud_click(tag, textview, event, iter, e):
"""react on click on connected tag items"""
if event.type == gtk.gdk.BUTTON_RELEASE:
print tag.get_property('name')
def insert_blank(b, iter):
if b.is_end() and b.is_start():
iter = b.get_end_iter()
else:
b.insert(iter, " ")
iter = b.get_end_iter()
return iter
if len(self.model.tag_cloud) > 0:
buff = self.view['keyword_textview'].get_buffer()
for cloud in self.model.tag_cloud:
iter = insert_blank(buff, buff.get_end_iter())
tag = buff.create_tag(cloud['id'])
tag.set_property('size-points', cloud['size'])
tag.connect('event', foo, tag)
buff.insert_with_tags(iter, cloud['name'], tag)
self.view['keyword_textview'].set_buffer(buff)
pass # end of class

View File

@@ -259,10 +259,7 @@ class MainModel(ModelMT):
gobject.TYPE_UINT64,
gobject.TYPE_STRING, gobject.TYPE_INT,
gobject.TYPE_STRING, str)
# Tag list: id, name, count
self.tags_list = gtk.ListStore(gobject.TYPE_INT, gobject.TYPE_STRING,
gobject.TYPE_UINT64, str)
self.tag_cloud = []
return
def cleanup(self):
@@ -475,15 +472,8 @@ class MainModel(ModelMT):
# private class functions
def __clear_trees(self):
self.__clear_tags_tree()
self.__clear_files_tree()
self.__clear_discs_tree()
def __clear_tags_tree(self):
try:
self.tags_list.clear()
except:
pass
def __clear_discs_tree(self):
try: