Gizmo: changes to internal drag logic
Minor changes to recent gizmo click/drag logic 08dff7b40b
Changing the gizmos highlighted part in the invoke_prepare
callback is too error prone since it needs to run
before it's known which operator will execute.
Add back 'drag_part', since it simplifies click-drag use.
While this isn't essential with custom keymaps per gizmo
it avoids having to define a keymap in the case a drag
event needs a different action.
This commit is contained in:
@@ -883,25 +883,19 @@ static uiTooltipData *ui_tooltip_data_from_gizmo(bContext *C, wmGizmo *gz)
|
||||
|
||||
/* Operator Actions */
|
||||
{
|
||||
const bool use_drag = gz->drag_part != -1 && gz->highlight_part != gz->drag_part;
|
||||
const struct {
|
||||
int part;
|
||||
const char *prefix;
|
||||
} gzop_actions[] = {
|
||||
#if 0
|
||||
{
|
||||
.part = gz->highlight_part,
|
||||
.prefix = use_drag ? CTX_TIP_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Click") : NULL,
|
||||
},
|
||||
{
|
||||
.part = use_drag ? gz->drag_part : -1,
|
||||
.prefix = use_drag ? CTX_TIP_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Drag") : NULL,
|
||||
},
|
||||
#else
|
||||
{
|
||||
.part = gz->highlight_part,
|
||||
.prefix = NULL,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.part = gz->highlight_part,
|
||||
.prefix = use_drag ? CTX_TIP_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Click") : NULL,
|
||||
},
|
||||
{
|
||||
.part = use_drag ? gz->drag_part : -1,
|
||||
.prefix = use_drag ? CTX_TIP_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Drag") : NULL,
|
||||
},
|
||||
};
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(gzop_actions); i++) {
|
||||
|
||||
Reference in New Issue
Block a user