hooke.ui.gui was getting complicated, so I stripped it down for a moment.
[hooke.git] / hooke / ui / gui / statusbar.py
1 # Copyright
2
3 """Status bar for Hooke.
4 """
5
6 import wx
7
8 from ... import version
9
10
11 class StatusBar (wx.StatusBar):
12     def __init__(self, *args, **kwargs):
13         super(StatusBar, self).__init__(*args, **kwargs)
14         self.SetStatusWidths([-2, -3])
15         self.SetStatusText('Ready', 0)
16         self.SetStatusText(u'Welcome to Hooke (version %s)' % version(), 1)
17
18     def set_playlist(self, playlist):
19         self.SetStatusText(self._playlist_status(playlist), 0)
20
21     def set_curve(self, curve):
22         pass
23
24     def _playlist_status(self, playlist):
25         fields = [
26             playlist.name,
27             '(%d/%d)' % (playlist._index, len(playlist)),
28             ]
29         curve = playlist.current()
30         if curve != None:
31             fields.append(curve.name)
32         return ' '.join(fields)