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:
authorTon Roosendaal <ton@blender.org>2009-01-17 21:35:33 +0300
committerTon Roosendaal <ton@blender.org>2009-01-17 21:35:33 +0300
commita6edbba8ec49f628259c61555e5f0b4ad27b6c09 (patch)
tree5322a7aecdcc17a9604e10a362cd856c4e96d548 /source/blender/blenkernel
parent69e49c6f0c33743d32ba5313e735c1320911c679 (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.h4
-rw-r--r--source/blender/blenkernel/intern/context.c19
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);