Bone constraints are now in a separate tab. It's more consistent
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 19 Sep 2009 19:40:38 +0000 (19:40 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 19 Sep 2009 19:40:38 +0000 (19:40 +0000)
since object constraints also have their own tab, and I didn't
want to break context going from left to right.

release/ui/buttons_data_bone.py
release/ui/buttons_object_constraint.py
source/blender/editors/space_buttons/buttons_context.c
source/blender/editors/space_buttons/buttons_header.c
source/blender/editors/space_buttons/space_buttons.c
source/blender/makesdna/DNA_space_types.h
source/blender/makesrna/intern/rna_space.c

index a0121821e556be12b14a7dea7d4da7ecc7043e56..b4048a94f2318bd43296189a9dbc46de5b46c501 100644 (file)
@@ -74,6 +74,7 @@ class BONE_PT_transform(BoneButtonsPanel):
                                
 class BONE_PT_transform_locks(BoneButtonsPanel):
        __label__ = "Transform Locks"
+       __default_closed__ = True
        
        def poll(self, context):
                return context.bone
index c8f7e467a18b6ebd019366c597612a75362c3c9d..1d2f9a5cb496231669094dc30e1c9c6f051aa15c 100644 (file)
@@ -513,7 +513,7 @@ class OBJECT_PT_constraints(ConstraintButtonsPanel):
 
 class BONE_PT_constraints(ConstraintButtonsPanel):
        __label__ = "Constraints"
-       __context__ = "bone"
+       __context__ = "bone_constraint"
 
        def poll(self, context):
                ob = context.object
index 635abd429f6f7b4f652addada6dbdc584f6de6d2..f51cb5d6f8c46f4eb684a6b40bb50b0ac79590a1 100644 (file)
@@ -463,6 +463,7 @@ static int buttons_context_path(const bContext *C, ButsContextPath *path, int ma
                        found= buttons_context_path_texture(C, path);
                        break;
                case BCONTEXT_BONE:
+               case BCONTEXT_BONE_CONSTRAINT:
                        found= buttons_context_path_bone(path);
                        if(!found)
                                found= buttons_context_path_data(path, OB_ARMATURE);
index a1041bc5106eac777061e011b65e7b178865f42b..83dd679c543387069665e8ccafd7dacefca45473 100644 (file)
@@ -114,13 +114,15 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
        if(sbuts->pathflag & (1<<BCONTEXT_OBJECT))
                uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_OBJECT_DATA,       xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
        if(sbuts->pathflag & (1<<BCONTEXT_CONSTRAINT))
-               uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_CONSTRAINT,        xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Constraint");
+               uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_CONSTRAINT,        xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints");
        if(sbuts->pathflag & (1<<BCONTEXT_DATA))
                uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     sbuts->dataicon,        xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
        if(sbuts->pathflag & (1<<BCONTEXT_MODIFIER))
-               uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_MODIFIER,  xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifier");
+               uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_MODIFIER,  xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers");
        if(sbuts->pathflag & (1<<BCONTEXT_BONE))
                uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_BONE_DATA, xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
+       if(sbuts->pathflag & (1<<BCONTEXT_BONE_CONSTRAINT))
+               uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_CONSTRAINT,        xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints");
        if(sbuts->pathflag & (1<<BCONTEXT_MATERIAL))
                uiDefIconButS(block, ROW, B_CONTEXT_SWITCH,     ICON_MATERIAL,  xco+=BUTS_UI_UNIT, yco, BUTS_UI_UNIT, BUTS_UI_UNIT, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
        if(sbuts->pathflag & (1<<BCONTEXT_TEXTURE))
index 381beaa02954a28f7bd0395c6cb1ef2d51b78c97..48acaffd5801926fc64bcc32ff2a4761180b1bba 100644 (file)
@@ -176,6 +176,8 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar)
                ED_region_panels(C, ar, vertical, "modifier", sbuts->mainb);
        else if (sbuts->mainb == BCONTEXT_CONSTRAINT)
                ED_region_panels(C, ar, vertical, "constraint", sbuts->mainb);
+       else if(sbuts->mainb == BCONTEXT_BONE_CONSTRAINT)
+               ED_region_panels(C, ar, vertical, "bone_constraint", sbuts->mainb);
 
     sbuts->re_align= 0;
        sbuts->mainbo= sbuts->mainb;
index 806d12815b5570df98d00a406a86bd9598911113..1a3688772433603113890917249ddde587701a5e 100644 (file)
@@ -569,18 +569,19 @@ typedef struct SpaceUserPref {
 
 
 /* buts->mainb new */
-#define BCONTEXT_SCENE         0
-#define BCONTEXT_WORLD         1
-#define BCONTEXT_OBJECT                2
-#define BCONTEXT_DATA          3
-#define BCONTEXT_MATERIAL      4
-#define BCONTEXT_TEXTURE       5
-#define BCONTEXT_PARTICLE      6
-#define BCONTEXT_PHYSICS       7
-#define BCONTEXT_BONE          9
-#define BCONTEXT_MODIFIER      10
-#define BCONTEXT_CONSTRAINT 12
-#define BCONTEXT_TOT           13
+#define BCONTEXT_SCENE                 0
+#define BCONTEXT_WORLD                         1
+#define BCONTEXT_OBJECT                                2
+#define BCONTEXT_DATA                          3
+#define BCONTEXT_MATERIAL                      4
+#define BCONTEXT_TEXTURE                       5
+#define BCONTEXT_PARTICLE                      6
+#define BCONTEXT_PHYSICS                       7
+#define BCONTEXT_BONE                          9
+#define BCONTEXT_MODIFIER                      10
+#define BCONTEXT_CONSTRAINT                    12
+#define BCONTEXT_BONE_CONSTRAINT       13
+#define BCONTEXT_TOT                           14
 
 /* sbuts->flag */
 #define SB_PRV_OSA                     1
index 30c5d4988b3b35be5962956f69fcea922952a56c..8e783354653b4bde4dd0c792375e57493f860021 100644 (file)
@@ -747,10 +747,11 @@ static void rna_def_space_buttons(BlenderRNA *brna)
                {BCONTEXT_SCENE, "SCENE", ICON_SCENE, "Scene", "Scene"},
                {BCONTEXT_WORLD, "WORLD", ICON_WORLD, "World", "World"},
                {BCONTEXT_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Object"},
-               {BCONTEXT_CONSTRAINT, "CONSTRAINT", ICON_CONSTRAINT, "Constraint", "Constraint"},
-               {BCONTEXT_MODIFIER, "MODIFIER", ICON_MODIFIER, "Modifier", "Modifier"},
+               {BCONTEXT_CONSTRAINT, "CONSTRAINT", ICON_CONSTRAINT, "Constraints", "Constraints"},
+               {BCONTEXT_MODIFIER, "MODIFIER", ICON_MODIFIER, "Modifiers", "Modifiers"},
                {BCONTEXT_DATA, "DATA", 0, "Data", "Data"},
                {BCONTEXT_BONE, "BONE", ICON_BONE_DATA, "Bone", "Bone"},
+               {BCONTEXT_BONE_CONSTRAINT, "BONE_CONSTRAINT", ICON_CONSTRAINT, "Bone Constraints", "Bone Constraints"},
                {BCONTEXT_MATERIAL, "MATERIAL", ICON_MATERIAL, "Material", "Material"},
                {BCONTEXT_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture"},
                {BCONTEXT_PARTICLE, "PARTICLE", ICON_PARTICLES, "Particle", "Particle"},