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:
Diffstat (limited to 'source/blender/editors/screen/spacetypes.c')
-rw-r--r--source/blender/editors/screen/spacetypes.c40
1 files changed, 35 insertions, 5 deletions
diff --git a/source/blender/editors/screen/spacetypes.c b/source/blender/editors/screen/spacetypes.c
index 88ac8de1f88..0292df8bc24 100644
--- a/source/blender/editors/screen/spacetypes.c
+++ b/source/blender/editors/screen/spacetypes.c
@@ -44,17 +44,35 @@
/* only call once on startup, storage is static data (no malloc!) in kernel listbase */
void ED_spacetypes_init(void)
{
+ const ListBase *spacetypes;
+ SpaceType *type;
+
+ /* create space types */
+ ED_spacetype_time();
ED_spacetype_view3d();
// ED_spacetype_ipo();
// ...
-
+ /* register operator types for screen and all spaces */
ED_operatortypes_screen();
-// ED_operatortypes_view3d();
-// ...
-
+
+ spacetypes = BKE_spacetypes_list();
+ for(type=spacetypes->first; type; type=type->next)
+ type->operatortypes();
}
+/* called in wm.c */
+void ED_spacetypes_keymap(wmWindowManager *wm)
+{
+ const ListBase *spacetypes;
+ SpaceType *type;
+
+ ED_keymap_screen(wm);
+
+ spacetypes = BKE_spacetypes_list();
+ for(type=spacetypes->first; type; type=type->next)
+ type->keymap(wm);
+}
/* ****************************** space template *********************** */
@@ -71,7 +89,7 @@ static void xxx_free(SpaceLink *sl)
}
/* spacetype; init callback for usage, should be redoable */
-static void xxx_init(ScrArea *sa)
+static void xxx_init(wmWindowManager *wm, ScrArea *sa)
{
/* link area to SpaceXXX struct */
@@ -93,6 +111,16 @@ static SpaceLink *xxx_duplicate(SpaceLink *sl)
return NULL;
}
+static void xxx_operatortypes(void)
+{
+ /* register operator types for this space */
+}
+
+static void xxx_keymap(wmWindowManager *wm)
+{
+ /* add default items to keymap */
+}
+
/* only called once, from screen/spacetypes.c */
void ED_spacetype_xxx(void)
{
@@ -105,6 +133,8 @@ void ED_spacetype_xxx(void)
st.init= xxx_init;
st.refresh= xxx_refresh;
st.duplicate= xxx_duplicate;
+ st.operatortypes= xxx_operatortypes;
+ st.keymap= xxx_keymap;
BKE_spacetype_register(&st);
}