UI: Add Gizmos toggle to SpaceImage
This patch adds the show_gizmo and show_gizmo_navigate properties to the Image and UV editors. Image Editor: {F13026317} UV Editor: {F13026319} VIDEO: {F13026324} Reviewed By: #user_interface, campbellbarton Differential Revision: https://developer.blender.org/D14755
This commit is contained in:
parent
319a772b7f
commit
ed0964c976
|
@ -1300,6 +1300,8 @@ def km_uv_editor(params):
|
|||
{"properties": [("data_path", 'tool_settings.use_snap_uv')]}),
|
||||
("wm.context_menu_enum", {"type": 'TAB', "value": 'PRESS', "shift": True, "ctrl": True},
|
||||
{"properties": [("data_path", 'tool_settings.snap_uv_element')]}),
|
||||
("wm.context_toggle", {"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
|
||||
{"properties": [("data_path", 'space_data.show_gizmo')]}),
|
||||
*_template_items_context_menu("IMAGE_MT_uvs_context_menu", params.context_menu_event),
|
||||
])
|
||||
|
||||
|
@ -1967,6 +1969,8 @@ def km_image(params):
|
|||
),
|
||||
("image.render_border", {"type": 'B', "value": 'PRESS', "ctrl": True}, None),
|
||||
("image.clear_render_border", {"type": 'B', "value": 'PRESS', "ctrl": True, "alt": True}, None),
|
||||
("wm.context_toggle", {"type": 'ACCENT_GRAVE', "value": 'PRESS', "ctrl": True},
|
||||
{"properties": [("data_path", 'space_data.show_gizmo')]}),
|
||||
*_template_items_context_menu("IMAGE_MT_mask_context_menu", params.context_menu_event),
|
||||
])
|
||||
|
||||
|
|
|
@ -806,6 +806,13 @@ class IMAGE_HT_header(Header):
|
|||
|
||||
layout.separator_spacer()
|
||||
|
||||
# Gizmo toggle & popover.
|
||||
row = layout.row(align=True)
|
||||
row.prop(sima, "show_gizmo", icon='GIZMO', text="")
|
||||
sub = row.row(align=True)
|
||||
sub.active = sima.show_gizmo
|
||||
sub.popover(panel="IMAGE_PT_gizmo_display", text="")
|
||||
|
||||
# Overlay toggle & popover
|
||||
row = layout.row(align=True)
|
||||
row.prop(overlay, "show_overlays", icon='OVERLAY', text="")
|
||||
|
@ -1453,6 +1460,26 @@ class IMAGE_PT_uv_cursor(Panel):
|
|||
col.prop(sima, "cursor_location", text="Location")
|
||||
|
||||
|
||||
class IMAGE_PT_gizmo_display(Panel):
|
||||
bl_space_type = 'IMAGE_EDITOR'
|
||||
bl_region_type = 'HEADER'
|
||||
bl_label = "Gizmos"
|
||||
bl_ui_units_x = 8
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
view = context.space_data
|
||||
|
||||
col = layout.column()
|
||||
col.label(text="Viewport Gizmos")
|
||||
col.separator()
|
||||
|
||||
col.active = view.show_gizmo
|
||||
colsub = col.column()
|
||||
colsub.prop(view, "show_gizmo_navigate", text="Navigate")
|
||||
|
||||
|
||||
class IMAGE_PT_overlay(Panel):
|
||||
bl_space_type = 'IMAGE_EDITOR'
|
||||
bl_region_type = 'HEADER'
|
||||
|
@ -1680,6 +1707,7 @@ classes = (
|
|||
IMAGE_PT_scope_sample,
|
||||
IMAGE_PT_uv_cursor,
|
||||
IMAGE_PT_annotation,
|
||||
IMAGE_PT_gizmo_display,
|
||||
IMAGE_PT_overlay,
|
||||
IMAGE_PT_overlay_guides,
|
||||
IMAGE_PT_overlay_uv_edit,
|
||||
|
|
|
@ -130,6 +130,13 @@ static bool WIDGETGROUP_navigate_poll(const bContext *C, wmGizmoGroupType *UNUSE
|
|||
}
|
||||
break;
|
||||
}
|
||||
case SPACE_IMAGE: {
|
||||
const SpaceImage *sima = static_cast<const SpaceImage *>(area->spacedata.first);
|
||||
if (sima->gizmo_flag & (SI_GIZMO_HIDE | SI_GIZMO_HIDE_NAVIGATE)) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1223,7 +1223,8 @@ typedef struct SpaceImage {
|
|||
char dt_uvstretch;
|
||||
char around;
|
||||
|
||||
char _pad1[4];
|
||||
char gizmo_flag;
|
||||
char _pad1[3];
|
||||
|
||||
int flag;
|
||||
|
||||
|
@ -1321,6 +1322,13 @@ typedef enum eSpaceImageOverlay_Flag {
|
|||
SI_OVERLAY_SHOW_GRID_BACKGROUND = (1 << 1),
|
||||
} eSpaceImageOverlay_Flag;
|
||||
|
||||
/** #SpaceImage.gizmo_flag */
|
||||
enum {
|
||||
/** All gizmos. */
|
||||
SI_GIZMO_HIDE = (1 << 0),
|
||||
SI_GIZMO_HIDE_NAVIGATE = (1 << 1),
|
||||
};
|
||||
|
||||
/** Keep in sync with `STEPS_LEN` in `grid_frag.glsl`. */
|
||||
#define SI_GRID_STEPS_LEN 8
|
||||
|
||||
|
|
|
@ -5407,6 +5407,17 @@ static void rna_def_space_image(BlenderRNA *brna)
|
|||
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_ui_text(prop, "Show Mask Editor", "Show Mask editing related properties");
|
||||
|
||||
/* Gizmo Toggles. */
|
||||
prop = RNA_def_property(srna, "show_gizmo", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "gizmo_flag", SI_GIZMO_HIDE);
|
||||
RNA_def_property_ui_text(prop, "Show Gizmo", "Show gizmos of all types");
|
||||
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
|
||||
|
||||
prop = RNA_def_property(srna, "show_gizmo_navigate", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "gizmo_flag", SI_GIZMO_HIDE_NAVIGATE);
|
||||
RNA_def_property_ui_text(prop, "Navigate Gizmo", "Viewport navigation gizmo");
|
||||
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
|
||||
|
||||
/* Overlays */
|
||||
prop = RNA_def_property(srna, "overlay", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_flag(prop, PROP_NEVER_NULL);
|
||||
|
|
Loading…
Reference in New Issue