diff options
author | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-05-29 00:07:28 (GMT) |
---|---|---|
committer | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-05-29 00:07:28 (GMT) |
commit | f46b80d4a8c3b581ac4a82f8d60dd8d8ffbe9e2d (patch) | |
tree | da9f43bce8a6251c8214367b37a0499c85731ac6 | |
parent | 453d8f15cfae89de2a134b7ac085a5ba030068a0 (diff) |
Scroll to selected item
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | frames_list.py | 11 |
2 files changed, 12 insertions, 1 deletions
@@ -5,4 +5,4 @@ Fixes: - Enable drag and drop between frames. - Correct frame selection in ping pong mode Bugs: - - Doesn't scroll to the seleceted item + Void. diff --git a/frames_list.py b/frames_list.py index 5df5ba6..c61c673 100644 --- a/frames_list.py +++ b/frames_list.py @@ -25,25 +25,34 @@ import gtk class FramesList(gtk.ScrolledWindow): + def __init__(self): super(FramesList, self).__init__() + self._animation = None self._animation_connected = False + self.set_size_request(225, -1) self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self.store = gtk.ListStore(int, gtk.gdk.Pixbuf) self.treeview = gtk.TreeView(self.store) + self.set_vadjustment(self.treeview.get_vadjustment()) self.selection = self.treeview.get_selection() self.selection.connect("changed", self._selection_changed_cb) + column = gtk.TreeViewColumn("Frame") self.treeview.append_column(column) + num_cell = gtk.CellRendererText() preview_cell = gtk.CellRendererPixbuf() + column.pack_start(num_cell) column.pack_start(preview_cell) column.add_attribute(num_cell, 'text', 0) column.add_attribute(preview_cell, 'pixbuf', 1) + self.treeview.show() self.add(self.treeview) self.frames = 0 @@ -65,6 +74,8 @@ class FramesList(gtk.ScrolledWindow): def _select_frame(self, widget, index): self.selection.select_iter(self.store.get_iter(index)) + selected_path = self.store.get_path(self.selection.get_selected()[1]) + self.treeview.scroll_to_cell(selected_path) def add_frame(self, pixbuf): self.frames += 1 |