Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/startup/bl_operators/presets.py8
-rw-r--r--release/scripts/startup/bl_ui/space_dopesheet.py4
-rw-r--r--release/scripts/startup/bl_ui/space_graph.py4
-rw-r--r--release/scripts/startup/bl_ui/space_nla.py4
-rw-r--r--release/scripts/startup/bl_ui/space_outliner.py10
-rw-r--r--release/scripts/startup/bl_ui/space_time.py8
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py30
-rw-r--r--source/blender/editors/animation/drivers.c4
-rw-r--r--source/blender/editors/include/UI_interface.h4
-rw-r--r--source/blender/editors/interface/interface_layout.c25
-rw-r--r--source/blender/editors/interface/interface_region_popover.c9
-rw-r--r--source/blender/editors/transform/transform_ops.c2
-rw-r--r--source/blender/makesrna/intern/rna_ui_api.c11
-rw-r--r--source/blender/windowmanager/WM_keymap.h5
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c7
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c8
16 files changed, 38 insertions, 105 deletions
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 55e61be6370..530194e5bb7 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -263,9 +263,7 @@ class PresetMenu(Panel):
def draw_panel_header(cls, layout):
layout.emboss = 'NONE'
layout.popover(
- cls.bl_space_type,
- cls.bl_region_type,
- cls.__name__,
+ panel=cls.__name__,
icon='PRESET',
text="",
)
@@ -276,9 +274,7 @@ class PresetMenu(Panel):
text = cls.bl_label
layout.popover(
- cls.bl_space_type,
- cls.bl_region_type,
- cls.__name__,
+ panel=cls.__name__,
icon='PRESET',
text=text,
)
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 1b89cfd470d..efd5e195fb8 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -263,9 +263,7 @@ class DOPESHEET_HT_editor_buttons(Header):
row.prop(st.dopesheet, "filter_text", text="")
layout.popover(
- space_type='DOPESHEET_EDITOR',
- region_type='HEADER',
- panel_type="DOPESHEET_PT_filters",
+ panel="DOPESHEET_PT_filters",
text="",
icon='FILTER',
)
diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py
index de5dcdbc36d..eacfb364130 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -60,9 +60,7 @@ class GRAPH_HT_header(Header):
row.operator("graph.ghost_curves_create", text="", icon='GHOST_ENABLED')
layout.popover(
- space_type='GRAPH_EDITOR',
- region_type='HEADER',
- panel_type="GRAPH_PT_filters",
+ panel="GRAPH_PT_filters",
text="",
icon='FILTER',
)
diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py
index 4bf338b89d6..4e20001b133 100644
--- a/release/scripts/startup/bl_ui/space_nla.py
+++ b/release/scripts/startup/bl_ui/space_nla.py
@@ -44,9 +44,7 @@ class NLA_HT_header(Header):
dopesheet_filter(layout, context)
layout.popover(
- space_type='NLA_EDITOR',
- region_type='HEADER',
- panel_type="NLA_PT_filters",
+ panel="NLA_PT_filters",
text="",
icon='FILTER',
)
diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py
index 965de6b1ce1..97fae2690fd 100644
--- a/release/scripts/startup/bl_ui/space_outliner.py
+++ b/release/scripts/startup/bl_ui/space_outliner.py
@@ -49,11 +49,11 @@ class OUTLINER_HT_header(Header):
row = layout.row(align=True)
if display_mode in {'VIEW_LAYER'}:
- row.popover(space_type='OUTLINER',
- region_type='HEADER',
- panel_type="OUTLINER_PT_filter",
- text="",
- icon='FILTER')
+ row.popover(
+ panel="OUTLINER_PT_filter",
+ text="",
+ icon='FILTER',
+ )
elif display_mode in {'LIBRARIES', 'ORPHAN_DATA'}:
row.prop(space, "use_filter_id_type", text="", icon='FILTER')
sub = row.row(align=True)
diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py
index 9db2afd62b4..99e5f6b08e5 100644
--- a/release/scripts/startup/bl_ui/space_time.py
+++ b/release/scripts/startup/bl_ui/space_time.py
@@ -94,15 +94,11 @@ class TIME_MT_editor_menus(Menu):
row = layout.row()
sub = row.row(align=True)
sub.popover(
- space_type='DOPESHEET_EDITOR',
- region_type='HEADER',
- panel_type="TIME_PT_playback",
+ panel="TIME_PT_playback",
text="Playback",
)
sub.popover(
- space_type='DOPESHEET_EDITOR',
- region_type='HEADER',
- panel_type="TIME_PT_keyframing_settings",
+ panel="TIME_PT_keyframing_settings",
text="Keying",
)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 53e4346550e..50914a15fba 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -116,9 +116,7 @@ class VIEW3D_HT_header(Header):
row = layout.row(align=True)
row.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_transform_orientations",
+ panel="VIEW3D_PT_transform_orientations",
text=trans_name,
icon=trans_icon,
)
@@ -155,11 +153,9 @@ class VIEW3D_HT_header(Header):
sub = row.row(align=True)
sub.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_snapping",
+ panel="VIEW3D_PT_snapping",
icon=icon,
- text=""
+ text="",
)
# Proportional editing
@@ -199,9 +195,7 @@ class VIEW3D_HT_header(Header):
act_pivot_point = bpy.types.ToolSettings.bl_rna.properties["transform_pivot_point"].enum_items[pivot_point]
row = layout.row(align=True)
row.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_pivot_point",
+ panel="VIEW3D_PT_pivot_point",
icon=act_pivot_point.icon,
text="",
)
@@ -210,9 +204,7 @@ class VIEW3D_HT_header(Header):
# Viewport Settings
layout.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_object_type_visibility",
+ panel="VIEW3D_PT_object_type_visibility",
icon_value=view.icon_from_show_object_viewport,
text="",
)
@@ -221,13 +213,13 @@ class VIEW3D_HT_header(Header):
row.prop(overlay, "show_overlays", icon='WIRE', text="")
sub = row.row(align=True)
sub.active = overlay.show_overlays
- sub.popover(space_type='VIEW_3D', region_type='HEADER', panel_type="VIEW3D_PT_overlay")
+ sub.popover(panel="VIEW3D_PT_overlay")
row = layout.row(align=True)
row.prop(shading, "type", text="", expand=True)
sub = row.row(align=True)
sub.enabled = shading.type != 'RENDERED'
- sub.popover(space_type='VIEW_3D', region_type='HEADER', panel_type="VIEW3D_PT_shading")
+ sub.popover(panel="VIEW3D_PT_shading")
class VIEW3D_MT_editor_menus(Menu):
@@ -3861,9 +3853,7 @@ class VIEW3D_PT_shading_options(Panel):
sub.active = is_shadows
sub.prop(shading, "shadow_intensity", text="Shadow")
sub.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_shading_options_shadow",
+ panel="VIEW3D_PT_shading_options_shadow",
icon='SCRIPTWIN',
text=""
)
@@ -3879,9 +3869,7 @@ class VIEW3D_PT_shading_options(Panel):
sub.prop(shading, "cavity_ridge_factor")
sub.prop(shading, "cavity_valley_factor")
sub.popover(
- space_type='VIEW_3D',
- region_type='HEADER',
- panel_type="VIEW3D_PT_shading_options_ssao",
+ panel="VIEW3D_PT_shading_options_ssao",
icon='SCRIPTWIN',
text=""
)
diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c
index 99725c7da99..fe57909be75 100644
--- a/source/blender/editors/animation/drivers.c
+++ b/source/blender/editors/animation/drivers.c
@@ -953,7 +953,7 @@ static int add_driver_button_invoke(bContext *C, wmOperator *op, const wmEvent *
/* 2) Show editing panel for setting up this driver */
/* TODO: Use a different one from the editing popever, so we can have the single/all toggle? */
- UI_popover_panel_invoke(C, SPACE_IPO, RGN_TYPE_UI, "GRAPH_PT_drivers_popover", true, op->reports);
+ UI_popover_panel_invoke(C, "GRAPH_PT_drivers_popover", true, op->reports);
}
return OPERATOR_INTERFACE;
@@ -1041,7 +1041,7 @@ static int edit_driver_button_exec(bContext *C, wmOperator *op)
UI_context_active_but_prop_get(C, &ptr, &prop, &index);
if (ptr.id.data && ptr.data && prop) {
- UI_popover_panel_invoke(C, SPACE_IPO, RGN_TYPE_UI, "GRAPH_PT_drivers_popover", true, op->reports);
+ UI_popover_panel_invoke(C, "GRAPH_PT_drivers_popover", true, op->reports);
}
return OPERATOR_INTERFACE;
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index d23748356fa..251f2b92acd 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -444,7 +444,7 @@ void UI_popup_menu_but_set(uiPopupMenu *pup, struct ARegion *butregion, uiBut *b
typedef struct uiPopover uiPopover;
int UI_popover_panel_invoke(
- struct bContext *C, int space_id, int region_id, const char *idname,
+ struct bContext *C, const char *idname,
bool keep_open, struct ReportList *reports);
uiPopover *UI_popover_begin(struct bContext *C, int menu_width) ATTR_NONNULL(1);
@@ -1170,7 +1170,7 @@ void uiItemPopoverPanel_ptr(
const char *name, int icon);
void uiItemPopoverPanel(
uiLayout *layout, struct bContext *C,
- int space_id, int region_id, const char *panelname,
+ const char *panelname,
const char *name, int icon);
void uiItemPopoverPanelFromGroup(
uiLayout *layout, struct bContext *C,
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 16016a799ef..82ed4c5acba 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -2185,32 +2185,13 @@ void uiItemPopoverPanel_ptr(uiLayout *layout, bContext *C, PanelType *pt, const
void uiItemPopoverPanel(
uiLayout *layout, bContext *C,
- int space_id, int region_id, const char *panel_type,
- const char *name, int icon)
+ const char *panel_type, const char *name, int icon)
{
- SpaceType *st = BKE_spacetype_from_id(space_id);
- if (st == NULL) {
- RNA_warning("space type not found %d", space_id);
- return;
- }
- ARegionType *art = BKE_regiontype_from_id(st, region_id);
- if (art == NULL) {
- RNA_warning("region type not found %d", region_id);
- return;
- }
-
- PanelType *pt;
- for (pt = art->paneltypes.first; pt; pt = pt->next) {
- if (STREQ(pt->idname, panel_type)) {
- break;
- }
- }
-
+ PanelType *pt = WM_paneltype_find(panel_type, true);
if (pt == NULL) {
- RNA_warning("area type not found %s", panel_type);
+ RNA_warning("Panel type not found '%s'", panel_type);
return;
}
-
uiItemPopoverPanel_ptr(layout, C, pt, name, icon);
}
diff --git a/source/blender/editors/interface/interface_region_popover.c b/source/blender/editors/interface/interface_region_popover.c
index 35856b6c8b2..376e367f4da 100644
--- a/source/blender/editors/interface/interface_region_popover.c
+++ b/source/blender/editors/interface/interface_region_popover.c
@@ -277,16 +277,13 @@ uiPopupBlockHandle *ui_popover_panel_create(
* \{ */
int UI_popover_panel_invoke(
- bContext *C, int space_id, int region_id, const char *idname,
+ bContext *C, const char *idname,
bool keep_open, ReportList *reports)
{
uiLayout *layout;
- PanelType *pt = UI_paneltype_find(space_id, region_id, idname);
+ PanelType *pt = WM_paneltype_find(idname, true);
if (pt == NULL) {
- BKE_reportf(
- reports, RPT_ERROR,
- "Panel \"%s\" not found (space %d, region %d)",
- idname, space_id, region_id);
+ BKE_reportf(reports, RPT_ERROR, "Panel \"%s\" not found", idname);
return OPERATOR_CANCELLED;
}
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 4de475e05b9..eedf6f50a1f 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -1123,7 +1123,7 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "tool_settings.use_snap");
- WM_keymap_add_panel(keymap, SPACE_VIEW3D, RGN_TYPE_HEADER, "VIEW3D_PT_snapping", TABKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
+ WM_keymap_add_panel(keymap, "VIEW3D_PT_snapping", TABKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
/* Will fall-through to texture-space transform. */
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_transform_axis_target", TKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c
index 74117b43d91..c9ce9ae7961 100644
--- a/source/blender/makesrna/intern/rna_ui_api.c
+++ b/source/blender/makesrna/intern/rna_ui_api.c
@@ -277,8 +277,7 @@ static void rna_uiItemM(
static void rna_uiItemPopoverPanel(
uiLayout *layout, bContext *C,
- int space_type, int region_type, const char *panel_type,
- const char *name, const char *text_ctxt,
+ const char *panel_type, const char *name, const char *text_ctxt,
bool translate, int icon, int icon_value)
{
/* Get translated name (label). */
@@ -288,7 +287,7 @@ static void rna_uiItemPopoverPanel(
icon = icon_value;
}
- uiItemPopoverPanel(layout, C, space_type, region_type, panel_type, name, icon);
+ uiItemPopoverPanel(layout, C, panel_type, name, icon);
}
static void rna_uiItemPopoverPanelFromGroup(
@@ -717,11 +716,7 @@ void RNA_api_ui_layout(StructRNA *srna)
func = RNA_def_function(srna, "popover", "rna_uiItemPopoverPanel");
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
- parm = RNA_def_enum(func, "space_type", rna_enum_space_type_items, 0, "Space Type", "");
- RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
- parm = RNA_def_enum(func, "region_type", rna_enum_region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
- parm = RNA_def_string(func, "panel_type", NULL, 0, "", "Identifier of the panel");
+ parm = RNA_def_string(func, "panel", NULL, 0, "", "Identifier of the panel");
api_ui_item_common(func);
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
parm = RNA_def_property(func, "icon_value", PROP_INT, PROP_UNSIGNED);
diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h
index afde7f64b81..547028c88f9 100644
--- a/source/blender/windowmanager/WM_keymap.h
+++ b/source/blender/windowmanager/WM_keymap.h
@@ -66,10 +66,7 @@ wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, in
int val, int modifier, int keymodifier);
wmKeyMapItem *WM_keymap_add_menu_pie(struct wmKeyMap *keymap, const char *idname, int type,
int val, int modifier, int keymodifier);
-wmKeyMapItem *WM_keymap_add_panel(
- struct wmKeyMap *keymap,
- short space_type, short region_type, const char *idname,
- int type, int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_panel(struct wmKeyMap *keymap, const char *idname, int type, int val, int modifier, int keymodifier);
wmKeyMapItem *WM_keymap_add_tool(struct wmKeyMap *keymap, const char *idname, int type,
int val, int modifier, int keymodifier);
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 82363c4c21b..a95ccf36fdb 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -509,14 +509,9 @@ wmKeyMapItem *WM_keymap_add_menu_pie(wmKeyMap *keymap, const char *idname, int t
return kmi;
}
-wmKeyMapItem *WM_keymap_add_panel(
- wmKeyMap *keymap,
- short space_type, short region_type, const char *idname,
- int type, int val, int modifier, int keymodifier)
+wmKeyMapItem *WM_keymap_add_panel(wmKeyMap *keymap, const char *idname, int type, int val, int modifier, int keymodifier)
{
wmKeyMapItem *kmi = WM_keymap_add_item(keymap, "WM_OT_call_panel", type, val, modifier, keymodifier);
- RNA_enum_set(kmi->ptr, "space_type", space_type);
- RNA_enum_set(kmi->ptr, "region_type", region_type);
RNA_string_set(kmi->ptr, "name", idname);
/* TODO: we might want to disable this. */
RNA_boolean_set(kmi->ptr, "keep_open", false);
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 5cb95f2b3c5..dd9b8324b11 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -1778,11 +1778,9 @@ static int wm_call_panel_exec(bContext *C, wmOperator *op)
{
char idname[BKE_ST_MAXNAME];
RNA_string_get(op->ptr, "name", idname);
- const int space_type = RNA_enum_get(op->ptr, "space_type");
- const int region_type = RNA_enum_get(op->ptr, "region_type");
const bool keep_open = RNA_boolean_get(op->ptr, "keep_open");
- return UI_popover_panel_invoke(C, space_type, region_type, idname, keep_open, op->reports);
+ return UI_popover_panel_invoke(C, idname, keep_open, op->reports);
}
static void WM_OT_call_panel(wmOperatorType *ot)
@@ -1800,10 +1798,6 @@ static void WM_OT_call_panel(wmOperatorType *ot)
prop = RNA_def_string(ot->srna, "name", NULL, BKE_ST_MAXNAME, "Name", "Name of the menu");
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
- prop = RNA_def_enum(ot->srna, "space_type", rna_enum_space_type_items, SPACE_EMPTY, "Space Type", "");
- RNA_def_property_flag(prop, PROP_SKIP_SAVE);
- prop = RNA_def_enum(ot->srna, "region_type", rna_enum_region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- RNA_def_property_flag(prop, PROP_SKIP_SAVE);
prop = RNA_def_boolean(ot->srna, "keep_open", true, "Keep Open", "");
RNA_def_property_flag(prop, PROP_SKIP_SAVE);
}