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:
authorCampbell Barton <ideasman42@gmail.com>2012-07-25 17:44:07 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-07-25 17:44:07 +0400
commiteed0fda33caf09273d8164c86324c67490e50d53 (patch)
treee42dcb7e6ecc83b526e61655d311db5115189f71 /release
parentc01a561ca79c1634efa801909f134229b457aeeb (diff)
add mask buttons into the image space
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_ui/properties_mask_common.py34
-rw-r--r--release/scripts/startup/bl_ui/space_clip.py122
-rw-r--r--release/scripts/startup/bl_ui/space_image.py45
3 files changed, 122 insertions, 79 deletions
diff --git a/release/scripts/startup/bl_ui/properties_mask_common.py b/release/scripts/startup/bl_ui/properties_mask_common.py
index bc82f3f1e2b..a4a81b01980 100644
--- a/release/scripts/startup/bl_ui/properties_mask_common.py
+++ b/release/scripts/startup/bl_ui/properties_mask_common.py
@@ -25,13 +25,18 @@ import bpy
from bpy.types import Menu
-class MASK_PT_mask():
+class MASK_PT_mask:
# subclasses must define...
#~ bl_space_type = 'CLIP_EDITOR'
#~ bl_region_type = 'UI'
bl_label = "Mask Settings"
bl_options = {'DEFAULT_CLOSED'}
+ @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
@@ -43,7 +48,7 @@ class MASK_PT_mask():
col.prop(mask, "frame_end")
-class MASK_PT_layers():
+class MASK_PT_layers:
# subclasses must define...
#~ bl_space_type = 'CLIP_EDITOR'
#~ bl_region_type = 'UI'
@@ -51,9 +56,8 @@ class MASK_PT_layers():
@classmethod
def poll(cls, context):
- sc = context.space_data
-
- return sc.mask and sc.mode == 'MASKEDIT'
+ space_data = context.space_data
+ return space_data.mask and space_data.mode == 'MASK'
def draw(self, context):
layout = self.layout
@@ -104,7 +108,7 @@ class MASK_PT_spline():
sc = context.space_data
mask = sc.mask
- if mask and sc.mode == 'MASKEDIT':
+ if mask and sc.mode == 'MASK':
return mask.layers.active and mask.layers.active.splines.active
return False
@@ -134,7 +138,7 @@ class MASK_PT_point():
sc = context.space_data
mask = sc.mask
- if mask and sc.mode == 'MASKEDIT':
+ if mask and sc.mode == 'MASK':
mask_layer_active = mask.layers.active
return (mask_layer_active and
mask_layer_active.splines.active_point)
@@ -183,13 +187,18 @@ class MASK_PT_display():
bl_label = "Mask Display"
bl_options = {'DEFAULT_CLOSED'}
+ @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
- sc = context.space_data
+ space_data = context.space_data
- col.prop(layout, "mask_draw_type", text="")
- col.prop(layout, "show_mask_smooth")
+ layout.prop(space_data, "mask_draw_type", text="")
+ layout.prop(space_data, "show_mask_smooth")
class MASK_PT_tools():
@@ -198,6 +207,11 @@ class MASK_PT_tools():
#~ bl_region_type = 'TOOLS'
bl_label = "Mask Tools"
+ @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
diff --git a/release/scripts/startup/bl_ui/space_clip.py b/release/scripts/startup/bl_ui/space_clip.py
index 4cf75f72dd0..1c86e93a067 100644
--- a/release/scripts/startup/bl_ui/space_clip.py
+++ b/release/scripts/startup/bl_ui/space_clip.py
@@ -20,12 +20,7 @@
import bpy
from bpy.types import Panel, Header, Menu
-from bl_ui.properties_mask_common import (MASK_PT_mask,
- MASK_PT_layers,
- MASK_PT_spline,
- MASK_PT_point,
- MASK_PT_display,
- MASK_PT_tools)
+
class CLIP_HT_header(Header):
bl_space_type = 'CLIP_EDITOR'
@@ -166,16 +161,6 @@ class CLIP_PT_clip_view_panel:
return clip and sc.view == 'CLIP'
-class CLIP_PT_mask_view_panel:
-
- @classmethod
- def poll(cls, context):
- sc = context.space_data
- clip = sc.clip
-
- return clip and sc.view == 'CLIP' and sc.mode == 'MASKEDIT'
-
-
class CLIP_PT_tracking_panel:
@classmethod
@@ -427,11 +412,6 @@ class CLIP_PT_tools_object(CLIP_PT_reconstruction_panel, Panel):
col.prop(settings, "object_distance")
-class CLIP_PT_tools_mask(MASK_PT_tools, CLIP_PT_mask_view_panel, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'TOOLS'
-
-
class CLIP_PT_tools_grease_pencil(Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'TOOLS'
@@ -447,7 +427,7 @@ class CLIP_PT_tools_grease_pencil(Panel):
if sc.mode == 'DISTORTION':
return sc.view == 'CLIP'
- elif sc.mode == 'MASKEDIT':
+ elif sc.mode == 'MASK':
return True
return False
@@ -643,21 +623,6 @@ class CLIP_PT_tracking_camera(Panel):
col.prop(clip.tracking.camera, "k3")
-class CLIP_PT_mask_layers(MASK_PT_layers, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
-
-
-class CLIP_PT_active_mask_spline(MASK_PT_spline, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
-
-
-class CLIP_PT_active_mask_point(MASK_PT_point, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
-
-
class CLIP_PT_display(CLIP_PT_clip_view_panel, Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'UI'
@@ -703,16 +668,6 @@ class CLIP_PT_display(CLIP_PT_clip_view_panel, Panel):
row.prop(clip, "display_aspect", text="")
-class CLIP_PT_mask(MASK_PT_mask, CLIP_PT_mask_view_panel, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
-
-
-class CLIP_PT_mask_display(MASK_PT_display, CLIP_PT_mask_view_panel, Panel):
- bl_space_type = 'CLIP_EDITOR'
- bl_region_type = 'UI'
-
-
class CLIP_PT_marker_display(CLIP_PT_clip_view_panel, Panel):
bl_space_type = 'CLIP_EDITOR'
bl_region_type = 'UI'
@@ -722,7 +677,7 @@ class CLIP_PT_marker_display(CLIP_PT_clip_view_panel, Panel):
def poll(cls, context):
sc = context.space_data
- return sc.mode != 'MASKEDIT'
+ return sc.mode != 'MASK'
def draw(self, context):
layout = self.layout
@@ -1067,30 +1022,18 @@ class CLIP_MT_select(Menu):
def draw(self, context):
layout = self.layout
- sc = context.space_data
- if sc.mode == 'MASKEDIT':
- layout.operator("mask.select_border")
- layout.operator("mask.select_circle")
+ layout.operator("clip.select_border")
+ layout.operator("clip.select_circle")
- layout.separator()
-
- layout.operator("mask.select_all"
- ).action = 'TOGGLE'
- layout.operator("mask.select_all",
- text="Inverse").action = 'INVERT'
- else:
- layout.operator("clip.select_border")
- layout.operator("clip.select_circle")
-
- layout.separator()
+ 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.menu("CLIP_MT_select_grouped")
class CLIP_MT_select_grouped(Menu):
@@ -1186,5 +1129,48 @@ class CLIP_MT_stabilize_2d_specials(Menu):
layout.operator("clip.stabilize_2d_select")
+
+# -----------------------------------------------------------------------------
+# Mask (similar code in space_image.py, keep in sync)
+
+
+from bl_ui.properties_mask_common import (MASK_PT_mask,
+ MASK_PT_layers,
+ MASK_PT_spline,
+ MASK_PT_point,
+ MASK_PT_display,
+ MASK_PT_tools)
+
+
+class CLIP_PT_mask(MASK_PT_mask, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'UI'
+
+
+class CLIP_PT_mask_layers(MASK_PT_layers, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'UI'
+
+
+class CLIP_PT_mask_display(MASK_PT_display, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'UI'
+
+
+class CLIP_PT_active_mask_spline(MASK_PT_spline, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'UI'
+
+
+class CLIP_PT_active_mask_point(MASK_PT_point, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'UI'
+
+class CLIP_PT_tools_mask(MASK_PT_tools, Panel):
+ bl_space_type = 'CLIP_EDITOR'
+ bl_region_type = 'TOOLS'
+
+# --- end mask ---
+
if __name__ == "__main__": # only for live edit.
bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 05c2600407e..d8af9e2e5a4 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -27,7 +27,7 @@ class ImagePaintPanel(UnifiedPaintPanel):
bl_region_type = 'UI'
-class BrushButtonsPanel():
+class BrushButtonsPanel:
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
@@ -849,5 +849,48 @@ class IMAGE_UV_sculpt(Panel, ImagePaintPanel):
col.prop(toolsettings, "uv_relax_method")
+
+# -----------------------------------------------------------------------------
+# Mask (similar code in space_clip.py, keep in sync)
+# note! - panel placement does _not_ fit well with image panels... need to fix
+
+from bl_ui.properties_mask_common import (MASK_PT_mask,
+ MASK_PT_layers,
+ MASK_PT_spline,
+ MASK_PT_point,
+ MASK_PT_display,
+ MASK_PT_tools)
+
+
+class IMAGE_PT_mask(MASK_PT_mask, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'PREVIEW'
+
+
+class IMAGE_PT_mask_layers(MASK_PT_layers, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'PREVIEW'
+
+
+class IMAGE_PT_mask_display(MASK_PT_display, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'PREVIEW'
+
+
+class IMAGE_PT_active_mask_spline(MASK_PT_spline, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'PREVIEW'
+
+
+class IMAGE_PT_active_mask_point(MASK_PT_point, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'PREVIEW'
+
+class IMAGE_PT_tools_mask(MASK_PT_tools, Panel):
+ bl_space_type = 'IMAGE_EDITOR'
+ bl_region_type = 'UI' # is 'TOOLS' in the clip editor
+
+# --- end mask ---
+
if __name__ == "__main__": # only for live edit.
bpy.utils.register_module(__name__)