70c1315927c76a4e5d459cc9ad184dbcdbe9a06f
[blender.git] / release / scripts / startup / bl_ui / properties_data_empty.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 from bpy.types import Panel
22
23
24 class DataButtonsPanel:
25     bl_space_type = 'PROPERTIES'
26     bl_region_type = 'WINDOW'
27     bl_context = "data"
28
29     @classmethod
30     def poll(cls, context):
31         return (context.object and context.object.type == 'EMPTY')
32
33
34 class DATA_PT_empty(DataButtonsPanel, Panel):
35     bl_label = "Empty"
36
37     def draw(self, context):
38         layout = self.layout
39         layout.use_property_split = True
40
41         ob = context.object
42
43         layout.prop(ob, "empty_display_type", text="Display As")
44         layout.prop(ob, "empty_display_size", text="Size")
45
46         if ob.empty_display_type == 'IMAGE':
47             layout.template_ID(ob, "data", open="image.open", unlink="object.unlink_data")
48             layout.template_image(ob, "data", ob.image_user, compact=True)
49
50             layout.row(align=True).row(align=True)
51
52             layout.prop(ob, "color", text="Transparency", index=3, slider=True)
53             col = layout.column(align=True)
54             col.prop(ob, "empty_image_offset", text="Offset X", index=0)
55             col.prop(ob, "empty_image_offset", text="Y", index=1)
56
57             col = layout.column()
58             col.row().prop(ob, "empty_image_depth", text="Depth", expand=True)
59             col.row().prop(ob, "empty_image_side", text="Side", expand=True)
60             col.prop(ob, "show_empty_image_orthographic", text="Display Orthographic")
61             col.prop(ob, "show_empty_image_perspective", text="Display Perspective")
62
63
64 classes = (
65     DATA_PT_empty,
66 )
67
68 if __name__ == "__main__":  # only for live edit.
69     from bpy.utils import register_class
70     for cls in classes:
71         register_class(cls)