[Bf-blender-cvs] [391c464] wiggly-widgets: Refactor widget code into isolated window manager submodule files (merges temp_widgets_files_refactor)

Julian Eisel noreply at git.blender.org
Tue Feb 9 17:14:48 CET 2016


Commit: 391c464c4780be95e78d15621c33f0aae5a8c1e2
Author: Julian Eisel
Date:   Tue Feb 9 16:10:48 2016 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB391c464c4780be95e78d15621c33f0aae5a8c1e2

Refactor widget code into isolated window manager submodule files (merges temp_widgets_files_refactor)

Widgets core code is now located in own folder, source/blender/windowmanager/widgets/. It is now more centralized, better structured and mixing with regular WM code was greatly minimized.

wm_widgets.c was split up into multiple files in windowmanager/widgets/intern/, wm_generic_widgets.c was split up into multiple files in windowmanager/widgets/intern/widget_library/. Both initial files are gone.

The geometry files for widget types that were previously located under windowmanager/3d_widgets are now also in windowmanager/widgets/intern/widget_library/, with a geom_ prefix.

Header files:
Widgets got own .h files, which are included into window manager .h files if needed.
API and defines for external access are in WM_widget_api.h, WM_widget_types.h and WM_widget_library.h. Also, wm_widget_wmapi.h was added as header for window manager usage only (could add #error printing for usage outside of window manager later).

Also did some minor cleanups here and there.

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

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/editors/object/object_edit.c
M	source/blender/editors/space_graph/graph_edit.c
M	source/blender/editors/space_node/space_node.c
M	source/blender/editors/space_sequencer/sequencer_view.c
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/makesdna/DNA_widget_types.h
M	source/blender/makesrna/intern/rna_wm.c
D	source/blender/windowmanager/3d_widgets/arrow_widget.c
D	source/blender/windowmanager/3d_widgets/cube_widget.c
D	source/blender/windowmanager/3d_widgets/dial_widget.c
D	source/blender/windowmanager/3d_widgets/ui_widget_library.h
M	source/blender/windowmanager/CMakeLists.txt
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/WM_types.h
M	source/blender/windowmanager/intern/wm_event_system.c
D	source/blender/windowmanager/intern/wm_generic_widgets.c
D	source/blender/windowmanager/intern/wm_widgets.c
A	source/blender/windowmanager/widgets/WM_widget_api.h
A	source/blender/windowmanager/widgets/WM_widget_library.h
A	source/blender/windowmanager/widgets/WM_widget_types.h
A	source/blender/windowmanager/widgets/intern/widget_library/arrow_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/cage_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/dial_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/facemap_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/geom_arrow_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/geom_cube_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/geom_dial_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/plane_widget.c
A	source/blender/windowmanager/widgets/intern/widget_library/widget_geometry.h
A	source/blender/windowmanager/widgets/intern/wm_widget.c
A	source/blender/windowmanager/widgets/intern/wm_widget_intern.h
A	source/blender/windowmanager/widgets/intern/wm_widgetgroup.c
A	source/blender/windowmanager/widgets/intern/wm_widgetmap.c
A	source/blender/windowmanager/widgets/wm_widget_wmapi.h
M	source/blender/windowmanager/wm.h
M	source/blender/windowmanager/wm_event_system.h

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

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 9628dc1..48e6ed5 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 9628dc1922be2fb6281bc66f5f7512c2a57c294a
+Subproject commit 48e6ed58b44b9bac6c1aa8671a07ea4a7c72ee3a
diff --git a/release/scripts/addons b/release/scripts/addons
index 407d0ea..b7a4aa5 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 407d0ea752b3af73d3f13ba072671bd09eefecb1
+Subproject commit b7a4aa544884c9a2a1223657875f060ad53b7b1e
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 9f29e18..6668384 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 9f29e18707917ec5be262431d2e09dbb85332f41
+Subproject commit 66683843bb43bb9e732fcb3f632116ca977c9bb3
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 77b993f..4b15d91 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -2139,7 +2139,7 @@ static int object_widget_add_exec(bContext *C, wmOperator *UNUSED(op))
 	Object *ob = ED_object_active_context((bContext *)C);
 	wmWidgetGroupType *wgrouptype = WM_widgetgrouptype_register(
 	        CTX_data_main(C),
-	        &(const struct wmWidgetMapType_Params) {"View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGET_TYPE_3D},
+	        &(const struct wmWidgetMapType_Params) {"View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGETMAPTYPE_3D},
 	        WIDGETGROUP_object_manipulator_poll,
 	        WIDGETGROUP_object_manipulator_create,
 	        WM_widgetgroup_keymap_common,
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 66b5c02..cec7e0f 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -2648,7 +2648,7 @@ static int graph_widget_backdrop_transform_invoke(bContext *C, wmOperator *op, c
 	        "Backdrop Transform Widgets");
 	struct wmEventHandler *handler = WM_event_add_modal_handler(C, op);
 	BackDropTransformData *data = MEM_mallocN(sizeof(BackDropTransformData), "overdrop transform data");
-	WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+	WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
 
 	RNA_float_set_array(op->ptr, "offset", sipo->backdrop_offset);
 	RNA_float_set(op->ptr, "scale", sipo->backdrop_zoom);
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 13d865c..8e0cd42 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -654,7 +654,7 @@ static void node_main_region_init(wmWindowManager *wm, ARegion *ar)
 		BLI_addhead(&ar->widgetmaps, wmap);
 	}
 
-	WM_event_add_area_widgetmap_handlers(ar);
+	WM_widgetmaps_add_handlers(ar);
 
 	/* own keymaps */
 	keymap = WM_keymap_find(wm->defaultconf, "Node Generic", SPACE_NODE, 0);
diff --git a/source/blender/editors/space_sequencer/sequencer_view.c b/source/blender/editors/space_sequencer/sequencer_view.c
index 44857a1..00184a7 100644
--- a/source/blender/editors/space_sequencer/sequencer_view.c
+++ b/source/blender/editors/space_sequencer/sequencer_view.c
@@ -301,7 +301,7 @@ static int sequencer_overdrop_transform_invoke(bContext *C, wmOperator *op, cons
 	        "Backdrop Transform Widgets");
 	struct wmEventHandler *handler = WM_event_add_modal_handler(C, op);
 	OverDropTransformData *data = MEM_mallocN(sizeof(OverDropTransformData), "overdrop transform data");
-	WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+	WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
 	
 	RNA_float_set_array(op->ptr, "offset", sseq->overdrop_offset);
 	RNA_float_set(op->ptr, "scale", sseq->overdrop_zoom);
@@ -475,7 +475,7 @@ static int sequencer_image_transform_widget_invoke(bContext *C, wmOperator *op,
 		return OPERATOR_CANCELLED;
 	}
 
-	WM_modal_handler_attach_widgetgroup(C, handler, cagetype, op);
+	WM_widgetgroup_attach_to_modal_handler(C, handler, cagetype, op);
 
 	copy_v2_v2_int(data->init_size, &ibuf->x);
 	data->cagetype = cagetype;
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 5aabb3c..dfc8e41 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -502,11 +502,11 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar)
 
 	if (BLI_listbase_is_empty(&ar->widgetmaps)) {
 		wmWidgetMap *wmap = WM_widgetmap_from_type(&(const struct wmWidgetMapType_Params) {
-		        "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGET_TYPE_3D});
+		        "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW, WM_WIDGETMAPTYPE_3D});
 		BLI_addhead(&ar->widgetmaps, wmap);
 	}
 
-	WM_event_add_area_widgetmap_handlers(ar);
+	WM_widgetmaps_add_handlers(ar);
 
 	/* object ops. */
 	
@@ -738,7 +738,7 @@ static void view3d_widgets(void)
 	const struct wmWidgetMapType_Params wmap_params = {
 		.idname = "View3D",
 		.spaceid = SPACE_VIEW3D, .regionid = RGN_TYPE_WINDOW,
-		.flag = WM_WIDGET_TYPE_3D,
+		.flag = WM_WIDGETMAPTYPE_3D,
 	};
 
 	wmWidgetMapType *wmaptype = WM_widgetmaptype_ensure(&wmap_params);
diff --git a/source/blender/makesdna/DNA_widget_types.h b/source/blender/makesdna/DNA_widget_types.h
index 5fa2cd8..72017f2 100644
--- a/source/blender/makesdna/DNA_widget_types.h
+++ b/source/blender/makesdna/DNA_widget_types.h
@@ -44,7 +44,7 @@ typedef enum WidgetType {
 	WT_CUSTOM    = 3,
 } WidgetType;
 
-struct wmWidgetGroup {
+typedef struct wmWidgetGroup {
 	struct wmWidgetGroup *next, *prev;
 
 	struct wmWidgetGroupType *type;
@@ -55,6 +55,6 @@ struct wmWidgetGroup {
 
 	int flag;
 	int pad;
-};
+} wmWidgetGroup;
 
 #endif
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 11f5366..83bf9ea 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -442,7 +442,7 @@ EnumPropertyItem rna_enum_operator_return_items[] = {
 
 #ifndef RNA_RUNTIME
 static EnumPropertyItem widget_flag_items[] = {
-	{WM_WIDGET_TYPE_3D, "3D", 0, "3D", "Use the 3d viewport"},
+	{WM_WIDGETMAPTYPE_3D, "3D", 0, "3D", "Use the 3d viewport"},
 	{0, NULL, 0, NULL, NULL}
 };
 #endif
diff --git a/source/blender/windowmanager/3d_widgets/cube_widget.c b/source/blender/windowmanager/3d_widgets/cube_widget.c
deleted file mode 100644
index 3673994..0000000
--- a/source/blender/windowmanager/3d_widgets/cube_widget.c
+++ /dev/null
@@ -1,39 +0,0 @@
-int _WIDGET_nverts_cube = 8;
-int _WIDGET_ntris_cube = 12;
-
-float _WIDGET_verts_cube[][3] = {
-    {1.000000, 1.000000, -1.000000},
-    {1.000000, -1.000000, -1.000000},
-    {-1.000000, -1.000000, -1.000000},
-    {-1.000000, 1.000000, -1.000000},
-    {1.000000, 1.000000, 1.000000},
-    {0.999999, -1.000001, 1.000000},
-    {-1.000000, -1.000000, 1.000000},
-    {-1.000000, 1.000000, 1.000000},
-};
-
-float _WIDGET_normals_cube[][3] = {
-    {0.577349, 0.577349, -0.577349},
-    {0.577349, -0.577349, -0.577349},
-    {-0.577349, -0.577349, -0.577349},
-    {-0.577349, 0.577349, -0.577349},
-    {0.577349, 0.577349, 0.577349},
-    {0.577349, -0.577349, 0.577349},
-    {-0.577349, -0.577349, 0.577349},
-    {-0.577349, 0.577349, 0.577349},
-};
-
-unsigned short _WIDGET_indices_cube[] = {
-    1, 2, 3,
-    7, 6, 5,
-    4, 5, 1,
-    5, 6, 2,
-    2, 6, 7,
-    0, 3, 7,
-    0, 1, 3,
-    4, 7, 5,
-    0, 4, 1,
-    1, 5, 2,
-    3, 2, 7,
-    4, 0, 7,
-};
diff --git a/source/blender/windowmanager/3d_widgets/ui_widget_library.h b/source/blender/windowmanager/3d_widgets/ui_widget_library.h
deleted file mode 100644
index 24dc8c9..0000000
--- a/source/blender/windowmanager/3d_widgets/ui_widget_library.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-/* arrow widget */
-extern int _WIDGET_nverts_arrow;
-extern int _WIDGET_ntris_arrow;
-
-extern float _WIDGET_verts_arrow[][3];
-extern float _WIDGET_normals_arrow[][3];
-extern unsigned short _WIDGET_indices_arrow[];
-
-/* cube widget */
-extern int _WIDGET_nverts_cube;
-extern int _WIDGET_ntris_cube;
-
-extern float _WIDGET_verts_cube[][3];
-extern float _WIDGET_normals_cube[][3];
-extern unsigned short _WIDGET_indices_cube[];
-
-/* dial widget */
-extern int _WIDGET_nverts_dial;
-extern int _WIDGET_ntris_dial;
-
-extern float _WIDGET_verts_dial[][3];
-extern float _WIDGET_normals_dial[][3];
-extern unsigned short _WIDGET_indices_dial[];
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index f1a551d..2575d05 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -67,11 +67,17 @@ set(SRC
 	intern/wm_subwindow.c
 	intern/wm_window.c
 	intern/wm_stereo.c
-	intern/wm_widgets.c
-	intern/wm_generic_widgets.c
-	3d_widgets/arrow_widget.c
-	3d_widgets/cube_widget.c
-	3d_widgets/dial_widget.c
+	widgets/intern/wm_widget.c
+	widgets/intern/wm_widgetgroup.c
+	widgets/intern/wm_widgetmap.c
+	widgets/intern/widget_library/arrow_widget.c
+	widgets/intern/widget_library/cage_widget.c
+	widgets/intern/widget_library/dial_widget.c
+	widgets/intern/widget_library/facemap_widget.c
+	widgets/intern/widget_library/plane_widget.c
+	widgets/intern/widget_library/geom_arrow_widget.c
+	widgets/intern/widget_library/geom_cube_widget
+	widgets/intern/widget_library/geom_dial_widget.c
 
 	WM_api.h
 	WM_keymap.h
@@ -84,7 +90,12 @@ set(SRC
 	wm_files.h
 	wm_subwindow.h
 	wm_window.h
-	3d_widgets/ui_widget_library.h
+	widgets/WM_widget_api.h
+	widgets/WM_widget_types.h
+	widgets/WM_widget_library.h
+	widgets/wm_widget_wmapi.h
+	widgets/intern/wm_widget_intern.h
+	widgets/intern/widget_library/widget_geometry.h
 )
 
 if(WITH_AUDASPACE)
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index da0369a..cd44af7 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -43,6 +43,9 @@
 #include "WM_keymap.h"
 #include "BLI_compiler_attrs.h"
 
+#include "widgets/WM_wi

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list