[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23759] trunk/blender/source/blender: When in localview, MKey moves objects out of localview, added redraw notifiers
Campbell Barton
ideasman42 at gmail.com
Sat Oct 10 14:29:11 CEST 2009
Revision: 23759
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23759
Author: campbellbarton
Date: 2009-10-10 14:29:11 +0200 (Sat, 10 Oct 2009)
Log Message:
-----------
When in localview, MKey moves objects out of localview, added redraw notifiers
Modified Paths:
--------------
trunk/blender/source/blender/editors/object/object_add.c
trunk/blender/source/blender/editors/object/object_relations.c
trunk/blender/source/blender/windowmanager/WM_api.h
trunk/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c 2009-10-10 10:49:17 UTC (rev 23758)
+++ trunk/blender/source/blender/editors/object/object_add.c 2009-10-10 12:29:11 UTC (rev 23759)
@@ -1239,7 +1239,7 @@
BASACT= basact;
DAG_scene_sort(scene);
- WM_event_add_notifier(C, NC_SCENE|ND_DRAW, scene);
+ WM_event_add_notifier(C, NC_SCENE|NC_OBJECT|ND_DRAW, scene); /* is NC_SCENE needed ? */
Modified: trunk/blender/source/blender/editors/object/object_relations.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_relations.c 2009-10-10 10:49:17 UTC (rev 23758)
+++ trunk/blender/source/blender/editors/object/object_relations.c 2009-10-10 12:29:11 UTC (rev 23759)
@@ -978,8 +978,14 @@
static int move_to_layer_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- move_to_layer_init(C, op);
- return WM_operator_props_popup(C, op, event);
+ View3D *v3d= CTX_wm_view3d(C);
+ if(v3d && v3d->localvd) {
+ return WM_operator_confirm_message(C, op, "Move from localview");
+ }
+ else {
+ move_to_layer_init(C, op);
+ return WM_operator_props_popup(C, op, event);
+ }
}
static int move_to_layer_exec(bContext *C, wmOperator *op)
@@ -1023,7 +1029,7 @@
/* warning, active object may be hidden now */
- WM_event_add_notifier(C, NC_SCENE, scene);
+ WM_event_add_notifier(C, NC_SCENE|NC_OBJECT|ND_DRAW, scene); /* is NC_SCENE needed ? */
DAG_scene_sort(scene);
return OPERATOR_FINISHED;
Modified: trunk/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_api.h 2009-10-10 10:49:17 UTC (rev 23758)
+++ trunk/blender/source/blender/windowmanager/WM_api.h 2009-10-10 12:29:11 UTC (rev 23759)
@@ -158,6 +158,8 @@
int WM_operator_props_popup (struct bContext *C, struct wmOperator *op, struct wmEvent *event);
int WM_operator_redo_popup (struct bContext *C, struct wmOperator *op);
+int WM_operator_confirm_message(struct bContext *C, struct wmOperator *op, char *message);
+
/* operator api */
void WM_operator_free (struct wmOperator *op);
void WM_operator_stack_clear(struct bContext *C);
Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2009-10-10 10:49:17 UTC (rev 23758)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2009-10-10 12:29:11 UTC (rev 23759)
@@ -488,20 +488,26 @@
return OPERATOR_CANCELLED;
}
-/* op->invoke */
-int WM_operator_confirm(bContext *C, wmOperator *op, wmEvent *event)
+/* Can't be used as an invoke directly, needs message arg (can be NULL) */
+int WM_operator_confirm_message(bContext *C, wmOperator *op, char *message)
{
uiPopupMenu *pup;
uiLayout *layout;
pup= uiPupMenuBegin(C, "OK?", ICON_QUESTION);
layout= uiPupMenuLayout(pup);
- uiItemO(layout, NULL, 0, op->type->idname);
+ uiItemO(layout, message, 0, op->type->idname);
uiPupMenuEnd(C, pup);
return OPERATOR_CANCELLED;
}
+
+int WM_operator_confirm(bContext *C, wmOperator *op, wmEvent *event)
+{
+ return WM_operator_confirm_message(C, op, NULL);
+}
+
/* op->invoke, opens fileselect if path property not set, otherwise executes */
int WM_operator_filesel(bContext *C, wmOperator *op, wmEvent *event)
{
More information about the Bf-blender-cvs
mailing list