diff options
author | Thomas Dinges <blender@dingto.org> | 2009-05-08 22:17:57 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2009-05-08 22:17:57 +0400 |
commit | bf2daa56c1a08f80176f5e817c3bc3c0e5749ba3 (patch) | |
tree | 53d310b03d9532cac829fee19b477c6efa5a3bd8 | |
parent | f8b929b8e2c5427a96a268c52077547d48387dba (diff) |
2.5 Buttons:
* Split the buttons_data.py into separate files, this makes it easier to maintain them.
Notes: Added an extra modifier file, because modifiers are for different object types.
* Added basic lamp buttons and Sun/Sky settings.
As the camera buttons they only work for the default light object for now.
* Some minor code cleanup
-rw-r--r-- | release/ui/buttons_data_camera.py (renamed from release/ui/buttons_data.py) | 68 | ||||
-rw-r--r-- | release/ui/buttons_data_lamp.py | 113 | ||||
-rw-r--r-- | release/ui/buttons_data_modifier.py | 61 |
3 files changed, 181 insertions, 61 deletions
diff --git a/release/ui/buttons_data.py b/release/ui/buttons_data_camera.py index 5d82221b134..0f852216a87 100644 --- a/release/ui/buttons_data.py +++ b/release/ui/buttons_data_camera.py @@ -6,63 +6,13 @@ class DataButtonsPanel(bpy.types.Panel): __region_type__ = "WINDOW" __context__ = "data" -class DATA_PT_modifiers(DataButtonsPanel): - __idname__ = "DATA_PT_modifiers" - __label__ = "Modifiers" - def poll(self, context): ob = context.active_object - return (ob and ob.type in ("MESH", "CURVE", "SURFACE", "TEXT", "LATTICE")) - - def draw(self, context): - ob = context.active_object - layout = self.layout - - if not ob: - return - - layout.row() - layout.item_menu_enumO("OBJECT_OT_modifier_add", "type") - - for md in ob.modifiers: - sub = layout.box() - - sub.row() - sub.itemR(md, "expanded", text="") - sub.itemR(md, "name", text="") - - sub.itemR(md, "render", text="") - sub.itemR(md, "realtime", text="") - sub.itemR(md, "editmode", text="") - sub.itemR(md, "on_cage", text="") - - if md.expanded: - sub.row() - sub.itemS() - - if md.type == "ARMATURE": - self.armature(sub, md) - - def armature(self, layout, md): - layout.column() - layout.itemR(md, "object") - layout.row() - layout.itemR(md, "vertex_group") - layout.itemR(md, "invert") - layout.column_flow() - layout.itemR(md, "use_vertex_groups") - layout.itemR(md, "use_bone_envelopes") - layout.itemR(md, "quaternion") - layout.itemR(md, "b_bone_rest") - layout.itemR(md, "multi_modifier") - + return (ob and ob.type == 'CAMERA') + class DATA_PT_cameralens(DataButtonsPanel): __idname__ = "DATA_PT_camera" __label__ = "Lens" - - def poll(self, context): - ob = context.active_object - return (ob and ob.type == "CAMERA") def draw(self, context): cam = context.main.cameras[0] @@ -75,13 +25,13 @@ class DATA_PT_cameralens(DataButtonsPanel): layout.itemR(cam, "type", expand=True) layout.row() - if cam.type == 'PERSP': + if (cam.type == 'PERSP'): layout.itemR(cam, "lens_unit") - if cam.lens_unit == 'MILLIMETERS': + if (cam.lens_unit == 'MILLIMETERS'): layout.itemR(cam, "lens", text="Angle") - if cam.lens_unit == 'DEGREES': + if (cam.lens_unit == 'DEGREES'): layout.itemR(cam, "angle") - if cam.type == 'ORTHO': + if (cam.type == 'ORTHO'): layout.itemR(cam, "ortho_scale") layout.column_flow() @@ -100,10 +50,6 @@ class DATA_PT_cameradisplay(DataButtonsPanel): __idname__ = "DATA_PT_cameradisplay" __label__ = "Display" - def poll(self, context): - ob = context.active_object - return (ob and ob.type == "CAMERA") - def draw(self, context): cam = context.main.cameras[0] layout = self.layout @@ -129,7 +75,7 @@ class DATA_PT_cameradisplay(DataButtonsPanel): sub.row() sub.itemR(cam, "draw_size", text="Size") -bpy.types.register(DATA_PT_modifiers) bpy.types.register(DATA_PT_cameralens) bpy.types.register(DATA_PT_cameradisplay) + diff --git a/release/ui/buttons_data_lamp.py b/release/ui/buttons_data_lamp.py new file mode 100644 index 00000000000..e5747d5097e --- /dev/null +++ b/release/ui/buttons_data_lamp.py @@ -0,0 +1,113 @@ + +import bpy + +class DataButtonsPanel(bpy.types.Panel): + __space_type__ = "BUTTONS_WINDOW" + __region_type__ = "WINDOW" + __context__ = "data" + + def poll(self, context): + ob = context.active_object + return (ob and ob.type == "LAMP") + +class DATA_PT_lamp(DataButtonsPanel): + __idname__ = "DATA_PT_lamp" + __label__ = "Lamp" + + def draw(self, context): + lamp = context.main.lamps[0] + layout = self.layout + + if not lamp: + return + + layout.row() + layout.itemR(lamp, "type", expand=True) + + layout.split(number=2) + + sub = layout.sub(0) + sub.column() + sub.itemL(text="LAMP DATABLOCKS") + sub.itemR(lamp, "energy") + sub.itemR(lamp, "distance") + sub.itemR(lamp, "color") + + sub = layout.sub(1) + + sub.column() + sub.itemL(text="Illumination:") + sub.itemR(lamp, "layer") + sub.itemR(lamp, "negative") + sub.itemR(lamp, "specular") + sub.itemR(lamp, "diffuse") + + if (lamp.type in ('LOCAL', 'SPOT')): + sub.column() + sub.itemR(lamp, "falloff_type") + sub.itemR(lamp, "sphere") + + if (lamp.falloff_type == 'LINEAR_QUADRATIC_WEIGHTED'): + sub.itemR(lamp, "linear_attenuation") + sub.itemR(lamp, "quadratic_attenuation") + + if (lamp.type == 'AREA'): + sub.column() + sub.itemR(lamp, "gamma") + sub.itemR(lamp, "shape") + if (lamp.shape == 'SQUARE'): + sub.itemR(lamp, "size") + if (lamp.shape == 'RECTANGLE'): + sub.itemR(lamp, "size", text="Size X") + sub.itemR(lamp, "size_y") + +class DATA_PT_sunsky(DataButtonsPanel): + __idname__ = "DATA_PT_sunsky" + __label__ = "Sun/Sky" + + def poll(self, context): + ob = context.active_object + lamp = context.main.lamps[0] + return (ob.type == 'LAMP' and lamp.type == 'SUN') + + def draw(self, context): + lamp = context.main.lamps[0].sky + layout = self.layout + + if not lamp: + return + + layout.row() + layout.itemR(lamp, "sky") + layout.itemR(lamp, "atmosphere") + + if (lamp.sky or lamp.atmosphere): + layout.row() + layout.itemR(lamp, "atmosphere_turbidity", text="Turbidity") + + layout.split(number=2) + + if (lamp.sky): + sub = layout.sub(0) + sub.column() + sub.itemR(lamp, "horizon_brightness", text="Hor Bright") + sub.itemR(lamp, "spread", text="Hor Spread") + sub.itemR(lamp, "sun_brightness", text="Sun Bright") + sub.itemR(lamp, "sun_size") + sub.itemR(lamp, "backscattered_light", text="Back Light") + sub.column() + sub.itemR(lamp, "sky_blend_type", text="Blend Type") + sub.itemR(lamp, "sky_blend") + sub.itemR(lamp, "sky_color_space", text="Color Space") + sub.itemR(lamp, "sky_exposure") + + if (lamp.atmosphere): + sub = layout.sub(1) + sub.column() + sub.itemR(lamp, "sun_intensity", text="Sun Intens") + sub.itemR(lamp, "atmosphere_inscattering", text="Inscattering") + sub.itemR(lamp, "atmosphere_extinction", text="Extinction") + sub.itemR(lamp, "atmosphere_distance_factor", text="Distance") + +bpy.types.register(DATA_PT_lamp) +bpy.types.register(DATA_PT_sunsky) diff --git a/release/ui/buttons_data_modifier.py b/release/ui/buttons_data_modifier.py new file mode 100644 index 00000000000..f07a6cc4882 --- /dev/null +++ b/release/ui/buttons_data_modifier.py @@ -0,0 +1,61 @@ + +import bpy + +class DataButtonsPanel(bpy.types.Panel): + __space_type__ = "BUTTONS_WINDOW" + __region_type__ = "WINDOW" + __context__ = "data" + + def poll(self, context): + ob = context.active_object + return (ob and ob.type in ('MESH', 'CURVE', 'SURFACE', 'TEXT', 'LATTICE')) + +class DATA_PT_modifiers(DataButtonsPanel): + __idname__ = "DATA_PT_modifiers" + __label__ = "Modifiers" + + def draw(self, context): + ob = context.active_object + layout = self.layout + + if not ob: + return + + layout.row() + layout.item_menu_enumO("OBJECT_OT_modifier_add", "type") + + for md in ob.modifiers: + sub = layout.box() + + sub.row() + sub.itemR(md, "expanded", text="") + sub.itemR(md, "name", text="") + + sub.itemR(md, "render", text="") + sub.itemR(md, "realtime", text="") + sub.itemR(md, "editmode", text="") + sub.itemR(md, "on_cage", text="") + + if (md.expanded): + sub.row() + sub.itemS() + + if (md.type == 'ARMATURE'): + self.armature(sub, md) + + def armature(self, layout, md): + layout.column() + layout.itemR(md, "object") + layout.row() + layout.itemR(md, "vertex_group") + layout.itemR(md, "invert") + layout.column_flow() + layout.itemR(md, "use_vertex_groups") + layout.itemR(md, "use_bone_envelopes") + layout.itemR(md, "quaternion") + layout.itemR(md, "b_bone_rest") + layout.itemR(md, "multi_modifier") + +bpy.types.register(DATA_PT_modifiers) + + |