-
Notifications
You must be signed in to change notification settings - Fork 5
/
visual_manager.py
144 lines (105 loc) · 4.34 KB
/
visual_manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import bpy
from bpy.types import Panel
from bpy.types import Operator
from bpy.types import PropertyGroup
from bpy.types import UIList
from .functions import *
import os
from bpy_extras.io_utils import ImportHelper
from bpy.props import (BoolProperty,
StringProperty,
EnumProperty,
CollectionProperty
)
import json
import os
import shutil
import logging
log = logging.getLogger(__name__)
class Display_mode_menu(bpy.types.Menu):
bl_label = "Custom Menu"
bl_idname = "OBJECT_MT_Display_mode_menu"
def draw(self, context):
layout = self.layout
layout.operator("emset.emmaterial", text="EM")
layout.operator("emset.epochmaterial", text="Periods")
class VISUALToolsPanel:
bl_label = "Visual manager"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
bl_options = {'DEFAULT_CLOSED'}
def draw(self, context):
layout = self.layout
scene = context.scene
current_proxy_display_mode = context.scene.proxy_display_mode
layout.alignment = 'LEFT'
#row_epoch = layout.row()
#row_epoch.label(text="List of visualisation tools:")
row = layout.row(align=True)
split = row.split()
col = split.column()
col.label(text="Display mode")
col = split.column(align=True)
col.menu(Display_mode_menu.bl_idname, text=current_proxy_display_mode, icon='COLOR')
row = layout.row()
#split = row.split()
#col = split.column(align=True)
row.prop(scene, "proxy_display_alpha")
#col = split.column(align=True)
# function sadly disabled because of the lack of support of 'ADD' Blend Mode in Blender 2.81
#row.prop(scene, "proxy_shader_mode", text='', icon="NODE_MATERIAL")
#row = layout.row(align=True)
#col = split.column(align=True)
#col.label(text="On selected:")
op = row.operator(
"epoch_manager.change_selected_objects", text="", emboss=False, icon='SHADING_BBOX')
op.sg_objects_changer = 'BOUND_SHADE'
op = row.operator(
"epoch_manager.change_selected_objects", text="", emboss=False, icon='SHADING_WIRE')
op.sg_objects_changer = 'WIRE_SHADE'
op = row.operator(
"epoch_manager.change_selected_objects", text="", emboss=False, icon='SHADING_SOLID')
op.sg_objects_changer = 'MATERIAL_SHADE'
op = row.operator(
"epoch_manager.change_selected_objects", text="", emboss=False, icon='SPHERE')
op.sg_objects_changer = 'SHOW_WIRE'
#op = row.operator(
# "emset.emmaterial", text="", emboss=False, icon='SHADING_TEXTURE')
row = layout.row()
row.operator("notinthematrix.material", icon="MOD_MASK", text='')
row.label(text="Labels:")
op = row.operator("create.collection", text="", emboss=False, icon='OUTLINER_COLLECTION')
"""
op = row.operator("label.onoff", text="", emboss=False, icon='RADIOBUT_OFF')
op.onoff = False
"""
op = row.operator("label.creation", text="",
emboss=False, icon='SYNTAX_OFF')
#op.onoff = False
op = row.operator("center.mass", text="", emboss=False, icon='CURSOR')
op.center_to = "cursor"
op = row.operator("center.mass", text="", emboss=False, icon='SNAP_FACE_CENTER')
op.center_to = "mass"
""" op = row.operator("center.mass", text="", emboss=False, icon='SNAP_FACE_CENTER')
op.center_to = "mass" """
class VIEW3D_PT_VisualPanel(Panel, VISUALToolsPanel):
bl_category = "EM"
bl_idname = "VIEW3D_PT_VisualPanel"
#bl_context = "objectmode"
classes = [
VIEW3D_PT_VisualPanel,
Display_mode_menu]
def register():
for cls in classes:
bpy.utils.register_class(cls)
""" bpy.types.Scene.epoch_list_un = CollectionProperty(type = EPOCHListItemUN)
bpy.types.Scene.epoch_list_un_index = IntProperty(name = "Index for my_list", default = 0)
bpy.types.Scene.un_inepoch_list_index = IntProperty(name="Index for my_list", default=0)
"""
def unregister():
for cls in classes:
bpy.utils.unregister_class(cls)
""" del bpy.types.Scene.epoch_list_un
del bpy.types.Scene.epoch_list_un_index
del bpy.types.Scene.un_inepoch_list_index
"""