diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-17 21:35:33 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-17 21:35:33 +0300 |
commit | a6edbba8ec49f628259c61555e5f0b4ad27b6c09 (patch) | |
tree | 5322a7aecdcc17a9604e10a362cd856c4e96d548 /source/blender/blenkernel | |
parent | 69e49c6f0c33743d32ba5313e735c1320911c679 (diff) |
2.5
- Added shift+d duplicate for object and editmode mesh.
Note it uses WM_operator_name_call(), which is fine now,
but in future might put again 2 undo's and operators on
the stack.
Will have to spend some time on how Macros will work!
- added itterator CTX_selected_editable_objects()
(named it first "edible" but that was too funny!)
Also cleaned object_edit.c to use this correctly.
- added CTX_wm_view3d(), especially for hybrid tools
that *can* use view3d, but don't have to.
- moved debug -d print for operators to the real invoke call
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_context.h | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_context.h b/source/blender/blenkernel/BKE_context.h index d9988abdaab..7d6542ada08 100644 --- a/source/blender/blenkernel/BKE_context.h +++ b/source/blender/blenkernel/BKE_context.h @@ -95,6 +95,7 @@ struct wmWindow *CTX_wm_window(const bContext *C); struct bScreen *CTX_wm_screen(const bContext *C); struct ScrArea *CTX_wm_area(const bContext *C); struct SpaceLink *CTX_wm_space_data(const bContext *C); +struct View3D *CTX_wm_view3d(const bContext *C); struct ARegion *CTX_wm_region(const bContext *C); void *CTX_wm_region_data(const bContext *C); struct uiBlock *CTX_wm_ui_block(const bContext *C); @@ -141,6 +142,9 @@ struct ToolSettings *CTX_data_tool_settings(const bContext *C); void CTX_data_main_set(bContext *C, struct Main *bmain); void CTX_data_scene_set(bContext *C, struct Scene *bmain); +int CTX_data_selected_editable_objects(const bContext *C, ListBase *list); +int CTX_data_selected_editable_bases(const bContext *C, ListBase *list); + int CTX_data_selected_objects(const bContext *C, ListBase *list); int CTX_data_selected_bases(const bContext *C, ListBase *list); diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index ceac604aace..1fd569e1081 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -31,6 +31,7 @@ #include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "DNA_space_types.h" +#include "DNA_view3d_types.h" #include "DNA_windowmanager_types.h" #include "RNA_access.h" @@ -163,6 +164,14 @@ SpaceLink *CTX_wm_space_data(const bContext *C) return (C->wm.area)? C->wm.area->spacedata.first: NULL; } +View3D *CTX_wm_view3d(const bContext *C) +{ + if(C->wm.area && C->wm.area->spacetype==SPACE_VIEW3D) + return C->wm.area->spacedata.first; + return NULL; +} + + ARegion *CTX_wm_region(const bContext *C) { return C->wm.region; @@ -367,6 +376,16 @@ int CTX_data_selected_nodes(const bContext *C, ListBase *list) return ctx_data_collection_get(C, CTX_data_selected_nodes, list); } +int CTX_data_selected_editable_objects(const bContext *C, ListBase *list) +{ + return ctx_data_collection_get(C, CTX_data_selected_editable_objects, list); +} + +int CTX_data_selected_editable_bases(const bContext *C, ListBase *list) +{ + return ctx_data_collection_get(C, CTX_data_selected_editable_bases, list); +} + int CTX_data_selected_objects(const bContext *C, ListBase *list) { return ctx_data_collection_get(C, CTX_data_selected_objects, list); |