cleanup for addon python internals, fix filtering bug.
[blender.git] / release / scripts / ui / space_buttons.py
1 # ##### BEGIN GPL LICENSE BLOCK #####
2 #
3 #  This program is free software; you can redistribute it and/or
4 #  modify it under the terms of the GNU General Public License
5 #  as published by the Free Software Foundation; either version 2
6 #  of the License, or (at your option) any later version.
7 #
8 #  This program is distributed in the hope that it will be useful,
9 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #  GNU General Public License for more details.
12 #
13 #  You should have received a copy of the GNU General Public License
14 #  along with this program; if not, write to the Free Software Foundation,
15 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 #
17 # ##### END GPL LICENSE BLOCK #####
18
19 # <pep8 compliant>
20 import bpy
21
22
23 class Buttons_HT_header(bpy.types.Header):
24     bl_space_type = 'PROPERTIES'
25
26     def draw(self, context):
27         layout = self.layout
28
29         so = context.space_data
30         scene = context.scene
31
32         row = layout.row(align=True)
33         row.template_header()
34
35         if context.area.show_menus:
36             sub = row.row(align=True)
37             sub.menu("Buttons_MT_view", text="View")
38
39         row = layout.row()
40         row.prop(so, "buttons_context", expand=True, text="")
41         row.prop(scene, "current_frame")
42
43
44 class Buttons_MT_view(bpy.types.Menu):
45     bl_label = "View"
46
47     def draw(self, context):
48         layout = self.layout
49         so = context.space_data
50
51         col = layout.column()
52         col.prop(so, "panel_alignment", expand=True)
53
54
55 classes = [
56     Buttons_HT_header,
57     Buttons_MT_view]
58
59
60 def register():
61     register = bpy.types.register
62     for cls in classes:
63         register(cls)
64
65
66 def unregister():
67     unregister = bpy.types.unregister
68     for cls in classes:
69         unregister(cls)
70
71 if __name__ == "__main__":
72     register()