cf817d7fff2a387912a1617919102f9ebe6ef1f7
[jamaendo] / helldon / __init__.py
1 import gtk
2
3 gtk.HILDON_SIZE_AUTO = -1
4 gtk.HILDON_SIZE_AUTO_WIDTH = -1
5 gtk.HILDON_SIZE_FINGER_HEIGHT = 32
6 gtk.HILDON_SIZE_THUMB_HEIGHT = 48
7
8 BUTTON_ARRANGEMENT_VERTICAL = 1
9
10 def hildon_gtk_window_set_progress_indicator(wnd, onoff):
11     pass
12
13 class Program(gtk.Window):
14     instance = None
15
16     def __init__(self):
17         gtk.Window.__init__(self, type=gtk.WINDOW_TOPLEVEL)
18         self._vbox = gtk.VBox()
19         self._title = gtk.Label("Jamaendo")
20         self._backbtn = gtk.Button("<<<")
21         self._hbox = gtk.HBox()
22         self._hbox.pack_start(self._title, True)
23         self._hbox.pack_start(self._backbtn, False)
24         self._notebook = gtk.Notebook()
25         self._notebook.set_size_request(800, 445)
26         self._notebook.set_show_tabs(False)
27         self._vbox.pack_start(self._hbox, False)
28         self._vbox.pack_start(self._notebook, True)
29         self.add(self._vbox)
30         self.show_all()
31         Program.instance = self
32         self._backbtn.connect('clicked', self.on_back)
33
34         self._stack = []
35
36     def add_window(self, wnd):
37         pass
38
39     def push_stackable(self, wnd):
40         while self._notebook.get_n_pages() > 0:
41             p = self._notebook.get_nth_page(0)
42             self._stack.append(p)
43             self._notebook.remove_page(0)
44             p.hide()
45
46         idx = self._notebook.append_page(wnd)
47         self._notebook.set_current_page(idx)
48         wnd.show_all()
49         wnd._nb_index = idx
50
51     def popped_stackable(self, wnd=None):
52         pass
53
54     def pop_stackable(self):
55         while self._notebook.get_n_pages() > 0:
56             p = self._notebook.get_nth_page(0)
57             self._notebook.remove_page(0)
58             p.hide()
59         if len(self._stack):
60             tail = self._stack.pop()
61             self.push_stackable(tail)
62
63     def on_back(self, *args):
64         self.pop_stackable()
65
66 class StackableWindow(gtk.Frame):
67     def __init__(self):
68         gtk.Frame.__init__(self)
69         self._nb_index = 0
70         Program.instance.push_stackable(self)
71         self.connect('destroy', self.on_destroy)
72     def set_app_menu(self, menu):
73         pass
74
75     def set_title(self, title):
76         Program.instance._title.set_text(title)#_notebook.set_tab_label_text(self, title)
77
78     def on_destroy(self, *args):
79         Program.instance.popped_stackable(self)
80
81 class AppMenu(object):
82     def __init__(self):
83         pass
84
85     def append(self, widget):
86         pass
87
88     def show_all(self):
89         pass
90
91 class GtkButton(gtk.Button):
92     def __init__(self, size):
93         gtk.Button.__init__(self)
94
95
96 class Button(gtk.Button):
97     def __init__(self, size, layout):
98         gtk.Button.__init__(self)
99
100     def set_text(self, title, subtitle):
101         self.set_label(title)
102
103 class PannableArea(gtk.ScrolledWindow):
104     pass