[Bf-blender-cvs] [ebcde286d84] custom-manipulators: Expose wmManipulatorGroup.bl_options
Campbell Barton
noreply at git.blender.org
Thu Jun 8 21:23:19 CEST 2017
Commit: ebcde286d84bef94178eb917a2ae20a8f72dce03
Author: Campbell Barton
Date: Fri Jun 9 05:24:42 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rBebcde286d84bef94178eb917a2ae20a8f72dce03
Expose wmManipulatorGroup.bl_options
===================================================================
M source/blender/editors/space_view3d/view3d_manipulators.c
M source/blender/editors/transform/transform_manipulator.c
M source/blender/makesrna/intern/rna_wm_manipulator.c
M source/blender/windowmanager/manipulators/WM_manipulator_types.h
M source/blender/windowmanager/manipulators/intern/wm_manipulator.c
M source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
M source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
===================================================================
diff --git a/source/blender/editors/space_view3d/view3d_manipulators.c b/source/blender/editors/space_view3d/view3d_manipulators.c
index ece9a1642e1..3804f07ed4c 100644
--- a/source/blender/editors/space_view3d/view3d_manipulators.c
+++ b/source/blender/editors/space_view3d/view3d_manipulators.c
@@ -116,7 +116,7 @@ void VIEW3D_WGT_lamp(wmManipulatorGroupType *wgt)
wgt->setup = WIDGETGROUP_lamp_setup;
wgt->refresh = WIDGETGROUP_lamp_refresh;
- wgt->flag |= (WM_MANIPULATORGROUPTYPE_IS_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
+ wgt->flag |= (WM_MANIPULATORGROUPTYPE_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
}
/** \} */
@@ -288,7 +288,7 @@ void VIEW3D_WGT_camera(wmManipulatorGroupType *wgt)
wgt->setup = WIDGETGROUP_camera_setup;
wgt->refresh = WIDGETGROUP_camera_refresh;
- wgt->flag |= WM_MANIPULATORGROUPTYPE_IS_3D;
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
/** \} */
@@ -356,7 +356,7 @@ void VIEW3D_WGT_force_field(wmManipulatorGroupType *wgt)
wgt->setup = WIDGETGROUP_forcefield_init;
wgt->refresh = WIDGETGROUP_forcefield_refresh;
- wgt->flag |= WM_MANIPULATORGROUPTYPE_IS_3D;
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
/** \} */
@@ -559,9 +559,9 @@ void VIEW3D_WGT_armature_facemaps(wmManipulatorGroupType *wgt)
wgt->setup_keymap = WM_manipulatorgroup_keymap_common_sel;
- wgt->flag |= (WM_MANIPULATORGROUPTYPE_IS_3D |
+ wgt->flag |= (WM_MANIPULATORGROUPTYPE_3D |
WM_MANIPULATORGROUPTYPE_SCALE_3D |
- WM_MANIPULATORGROUPTYPE_SELECTABLE);
+ WM_MANIPULATORGROUPTYPE_SELECT);
}
/** \} */
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index d068a31e952..91dbf30acc2 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -1350,7 +1350,7 @@ void TRANSFORM_WGT_manipulator(wmManipulatorGroupType *wgt)
wgt->refresh = WIDGETGROUP_manipulator_refresh;
wgt->draw_prepare = WIDGETGROUP_manipulator_draw_prepare;
- wgt->flag |= (WM_MANIPULATORGROUPTYPE_IS_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
+ wgt->flag |= (WM_MANIPULATORGROUPTYPE_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
}
@@ -1390,6 +1390,6 @@ void TRANSFORM_WGT_object(wmManipulatorGroupType *wgt)
wgt->refresh = WIDGETGROUP_manipulator_refresh;
wgt->draw_prepare = WIDGETGROUP_manipulator_draw_prepare;
- wgt->flag |= (WM_MANIPULATORGROUPTYPE_IS_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
+ wgt->flag |= (WM_MANIPULATORGROUPTYPE_3D | WM_MANIPULATORGROUPTYPE_SCALE_3D);
}
#endif
diff --git a/source/blender/makesrna/intern/rna_wm_manipulator.c b/source/blender/makesrna/intern/rna_wm_manipulator.c
index 75b408a01d2..f2cab031504 100644
--- a/source/blender/makesrna/intern/rna_wm_manipulator.c
+++ b/source/blender/makesrna/intern/rna_wm_manipulator.c
@@ -581,8 +581,6 @@ static StructRNA *rna_ManipulatorGroup_register(
dummywgt.poll = (have_function[0]) ? manipulatorgroup_poll : NULL;
dummywgt.setup_keymap = (have_function[1]) ? manipulatorgroup_setup_keymap : NULL;
dummywgt.setup = (have_function[2]) ? manipulatorgroup_setup : NULL;
- /* XXX, expose */
- dummywgt.flag = WM_MANIPULATORGROUPTYPE_IS_3D;
WM_manipulatorgrouptype_append_ptr(wmaptype, manipulatorgroup_wrapper, (void *)&dummywgt);
@@ -704,7 +702,6 @@ static void rna_def_manipulator(BlenderRNA *brna, PropertyRNA *cprop)
RNA_define_verify_sdna(1); /* not in sdna */
-
/* wmManipulator.draw */
func = RNA_def_function(srna, "draw", NULL);
RNA_def_function_ui_description(func, "");
@@ -747,8 +744,6 @@ static void rna_def_manipulator(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
parm = RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
- parm = RNA_def_pointer(func, "manipulator", "Manipulator", "", "");
- RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
parm = RNA_def_pointer(func, "event", "Event", "", "");
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED);
/* TODO, shuold be a enum-flag */
@@ -870,15 +865,27 @@ static void rna_def_manipulatorgroup(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_REGISTER);
RNA_def_property_ui_text(prop, "Region Type", "The region where the panel is going to be used in");
-#if 0
+ /* bl_options */
+ static EnumPropertyItem manipulatorgroup_flag_items[] = {
+ {WM_MANIPULATORGROUPTYPE_3D, "3D", 0, "3D",
+ "Use in 3D viewport"},
+ {WM_MANIPULATORGROUPTYPE_SCALE_3D, "SCALE_3D", 0, "Scale 3D",
+ "Scale manipulators as 3D object that respects zoom (otherwise zoom independent draw size)"},
+ {WM_MANIPULATORGROUPTYPE_DEPTH_3D, "DEPTH_3D", 0, "Depth 3D",
+ "Supports culled depth by other objects in the view"},
+ {WM_MANIPULATORGROUPTYPE_SELECT, "SELECT", 0, "Select",
+ "Supports selection"},
+ {WM_MANIPULATORGROUPTYPE_OP, "OPERATOR", 0, "Operator",
+ "Attached to operator, and is only accessible as long as this runs"},
+ {0, NULL, 0, NULL, NULL}
+ };
prop = RNA_def_property(srna, "bl_options", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "type->flag");
- RNA_def_property_enum_items(prop, manipulator_flag_items);
+ RNA_def_property_enum_items(prop, manipulatorgroup_flag_items);
RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL | PROP_ENUM_FLAG);
- RNA_def_property_ui_text(prop, "Options", "Options for this manipulator type");
-#endif
+ RNA_def_property_ui_text(prop, "Options", "Options for this operator type");
- /* Registration */
+ /* Functions */
/* poll */
func = RNA_def_function(srna, "poll", NULL);
diff --git a/source/blender/windowmanager/manipulators/WM_manipulator_types.h b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
index 3d05479495f..06046ee5e2c 100644
--- a/source/blender/windowmanager/manipulators/WM_manipulator_types.h
+++ b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
@@ -227,13 +227,13 @@ typedef struct wmManipulatorGroupType {
*/
enum {
/* Mark manipulator-group as being 3D */
- WM_MANIPULATORGROUPTYPE_IS_3D = (1 << 0),
+ WM_MANIPULATORGROUPTYPE_3D = (1 << 0),
/* Scale manipulators as 3D object that respects zoom (otherwise zoom independent draw size) */
WM_MANIPULATORGROUPTYPE_SCALE_3D = (1 << 1),
/* Manipulators can be depth culled with scene objects (covered by other geometry - TODO) */
- WM_MANIPULATORGROUPTYPE_SCENE_DEPTH = (1 << 2),
+ WM_MANIPULATORGROUPTYPE_DEPTH_3D = (1 << 2),
/* Manipulators can be selected */
- WM_MANIPULATORGROUPTYPE_SELECTABLE = (1 << 3),
+ WM_MANIPULATORGROUPTYPE_SELECT = (1 << 3),
/* manipulator group is attached to operator, and is only accessible as long as this runs */
WM_MANIPULATORGROUPTYPE_OP = (1 << 4),
};
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator.c
index 44e09c2ec05..a1a103febb0 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator.c
@@ -462,7 +462,7 @@ void WM_manipulator_set_fn_cursor_get(struct wmManipulator *mpr, wmManipulatorFn
}
void WM_manipulator_set_fn_select(wmManipulator *mpr, wmManipulatorFnSelect fn)
{
- BLI_assert(mpr->parent_mgroup->type->flag & WM_MANIPULATORGROUPTYPE_SELECTABLE);
+ BLI_assert(mpr->parent_mgroup->type->flag & WM_MANIPULATORGROUPTYPE_SELECT);
mpr->type->select = fn;
}
#endif
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
index af8fb36d90c..d8d3669bceb 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatorgroup.c
@@ -177,8 +177,8 @@ void wm_manipulatorgroup_intersectable_manipulators_to_list(const wmManipulatorG
{
for (wmManipulator *manipulator = mgroup->manipulators.first; manipulator; manipulator = manipulator->next) {
if ((manipulator->flag & WM_MANIPULATOR_HIDDEN) == 0) {
- if (((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) && manipulator->type->draw_select) ||
- ((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) == 0 && manipulator->type->intersect))
+ if (((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) && manipulator->type->draw_select) ||
+ ((mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) == 0 && manipulator->type->intersect))
{
BLI_addhead(listbase, BLI_genericNodeN(manipulator));
}
@@ -215,11 +215,11 @@ bool wm_manipulatorgroup_is_visible_in_drawstep(const wmManipulatorGroup *mgroup
{
switch (drawstep) {
case WM_MANIPULATORMAP_DRAWSTEP_2D:
- return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) == 0;
+ return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) == 0;
case WM_MANIPULATORMAP_DRAWSTEP_3D:
- return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D);
+ return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D);
case WM_MANIPULATORMAP_DRAWSTEP_IN_SCENE:
- return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_SCENE_DEPTH);
+ return (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_DEPTH_3D);
default:
BLI_assert(0);
return false;
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
index 172ed5aabb9..c75ae6ce377 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c
@@ -370,7 +370,7 @@ wmManipulator *wm_manipulatormap_find_highlighted_manipulator(
for (wmManipulatorGroup *mgroup = mmap->manipulator_groups.first; mgroup; mgroup = mgroup->next) {
if (wm_manipulatorgroup_is_visible(mgroup, C)) {
- if (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_IS_3D) {
+ if (mgroup->type->flag & WM_MANIPULATORGROUPTYPE_3D) {
wm_manipulatorgroup_intersectable_manipulators_to_list(mgroup, &visible_3d_manipulators);
}
else if ((manipulator = wm_manipulatorgroup_find_intersected_mainpulator(mgr
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list