Bring mask tools back to Masking Tool Area and update Context Menu
The mask tools in the Tool Area of Clip Editor where never brought back, after decision was made to postpone proper masking tools to 2.81. This brings back the Mask Tool Panel in the Mask tab of Masking Tool Area. This Diff also adds a better Context Menu, which respects whether you're in Masking or Tracking mode. I have added the most important operators there, with a focus on those that are otherwise harder to access. Reviewers: sergey, billreynish Subscribers: sebastian, brecht, hype Tags: #motion_tracking Differential Revision: https://developer.blender.org/D5075
This commit is contained in:
parent
11c9702dd4
commit
72690bbeca
|
@ -239,7 +239,6 @@ class MASK_PT_transforms:
|
|||
# ~ bl_region_type = 'TOOLS'
|
||||
bl_label = "Transforms"
|
||||
bl_category = "Mask"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
|
@ -257,6 +256,40 @@ class MASK_PT_transforms:
|
|||
col.operator("transform.transform", text="Scale Feather").mode = 'MASK_SHRINKFATTEN'
|
||||
|
||||
|
||||
class MASK_PT_tools:
|
||||
bl_label = "Mask Tools"
|
||||
bl_category = "Mask"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
space_data = context.space_data
|
||||
return space_data.mask and space_data.mode == 'MASK'
|
||||
|
||||
def draw(self, _context):
|
||||
layout = self.layout
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.label(text="Spline:")
|
||||
col.operator("mask.delete")
|
||||
col.operator("mask.cyclic_toggle")
|
||||
col.operator("mask.switch_direction")
|
||||
col.operator("mask.handle_type_set").type = 'VECTOR'
|
||||
col.operator("mask.feather_weight_clear")
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.label(text="Parenting:")
|
||||
row = col.row(align=True)
|
||||
row.operator("mask.parent_set", text="Parent")
|
||||
row.operator("mask.parent_clear", text="Clear")
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.label(text="Animation:")
|
||||
row = col.row(align=True)
|
||||
row.operator("mask.shape_key_insert", text="Insert Key")
|
||||
row.operator("mask.shape_key_clear", text="Clear Key")
|
||||
col.operator("mask.shape_key_feather_reset", text="Reset Feather Animation")
|
||||
col.operator("mask.shape_key_rekey", text="Re-Key Shape Points")
|
||||
|
||||
class MASK_MT_add(Menu):
|
||||
bl_label = "Add"
|
||||
|
||||
|
|
|
@ -465,17 +465,17 @@ class CLIP_PT_tools_tracking(CLIP_PT_tracking_panel, Panel):
|
|||
row = layout.row(align=True)
|
||||
row.label(text="Track:")
|
||||
|
||||
props = row.operator("clip.track_markers", text="", icon='FRAME_PREV')
|
||||
props = row.operator("clip.track_markers", text="", icon='TRACKING_BACKWARDS_SINGLE')
|
||||
props.backwards = True
|
||||
props.sequence = False
|
||||
props = row.operator("clip.track_markers", text="",
|
||||
icon='PLAY_REVERSE')
|
||||
icon='TRACKING_BACKWARDS')
|
||||
props.backwards = True
|
||||
props.sequence = True
|
||||
props = row.operator("clip.track_markers", text="", icon='PLAY')
|
||||
props = row.operator("clip.track_markers", text="", icon='TRACKING_FORWARDS')
|
||||
props.backwards = False
|
||||
props.sequence = True
|
||||
props = row.operator("clip.track_markers", text="", icon='FRAME_NEXT')
|
||||
props = row.operator("clip.track_markers", text="", icon='TRACKING_FORWARDS_SINGLE')
|
||||
props.backwards = False
|
||||
props.sequence = False
|
||||
|
||||
|
@ -484,10 +484,10 @@ class CLIP_PT_tools_tracking(CLIP_PT_tracking_panel, Panel):
|
|||
row.label(text="Clear:")
|
||||
row.scale_x = 2.0
|
||||
|
||||
props = row.operator("clip.clear_track_path", text="", icon='BACK')
|
||||
props = row.operator("clip.clear_track_path", text="", icon='TRACKING_CLEAR_BACKWARDS')
|
||||
props.action = 'UPTO'
|
||||
|
||||
props = row.operator("clip.clear_track_path", text="", icon='FORWARD')
|
||||
props = row.operator("clip.clear_track_path", text="", icon='TRACKING_CLEAR_FORWARDS')
|
||||
props.action = 'REMAINED'
|
||||
|
||||
col = layout.column()
|
||||
|
@ -495,10 +495,10 @@ class CLIP_PT_tools_tracking(CLIP_PT_tracking_panel, Panel):
|
|||
row.label(text="Refine:")
|
||||
row.scale_x = 2.0
|
||||
|
||||
props = row.operator("clip.refine_markers", text="", icon='LOOP_BACK')
|
||||
props = row.operator("clip.refine_markers", text="", icon='TRACKING_REFINE_BACKWARDS')
|
||||
props.backwards = True
|
||||
|
||||
props = row.operator("clip.refine_markers", text="", icon='LOOP_FORWARDS')
|
||||
props = row.operator("clip.refine_markers", text="", icon='TRACKING_REFINE_FORWARDS')
|
||||
props.backwards = False
|
||||
|
||||
col = layout.column(align=True)
|
||||
|
@ -1113,6 +1113,7 @@ from bl_ui.properties_mask_common import (
|
|||
MASK_PT_point,
|
||||
MASK_PT_display,
|
||||
MASK_PT_transforms,
|
||||
MASK_PT_tools
|
||||
)
|
||||
|
||||
|
||||
|
@ -1151,6 +1152,10 @@ class CLIP_PT_tools_mask_transforms(MASK_PT_transforms, Panel):
|
|||
bl_region_type = 'TOOLS'
|
||||
bl_category = "Mask"
|
||||
|
||||
class CLIP_PT_tools_mask_tools(MASK_PT_tools, Panel):
|
||||
bl_space_type = 'CLIP_EDITOR'
|
||||
bl_region_type = 'TOOLS'
|
||||
bl_category = "Mask"
|
||||
|
||||
# --- end mask ---
|
||||
|
||||
|
@ -1226,6 +1231,7 @@ class CLIP_MT_view(Menu):
|
|||
layout.prop(sc, "show_region_ui")
|
||||
layout.prop(sc, "show_region_toolbar")
|
||||
layout.prop(sc, "show_region_hud")
|
||||
layout.prop(sc, "show_region_tool_header")
|
||||
|
||||
layout.separator()
|
||||
|
||||
|
@ -1421,9 +1427,16 @@ class CLIP_MT_select_grouped(Menu):
|
|||
|
||||
layout.operator_enum("clip.select_grouped", "group")
|
||||
|
||||
class CLIP_MT_mask_handle_type_menu(Menu):
|
||||
bl_label = "Set Handle Type"
|
||||
|
||||
def draw(self, _context):
|
||||
layout = self.layout
|
||||
|
||||
layout.operator_enum("mask.handle_type_set", "type")
|
||||
|
||||
class CLIP_MT_tracking_context_menu(Menu):
|
||||
bl_label = "Specials"
|
||||
bl_label = "Context Menu"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
|
@ -1432,25 +1445,73 @@ class CLIP_MT_tracking_context_menu(Menu):
|
|||
def draw(self, _context):
|
||||
layout = self.layout
|
||||
|
||||
layout.operator("clip.disable_markers",
|
||||
text="Enable Markers").action = 'ENABLE'
|
||||
mode = _context.space_data.mode
|
||||
|
||||
layout.operator("clip.disable_markers",
|
||||
text="Disable Markers").action = 'DISABLE'
|
||||
if mode == 'TRACKING':
|
||||
|
||||
layout.separator()
|
||||
layout.operator("clip.set_origin")
|
||||
layout.operator("clip.track_settings_to_track")
|
||||
layout.operator("clip.track_settings_as_default")
|
||||
|
||||
layout.separator()
|
||||
layout.operator("clip.hide_tracks")
|
||||
layout.operator("clip.hide_tracks_clear", text="Show Tracks")
|
||||
layout.separator()
|
||||
|
||||
layout.separator()
|
||||
layout.operator("clip.lock_tracks", text="Lock Tracks").action = 'LOCK'
|
||||
layout.operator("clip.track_copy_color")
|
||||
|
||||
layout.operator("clip.lock_tracks",
|
||||
text="Unlock Tracks").action = 'UNLOCK'
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.copy_tracks", icon='COPYDOWN')
|
||||
layout.operator("clip.paste_tracks", icon='PASTEDOWN')
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.disable_markers",
|
||||
text="Disable Markers").action = 'DISABLE'
|
||||
layout.operator("clip.disable_markers",
|
||||
text="Enable Markers").action = 'ENABLE'
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.hide_tracks")
|
||||
layout.operator("clip.hide_tracks_clear", text="Show Tracks")
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.lock_tracks", text="Lock Tracks").action = 'LOCK'
|
||||
layout.operator("clip.lock_tracks",
|
||||
text="Unlock Tracks").action = 'UNLOCK'
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.join_tracks")
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("clip.delete_track")
|
||||
|
||||
elif mode == 'MASK':
|
||||
|
||||
layout.menu("CLIP_MT_mask_handle_type_menu")
|
||||
layout.operator("mask.switch_direction")
|
||||
layout.operator("mask.cyclic_toggle")
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("mask.copy_splines", icon='COPYDOWN')
|
||||
layout.operator("mask.paste_splines", icon='PASTEDOWN')
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("mask.shape_key_rekey", text="Re-key Shape Points")
|
||||
layout.operator("mask.feather_weight_clear")
|
||||
layout.operator("mask.shape_key_feather_reset", text="Reset Feather Animation")
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("mask.parent_set")
|
||||
layout.operator("mask.parent_clear")
|
||||
|
||||
layout.separator()
|
||||
|
||||
layout.operator("mask.delete")
|
||||
|
||||
class CLIP_PT_camera_presets(PresetPanel, Panel):
|
||||
"""Predefined tracking camera intrinsics"""
|
||||
|
@ -1696,6 +1757,7 @@ classes = (
|
|||
CLIP_PT_active_mask_spline,
|
||||
CLIP_PT_active_mask_point,
|
||||
CLIP_PT_tools_mask_transforms,
|
||||
CLIP_PT_tools_mask_tools,
|
||||
CLIP_PT_tools_scenesetup,
|
||||
CLIP_PT_grease_pencil,
|
||||
CLIP_PT_tools_grease_pencil_draw,
|
||||
|
@ -1717,7 +1779,8 @@ classes = (
|
|||
CLIP_MT_marker_pie,
|
||||
CLIP_MT_tracking_pie,
|
||||
CLIP_MT_reconstruction_pie,
|
||||
CLIP_MT_solving_pie
|
||||
CLIP_MT_solving_pie,
|
||||
CLIP_MT_mask_handle_type_menu
|
||||
)
|
||||
|
||||
if __name__ == "__main__": # only for live edit.
|
||||
|
|
Loading…
Reference in New Issue