Welcome to mirror list, hosted at ThFree Co, Russian Federation.

buttons_data_mesh.py « ui « release - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6f64de312edca6bcd6b1eb703c21989321ed9a31 (plain)
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

import bpy

class DataButtonsPanel(bpy.types.Panel):
	__space_type__ = "BUTTONS_WINDOW"
	__region_type__ = "WINDOW"
	__context__ = "data"
	
	def poll(self, context):
		return (context.mesh != None)

class DATA_PT_mesh(DataButtonsPanel):
	__idname__ = "DATA_PT_mesh"
	__label__ = "Mesh"
	
	def poll(self, context):
		return (context.object and context.object.type == 'MESH')

	def draw(self, context):
		layout = self.layout
		
		ob = context.object
		mesh = context.mesh
		space = context.space_data

		split = layout.split(percentage=0.65)

		if ob:
			split.template_ID(ob, "data")
			split.itemS()
		elif mesh:
			split.template_ID(space, "pin_id")
			split.itemS()

		if mesh:
			layout.itemS()

			split = layout.split()
		
			col = split.column()
			col.itemR(mesh, "autosmooth")
			colsub = col.column()
			colsub.active = mesh.autosmooth
			colsub.itemR(mesh, "autosmooth_angle", text="Angle")
			sub = split.column()
			sub.itemR(mesh, "vertex_normal_flip")
			sub.itemR(mesh, "double_sided")
			
			layout.itemR(mesh, "texco_mesh")


class DATA_PT_materials(DataButtonsPanel):
	__idname__ = "DATA_PT_materials"
	__label__ = "Materials"
	
	def poll(self, context):
		return (context.object and context.object.type in ('MESH', 'CURVE', 'FONT', 'SURFACE'))

	def draw(self, context):
		layout = self.layout
		ob = context.object

		row = layout.row()

		row.template_list(ob, "materials", "active_material_index")

		col = row.column(align=True)
		col.itemO("OBJECT_OT_material_slot_add", icon="ICON_ZOOMIN", text="")
		col.itemO("OBJECT_OT_material_slot_remove", icon="ICON_ZOOMOUT", text="")

		row = layout.row(align=True)

		row.itemO("OBJECT_OT_material_slot_assign", text="Assign");
		row.itemO("OBJECT_OT_material_slot_select", text="Select");
		row.itemO("OBJECT_OT_material_slot_deselect", text="Deselect");

bpy.types.register(DATA_PT_mesh)
bpy.types.register(DATA_PT_materials)