* Added new modifier tab.
* Fixed problems when no object was selected after delete.

* Added initial Armature, Bone, Curve and Font panels, by William Reynish (Billrey). Thanks!
* Small RNA changes

* Commit revision 20240 and 20268 from trunk. ("Mouse wheel zoom lost after rendering.")
This commit is contained in:
2009-05-19 15:38:36 +00:00
parent 1b6bfa6b8a
commit 2a055ca728
12 changed files with 517 additions and 26 deletions

View File

@@ -39,6 +39,7 @@
#endif
#include "GHOST_SystemWin32.h"
//#include <stdio.h> //for printf()
// win64 doesn't define GWL_USERDATA
#ifdef WIN32
@@ -536,7 +537,7 @@ GHOST_Event* GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_
LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
GHOST_Event* event = 0;
LRESULT lResult;
LRESULT lResult = 0;
GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem());
GHOST_ASSERT(system, "GHOST_SystemWin32::s_wndProc(): system not initialized")
@@ -746,6 +747,9 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
* the message is sent asynchronously, so the window is activated immediately.
*/
event = processWindowEvent(LOWORD(wParam) ? GHOST_kEventWindowActivate : GHOST_kEventWindowDeactivate, window);
/* WARNING: Let DefWindowProc handle WM_ACTIVATE, otherwise WM_MOUSEWHEEL
will not be dispatched to OUR active window if we minimize one of OUR windows. */
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
break;
case WM_PAINT:
/* An application sends the WM_PAINT message when the system or another application
@@ -905,7 +909,6 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
if (event) {
system->pushEvent(event);
lResult = 0;
}
else {
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);

View File

@@ -0,0 +1,122 @@
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 == 'ARMATURE')
class DATA_PT_skeleton(DataButtonsPanel):
__idname__ = "DATA_PT_skeleton"
__label__ = "Skeleton"
def draw(self, context):
arm = context.main.armatures[0]
layout = self.layout
row = layout.row()
row.itemR(arm, "rest_position")
split = layout.split()
sub = split.column()
sub.itemL(text="Deform:")
sub.itemR(arm, "deform_vertexgroups", text="Vertes Groups")
sub.itemR(arm, "deform_envelope", text="Envelopes")
sub.itemR(arm, "deform_quaternion", text="Quaternion")
sub.itemR(arm, "deform_bbone_rest", text="B-Bones Rest")
#sub.itemR(arm, "x_axis_mirror")
#sub.itemR(arm, "auto_ik")
sub = split.column()
sub.itemL(text="Layers:")
sub.itemL(text="LAYERS")
#sub.itemR(arm, "layer")
#sub.itemR(arm, "layer_protection")
class DATA_PT_display(DataButtonsPanel):
__idname__ = "DATA_PT_display"
__label__ = "Display"
def draw(self, context):
arm = context.main.armatures[0]
layout = self.layout
split = layout.split()
sub = split.column()
sub.itemR(arm, "drawtype", text="Style")
sub.itemR(arm, "delay_deform", text="Delay Refresh")
sub = split.column()
sub.itemR(arm, "draw_names", text="Names")
sub.itemR(arm, "draw_axes", text="Axes")
sub.itemR(arm, "draw_custom_bone_shapes", text="Shapes")
sub.itemR(arm, "draw_group_colors", text="Colors")
class DATA_PT_paths(DataButtonsPanel):
__idname__ = "DATA_PT_paths"
__label__ = "Paths"
def draw(self, context):
arm = context.main.armatures[0]
layout = self.layout
split = layout.split()
sub = split.column()
sub.itemR(arm, "paths_show_around_current_frame", text="Around Frame")
if (arm.paths_show_around_current_frame):
sub.itemR(arm, "path_before_current", text="Before")
sub.itemR(arm, "path_after_current", text="After")
else:
sub.itemR(arm, "path_start_frame", text="Start")
sub.itemR(arm, "path_end_frame", text="End")
sub.itemR(arm, "path_size", text="Step")
sub.itemR(arm, "paths_calculate_head_positions", text="Head")
sub = split.column()
sub.itemL(text="Show:")
sub.itemR(arm, "paths_show_frame_numbers", text="Frame Numbers")
sub.itemR(arm, "paths_highlight_keyframes", text="Keyframes")
sub.itemR(arm, "paths_show_keyframe_numbers", text="Keyframe Numbers")
class DATA_PT_ghost(DataButtonsPanel):
__idname__ = "DATA_PT_ghost"
__label__ = "Ghost"
def draw(self, context):
arm = context.main.armatures[0]
layout = self.layout
split = layout.split()
sub = split.column()
sub.itemR(arm, "ghost_type", text="Scope")
if arm.ghost_type == 'RANGE':
sub.itemR(arm, "ghost_start_frame", text="Start")
sub.itemR(arm, "ghost_end_frame", text="End")
sub.itemR(arm, "ghost_size", text="Step")
elif arm.ghost_type == 'CURRENT_FRAME':
sub.itemR(arm, "ghost_step", text="Range")
sub.itemR(arm, "ghost_size", text="Step")
sub = split.column()
sub.itemR(arm, "ghost_only_selected", text="Selected Only")
bpy.types.register(DATA_PT_skeleton)
bpy.types.register(DATA_PT_display)
bpy.types.register(DATA_PT_paths)
bpy.types.register(DATA_PT_ghost)

View File

@@ -0,0 +1,75 @@
import bpy
class DataButtonsPanel(bpy.types.Panel):
__space_type__ = "BUTTONS_WINDOW"
__region_type__ = "WINDOW"
__context__ = "bone"
def poll(self, context):
ob = context.active_object
return (ob and ob.type == 'ARMATURE')
class DATA_PT_bone(DataButtonsPanel):
__idname__ = "DATA_PT_bone"
__label__ = "Bone"
def draw(self, context):
bone = context.main.armatures[0].bones[0]
layout = self.layout
split = layout.split()
sub = split.column()
sub.itemR(bone, "name")
sub.itemR(bone, "parent")
sub.itemR(bone, "connected")
sub.itemR(bone, "deform")
sub.itemL(text="Inherit:")
sub.itemR(bone, "hinge")
sub.itemR(bone, "inherit_scale")
sub.itemL(text="Envelope:")
sub.itemR(bone, "envelope_distance", text="Distance")
sub.itemR(bone, "envelope_weight", text="Weight")
sub.itemR(bone, "multiply_vertexgroup_with_envelope", text="Multiply")
sub = split.column()
#sub.itemR(bone, "layer")
sub.itemL(text="Display:")
sub.itemR(bone, "draw_wire", text="Wireframe")
sub.itemR(bone, "editmode_hidden", text="Hide (EditMode)")
sub.itemR(bone, "pose_channel_hidden", text="Hide (PoseMode)")
sub.itemL(text="Curved Bones:")
sub.itemR(bone, "bbone_segments", text="Segments")
sub.itemR(bone, "bbone_in", text="Ease In")
sub.itemR(bone, "bbone_out", text="Ease Out")
sub.itemR(bone, "cyclic_offset")
class DATA_PT_constraints(DataButtonsPanel):
__idname__ = "DATA_PT_constraints"
__label__ = "Constraints"
def draw(self, context):
bone = context.main.armatures[0].bones[0]
layout = self.layout
split = layout.split()
sub = split.column()
bpy.types.register(DATA_PT_bone)
bpy.types.register(DATA_PT_constraints)

View File

@@ -0,0 +1,147 @@
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 == 'CURVE')
class DATA_PT_shape_curve(DataButtonsPanel):
__idname__ = "DATA_PT_shape_curve"
__label__ = "Shape"
def draw(self, context):
curve = context.main.curves[0]
layout = self.layout
if not curve:
return
row = layout.row()
row.itemR(curve, "curve_2d")
split = layout.split()
sub = split.column()
sub.itemL(text="Caps:")
sub.itemR(curve, "front")
sub.itemR(curve, "back")
sub.itemL(text="Textures:")
sub.itemR(curve, "uv_orco")
sub.itemR(curve, "autotexspace")
sub = split.column()
sub.itemL(text="Resolution:")
sub.itemR(curve, "resolution_u", text="Preview U")
sub.itemR(curve, "resolution_v", text="Preview V")
sub.itemR(curve, "render_resolution_u", text="Render U")
sub.itemR(curve, "render_resolution_v", text="Render V")
sub.itemL(text="Display:")
sub.itemL(text="HANDLES")
sub.itemL(text="NORMALS")
sub.itemR(curve, "vertex_normal_flip")
class DATA_PT_geometry(DataButtonsPanel):
__idname__ = "DATA_PT_geometry"
__label__ = "Geometry"
def draw(self, context):
curve = context.main.curves[0]
layout = self.layout
if not curve:
return
split = layout.split()
sub = split.column()
sub.itemL(text="Modification:")
sub.itemR(curve, "width")
sub.itemR(curve, "extrude")
sub.itemR(curve, "taper_object")
sub = split.column()
sub.itemL(text="Bevel:")
sub.itemR(curve, "bevel_depth", text="Depth")
sub.itemR(curve, "bevel_resolution", text="Resolution")
sub.itemR(curve, "bevel_object")
class DATA_PT_pathanim(DataButtonsPanel):
__idname__ = "DATA_PT_pathanim"
__label__ = "Path Animation"
def draw(self, context):
curve = context.main.curves[0]
layout = self.layout
if not curve:
return
split = layout.split()
sub = split.column(1)
sub.itemR(curve, "path", text="Enable")
split = layout.split()
sub = split.column()
sub.itemR(curve, "path_length", text="Frames")
sub.itemR(curve, "follow")
sub = split.column()
sub.itemR(curve, "stretch")
sub.itemR(curve, "offset_path_distance", text="Offset Children")
class DATA_PT_current_curve(DataButtonsPanel):
__idname__ = "DATA_PT_current_curve"
__label__ = "Current Curve"
def draw(self, context):
currentcurve = context.main.curves[0].curves[0]
layout = self.layout
if not currentcurve:
return
split = layout.split()
sub = split.column()
sub.itemL(text="Cyclic:")
sub.itemR(currentcurve, "cyclic_u", text="U")
sub.itemR(currentcurve, "cyclic_v", text="V")
sub.itemL(text="Order:")
sub.itemR(currentcurve, "order_u", text="U")
sub.itemR(currentcurve, "order_v", text="V")
sub.itemL(text="Point Count:")
sub.itemR(currentcurve, "point_count_u", text="U")
sub.itemR(currentcurve, "point_count_v", text="V")
sub.itemL(text="Endpoints:")
sub.itemR(currentcurve, "endpoint_u", text="U")
sub.itemR(currentcurve, "endpoint_v", text="V")
sub = split.column()
sub.itemL(text="Bezier:")
sub.itemR(currentcurve, "bezier_u", text="U")
sub.itemR(currentcurve, "bezier_v", text="V")
sub.itemL(text="Resolution:")
sub.itemR(currentcurve, "resolution_u", text="U")
sub.itemR(currentcurve, "resolution_v", text="V")
sub.itemL(text="Interpolation:")
sub.itemR(currentcurve, "tilt_interpolation", text="Tilt")
sub.itemR(currentcurve, "radius_interpolation", text="Tilt")
sub.itemR(currentcurve, "smooth")
bpy.types.register(DATA_PT_shape_curve)
bpy.types.register(DATA_PT_geometry)
bpy.types.register(DATA_PT_pathanim)
bpy.types.register(DATA_PT_current_curve)

View File

@@ -4,7 +4,7 @@ import bpy
class DataButtonsPanel(bpy.types.Panel):
__space_type__ = "BUTTONS_WINDOW"
__region_type__ = "WINDOW"
__context__ = "data"
__context__ = "modifier"
def poll(self, context):
ob = context.active_object

View File

@@ -0,0 +1,135 @@
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 == 'TEXT')
class DATA_PT_shape_text(DataButtonsPanel):
__idname__ = "DATA_PT_shape_text"
__label__ = "Shape"
def draw(self, context):
curve = context.main.curves[0]
layout = self.layout
if not curve:
return
row = layout.row()
row.itemR(curve, "curve_2d")
split = layout.split()
sub = split.column()
sub.itemL(text="Caps:")
sub.itemR(curve, "front")
sub.itemR(curve, "back")
sub.itemL(text="Textures:")
sub.itemR(curve, "uv_orco")
sub.itemR(curve, "autotexspace")
sub = split.column()
sub.itemL(text="Resolution:")
sub.itemR(curve, "resolution_u", text="Preview U")
sub.itemR(curve, "resolution_v", text="Preview V")
sub.itemR(curve, "render_resolution_u", text="Render U")
sub.itemR(curve, "render_resolution_v", text="Render V")
sub.itemL(text="Display:")
sub.itemR(curve, "fast")
class DATA_PT_font(DataButtonsPanel):
__idname__ = "DATA_PT_font"
__label__ = "Font"
def draw(self, context):
text = context.main.curves[0]
layout = self.layout
if not text:
return
layout.row()
layout.itemR(text, "font")
split = layout.split()
sub = split.column()
# sub.itemR(text, "style")
sub.itemR(text, "bold")
sub.itemR(text, "italic")
sub.itemR(text, "underline")
sub.itemR(text, "text_size")
sub.itemR(text, "shear")
sub = split.column()
sub.itemR(text, "text_on_curve")
sub.itemR(text, "family")
sub.itemL(text="Underline:")
sub.itemR(text, "ul_position", text="Position")
sub.itemR(text, "ul_height", text="Height")
# sub.itemR(text, "edit_format")
class DATA_PT_paragraph(DataButtonsPanel):
__idname__ = "DATA_PT_paragraph"
__label__ = "Paragraph"
def draw(self, context):
text = context.main.curves[0]
layout = self.layout
if not text:
return
row = layout.row()
row.itemL(text="Align:")
row = layout.row()
row.itemR(text, "spacemode", expand=True)
split = layout.split()
sub = split.column()
sub.itemL(text="Spacing:")
sub.itemR(text, "spacing", text="Character")
sub.itemR(text, "word_spacing", text="Word")
sub.itemR(text, "line_dist", text="Line")
sub = split.column()
sub.itemL(text="Offset:")
sub.itemR(text, "x_offset", text="X")
sub.itemR(text, "y_offset", text="Y")
sub.itemR(text, "wrap")
class DATA_PT_textboxes(DataButtonsPanel):
__idname__ = "DATA_PT_textboxes"
__label__ = "Text Boxes"
def draw(self, context):
text = context.main.curves[0]
layout = self.layout
if not text:
return
bpy.types.register(DATA_PT_shape_text)
bpy.types.register(DATA_PT_font)
bpy.types.register(DATA_PT_paragraph)
bpy.types.register(DATA_PT_textboxes)

View File

@@ -153,7 +153,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
xco+=XIC+xmax;
}
// DATA Icons
if(ob) {
switch(ob->type) {
case OB_EMPTY: dataicon= ICON_EMPTY_DATA; break;
@@ -185,24 +185,30 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
if((ob && (ob->type != OB_ARMATURE)) && (sbuts->mainb == (float)BCONTEXT_BONE))
sbuts->mainb = (float)BCONTEXT_DATA;
if(!ob && !ELEM(sbuts->mainb, (float)BCONTEXT_SCENE, (float)BCONTEXT_WORLD))
sbuts->mainb = (float)BCONTEXT_WORLD;
uiBlockBeginAlign(block);
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene");
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, dataicon, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
if(ob && ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_MATERIAL, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
if(ob && ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_LAMP))
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
if(ob && ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
if(ob && ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_EMPTY))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
if(ob && (ob->type == OB_ARMATURE))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
if(ob) {
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
if(ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_LATTICE))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifier");
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, dataicon, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
if((ob->type == OB_ARMATURE))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
if(ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_MATERIAL, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
if(ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_LAMP))
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
if(ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
if(ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_EMPTY))
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
}
xco+= XIC;
uiBlockEndAlign(block);

View File

@@ -44,6 +44,7 @@ struct bContext;
#define BCONTEXT_PHYSICS 7
#define BCONTEXT_GAME 8
#define BCONTEXT_BONE 9
#define BCONTEXT_MODIFIER 10
/* buts->scaflag */
#define BUTS_SENS_SEL 1

View File

@@ -187,6 +187,8 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar)
ED_region_panels(C, ar, vertical, "physics");
else if(sbuts->mainb == BCONTEXT_BONE)
ED_region_panels(C, ar, vertical, "bone");
else if(sbuts->mainb == BCONTEXT_MODIFIER)
ED_region_panels(C, ar, vertical, "modifier");
sbuts->re_align= 0;
sbuts->mainbo= sbuts->mainb;

View File

@@ -4760,7 +4760,7 @@ static char *view3d_modeselect_pup(Scene *scene)
if(ob)
str += sprintf(str, formatstr, "Object Mode", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
else
str += sprintf(str, formatstr, " ", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
str += sprintf(str, formatstr, "Object Mode", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
if(ob==NULL) return string;

View File

@@ -165,8 +165,8 @@ static void rna_def_bone(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Active", "Bone was the last bone clicked on (most operations are applied to only this bone)");
prop= RNA_def_property(srna, "hinge", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HINGE);
RNA_def_property_ui_text(prop, "Hinge", "Bone doesn't inherit rotation or scale from parent bone.");
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_HINGE);
RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone doesn't inherit rotation or scale from parent bone.");
prop= RNA_def_property(srna, "editmode_hidden", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HIDDEN_A);
@@ -182,7 +182,7 @@ static void rna_def_bone(BlenderRNA *brna)
prop= RNA_def_property(srna, "inherit_scale", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_NO_SCALE);
RNA_def_property_ui_text(prop, "Inherit scale", "Bone inherits scaling from parent bone.");
RNA_def_property_ui_text(prop, "Inherit Scale", "Bone inherits scaling from parent bone.");
prop= RNA_def_property(srna, "draw_wire", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_DRAWWIRE);

View File

@@ -292,9 +292,9 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
PropertyRNA *prop;
static EnumPropertyItem prop_align_items[] = {
{CU_LEFT, "LEFT", "Left Align", "Align text to the left"},
{CU_MIDDLE, "CENTRAL", "Central Align", "Center text"},
{CU_RIGHT, "RIGHT", "Right Align", "Align text to the right"},
{CU_LEFT, "LEFT", "Left", "Align text to the left"},
{CU_MIDDLE, "CENTRAL", "Center", "Center text"},
{CU_RIGHT, "RIGHT", "Right", "Align text to the right"},
{CU_JUSTIFY, "JUSTIFY", "Justify", "Align to the left and the right"},
{CU_FLUSH, "FLUSH", "Flush", "Align to the left and the right, with equal character spacing"},
{0, NULL, NULL, NULL}};