[Bf-blender-cvs] [fdb4dc34131] greasepencil-object: GPencil: Remove duplicate panel code for layer properties
Antonio Vazquez
noreply at git.blender.org
Tue Dec 3 11:21:01 CET 2019
Commit: fdb4dc34131674e2e9bd55f05266aa0f47ce6a68
Author: Antonio Vazquez
Date: Tue Dec 3 11:20:27 2019 +0100
Branches: greasepencil-object
https://developer.blender.org/rBfdb4dc34131674e2e9bd55f05266aa0f47ce6a68
GPencil: Remove duplicate panel code for layer properties
Now it uses a parent class for both panels.
===================================================================
M release/scripts/startup/bl_ui/properties_data_gpencil.py
M release/scripts/startup/bl_ui/properties_grease_pencil_common.py
M release/scripts/startup/bl_ui/space_dopesheet.py
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_gpencil.py b/release/scripts/startup/bl_ui/properties_data_gpencil.py
index 5e7fc368fbc..fde5b0272ce 100644
--- a/release/scripts/startup/bl_ui/properties_data_gpencil.py
+++ b/release/scripts/startup/bl_ui/properties_data_gpencil.py
@@ -21,6 +21,11 @@ import bpy
from bpy.types import Menu, Panel, UIList
from rna_prop_ui import PropertyPanel
+from bl_ui.properties_grease_pencil_common import (
+ GreasePencilLayerAdjustmentsPanel,
+ GreasePencilLayerRelationsPanel,
+ GreasePencilLayerDisplayPanel,
+)
###############################
# Base-Classes (for shared stuff - e.g. poll, attributes, etc.)
@@ -173,87 +178,23 @@ class DATA_PT_gpencil_layers(DataButtonsPanel, Panel):
col.prop(gpl, "opacity", text="Opacity", slider=True)
-class DATA_PT_gpencil_layer_adjustments(LayerDataButtonsPanel, Panel):
+class DATA_PT_gpencil_layer_adjustments(LayerDataButtonsPanel, GreasePencilLayerAdjustmentsPanel, Panel):
bl_label = "Adjustments"
bl_parent_id = 'DATA_PT_gpencil_layers'
bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
- scene = context.scene
-
- gpd = context.gpencil
- gpl = gpd.layers.active
- layout.active = not gpl.lock
-
- # Layer options
- # Offsets - Color Tint
- layout.enabled = not gpl.lock
- col = layout.column(align=True)
- col.prop(gpl, "tint_color")
- col.prop(gpl, "tint_factor", text="Factor", slider=True)
-
- # Vertex Paint Opacity
- col = layout.row(align=True)
- col.prop(gpl, "vertex_paint_opacity", text="Vertex Paint Opacity")
-
- # Offsets - Thickness
- col = layout.row(align=True)
- col.prop(gpl, "line_change", text="Stroke Thickness")
-
- col = layout.row(align=True)
- col.prop(gpl, "pass_index")
-
- col = layout.row(align=True)
- col.prop_search(gpl, "viewlayer_render", scene, "view_layers", text="View Layer")
-
- col = layout.row(align=True)
- col.prop(gpl, "lock_material")
-
-class DATA_PT_gpencil_layer_relations(LayerDataButtonsPanel, Panel):
+class DATA_PT_gpencil_layer_relations(LayerDataButtonsPanel, GreasePencilLayerRelationsPanel, Panel):
bl_label = "Relations"
bl_parent_id = 'DATA_PT_gpencil_layers'
bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
- layout.use_property_decorate = False
-
- gpd = context.gpencil
- gpl = gpd.layers.active
- col = layout.column()
- col.active = not gpl.lock
- col.prop(gpl, "parent")
- col.prop(gpl, "parent_type", text="Type")
- parent = gpl.parent
-
- if parent and gpl.parent_type == 'BONE' and parent.type == 'ARMATURE':
- col.prop_search(gpl, "parent_bone", parent.data, "bones", text="Bone")
-
-
-class DATA_PT_gpencil_layer_display(LayerDataButtonsPanel, Panel):
+class DATA_PT_gpencil_layer_display(LayerDataButtonsPanel, GreasePencilLayerDisplayPanel, Panel):
bl_label = "Display"
bl_parent_id = 'DATA_PT_gpencil_layers'
bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
- layout.use_property_decorate = False
-
- gpd = context.gpencil
- gpl = gpd.layers.active
-
- col = layout.row(align=True)
- col.prop(gpl, "channel_color")
-
- col = layout.row(align=True)
- col.prop(gpl, "use_solo_mode", text="Show Only On Keyframed")
-
class DATA_PT_gpencil_onion_skinning(DataButtonsPanel, Panel):
bl_label = "Onion Skinning"
diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index 571944eb65f..45f2e36c936 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -813,6 +813,91 @@ class GreasePencilSimplifyPanel:
sub.prop(rd, "simplify_gpencil_remove_lines", text="Lines")
+class GreasePencilLayerAdjustmentsPanel:
+ bl_label = "Adjustments"
+ bl_parent_id = 'DOPESHEET_PT_gpencil_mode'
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ scene = context.scene
+
+ ob = context.object
+ gpd = ob.data
+ gpl = gpd.layers.active
+ layout.active = not gpl.lock
+
+ # Layer options
+ # Offsets - Color Tint
+ layout.enabled = not gpl.lock
+ col = layout.column(align=True)
+ col.prop(gpl, "tint_color")
+ col.prop(gpl, "tint_factor", text="Factor", slider=True)
+
+ # Vertex Paint Opacity
+ col = layout.row(align=True)
+ col.prop(gpl, "vertex_paint_opacity", text="Vertex Paint Opacity")
+
+ # Offsets - Thickness
+ col = layout.row(align=True)
+ col.prop(gpl, "line_change", text="Stroke Thickness")
+
+ col = layout.row(align=True)
+ col.prop(gpl, "pass_index")
+
+ col = layout.row(align=True)
+ col.prop_search(gpl, "viewlayer_render", scene, "view_layers", text="View Layer")
+
+ col = layout.row(align=True)
+ col.prop(gpl, "lock_material")
+
+
+class GreasePencilLayerRelationsPanel:
+ bl_label = "Relations"
+ bl_parent_id = 'DOPESHEET_PT_gpencil_mode'
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ ob = context.object
+ gpd = ob.data
+ gpl = gpd.layers.active
+
+ col = layout.column()
+ col.active = not gpl.lock
+ col.prop(gpl, "parent")
+ col.prop(gpl, "parent_type", text="Type")
+ parent = gpl.parent
+
+ if parent and gpl.parent_type == 'BONE' and parent.type == 'ARMATURE':
+ col.prop_search(gpl, "parent_bone", parent.data, "bones", text="Bone")
+
+
+class GreasePencilLayerDisplayPanel:
+ bl_label = "Display"
+ bl_parent_id = 'DOPESHEET_PT_gpencil_mode'
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ ob = context.object
+ gpd = ob.data
+ gpl = gpd.layers.active
+
+ col = layout.row(align=True)
+ col.prop(gpl, "channel_color")
+
+ col = layout.row(align=True)
+ col.prop(gpl, "use_solo_mode", text="Show Only On Keyframed")
+
+
class GreasePencilFlipTintColors(Operator):
bl_label = "Flip Colors"
bl_idname = "gpencil.tint_flip"
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 08371cf6190..a26261f0e93 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -25,6 +25,12 @@ from bpy.types import (
Panel,
)
+from bl_ui.properties_grease_pencil_common import (
+ GreasePencilLayerAdjustmentsPanel,
+ GreasePencilLayerRelationsPanel,
+ GreasePencilLayerDisplayPanel,
+)
+
#######################################
# DopeSheet Filtering - Header Buttons
@@ -672,9 +678,6 @@ class LayersDopeSheetPanel:
class DOPESHEET_PT_gpencil_mode(LayersDopeSheetPanel, Panel):
- # bl_space_type = 'DOPESHEET_EDITOR'
- # bl_region_type = 'UI'
- # bl_category = "View"
bl_label = "Layer"
def draw(self, context):
@@ -692,75 +695,23 @@ class DOPESHEET_PT_gpencil_mode(LayersDopeSheetPanel, Panel):
row = layout.row(align=True)
row.prop(gpl, "opacity", text="Opacity", slider=True)
- row = layout.row(align=True)
- row.prop(gpl, "channel_color")
-
- row = layout.row(align=True)
- row.prop(gpl, "use_solo_mode", text="Show Only On Keyframed")
-
-class DOPESHEET_PT_gpencil_layer_adjustments(LayersDopeSheetPanel, Panel):
+class DOPESHEET_PT_gpencil_layer_adjustments(LayersDopeSheetPanel, GreasePencilLayerAdjustmentsPanel, Panel):
bl_label = "Adjustments"
bl_parent_id = 'DOPESHEET_PT_gpencil_mode'
bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
- scene = context.scene
-
- ob = context.object
- gpd = ob.data
- gpl = gpd.layers.active
- layout.active = not gpl.lock
-
- # Layer options
- # Offsets - Color Tint
- layout.enabled = not gpl.lock
- col = layout.column(align=True)
- col.prop(gpl, "tint_color")
- col.prop(gpl, "tint_factor", text="Factor", slider=True)
-
- # Vertex Paint Opacity
- col = layout.row(align=True)
- col.prop(gpl, "vertex_paint_opacity", text="Vertex Paint Opacity")
- # Offsets - Thickness
- col = layout.row(align=True)
- col.prop(gpl, "line_change", text="Stroke Thickness")
-
- col = layout.row(align=True)
- col.prop(gpl, "pass_index")
-
- col = layout.row(align=True)
- col.prop_search(gpl, "viewlayer_render", scene, "view_layers", text="View Layer")
-
- col = layout.row(align=True)
- col.prop(gpl, "lock_material")
-
-
-class DOPESHEET_PT_gpencil_layer_relations(LayersDopeSheetPanel, Panel):
+class DOPESHEET_PT_gpencil_layer_relations(LayersDopeSheetPanel, GreasePencilLayerRelationsPanel, Panel):
bl_label = "Relations"
bl_parent_id = 'DOPESHEET_PT_gpencil_mode'
bl_options = {'DEFAULT_CLOSED'}
- def draw(self, context):
- layout = self.layout
- layout.use_property_split = True
- layout.use_property_decorate = False
-
- ob = context.object
- gpd = ob.data
- gpl = gpd.layers.active
-
- col = layout.column()
- col.active = not gpl.lock
- col.prop(gpl, "parent")
- col.prop(gpl, "parent_type", text="Type")
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list