Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2009-07-25 17:40:59 +0400
committerTon Roosendaal <ton@blender.org>2009-07-25 17:40:59 +0400
commitdcfc0333d16a6a85c54f056edfce7a9089f64ef7 (patch)
treeaa1f641575d431a23622d67ec88f846cd790c81e /source/blender/editors/object/object_edit.c
parent90dfb61e046625b61c3af8a7f8bfee431a356832 (diff)
2.5
Outliner: brought back to near full functioning: - proper operators, like for open/close items, exec operations (note: select is still same operator as activate, should become modal ops later) - rename works again (ctrl+click) - proper notifiers for redraws - select / extend select works again - editmode in/out works again - enter key opens/closes again - right mouse operations work again Didn't do: - options for Sequence strips - signals to change button views on clicks - error/warning messages UI: - added new uiButSetRenameFunc(), which passes on the old name - added uiButActiveOnly(), which ensures a button gets created in active state, and gets removed when used. Needed for editing names in outliner. Andrea: check outliner.c for uiButActiveOnly(), very easy to use! Also: - Added posemode operator, CTRL+TAB tied to it.
Diffstat (limited to 'source/blender/editors/object/object_edit.c')
-rw-r--r--source/blender/editors/object/object_edit.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 5c6c55e956b..1752f48990d 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -3717,6 +3717,42 @@ void OBJECT_OT_editmode_toggle(wmOperatorType *ot)
/* *************************** */
+static int posemode_exec(bContext *C, wmOperator *op)
+{
+ Base *base= CTX_data_active_base(C);
+
+ if(base->object->type==OB_ARMATURE) {
+ if(base->object==CTX_data_edit_object(C)) {
+ ED_object_exit_editmode(C, EM_FREEDATA);
+ ED_armature_enter_posemode(C, base);
+ }
+ else if(base->object->flag & OB_POSEMODE)
+ ED_armature_exit_posemode(C, base);
+ else
+ ED_armature_enter_posemode(C, base);
+
+ return OPERATOR_FINISHED;
+ }
+
+ return OPERATOR_PASS_THROUGH;
+}
+
+void OBJECT_OT_posemode_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Pose Mode";
+ ot->idname= "OBJECT_OT_posemode_toggle";
+ ot->description= "Enables or disables posing/selecting bones";
+
+ /* api callbacks */
+ ot->exec= posemode_exec;
+ ot->poll= ED_operator_object_active;
+
+ /* flag */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+/* *********************** */
void check_editmode(int type)
{