* Added new Buttons Tab "Bone" for Armature objects. 
* Validation of buttons selection, when object selection is changed.

* added missing notifier for camera type and small layout change to the panel.
* more shading color changes for menu and checkbox.
This commit is contained in:
Thomas Dinges 2009-05-18 18:20:29 +00:00
parent 0cd511eee8
commit 4022380dc6
6 changed files with 26 additions and 6 deletions

@ -68,11 +68,11 @@ class DATA_PT_cameradisplay(DataButtonsPanel):
sub.itemR(cam, "show_mist", text="Mist") sub.itemR(cam, "show_mist", text="Mist")
sub.itemR(cam, "show_title_safe", text="Title Safe") sub.itemR(cam, "show_title_safe", text="Title Safe")
sub.itemR(cam, "show_name", text="Name") sub.itemR(cam, "show_name", text="Name")
sub = split.column()
sub.itemR(cam, "show_passepartout", text="Passepartout") sub.itemR(cam, "show_passepartout", text="Passepartout")
if (cam.show_passepartout): if (cam.show_passepartout):
sub.itemR(cam, "passepartout_alpha", text="Alpha") sub.itemR(cam, "passepartout_alpha", text="Alpha")
sub = split.column()
sub.itemR(cam, "draw_size", text="Size") sub.itemR(cam, "draw_size", text="Size")
bpy.types.register(DATA_PT_cameralens) bpy.types.register(DATA_PT_cameralens)

@ -956,7 +956,7 @@ static struct uiWidgetColors wcol_option= {
{255, 255, 255, 255}, {255, 255, 255, 255},
1, 1,
25, -20 15, -15
}; };
/* button that shows popup */ /* button that shows popup */
@ -970,7 +970,7 @@ static struct uiWidgetColors wcol_menu= {
{204, 204, 204, 255}, {204, 204, 204, 255},
1, 1,
25, -20 15, -15
}; };
/* button that starts pulldown */ /* button that starts pulldown */

@ -172,6 +172,19 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
uiBlockSetEmboss(block, UI_EMBOSS); uiBlockSetEmboss(block, UI_EMBOSS);
// if object selection changed, validate button selection
if(ob && (ob->type == OB_LAMP) && ELEM3(sbuts->mainb, (float)BCONTEXT_MATERIAL, (float)BCONTEXT_PARTICLE, (float)BCONTEXT_PHYSICS))
sbuts->mainb = (float)BCONTEXT_DATA;
if(ob && (ob->type == OB_EMPTY) && ELEM3(sbuts->mainb, (float)BCONTEXT_MATERIAL, (float)BCONTEXT_TEXTURE, (float)BCONTEXT_PARTICLE))
sbuts->mainb = (float)BCONTEXT_DATA;
if((ob && ELEM(ob->type, OB_CAMERA, OB_ARMATURE)) && ELEM4(sbuts->mainb, (float)BCONTEXT_MATERIAL, (float)BCONTEXT_TEXTURE, (float)BCONTEXT_PARTICLE, (float)BCONTEXT_PHYSICS))
sbuts->mainb = (float)BCONTEXT_DATA;
if((ob && (ob->type != OB_ARMATURE)) && (sbuts->mainb == (float)BCONTEXT_BONE))
sbuts->mainb = (float)BCONTEXT_DATA;
uiBlockBeginAlign(block); 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_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_WORLD, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
@ -187,6 +200,9 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
if(ob && ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_EMPTY)) 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"); 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");
xco+= XIC; xco+= XIC;
uiBlockEndAlign(block); uiBlockEndAlign(block);

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

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

@ -57,6 +57,7 @@ void RNA_def_camera(BlenderRNA *brna)
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, prop_type_items); RNA_def_property_enum_items(prop, prop_type_items);
RNA_def_property_ui_text(prop, "Type", "Camera types."); RNA_def_property_ui_text(prop, "Type", "Camera types.");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* Number values */ /* Number values */