Commit: 2849dc429bbae9bb9aa9e008f4482c3fa304d1eb
Author: Julian Eisel
Date:   Wed Sep 14 17:02:12 2016 +0200
Branches: temp_manipulators_core
https://developer.blender.org/rB2849dc429bbae9bb9aa9e008f4482c3fa304d1eb

Add SpaceType.manipulators callback for startup registration of manipulator-maps

Aaaannd the usual cleanup.

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

M       source/blender/blenkernel/BKE_screen.h
M       source/blender/editors/space_api/spacetypes.c
M       source/blender/windowmanager/manipulators/WM_manipulator_types.h

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

diff --git a/source/blender/blenkernel/BKE_screen.h 
b/source/blender/blenkernel/BKE_screen.h
index cd8b520..3768074 100644
--- a/source/blender/blenkernel/BKE_screen.h
+++ b/source/blender/blenkernel/BKE_screen.h
@@ -96,6 +96,9 @@ typedef struct SpaceType {
        /* on startup, define dropboxes for spacetype+regions */
        void (*dropboxes)(void);
 
+       /* on startup, initialize manipulator-map-types and 
manipulator-group-types */
+       void (*manipulators)(void);
+
        /* return context data */
        int (*context)(const struct bContext *, const char *, struct 
bContextDataResult *);
 
diff --git a/source/blender/editors/space_api/spacetypes.c 
b/source/blender/editors/space_api/spacetypes.c
index ac6e312..2b4ca8d 100644
--- a/source/blender/editors/space_api/spacetypes.c
+++ b/source/blender/editors/space_api/spacetypes.c
@@ -121,12 +121,16 @@ void ED_spacetypes_init(void)
        
        ED_operatortypes_view2d();
        ED_operatortypes_ui();
-       
-       /* register operators */
+
+       /* register types for operators and manipulators */
        spacetypes = BKE_spacetypes_list();
        for (type = spacetypes->first; type; type = type->next) {
-               if (type->operatortypes)
+               if (type->operatortypes) {
                        type->operatortypes();
+               }
+               if (type->manipulators) {
+                       type->manipulators();
+               }
        }
 
        /* register internal render callbacks */
diff --git a/source/blender/windowmanager/manipulators/WM_manipulator_types.h 
b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
index 25ff546..6fc748f 100644
--- a/source/blender/windowmanager/manipulators/WM_manipulator_types.h
+++ b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
@@ -57,9 +57,9 @@ typedef struct wmManipulatorGroupType {
        char idname[64];  /* MAX_NAME */
        const char *name; /* manipulator-group name - displayed in UI (keymap 
editor) */
 
-       /* poll if manipulator-map should be active */
+       /* poll if manipulator-map should be visible */
        wmManipulatorGroupPollFunc poll;
-       /* initially create manipulators, set permanent data stuff you only 
need to do once */
+       /* initially create manipulators and set permanent data - stuff you 
only need to do once */
        wmManipulatorGroupInitFunc init;
        /* refresh data, only called if recreate flag is set 
(WM_manipulatormap_tag_refresh) */
        wmManipulatorGroupRefreshFunc refresh;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to