diff options
Diffstat (limited to 'release/scripts/ui/buttons_data_metaball.py')
-rw-r--r-- | release/scripts/ui/buttons_data_metaball.py | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/release/scripts/ui/buttons_data_metaball.py b/release/scripts/ui/buttons_data_metaball.py new file mode 100644 index 00000000000..757546fdf8a --- /dev/null +++ b/release/scripts/ui/buttons_data_metaball.py @@ -0,0 +1,106 @@ +import bpy + +class DataButtonsPanel(bpy.types.Panel): + __space_type__ = 'PROPERTIES' + __region_type__ = 'WINDOW' + __context__ = "data" + + def poll(self, context): + return context.meta_ball + +class DATA_PT_context_metaball(DataButtonsPanel): + __show_header__ = False + + def draw(self, context): + layout = self.layout + + ob = context.object + mball = context.meta_ball + space = context.space_data + + split = layout.split(percentage=0.65) + + if ob: + split.template_ID(ob, "data") + split.itemS() + elif mball: + split.template_ID(space, "pin_id") + split.itemS() + +class DATA_PT_metaball(DataButtonsPanel): + __label__ = "Metaball" + + def draw(self, context): + layout = self.layout + + mball = context.meta_ball + + split = layout.split() + + col = split.column() + col.itemL(text="Resolution:") + sub = col.column(align=True) + sub.itemR(mball, "wire_size", text="View") + sub.itemR(mball, "render_size", text="Render") + + col = split.column() + col.itemL(text="Settings:") + col.itemR(mball, "threshold", text="Threshold") + + layout.itemL(text="Update:") + layout.itemR(mball, "flag", expand=True) + +class DATA_PT_metaball_element(DataButtonsPanel): + __label__ = "Active Element" + + def poll(self, context): + return (context.meta_ball and context.meta_ball.active_element) + + def draw(self, context): + layout = self.layout + + metaelem = context.meta_ball.active_element + + split = layout.split(percentage=0.3) + split.itemL(text="Type:") + split.itemR(metaelem, "type", text="") + + split = layout.split() + + col = split.column() + col.itemL(text="Settings:") + col.itemR(metaelem, "stiffness", text="Stiffness") + col.itemR(metaelem, "negative", text="Negative") + col.itemR(metaelem, "hide", text="Hide") + + if metaelem.type == 'BALL': + col = split.column(align=True) + + elif metaelem.type == 'CUBE': + col = split.column(align=True) + col.itemL(text="Size:") + col.itemR(metaelem, "size_x", text="X") + col.itemR(metaelem, "size_y", text="Y") + col.itemR(metaelem, "size_z", text="Z") + + elif metaelem.type == 'TUBE': + col = split.column(align=True) + col.itemL(text="Size:") + col.itemR(metaelem, "size_x", text="X") + + elif metaelem.type == 'PLANE': + col = split.column(align=True) + col.itemL(text="Size:") + col.itemR(metaelem, "size_x", text="X") + col.itemR(metaelem, "size_y", text="Y") + + elif metaelem.type == 'ELLIPSOID': + col = split.column(align=True) + col.itemL(text="Size:") + col.itemR(metaelem, "size_x", text="X") + col.itemR(metaelem, "size_y", text="Y") + col.itemR(metaelem, "size_z", text="Z") + +bpy.types.register(DATA_PT_context_metaball) +bpy.types.register(DATA_PT_metaball) +bpy.types.register(DATA_PT_metaball_element) |