Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from gi.repository import Gtk
import actions
class ConsoleLogger:
def __init__(self):
pass
def log(self, action):
print 'Performed:', action.text
class GtkLogger(Gtk.HBox):
def __init__(self):
super(Log, self).__init__()
self.text = Gtk.TextView()
self.text.set_editable(False)
self.text.set_cursor_visible(False)
self.buffer = self.text.get_buffer()
self.scrolled = Gtk.ScrolledWindow()
self.scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.ALWAYS)
self.scrolled.add_with_viewport(self.text)
#self.scrolled.set_size_request(-1, 100)
self.pack_start(self.scrolled, True, True, 5)
def log(self, action):
self.buffer.insert_at_cursor('Performed: %s\n' % action.text)
adj = self.scrolled.get_vadjustment()
adj.set_value(adj.get_upper() - adj.get_page_size())
if __name__ == '__main__':
window = Gtk.Window()
window.connect("destroy", Gtk.main_quit)
logger = GtkLogger()
window.add(logger)
window.show_all()
logger.log(actions.Action('coucou'))
Gtk.main()