Revision: 41930
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41930
Author: nazgul
Date: 2011-11-16 19:22:14 +0000 (Wed, 16 Nov 2011)
Log Message:
-----------
Fix #29260: Missing "Extend" parameter for Border Select
Added "Extend" flag to border select operators for editors:
- UV Editor
- Sequencer
- NLA
- Info Space
- Graph Editor
- File Browser
- Clip Editor
- Action Editor
- Channels and markers regions
Can be used for custom keymaps.
Modified Paths:
--------------
trunk/blender/source/blender/editors/animation/anim_channels_edit.c
trunk/blender/source/blender/editors/animation/anim_markers.c
trunk/blender/source/blender/editors/space_action/action_select.c
trunk/blender/source/blender/editors/space_clip/tracking_ops.c
trunk/blender/source/blender/editors/space_file/file_ops.c
trunk/blender/source/blender/editors/space_graph/graph_select.c
trunk/blender/source/blender/editors/space_info/info_report.c
trunk/blender/source/blender/editors/space_nla/nla_select.c
trunk/blender/source/blender/editors/space_node/node_select.c
trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c
trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
Modified: trunk/blender/source/blender/editors/animation/anim_channels_edit.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_channels_edit.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/animation/anim_channels_edit.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -1917,7 +1917,7 @@
bAnimContext ac;
rcti rect;
short selectmode=0;
- int gesture_mode;
+ int gesture_mode, extend;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
@@ -1928,8 +1928,13 @@
rect.ymin= RNA_int_get(op->ptr, "ymin");
rect.xmax= RNA_int_get(op->ptr, "xmax");
rect.ymax= RNA_int_get(op->ptr, "ymax");
-
+
gesture_mode= RNA_int_get(op->ptr, "gesture_mode");
+ extend= RNA_boolean_get(op->ptr, "extend");
+
+ if(!extend)
+ ANIM_deselect_anim_channels(&ac, ac.data, ac.datatype, 1,
ACHANNEL_SETFLAG_CLEAR);
+
if (gesture_mode == GESTURE_MODAL_SELECT)
selectmode = ACHANNEL_SETFLAG_ADD;
else
@@ -1963,7 +1968,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* rna */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
}
/* ******************* Rename Operator ***************************** */
Modified: trunk/blender/source/blender/editors/animation/anim_markers.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_markers.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/animation/anim_markers.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -1147,6 +1147,7 @@
int xmax= RNA_int_get(op->ptr, "xmax");
int ymin= RNA_int_get(op->ptr, "ymin");
int ymax= RNA_int_get(op->ptr, "ymax");
+ int extend= RNA_boolean_get(op->ptr, "extend");
UI_view2d_region_to_view(v2d, xmin, ymin, &xminf, &yminf);
UI_view2d_region_to_view(v2d, xmax, ymax, &xmaxf, &ymaxf);
@@ -1166,6 +1167,9 @@
break;
}
}
+ else if (!extend) {
+ marker->flag &= ~SELECT;
+ }
}
WM_event_add_notifier(C, NC_SCENE|ND_MARKERS, NULL);
@@ -1198,7 +1202,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* rna */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
}
/* *********************** (de)select all ***************** */
Modified: trunk/blender/source/blender/editors/space_action/action_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_action/action_select.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_action/action_select.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -269,11 +269,16 @@
bAnimContext ac;
rcti rect;
short mode=0, selectmode=0;
- int gesture_mode;
+ int gesture_mode, extend;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
+
+ /* clear all selection if not extending selection */
+ extend= RNA_boolean_get(op->ptr, "extend");
+ if (!extend)
+ deselect_action_keys(&ac, 1, SELECT_SUBTRACT);
/* get settings from operator */
rect.xmin= RNA_int_get(op->ptr, "xmin");
@@ -330,7 +335,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* rna */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
ot->prop= RNA_def_boolean(ot->srna, "axis_range", 0, "Axis Range", "");
}
Modified: trunk/blender/source/blender/editors/space_clip/tracking_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_clip/tracking_ops.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_clip/tracking_ops.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -869,7 +869,7 @@
MovieTrackingTrack *track;
rcti rect;
rctf rectf;
- int change= 0, mode;
+ int change= 0, mode, extend;
/* get rectangle from operator */
rect.xmin= RNA_int_get(op->ptr, "xmin");
@@ -881,6 +881,7 @@
ED_clip_point_stable_pos(C, rect.xmax, rect.ymax, &rectf.xmax,
&rectf.ymax);
mode= RNA_int_get(op->ptr, "gesture_mode");
+ extend= RNA_boolean_get(op->ptr, "extend");
/* do actual selection */
track= clip->tracking.tracks.first;
@@ -888,8 +889,13 @@
if((track->flag&TRACK_HIDDEN)==0) {
MovieTrackingMarker *marker=
BKE_tracking_get_marker(track, sc->user.framenr);
- if(MARKER_VISIBLE(sc, marker) && BLI_in_rctf(&rectf,
marker->pos[0], marker->pos[1])) {
- BKE_tracking_track_flag(track, TRACK_AREA_ALL,
SELECT, mode!=GESTURE_MODAL_SELECT);
+ if(MARKER_VISIBLE(sc, marker)) {
+ if(BLI_in_rctf(&rectf, marker->pos[0],
marker->pos[1])) {
+ BKE_tracking_track_flag(track,
TRACK_AREA_ALL, SELECT, mode!=GESTURE_MODAL_SELECT);
+ }
+ else if(!extend) {
+ BKE_tracking_track_flag(track,
TRACK_AREA_ALL, SELECT, 1);
+ }
change= 1;
}
@@ -921,10 +927,10 @@
ot->poll= ED_space_clip_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_UNDO;
/* properties */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
}
/********************** circle select operator *********************/
Modified: trunk/blender/source/blender/editors/space_file/file_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_ops.c 2011-11-16
19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_file/file_ops.c 2011-11-16
19:22:14 UTC (rev 41930)
@@ -273,13 +273,20 @@
ARegion *ar= CTX_wm_region(C);
rcti rect;
FileSelect ret;
+ int extend= RNA_boolean_get(op->ptr, "extend");
+ short select= (RNA_int_get(op->ptr,
"gesture_mode")==GESTURE_MODAL_SELECT);
- short select= (RNA_int_get(op->ptr,
"gesture_mode")==GESTURE_MODAL_SELECT);
rect.xmin= RNA_int_get(op->ptr, "xmin");
rect.ymin= RNA_int_get(op->ptr, "ymin");
rect.xmax= RNA_int_get(op->ptr, "xmax");
rect.ymax= RNA_int_get(op->ptr, "ymax");
+ if(!extend) {
+ SpaceFile *sfile= CTX_wm_space_file(C);
+
+ file_deselect_all(sfile, SELECTED_FILE);
+ }
+
BLI_isect_rcti(&(ar->v2d.mask), &rect, &rect);
ret = file_select(C, &rect, select ? FILE_SEL_ADD : FILE_SEL_REMOVE, 0);
@@ -306,7 +313,7 @@
ot->cancel= WM_border_select_cancel;
/* rna */
- WM_operator_properties_gesture_border(ot, 0);
+ WM_operator_properties_gesture_border(ot, 1);
}
static int file_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
Modified: trunk/blender/source/blender/editors/space_graph/graph_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_graph/graph_select.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_graph/graph_select.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -289,11 +289,17 @@
rcti rect;
short mode=0, selectmode=0;
short incl_handles;
+ int extend;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
-
+
+ /* clear all selection if not extending selection */
+ extend= RNA_boolean_get(op->ptr, "extend");
+ if (!extend)
+ deselect_graph_keys(&ac, 1, SELECT_SUBTRACT, TRUE);
+
/* get select mode
* - 'gesture_mode' from the operator specifies how to select
* - 'include_handles' from the operator specifies whether to
include handles in the selection
@@ -354,7 +360,7 @@
ot->flag= OPTYPE_REGISTER/*|OPTYPE_UNDO*/;
/* rna */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
ot->prop= RNA_def_boolean(ot->srna, "axis_range", 0, "Axis Range", "");
RNA_def_boolean(ot->srna, "include_handles", 0, "Include Handles", "Are
handles tested individually against the selection criteria");
Modified: trunk/blender/source/blender/editors/space_info/info_report.c
===================================================================
--- trunk/blender/source/blender/editors/space_info/info_report.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_info/info_report.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -220,6 +220,7 @@
ARegion *ar= CTX_wm_region(C);
ReportList *reports= CTX_wm_reports(C);
int report_mask= info_report_mask(sinfo);
+ int extend= RNA_boolean_get(op->ptr, "extend");
Report *report_min, *report_max, *report;
//View2D *v2d= UI_view2d_fromcontext(C);
@@ -244,6 +245,16 @@
UI_view2d_region_to_view(v2d, mval[0], mval[1], &rectf.xmax,
&rectf.ymax);
*/
+ if(!extend) {
+ for(report= reports->list.first; report; report= report->next) {
+
+ if((report->type & report_mask)==0)
+ continue;
+
+ report->flag &= ~SELECT;
+ }
+ }
+
report_min= info_text_pick(sinfo, ar, reports, rect.ymax);
report_max= info_text_pick(sinfo, ar, reports, rect.ymin);
@@ -308,7 +319,7 @@
/* ot->flag= OPTYPE_REGISTER; */
/* rna */
- WM_operator_properties_gesture_border(ot, FALSE);
+ WM_operator_properties_gesture_border(ot, TRUE);
}
Modified: trunk/blender/source/blender/editors/space_nla/nla_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_nla/nla_select.c 2011-11-16
19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_nla/nla_select.c 2011-11-16
19:22:14 UTC (rev 41930)
@@ -282,11 +282,17 @@
bAnimContext ac;
rcti rect;
short mode=0, selectmode=0;
+ int extend;
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
-
+
+ /* clear all selection if not extending selection */
+ extend= RNA_boolean_get(op->ptr, "extend");
+ if (!extend)
+ deselect_nla_strips(&ac, DESELECT_STRIPS_TEST, SELECT_SUBTRACT);
+
/* get settings from operator */
rect.xmin= RNA_int_get(op->ptr, "xmin");
rect.ymin= RNA_int_get(op->ptr, "ymin");
@@ -341,7 +347,7 @@
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* rna */
- WM_operator_properties_gesture_border(ot, 0);
+ WM_operator_properties_gesture_border(ot, 1);
RNA_def_boolean(ot->srna, "axis_range", 0, "Axis Range", "");
}
Modified: trunk/blender/source/blender/editors/space_node/node_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_select.c
2011-11-16 19:17:33 UTC (rev 41929)
+++ trunk/blender/source/blender/editors/space_node/node_select.c
2011-11-16 19:22:14 UTC (rev 41930)
@@ -164,6 +164,7 @@
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs