[Bf-blender-cvs] [662c2cd] master: Multiview: update Set Stereo 3D menu when the selected stereo mode changes

Dalai Felinto noreply at git.blender.org
Tue Apr 7 20:43:34 CEST 2015


Commit: 662c2cd9105c43f2c21c511a68d45cef719ef9c9
Author: Dalai Felinto
Date:   Tue Apr 7 15:42:44 2015 -0300
Branches: master
https://developer.blender.org/rB662c2cd9105c43f2c21c511a68d45cef719ef9c9

Multiview: update Set Stereo 3D menu when the selected stereo mode changes

===================================================================

M	source/blender/windowmanager/intern/wm_operators.c
M	source/blender/windowmanager/intern/wm_stereo.c
M	source/blender/windowmanager/wm.h

===================================================================

diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 2e48c84..f97e79d 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -4855,6 +4855,7 @@ static void WM_OT_stereo3d_set(wmOperatorType *ot)
 	ot->invoke = wm_stereo3d_set_invoke;
 	ot->poll = WM_operator_winactive;
 	ot->ui = wm_stereo3d_set_draw;
+	ot->check = wm_stereo3d_set_check;
 	ot->cancel = wm_stereo3d_set_cancel;
 
 	prop = RNA_def_enum(ot->srna, "display_mode", stereo3d_display_items, S3D_DISPLAY_ANAGLYPH, "Display Mode", "");
diff --git a/source/blender/windowmanager/intern/wm_stereo.c b/source/blender/windowmanager/intern/wm_stereo.c
index 5d7b112..44d0e81 100644
--- a/source/blender/windowmanager/intern/wm_stereo.c
+++ b/source/blender/windowmanager/intern/wm_stereo.c
@@ -519,6 +519,14 @@ void wm_stereo3d_set_draw(bContext *C, wmOperator *op)
 	}
 }
 
+bool wm_stereo3d_set_check(bContext *UNUSED(C), wmOperator *UNUSED(op))
+{
+	/* the check function guarantees that the menu is updated to show the
+	 * sub-options when an enum change (e.g., it shows the anaglyph options
+	 * when anaglyph is on, and the interlace options when this is on */
+	return true;
+}
+
 void wm_stereo3d_set_cancel(bContext *C, wmOperator *op)
 {
 	Stereo3dData *s3dd = op->customdata;
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h
index bc777b7..2f06dda 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -81,6 +81,7 @@ void wm_method_draw_stereo3d(const bContext *C, wmWindow *win);
 int wm_stereo3d_set_exec(bContext *C, wmOperator *op);
 int wm_stereo3d_set_invoke(bContext *C, wmOperator *op, const wmEvent *event);
 void wm_stereo3d_set_draw(bContext *C, wmOperator *op);
+bool wm_stereo3d_set_check(bContext *C, wmOperator *op);
 void wm_stereo3d_set_cancel(bContext *C, wmOperator *op);
 
 /* init operator properties */




More information about the Bf-blender-cvs mailing list