WM: Don't save mouse-paths to operator history
In preparation for modal operators storing their properties, no need to keep mouse-paths around. Also use generic function for lasso properties.
This commit is contained in:
@@ -1851,8 +1851,6 @@ static int gpsculpt_brush_modal(bContext *C, wmOperator *op, const wmEvent *even
|
||||
|
||||
void GPENCIL_OT_brush_paint(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
/* identifiers */
|
||||
ot->name = "Stroke Sculpt";
|
||||
ot->idname = "GPENCIL_OT_brush_paint";
|
||||
@@ -1869,7 +1867,9 @@ void GPENCIL_OT_brush_paint(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
prop = RNA_def_boolean(ot->srna, "wait_for_input", true, "Wait for Input",
|
||||
"Enter a mini 'sculpt-mode' if enabled, otherwise, exit after drawing a single stroke");
|
||||
|
||||
@@ -2761,8 +2761,10 @@ void GPENCIL_OT_draw(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO | OPTYPE_BLOCKING;
|
||||
|
||||
/* settings for drawing */
|
||||
PropertyRNA *prop;
|
||||
ot->prop = RNA_def_enum(ot->srna, "mode", prop_gpencil_drawmodes, 0, "Mode", "Way to interpret mouse movements");
|
||||
RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
prop = RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
/* NOTE: wait for input is enabled by default, so that all UI code can work properly without needing users to know about this */
|
||||
RNA_def_boolean(ot->srna, "wait_for_input", true, "Wait for Input", "Wait for first click instead of painting immediately");
|
||||
|
||||
@@ -1053,9 +1053,8 @@ void GPENCIL_OT_select_lasso(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
/* properties */
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/* ********************************************** */
|
||||
|
||||
@@ -580,9 +580,7 @@ void MASK_OT_select_lasso(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/********************** circle select operator *********************/
|
||||
|
||||
@@ -2978,8 +2978,6 @@ static int edbm_knife_cut_exec(bContext *C, wmOperator *op)
|
||||
|
||||
void MESH_OT_knife_cut(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
ot->name = "Knife Cut";
|
||||
ot->description = "Cut selected edges and faces into parts";
|
||||
ot->idname = "MESH_OT_knife_cut";
|
||||
@@ -2992,10 +2990,13 @@ void MESH_OT_knife_cut(wmOperatorType *ot)
|
||||
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
|
||||
/* properties */
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
RNA_def_enum(ot->srna, "type", knife_items, KNIFE_EXACT, "Type", "");
|
||||
prop = RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
|
||||
|
||||
/* internal */
|
||||
RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, BC_NUMCURSORS, "Cursor", "", 0, BC_NUMCURSORS);
|
||||
|
||||
@@ -4066,7 +4066,9 @@ void PARTICLE_OT_brush_edit(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
}
|
||||
|
||||
/*********************** cut shape ***************************/
|
||||
|
||||
@@ -506,8 +506,6 @@ static int paint_mask_gesture_lasso_exec(bContext *C, wmOperator *op)
|
||||
|
||||
void PAINT_OT_mask_lasso_gesture(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
ot->name = "Mask Lasso Gesture";
|
||||
ot->idname = "PAINT_OT_mask_lasso_gesture";
|
||||
ot->description = "Add mask within the lasso as you move the brush";
|
||||
@@ -520,8 +518,8 @@ void PAINT_OT_mask_lasso_gesture(wmOperatorType *ot)
|
||||
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
prop = RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
|
||||
/* properties */
|
||||
WM_operator_properties_gesture_lasso_ex(ot, false, false);
|
||||
|
||||
RNA_def_enum(ot->srna, "mode", mode_items, PAINT_MASK_FLOOD_VALUE, "Mode", NULL);
|
||||
RNA_def_float(ot->srna, "value", 1.0, 0, 1.0, "Value",
|
||||
|
||||
@@ -217,7 +217,10 @@ void paint_stroke_operator_properties(wmOperatorType *ot)
|
||||
{0}
|
||||
};
|
||||
|
||||
RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
PropertyRNA *prop;
|
||||
|
||||
prop = RNA_def_collection_runtime(ot->srna, "stroke", &RNA_OperatorStrokeElement, "Stroke", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
RNA_def_enum(ot->srna, "mode", stroke_mode_items, BRUSH_STROKE_NORMAL,
|
||||
"Stroke Mode",
|
||||
|
||||
@@ -572,9 +572,7 @@ void ACTION_OT_select_lasso(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", false, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", true, "Extend", "Extend selection instead of deselecting everything first");
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/* ------------------- */
|
||||
|
||||
@@ -656,9 +656,7 @@ void CLIP_OT_select_lasso(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/********************** circle select operator *********************/
|
||||
|
||||
@@ -486,9 +486,7 @@ void GRAPH_OT_select_lasso(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", false, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", true, "Extend", "Extend selection instead of deselecting everything first");
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/* ------------------- */
|
||||
|
||||
@@ -142,8 +142,6 @@ static int cut_links_exec(bContext *C, wmOperator *op)
|
||||
|
||||
void LOGIC_OT_links_cut(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
ot->name = "Cut Links";
|
||||
ot->idname = "LOGIC_OT_links_cut";
|
||||
ot->description = "Remove logic brick connections";
|
||||
@@ -158,8 +156,10 @@ void LOGIC_OT_links_cut(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
|
||||
|
||||
prop = RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
|
||||
/* properties */
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
/* internal */
|
||||
RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
|
||||
}
|
||||
|
||||
@@ -277,8 +277,6 @@ static int add_reroute_exec(bContext *C, wmOperator *op)
|
||||
|
||||
void NODE_OT_add_reroute(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
ot->name = "Add Reroute";
|
||||
ot->idname = "NODE_OT_add_reroute";
|
||||
ot->description = "Add a reroute node";
|
||||
@@ -293,8 +291,10 @@ void NODE_OT_add_reroute(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
prop = RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
|
||||
/* properties */
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
/* internal */
|
||||
RNA_def_int(ot->srna, "cursor", BC_CROSSCURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
|
||||
}
|
||||
|
||||
@@ -1007,8 +1007,6 @@ static int cut_links_exec(bContext *C, wmOperator *op)
|
||||
|
||||
void NODE_OT_links_cut(wmOperatorType *ot)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
ot->name = "Cut Links";
|
||||
ot->idname = "NODE_OT_links_cut";
|
||||
ot->description = "Use the mouse to cut (remove) some links";
|
||||
@@ -1023,8 +1021,11 @@ void NODE_OT_links_cut(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;
|
||||
|
||||
prop = RNA_def_property(ot->srna, "path", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_struct_runtime(prop, &RNA_OperatorMousePath);
|
||||
/* properties */
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
/* internal */
|
||||
RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
|
||||
}
|
||||
|
||||
@@ -725,9 +725,7 @@ void NODE_OT_select_lasso(wmOperatorType *ot)
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
/* properties */
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
/* ****** Select/Deselect All ****** */
|
||||
|
||||
@@ -914,9 +914,8 @@ void VIEW3D_OT_select_lasso(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
/* properties */
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3221,9 +3221,8 @@ static void UV_OT_select_lasso(wmOperatorType *ot)
|
||||
/* flags */
|
||||
ot->flag = OPTYPE_UNDO;
|
||||
|
||||
RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_boolean(ot->srna, "deselect", 0, "Deselect", "Deselect rather than select items");
|
||||
RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection instead of deselecting everything first");
|
||||
/* properties */
|
||||
WM_operator_properties_gesture_lasso(ot);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -309,6 +309,8 @@ void WM_operator_properties_border(struct wmOperatorType *ot);
|
||||
void WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect);
|
||||
void WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect);
|
||||
void WM_operator_properties_gesture_border(struct wmOperatorType *ot, bool extend);
|
||||
void WM_operator_properties_gesture_lasso_ex(struct wmOperatorType *ot, bool deselect, bool extend);
|
||||
void WM_operator_properties_gesture_lasso(struct wmOperatorType *ot);
|
||||
void WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor);
|
||||
void WM_operator_properties_gesture_circle(struct wmOperatorType *ot);
|
||||
void WM_operator_properties_mouse_select(struct wmOperatorType *ot);
|
||||
|
||||
@@ -238,6 +238,28 @@ void WM_operator_properties_gesture_border(wmOperatorType *ot, bool extend)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Use with #WM_gesture_lasso_invoke
|
||||
*/
|
||||
void WM_operator_properties_gesture_lasso_ex(wmOperatorType *ot, bool deselect, bool extend)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
prop = RNA_def_collection_runtime(ot->srna, "path", &RNA_OperatorMousePath, "Path", "");
|
||||
RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
|
||||
|
||||
if (deselect) {
|
||||
RNA_def_boolean(ot->srna, "deselect", false, "Deselect", "Deselect rather than select items");
|
||||
}
|
||||
if (extend) {
|
||||
RNA_def_boolean(ot->srna, "extend", true, "Extend", "Extend selection instead of deselecting everything first");
|
||||
}
|
||||
}
|
||||
|
||||
void WM_operator_properties_gesture_lasso(wmOperatorType *ot)
|
||||
{
|
||||
WM_operator_properties_gesture_lasso_ex(ot, true, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Use with #WM_gesture_straightline_invoke
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user