missed a header last commit, added custom exceptions to rigify so they can be caught...
authorCampbell Barton <ideasman42@gmail.com>
Thu, 10 Dec 2009 18:28:22 +0000 (18:28 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 10 Dec 2009 18:28:22 +0000 (18:28 +0000)
release/scripts/modules/rigify/__init__.py
release/scripts/modules/rigify/arm_biped_generic.py
release/scripts/modules/rigify/delta.py
release/scripts/modules/rigify/finger_curl.py
release/scripts/modules/rigify/leg_biped_generic.py
release/scripts/modules/rigify/neck_flex.py
release/scripts/modules/rigify/spine_pivot_flex.py
source/blender/editors/interface/interface_regions.c
source/blender/makesrna/intern/rna_internal.h

index 611bfd7035dc99e2445c26af301bff03c1b420a6..ff0c1421f554b9ee1060b2e90af541becb4325b7 100644 (file)
@@ -24,7 +24,13 @@ from Mathutils import Vector
 # TODO, have these in a more general module
 from rna_prop_ui import rna_idprop_ui_prop_get
 
-
+class RigifyError(Exception):
+    """Exception raised for errors in the metarig.
+    """
+    def __init__(self, message):
+        self.message = message
+    def __str__(self):
+        return repr(self.message)
 
 def submodule_func_from_type(bone_type):
     type_pair = bone_type.split(".")
index af6c48809541ef9a94791add8aba04a0d0544b37..dfae94875b71f29d0963b966919244ec4c9f3970 100644 (file)
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from rigify import RigifyError
 from rigify_utils import bone_class_instance, copy_bone_simple, add_pole_target_bone, add_stretch_to, blend_bone_list, get_side_name, get_base_name
 from rna_prop_ui import rna_idprop_ui_prop_get
 from Mathutils import Vector
@@ -68,7 +69,7 @@ def metarig_definition(obj, orig_bone_name):
     mt.shoulder_p = mt.arm_p.parent
 
     if not mt.shoulder_p:
-        raise Exception("could not find '%s' parent, skipping:" % orig_bone_name)
+        raise RigifyError("could not find '%s' parent, skipping:" % orig_bone_name)
 
     mt.shoulder = mt.shoulder_p.name
 
@@ -80,7 +81,7 @@ def metarig_definition(obj, orig_bone_name):
             hands.append(pbone)
 
     if len(hands) != 1:
-        raise Exception("Found %s possible hands attached to this arm, expected 1 from bone: %s" % ([pbone.name for pbone in hands], orig_bone_name))
+        raise RigifyError("Found %s possible hands attached to this arm, expected 1 from bone: %s" % ([pbone.name for pbone in hands], orig_bone_name))
 
     # first add the 2 new bones
     mt.hand_p = hands[0]
index faedf7029f0d059ad3cf3f113ffe1d7c79d1ce01..a83b45307dd0bca14f13c2806b55cd032eb5c7e1 100644 (file)
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from rigify import RigifyError
 
 # not used, defined for completeness
 METARIG_NAMES = tuple()
@@ -64,7 +65,7 @@ def metarig_definition(obj, orig_bone_name):
     children = delta.children
 
     if len(children) != 1:
-        raise Exception("only 1 child supported for delta on bone '%s'" % delta.name)
+        raise RigifyError("only 1 child supported for delta on bone '%s'" % delta.name)
 
     bone_definition = [delta.name, children[0].name]
 
index 73d4cc5fbd8a473d20e71f07189078be0d09ca78..15bdd803500ec50f7d79a11d4d8ce4e57093bad4 100644 (file)
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from rigify import RigifyError
 from rigify_utils import copy_bone_simple, get_side_name, get_base_name, EMPTY_LAYER
 from rna_prop_ui import rna_idprop_ui_prop_get
 from functools import reduce
@@ -73,13 +74,13 @@ def metarig_definition(obj, orig_bone_name):
         children = bone.children
 
         if len(children) != 1:
-            raise Exception("expected the chain to have 2 children from bone '%s' without a fork" % orig_bone_name)
+            raise RigifyError("expected the chain to have 2 children from bone '%s' without a fork" % orig_bone_name)
         bone = children[0]
         bone_definition.append(bone.name) # finger_02, finger_03
         chain += 1
 
     if len(bone_definition) != len(METARIG_NAMES):
-        raise Exception("internal problem, expected %d bones" % len(METARIG_NAMES))
+        raise RigifyError("internal problem, expected %d bones" % len(METARIG_NAMES))
 
     return bone_definition
 
index c6fb57dd6f59814ce36f4be945d56fc849f672d8..d08d0e99f435d45e413d660e63a43ac11f406562 100644 (file)
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from rigify import RigifyError
 from rigify_utils import bone_class_instance, copy_bone_simple, blend_bone_list, get_side_name, get_base_name
 from rna_prop_ui import rna_idprop_ui_prop_get
 
@@ -85,7 +86,7 @@ def metarig_definition(obj, orig_bone_name):
     orig_bone_parent = orig_bone.parent
 
     if orig_bone_parent is None:
-        raise Exception("expected the thigh bone to have a parent hip bone")
+        raise RigifyError("expected the thigh bone to have a parent hip bone")
 
     bone_definition.append(orig_bone_parent.name)
     bone_definition.append(orig_bone.name)
@@ -97,7 +98,7 @@ def metarig_definition(obj, orig_bone_name):
         children = bone.children
 
         if len(children) != 1:
-            raise Exception("expected the thigh bone to have 3 children without a fork")
+            raise RigifyError("expected the thigh bone to have 3 children without a fork")
         bone = children[0]
         bone_definition.append(bone.name) # shin, foot
         chain += 1
@@ -105,10 +106,10 @@ def metarig_definition(obj, orig_bone_name):
     children = bone.children
     # Now there must be 2 children, only one connected
     if len(children) != 2:
-        raise Exception("expected the foot bone:'%s' to have 2 children" % bone.name )
+        raise RigifyError("expected the foot bone:'%s' to have 2 children" % bone.name )
 
     if children[0].connected == children[1].connected:
-        raise Exception("expected one bone to be connected")
+        raise RigifyError("expected one bone to be connected")
 
     toe, heel = children
     if heel.connected:
@@ -119,7 +120,7 @@ def metarig_definition(obj, orig_bone_name):
     bone_definition.append(heel.name)
 
     if len(bone_definition) != len(METARIG_NAMES):
-        raise Exception("internal problem, expected %d bones" % len(METARIG_NAMES))
+        raise RigifyError("internal problem, expected %d bones" % len(METARIG_NAMES))
 
     return bone_definition
 
index 68015b3ebd3d476d3021d028ddcd73e85c6aa00f..31763518f093b8b1e65c37c16767263e98917bc8 100644 (file)
@@ -19,6 +19,7 @@
 # <pep8 compliant>
 
 import bpy
+from rigify import RigifyError
 from rigify_utils import bone_class_instance, copy_bone_simple
 from rna_prop_ui import rna_idprop_ui_prop_get
 
@@ -91,7 +92,7 @@ def metarig_definition(obj, orig_bone_name):
 
     children = head.children
     if len(children) != 1:
-        print("expected the head to have only 1 child.")
+        raise RigifyError("expected the head bone '%s' to have only 1 child." % orig_bone_name)
 
     child = children[0]
     bone_definition = [body.name, head.name, child.name]
index 37a350bb3be860800352c0cf1903c020d318c616..f9a5aceb4d65833ab758dbecaa173a763de6f669 100644 (file)
@@ -104,11 +104,11 @@ def metarig_definition(obj, orig_bone_name):
     pelvis = ribcage.parent
 
     if pelvis is None:
-        raise Exception("expected the ribcage bone:'%s' to have a parent (ribcage)." % ribcage.name)
+        raise RigifyError("expected the ribcage bone:'%s' to have a parent (ribcage)." % ribcage.name)
 
     children = ribcage.children
     if len(children) != 1:
-        raise Exception("expected the ribcage to have only 1 child.")
+        raise RigifyError("expected the ribcage to have only 1 child.")
 
     child = children[0]
 
index f01ae9905869a8d8c60a564492455befab37e1e4..8ebfed21dcc13844425ccebb8263152cd33c11ab 100644 (file)
@@ -2288,6 +2288,7 @@ uiPopupBlockHandle *ui_popup_menu_create(bContext *C, ARegion *butregion, uiBut
                /* menu is created from a string */
                pup->menu_func= ui_block_func_MENUSTR;
                pup->menu_arg= str;
+               // XXX pup->block->flag |= UI_BLOCK_NO_FLIP;
        }
        else {
                /* menu is created from a callback */
index df1dd249dd1fc51668a66ae2350f4870938d83f3..6f4233b93374da4586e63e6366cea4c4375faa23 100644 (file)
@@ -207,6 +207,7 @@ void RNA_api_action(StructRNA *srna);
 void RNA_api_armature_edit_bone(StructRNA *srna);
 void RNA_api_drivers(StructRNA *srna);
 void RNA_api_image(struct StructRNA *srna);
+void RNA_api_operator(struct StructRNA *srna);
 void RNA_api_keyconfig(struct StructRNA *srna);
 void RNA_api_keyingset(struct StructRNA *srna);
 void RNA_api_keymap(struct StructRNA *srna);