]> Pileus Git - ~andy/csm213a-hw/blob - vis/visual.py
Add settings
[~andy/csm213a-hw] / vis / visual.py
1 #!/usr/bin/env python
2
3 import pygtk
4 import gtk
5
6 class Visual:
7         def __init__(self, config):
8                 self.builder = gtk.Builder()
9                 self.builder.add_from_file('visual.ui')
10                 self.builder.connect_signals(self)
11                 self.window   = self.builder.get_object("window")
12                 self.settings = self.builder.get_object("settings")
13                 self.config   = config
14
15         # Signal handlers
16         def on_hide(self, win, *args):
17                 self.settings.hide()
18                 return True
19
20         def on_show(self, act):
21                 self.settings.show()
22                 return True
23
24         def on_connect(self, win):
25                 print "Unimplemented: on_connect"
26                 return True
27
28         def on_enable(self, _):
29                 print "Unimplemented: on_enable"
30                 return True
31         
32         def on_rate(self, _):
33                 print "Unimplemented: on_rate"
34                 return True
35
36         def on_key(self, win, ev):
37                 if ev.string == 'q':
38                         gtk.main_quit();
39
40         def on_destroy(self, win):
41                 gtk.main_quit()
42
43         # Methods
44         def load_config(self):
45                 # Serial settings
46                 baud  = self.builder.get_object("baudrate")
47                 stopb = self.builder.get_object("stopbits")
48                 datab = self.builder.get_object("databits")
49                 baud.set_value(self.config.baudrate)
50                 stopb.set_value(self.config.stopbits)
51                 datab.set_value(self.config.databits)
52
53                 # Xively settings
54                 user  = self.builder.get_object("username")
55                 pwd   = self.builder.get_object("password")
56                 api   = self.builder.get_object("apikey")
57                 user.set_text(self.config.username)
58                 pwd.set_text(self.config.password)
59                 api.set_text(self.config.apikey)
60
61                 # TODO - send changes back to config
62
63         def run(self):
64                 self.load_config()
65                 self.window.show()
66                 gtk.main()