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
path: root/source
diff options
context:
space:
mode:
authorMichael Fox <mfoxdogg@gmail.com>2009-01-18 04:26:20 +0300
committerMichael Fox <mfoxdogg@gmail.com>2009-01-18 04:26:20 +0300
commitabfc78afaf7bf5a482f3a821df3ae96ad7c26123 (patch)
treea6103829baf667c126eb5a6404b08d992cf4563d /source
parent0f4f89f19a664ee300b1da0e71cbf87a3536ebee (diff)
2.5
****** -ported some of the Object mode select menu to use uiDefMenuButO - select random/layer still uses the hard coded value as no sutible popup exists - select by type suffers from random crashes, somthing to do with Context - need some way of doing sub menu's using the operator's invoke - the old menu is just #if'ed out - and did a little hous cleaning aswel - added some undo pushes to the select operators
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/object/object_edit.c7
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c35
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c4
3 files changed, 22 insertions, 24 deletions
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 57a766897a2..fb4e50ab4ab 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1157,6 +1157,7 @@ static int object_select_by_type_exec(bContext *C, wmOperator *op)
CTX_DATA_END;
/* undo? */
+ ED_undo_push(C,"Select By Type");
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
return OPERATOR_FINISHED;
@@ -1337,6 +1338,7 @@ static int object_select_by_layer_exec(bContext *C, wmOperator *op)
CTX_DATA_END;
/* undo? */
+ ED_undo_push(C,"Select By Layer");
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
return OPERATOR_FINISHED;
@@ -1368,6 +1370,7 @@ static int object_select_invert_exec(bContext *C, wmOperator *op)
CTX_DATA_END;
/* undo? */
+ ED_undo_push(C,"Selection Invert");
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
return OPERATOR_FINISHED;
@@ -1411,6 +1414,7 @@ static int object_de_select_all_exec(bContext *C, wmOperator *op)
/* undo? */
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
+ ED_undo_push(C,"(De)Select All");
return OPERATOR_FINISHED;
}
@@ -1443,6 +1447,7 @@ static int object_select_random_exec(bContext *C, wmOperator *op)
CTX_DATA_END;
/* undo? */
+ ED_undo_push(C,"Select Random");
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
return OPERATOR_FINISHED;
@@ -2760,7 +2765,7 @@ static int object_set_center_exec(bContext *C, wmOperator *op)
if (tot_change) {
ED_anim_dag_flush_update(C);
allqueue(REDRAWVIEW3D, 0);
- BIF_undo_push("Do Center");
+ ED_undo_push(C,"Do Center");
}
/* Warn if any errors occured */
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 33f7308ba03..71824b477ba 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -900,34 +900,14 @@ static uiBlock *view3d_select_object_groupedmenu(bContext *C, uiMenuBlockHandle
return block;
}
-void do_view3d_select_objectmenu(bContext *C, void *arg, int event)
-{
-#if 0
- switch(event) {
-
- case 0: /* border select */
- borderselect();
- break;
- case 1: /* Select/Deselect All */
- deselectall();
- break;
- case 2: /* inverse */
- selectswap();
- break;
- case 3: /* random */
- selectrandom();
- break;
- }
- allqueue(REDRAWVIEW3D, 0);
-#endif
-}
-
static uiBlock *view3d_select_objectmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_unused)
{
uiBlock *block;
short yco= 0, menuwidth=120;
block= uiBeginBlock(C, handle->region, "view3d_select_objectmenu", UI_EMBOSSP, UI_HELV);
+
+#if 0
uiBlockSetButmFunc(block, do_view3d_select_objectmenu, NULL);
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Border Select|B", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
@@ -945,6 +925,17 @@ static uiBlock *view3d_select_objectmenu(bContext *C, uiMenuBlockHandle *handle,
uiDefIconTextBlockBut(block, view3d_select_object_linkedmenu, NULL, ICON_RIGHTARROW_THIN, "Linked", 0, yco-=20, 120, 19, "");
uiDefIconTextBlockBut(block, view3d_select_object_groupedmenu, NULL, ICON_RIGHTARROW_THIN, "Grouped", 0, yco-=20, 120, 19, "");
+#endif
+ uiDefMenuButO(block, "VIEW3D_OT_borderselect", "Border Select");
+
+ uiDefMenuSep(block);
+
+ uiDefMenuButO(block, "OBJECT_OT_de_select_all", "Select/Deselect All");
+ uiDefMenuButO(block, "OBJECT_OT_select_invert", "Inverse");
+ uiDefMenuButO(block, "OBJECT_OT_select_random", "Random");
+ uiDefMenuButO(block, "OBJECT_OT_select_by_layer", "Select All by Layer");
+ uiDefMenuButO(block, "OBJECT_OT_select_by_type", "Select All by Type");
+
if(handle->region->alignment==RGN_ALIGN_TOP) {
uiBlockSetDirection(block, UI_DOWN);
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 29990511391..d6f6b0439fd 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -1477,7 +1477,7 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op)
}
MEM_freeN(vbuffer);
}
-
+ ED_undo_push(C,"Border Select");
return OPERATOR_FINISHED;
}
@@ -1542,6 +1542,7 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
else
mouse_select(C, mval, extend, 0);
+ ED_undo_push(C,"Mouse Select");
/* allowing tweaks */
return OPERATOR_PASS_THROUGH;
}
@@ -1770,6 +1771,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
}
+ ED_undo_push(C,"Circle Select");
return OPERATOR_FINISHED;
}