Fix T104270: Error in materials_utils "unregister" function
[blender-addons.git] / space_view3d_stored_views / properties.py
bloba9fd6b2bf8323292003e211336c2c79f25734d9b
1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # authors: nfloyd, Francesco Siddi
4 import bpy
5 from bpy.types import PropertyGroup
6 from bpy.props import (
7 BoolProperty,
8 BoolVectorProperty,
9 CollectionProperty,
10 FloatProperty,
11 FloatVectorProperty,
12 EnumProperty,
13 IntProperty,
14 IntVectorProperty,
15 PointerProperty,
16 StringProperty,
20 class POVData(PropertyGroup):
21 distance : FloatProperty()
22 location : FloatVectorProperty(
23 subtype='TRANSLATION'
25 rotation : FloatVectorProperty(
26 subtype='QUATERNION',
27 size=4
29 name : StringProperty()
30 perspective : EnumProperty(
31 items=[('PERSP', '', ''),
32 ('ORTHO', '', ''),
33 ('CAMERA', '', '')]
35 lens : FloatProperty()
36 clip_start : FloatProperty()
37 clip_end : FloatProperty()
38 lock_cursor : BoolProperty()
39 cursor_location : FloatVectorProperty()
40 perspective_matrix_md5 = StringProperty()
41 camera_name : StringProperty()
42 camera_type : StringProperty()
43 lock_object_name : StringProperty()
46 class LayersData(PropertyGroup):
47 view_layers : BoolVectorProperty(size=20)
48 scene_layers : BoolVectorProperty(size=20)
49 lock_camera_and_layers : BoolProperty()
50 name : StringProperty()
53 class DisplayData(PropertyGroup):
54 name = StringProperty()
55 viewport_shade = EnumProperty(
56 items=[('BOUNDBOX', 'BOUNDBOX', 'BOUNDBOX'),
57 ('WIREFRAME', 'WIREFRAME', 'WIREFRAME'),
58 ('SOLID', 'SOLID', 'SOLID'),
59 ('TEXTURED', 'TEXTURED', 'TEXTURED'),
60 ('MATERIAL', 'MATERIAL', 'MATERIAL'),
61 ('RENDERED', 'RENDERED', 'RENDERED')]
63 show_only_render : BoolProperty()
64 show_outline_selected : BoolProperty()
65 show_all_objects_origin : BoolProperty()
66 show_relationship_lines : BoolProperty()
67 show_floor : BoolProperty()
68 show_axis_x : BoolProperty()
69 show_axis_y : BoolProperty()
70 show_axis_z : BoolProperty()
71 grid_lines : IntProperty()
72 grid_scale : FloatProperty()
73 grid_subdivisions : IntProperty()
74 material_mode : StringProperty()
75 show_textured_solid : BoolProperty()
76 quad_view : BoolProperty()
77 lock_rotation : BoolProperty()
78 show_sync_view : BoolProperty()
79 use_box_clip : BoolProperty()
82 class ViewData(PropertyGroup):
83 pov : PointerProperty(
84 type=POVData
86 layers : PointerProperty(
87 type=LayersData
89 display : PointerProperty(
90 type=DisplayData
92 name : StringProperty()
95 class StoredViewsData(PropertyGroup):
96 pov_list : CollectionProperty(
97 type=POVData
99 layers_list : CollectionProperty(
100 type=LayersData
102 display_list : CollectionProperty(
103 type=DisplayData
105 view_list : CollectionProperty(
106 type=ViewData
108 mode : EnumProperty(
109 name="Mode",
110 items=[('VIEW', "View", "3D View settings"),
111 ('POV', "POV", "POV settings"),
112 ('LAYERS', "Layers", "Layers settings"),
113 ('DISPLAY', "Display", "Display settings")],
114 default='VIEW'
116 current_indices : IntVectorProperty(
117 size=4,
118 default=[-1, -1, -1, -1]
120 view_modified : BoolProperty(
121 default=False
125 classes = (
126 POVData,
127 LayersData,
128 DisplayData,
129 ViewData,
130 StoredViewsData,
133 def register():
134 for cls in classes:
135 bpy.utils.register_class(cls)
137 def unregister():
138 for cls in classes:
139 bpy.utils.unregister_class(cls)