[Bf-blender-cvs] [f38c8b84b74] soc-2019-outliner: Outliner: Cleanup merge search menu
Nathan Craddock
noreply at git.blender.org
Wed Jul 24 04:00:27 CEST 2019
Commit: f38c8b84b74d5ef66bc1aad01af5ef5dbe3330a7
Author: Nathan Craddock
Date: Tue Jul 23 19:59:02 2019 -0600
Branches: soc-2019-outliner
https://developer.blender.org/rBf38c8b84b74d5ef66bc1aad01af5ef5dbe3330a7
Outliner: Cleanup merge search menu
Moved the struct out of the intern file to simplify and group
related code better. It was easily possible to move all the
menu code to `outliner_tools.c` so this makes more sense.
Also leads to a cleaner outliner element activate function.
===================================================================
M source/blender/editors/space_outliner/outliner_intern.h
M source/blender/editors/space_outliner/outliner_select.c
M source/blender/editors/space_outliner/outliner_tools.c
===================================================================
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index beb6edb8122..5a02361087c 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -88,11 +88,6 @@ typedef struct TreeElementIcon {
int icon;
} TreeElementIcon;
-typedef struct MergedSearchData {
- TreeElement *parent_element;
- TreeElement *select_element;
-} MergedSearchData;
-
#define TREESTORE_ID_TYPE(_id) \
(ELEM(GS((_id)->name), \
ID_SCE, \
@@ -399,8 +394,9 @@ void OUTLINER_OT_orphans_purge(struct wmOperatorType *ot);
/* outliner_tools.c ---------------------------------------------- */
-struct uiBlock *merged_element_search_menu(struct bContext *C, struct ARegion *ar, void *element);
-void merged_element_search_free_cb(void *arg);
+void merged_element_search_menu_invoke(struct bContext *C,
+ TreeElement *parent_te,
+ TreeElement *activate_te);
void OUTLINER_OT_operation(struct wmOperatorType *ot);
void OUTLINER_OT_scene_operation(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
index 6b4d02b38c3..bd19d4bbedf 100644
--- a/source/blender/editors/space_outliner/outliner_select.c
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -1422,12 +1422,7 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
/* If the selected icon was an aggregate of multiple elements, run the search popup */
if (merged_elements) {
- MergedSearchData *select_data = MEM_callocN(sizeof(MergedSearchData), "merge_search_data");
- select_data->parent_element = te;
- select_data->select_element = activate_te;
-
- UI_popup_block_invoke(
- C, merged_element_search_menu, select_data, merged_element_search_free_cb);
+ merged_element_search_menu_invoke(C, te, activate_te);
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
index 925e18f058b..48aab6efcb4 100644
--- a/source/blender/editors/space_outliner/outliner_tools.c
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -478,7 +478,12 @@ void OUTLINER_OT_scene_operation(wmOperatorType *ot)
}
/* ******************************************** */
-void merged_element_search_free_cb(void *arg)
+typedef struct MergedSearchData {
+ TreeElement *parent_element;
+ TreeElement *select_element;
+} MergedSearchData;
+
+static void merged_element_search_free_cb(void *arg)
{
MEM_freeN(arg);
}
@@ -532,7 +537,7 @@ static void merged_element_search_call_cb(struct bContext *C, void *UNUSED(arg1)
/** Merged element search menu
* Created on activation of a merged or aggregated iconrow icon.
*/
-uiBlock *merged_element_search_menu(bContext *C, ARegion *ar, void *data)
+static uiBlock *merged_element_search_menu(bContext *C, ARegion *ar, void *data)
{
static char search[64] = "";
uiBlock *block;
@@ -574,6 +579,17 @@ uiBlock *merged_element_search_menu(bContext *C, ARegion *ar, void *data)
return block;
}
+void merged_element_search_menu_invoke(bContext *C,
+ TreeElement *parent_te,
+ TreeElement *activate_te)
+{
+ MergedSearchData *select_data = MEM_callocN(sizeof(MergedSearchData), "merge_search_data");
+ select_data->parent_element = parent_te;
+ select_data->select_element = activate_te;
+
+ UI_popup_block_invoke(C, merged_element_search_menu, select_data, merged_element_search_free_cb);
+}
+
static void object_select_cb(bContext *C,
ReportList *UNUSED(reports),
Scene *UNUSED(scene),
More information about the Bf-blender-cvs
mailing list