Tool System: add operator for introspection

In some cases we want associate use an operator for a tool
for introspection, so we can for eg, automatically
use the same binding for in the popup toolbar.

Space-G/R/S for transform now work as accelerator keys again.

Also Space-E for extrude.
This commit is contained in:
2018-07-03 18:33:52 +02:00
parent 51acd54760
commit 81a23d1f2d
4 changed files with 32 additions and 11 deletions

View File

@@ -53,6 +53,7 @@ static void rna_WorkspaceTool_setup(
const char *keymap,
const char *manipulator_group,
const char *data_block,
const char *operator,
int index)
{
bToolRef_Runtime tref_rt = {0};
@@ -61,6 +62,7 @@ static void rna_WorkspaceTool_setup(
STRNCPY(tref_rt.keymap, keymap);
STRNCPY(tref_rt.manipulator_group, manipulator_group);
STRNCPY(tref_rt.data_block, data_block);
STRNCPY(tref_rt.operator, operator);
tref_rt.index = index;
WM_toolsystem_ref_set_from_runtime(C, (WorkSpace *)id, tref, &tref_rt, name);
@@ -110,6 +112,7 @@ void RNA_api_workspace_tool(StructRNA *srna)
RNA_def_string(func, "keymap", NULL, KMAP_MAX_NAME, "Key Map", "");
RNA_def_string(func, "manipulator_group", NULL, MAX_NAME, "Manipulator Group", "");
RNA_def_string(func, "data_block", NULL, MAX_NAME, "Data Block", "");
RNA_def_string(func, "operator", NULL, MAX_NAME, "Operator", "");
RNA_def_int(func, "index", 0, INT_MIN, INT_MAX, "Index", "", INT_MIN, INT_MAX);
/* Access tool operator options (optionally create). */