UI: Update Clip Tracking menus

- Add operators that previously could only be found in panels
- Re order menus to match other menus
- Organize Code

|Before|After|
|{F9493583}|{F9493584}|
|{F9493585}|{F9493586}|
|{F9493588}|{F9493590}|
|{F9493591}|{F9493592}|

Reviewed By: sergey, sebastian_k, #motion_tracking

Differential Revision: https://developer.blender.org/D9781
This commit is contained in:
Aaron Carlisle 2021-01-12 14:43:00 -05:00 committed by Aaron Carlisle
parent bf5d45fd99
commit 6c15b70279
1 changed files with 154 additions and 64 deletions

View File

@ -303,11 +303,11 @@ class CLIP_MT_masking_editor_menus(Menu):
if clip:
layout.menu("MASK_MT_select")
layout.menu("CLIP_MT_clip") # XXX - remove?
layout.menu("CLIP_MT_clip")
layout.menu("MASK_MT_add")
layout.menu("MASK_MT_mask")
else:
layout.menu("CLIP_MT_clip") # XXX - remove?
layout.menu("CLIP_MT_clip")
class CLIP_PT_clip_view_panel:
@ -1330,10 +1330,17 @@ class CLIP_MT_clip(Menu):
layout.operator("clip.open")
if clip:
layout.operator("clip.set_scene_frames")
layout.operator("clip.set_center_principal")
layout.operator("clip.prefetch")
layout.operator("clip.reload")
layout.menu("CLIP_MT_proxy")
layout.separator()
layout.operator("clip.set_viewport_background")
layout.operator("clip.setup_tracking_scene")
class CLIP_MT_proxy(Menu):
bl_label = "Proxy"
@ -1345,66 +1352,161 @@ class CLIP_MT_proxy(Menu):
layout.operator("clip.delete_proxy")
class CLIP_MT_track(Menu):
bl_label = "Track"
class CLIP_MT_track_transform(Menu):
bl_label = "Transform"
def draw(self, _context):
layout = self.layout
layout.operator("clip.clear_solution")
layout.operator("clip.solve_camera")
layout.operator("transform.translate")
layout.operator("transform.rotate")
layout.operator("transform.resize")
layout.separator()
props = layout.operator("clip.clear_track_path", text="Clear After")
props.clear_active = False
props.action = 'REMAINED'
props = layout.operator("clip.clear_track_path", text="Clear Before")
class CLIP_MT_track_motion(Menu):
bl_label = "Track Motion"
def draw(self, _context):
layout = self.layout
props = layout.operator("clip.track_markers", text="Backwards")
props.backwards = True
props.sequence = True
props = layout.operator("clip.track_markers", text="Frame Backwards")
props.backwards = True
props.sequence = False
props = layout.operator("clip.track_markers", text="Forwards")
props.backwards = False
props.sequence = True
props = layout.operator("clip.track_markers", text="Frame Forwards")
props.backwards = False
props.sequence = False
class CLIP_MT_track_clear(Menu):
bl_label = "Clear"
def draw(self, _context):
layout = self.layout
props = layout.operator("clip.clear_track_path", text="Before")
props.clear_active = False
props.action = 'UPTO'
props = layout.operator("clip.clear_track_path", text="Clear Track Path")
props = layout.operator("clip.clear_track_path", text="After")
props.clear_active = False
props.action = 'REMAINED'
props = layout.operator("clip.clear_track_path", text="Track Path")
props.clear_active = False
props.action = 'ALL'
layout.separator()
layout.operator("clip.clear_solution", text="Solution")
class CLIP_MT_track_refine(Menu):
bl_label = "Refine"
def draw(self, _context):
layout = self.layout
props = layout.operator("clip.refine_markers", text="Backwards")
props.backwards = True
props = layout.operator("clip.refine_markers", text="Fowards")
props.backwards = False
class CLIP_MT_track_animation(Menu):
bl_label = "Animation"
def draw(self, _context):
layout = self.layout
layout.operator("clip.keyframe_insert")
layout.operator("clip.keyframe_delete")
class CLIP_MT_track_visibility(Menu):
bl_label = "Show/Hide"
def draw(self, _context):
layout = self.layout
layout.operator("clip.hide_tracks_clear")
layout.operator("clip.hide_tracks", text="Hide Selected").unselected = False
layout.operator("clip.hide_tracks", text="Hide Unselected").unselected = True
class CLIP_MT_track_cleanup(Menu):
bl_label = "Clean Up"
def draw(self, _context):
layout = self.layout
layout.operator("clip.clean_tracks")
layout.operator("clip.filter_tracks")
class CLIP_MT_track(Menu):
bl_label = "Track"
def draw(self, context):
layout = self.layout
clip = context.space_data.clip
tracking_object = clip.tracking.objects.active
layout.menu("CLIP_MT_track_transform")
layout.menu("CLIP_MT_track_motion")
layout.menu("CLIP_MT_track_clear")
layout.menu("CLIP_MT_track_refine")
layout.separator()
layout.operator("clip.add_marker_move", text="Add Marker")
layout.operator("clip.detect_features")
layout.operator("clip.create_plane_track")
layout.separator()
layout.operator("clip.solve_camera",
text="Solve Camera Motion" if tracking_object.is_camera
else "Solve Object Motion")
layout.separator()
layout.operator("clip.join_tracks")
layout.separator()
layout.operator("clip.clean_tracks")
layout.operator("clip.copy_tracks", icon='COPYDOWN')
layout.operator("clip.paste_tracks", icon='PASTEDOWN')
layout.separator()
layout.operator("clip.copy_tracks")
layout.operator("clip.paste_tracks")
layout.operator("clip.track_settings_as_default", text="Copy Settings to Defaults")
layout.operator("clip.track_settings_to_track", text="Apply Default Settings")
layout.separator()
props = layout.operator("clip.track_markers", text="Track Frame Backwards")
props.backwards = True
props.sequence = False
props = layout.operator("clip.track_markers", text="Track Backwards")
props.backwards = True
props.sequence = True
props = layout.operator("clip.track_markers", text="Track Forwards")
props.backwards = False
props.sequence = True
props = layout.operator("clip.track_markers", text="Track Frame Forwards")
props.backwards = False
props.sequence = False
layout.menu("CLIP_MT_track_animation")
layout.separator()
layout.menu("CLIP_MT_track_visibility")
layout.menu("CLIP_MT_track_cleanup")
layout.separator()
layout.operator("clip.delete_track")
layout.operator("clip.delete_marker")
layout.separator()
layout.operator("clip.add_marker_move")
layout.separator()
layout.menu("CLIP_MT_track_visibility")
layout.menu("CLIP_MT_track_transform")
class CLIP_MT_reconstruction(Menu):
bl_label = "Reconstruction"
@ -1420,6 +1522,7 @@ class CLIP_MT_reconstruction(Menu):
layout.operator("clip.set_axis", text="Set Y Axis").axis = 'Y'
layout.operator("clip.set_scale")
layout.operator("clip.apply_solution_scale")
layout.separator()
@ -1427,25 +1530,13 @@ class CLIP_MT_reconstruction(Menu):
layout.operator("clip.bundles_to_mesh")
class CLIP_MT_track_visibility(Menu):
bl_label = "Show/Hide"
class CLIP_MT_select_grouped(Menu):
bl_label = "Select Grouped"
def draw(self, _context):
layout = self.layout
layout.operator("clip.hide_tracks_clear")
layout.operator("clip.hide_tracks", text="Hide Selected").unselected = False
layout.operator("clip.hide_tracks", text="Hide Unselected").unselected = True
class CLIP_MT_track_transform(Menu):
bl_label = "Transform"
def draw(self, _context):
layout = self.layout
layout.operator("transform.translate")
layout.operator("transform.resize")
layout.operator_enum("clip.select_grouped", "group")
class CLIP_MT_select(Menu):
@ -1459,21 +1550,15 @@ class CLIP_MT_select(Menu):
layout.separator()
layout.operator("clip.select_all"
).action = 'TOGGLE'
layout.operator("clip.select_all",
text="Inverse").action = 'INVERT'
layout.operator("clip.select_all").action = 'TOGGLE'
layout.operator("clip.select_all", text="Inverse").action = 'INVERT'
layout.menu("CLIP_MT_select_grouped")
layout.separator()
class CLIP_MT_select_grouped(Menu):
bl_label = "Select Grouped"
def draw(self, _context):
layout = self.layout
layout.operator_enum("clip.select_grouped", "group")
layout.operator("clip.stabilize_2d_select")
layout.operator("clip.stabilize_2d_rotation_select")
class CLIP_MT_tracking_context_menu(Menu):
@ -1746,7 +1831,6 @@ classes = (
CLIP_PT_display,
CLIP_PT_clip_display,
CLIP_PT_marker_display,
CLIP_MT_track,
CLIP_MT_tracking_editor_menus,
CLIP_MT_masking_editor_menus,
CLIP_PT_track,
@ -1786,8 +1870,14 @@ classes = (
CLIP_MT_clip,
CLIP_MT_proxy,
CLIP_MT_reconstruction,
CLIP_MT_track_visibility,
CLIP_MT_track,
CLIP_MT_track_transform,
CLIP_MT_track_motion,
CLIP_MT_track_clear,
CLIP_MT_track_refine,
CLIP_MT_track_animation,
CLIP_MT_track_visibility,
CLIP_MT_track_cleanup,
CLIP_MT_select,
CLIP_MT_select_grouped,
CLIP_MT_tracking_context_menu,