[Bf-blender-cvs] [b557e4317d4] master: Gizmo toggle for Movie Clip Editor

Ejner Fergo noreply at git.blender.org
Mon Nov 14 14:35:39 CET 2022


Commit: b557e4317d473e85608e90a12e66880ce73e80ac
Author: Ejner Fergo
Date:   Mon Nov 14 14:27:01 2022 +0100
Branches: master
https://developer.blender.org/rBb557e4317d473e85608e90a12e66880ce73e80ac

Gizmo toggle for Movie Clip Editor

This patch adds a "Show Gizmo" toggle to the Movie Clip Editor header, for consistency with other editors.

{F13892765}

Differential Revision: https://developer.blender.org/D16437

===================================================================

M	release/scripts/startup/bl_ui/space_clip.py
M	source/blender/editors/interface/view2d_gizmo_navigate.cc
M	source/blender/makesdna/DNA_space_types.h
M	source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py
index 54b3a20f966..310a79d4cb1 100644
--- a/release/scripts/startup/bl_ui/space_clip.py
+++ b/release/scripts/startup/bl_ui/space_clip.py
@@ -253,6 +253,12 @@ class CLIP_HT_header(Header):
         else:
             self._draw_masking(context)
 
+        # Gizmo toggle & popover.
+        row = layout.row(align=True)
+        row.prop(sc, "show_gizmo", icon='GIZMO', text="")
+        sub = row.row(align=True)
+        sub.active = sc.show_gizmo
+        sub.popover(panel="CLIP_PT_gizmo_display", text="")
 
 class CLIP_MT_tracking_editor_menus(Menu):
     bl_idname = "CLIP_MT_tracking_editor_menus"
@@ -1897,6 +1903,25 @@ class CLIP_MT_view_pie(Menu):
             pie.separator()
             pie.operator("clip.graph_center_current_frame")
 
+class CLIP_PT_gizmo_display(Panel):
+    bl_space_type = 'CLIP_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")
+
 
 classes = (
     CLIP_UL_tracking_objects,
@@ -1967,6 +1992,7 @@ classes = (
     CLIP_MT_reconstruction_pie,
     CLIP_MT_solving_pie,
     CLIP_MT_view_pie,
+    CLIP_PT_gizmo_display,
 )
 
 if __name__ == "__main__":  # only for live edit.
diff --git a/source/blender/editors/interface/view2d_gizmo_navigate.cc b/source/blender/editors/interface/view2d_gizmo_navigate.cc
index f754b2ab088..05cb955c660 100644
--- a/source/blender/editors/interface/view2d_gizmo_navigate.cc
+++ b/source/blender/editors/interface/view2d_gizmo_navigate.cc
@@ -136,6 +136,13 @@ static bool WIDGETGROUP_navigate_poll(const bContext *C, wmGizmoGroupType * /*gz
       }
       break;
     }
+    case SPACE_CLIP: {
+      const SpaceClip *sc = static_cast<const SpaceClip *>(area->spacedata.first);
+      if (sc->gizmo_flag & (SCLIP_GIZMO_HIDE | SCLIP_GIZMO_HIDE_NAVIGATE)) {
+        return false;
+      }
+      break;
+    }
   }
   return true;
 }
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index d6d5f64a6a6..36c15b6e106 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -1735,7 +1735,8 @@ typedef struct SpaceClip {
   char _pad0[6];
   /* End 'SpaceLink' header. */
 
-  char _pad1[4];
+  char gizmo_flag;
+  char _pad1[3];
 
   /** User defined offset, image is centered. */
   float xof, yof;
@@ -1836,6 +1837,13 @@ typedef enum eSpaceClip_GPencil_Source {
   SC_GPENCIL_SRC_TRACK = 1,
 } eSpaceClip_GPencil_Source;
 
+/** #SpaceClip.gizmo_flag */
+enum {
+  /** All gizmos. */
+  SCLIP_GIZMO_HIDE = (1 << 0),
+  SCLIP_GIZMO_HIDE_NAVIGATE = (1 << 1),
+};
+
 /** \} */
 
 /* -------------------------------------------------------------------- */
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index c35917bd714..20ef064af39 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -7764,6 +7764,17 @@ static void rna_def_space_clip(BlenderRNA *brna)
   RNA_def_property_enum_items(prop, pivot_items);
   RNA_def_property_ui_text(prop, "Pivot Point", "Pivot center for rotation/scaling");
   RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL);
+
+  /* Gizmo Toggles. */
+  prop = RNA_def_property(srna, "show_gizmo", PROP_BOOLEAN, PROP_NONE);
+  RNA_def_property_boolean_negative_sdna(prop, NULL, "gizmo_flag", SCLIP_GIZMO_HIDE);
+  RNA_def_property_ui_text(prop, "Show Gizmo", "Show gizmos of all types");
+  RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL);
+
+  prop = RNA_def_property(srna, "show_gizmo_navigate", PROP_BOOLEAN, PROP_NONE);
+  RNA_def_property_boolean_negative_sdna(prop, NULL, "gizmo_flag", SCLIP_GIZMO_HIDE_NAVIGATE);
+  RNA_def_property_ui_text(prop, "Navigate Gizmo", "Viewport navigation gizmo");
+  RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL);
 }
 
 static void rna_def_spreadsheet_column_id(BlenderRNA *brna)



More information about the Bf-blender-cvs mailing list