Commit: f30056d512a739d4b0a7c4ac095e21f538c0ae84 Author: Dalai Felinto Date: Tue Jun 12 11:11:13 2018 +0200 Branches: temp-dynamic-overrides https://developer.blender.org/rBf30056d512a739d4b0a7c4ac095e21f538c0ae84
Update the UI to use bl_parent_id Also remove the DNA/RNA settings that were added for that. =================================================================== M release/scripts/startup/bl_ui/properties_view_layer.py M source/blender/makesdna/DNA_scene_types.h M source/blender/makesrna/intern/rna_scene.c =================================================================== diff --git a/release/scripts/startup/bl_ui/properties_view_layer.py b/release/scripts/startup/bl_ui/properties_view_layer.py index c30a868a3c2..58638df12bf 100644 --- a/release/scripts/startup/bl_ui/properties_view_layer.py +++ b/release/scripts/startup/bl_ui/properties_view_layer.py @@ -76,11 +76,6 @@ class VIEWLAYER_PT_eevee_layer_passes(ViewLayerButtonsPanel, Panel): row.prop(view_layer, "use_pass_subsurface_color", text="Color", toggle=True) -class VIEWLAYER_UL_override_set_collections(UIList): - def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): - layout.row().label(text=item.name, icon_value=icon) - - class VIEWLAYER_UL_override_sets(UIList): def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): row = layout.row(align=True) @@ -88,67 +83,10 @@ class VIEWLAYER_UL_override_sets(UIList): row.prop(item, "name", text="", index=index, icon_value=icon, emboss=False) -class VIEWLAYER_OT_overrides(ViewLayerButtonsPanel, Panel): - bl_label = "Overrides" - COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} - - def draw(self, context): - layout = self.layout - - scene = context.scene - view_layer = context.view_layer - - row = layout.row(align=True) - row.label(text="Override Sets") - - row = layout.row() - col = row.column() - - col.template_list("VIEWLAYER_UL_override_sets", "name", view_layer, "override_sets", view_layer.override_sets, "active_index", rows=2) - - col = row.column(align=True) - col.operator("scene.view_layer_override_set_add", icon='ZOOMIN', text="") - col.operator("scene.view_layer_override_set_remove", icon='ZOOMOUT', text="") - - override_set = view_layer.override_sets.active - if not override_set: - return - - row = layout.row(align=True) - row.prop(scene, "show_view_layer_overrides_scene_property", emboss=False, text="") - row.label(text="Scene Properties") - - if scene.show_view_layer_overrides_scene_property: - if override_set.scene_properties: - for i, dyn_prop in enumerate(override_set.scene_properties): - self._draw_property(layout, dyn_prop, i, 'SCENE') - else: - layout.label(text="No scene property") - - row = layout.row(align=True) - row.prop(scene, "show_view_layer_overrides_affected_collections", emboss=False, text="") - row.label(text="Affected Collections") - - if scene.show_view_layer_overrides_affected_collections: - row = layout.row() - col = row.column() - - col.template_list("VIEWLAYER_UL_override_set_collections", "", override_set, "affected_collections", override_set.affected_collections, "active_index", rows=1) - - col = row.column(align=True) - col.operator("scene.override_set_collection_link", icon='ZOOMIN', text="") - col.operator("scene.override_set_collection_unlink", icon='ZOOMOUT', text="") - - row = layout.row(align=True) - row.prop(scene, "show_view_layer_overrides_collections_property", emboss=False, text="") - row.label(text="Collection Properties") - - if scene.show_view_layer_overrides_collections_property: - if override_set.collection_properties: - for i, dyn_prop in enumerate(override_set.collection_properties): - self._draw_property(layout, dyn_prop, i, 'COLLECTION') - else: - layout.label(text="No collection property") +class ViewLayerOverridesPanel(): + @classmethod + def poll(cls, context): + return context.view_layer.override_sets.active @staticmethod def _icon_from_id_type(id_type): @@ -207,12 +145,99 @@ class VIEWLAYER_OT_overrides(ViewLayerButtonsPanel, Panel): ops.property_type = property_type +class VIEWLAYER_OT_overrides(ViewLayerButtonsPanel, Panel): + bl_label = "Overrides" + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} + + def draw(self, context): + layout = self.layout + + scene = context.scene + view_layer = context.view_layer + + row = layout.row(align=True) + row.label(text="Override Sets") + + row = layout.row() + col = row.column() + + col.template_list("VIEWLAYER_UL_override_sets", "name", view_layer, "override_sets", view_layer.override_sets, "active_index", rows=2) + + col = row.column(align=True) + col.operator("scene.view_layer_override_set_add", icon='ZOOMIN', text="") + col.operator("scene.view_layer_override_set_remove", icon='ZOOMOUT', text="") + + override_set = view_layer.override_sets.active + + +class VIEWLAYER_OT_overrides_scene_properties(ViewLayerOverridesPanel, ViewLayerButtonsPanel, Panel): + bl_label = "Scene Properties" + bl_parent_id = "VIEWLAYER_OT_overrides" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} + + def draw(self, context): + layout = self.layout + override_set = context.view_layer.override_sets.active + + if override_set.scene_properties: + for i, dyn_prop in enumerate(override_set.scene_properties): + self._draw_property(layout, dyn_prop, i, 'SCENE') + else: + layout.label(text="No scene property") + + +class VIEWLAYER_UL_override_set_collections(UIList): + def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index): + layout.row().label(text=item.name, icon_value=icon) + + +class VIEWLAYER_OT_overrides_affected_collections(ViewLayerOverridesPanel, ViewLayerButtonsPanel, Panel): + bl_label = "Affected Collections" + bl_parent_id = "VIEWLAYER_OT_overrides" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} + + def draw(self, context): + layout = self.layout + override_set = context.view_layer.override_sets.active + + row = layout.row() + col = row.column() + + col.template_list("VIEWLAYER_UL_override_set_collections", "", override_set, "affected_collections", override_set.affected_collections, "active_index", rows=1) + + col = row.column(align=True) + col.operator("scene.override_set_collection_link", icon='ZOOMIN', text="") + col.operator("scene.override_set_collection_unlink", icon='ZOOMOUT', text="") + + +class VIEWLAYER_OT_overrides_collection_properties(ViewLayerOverridesPanel, ViewLayerButtonsPanel, Panel): + bl_label = "Collection Properties" + bl_parent_id = "VIEWLAYER_OT_overrides" + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} + + def draw(self, context): + layout = self.layout + override_set = context.view_layer.override_sets.active + + if override_set.collection_properties: + for i, dyn_prop in enumerate(override_set.collection_properties): + self._draw_property(layout, dyn_prop, i, 'COLLECTION') + else: + layout.label(text="No collection property") + + classes = ( VIEWLAYER_PT_layer, VIEWLAYER_PT_eevee_layer_passes, VIEWLAYER_UL_override_set_collections, VIEWLAYER_UL_override_sets, VIEWLAYER_OT_overrides, + VIEWLAYER_OT_overrides_scene_properties, + VIEWLAYER_OT_overrides_affected_collections, + VIEWLAYER_OT_overrides_collection_properties, ) if __name__ == "__main__": # only for live edit. diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 70e4c660014..0c2169072d3 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1871,9 +1871,6 @@ typedef enum eVGroupSelect { #define SCE_NLA_EDIT_ON (1<<2) #define SCE_FRAME_DROP (1<<3) #define SCE_KEYS_NO_SELONLY (1<<4) -#define SCE_DYN_OVERRIDE_HIDE_SCENE_PROPS (1 << 5) -#define SCE_DYN_OVERRIDE_HIDE_COLLECTIONS (1 << 6) -#define SCE_DYN_OVERRIDE_HIDE_COLL_PROPS (1 << 7) /* return flag BKE_scene_base_iter_next functions */ /* #define F_ERROR -1 */ /* UNUSED */ diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 3a92397665c..e9f6c4c14b3 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -6606,31 +6606,6 @@ void RNA_def_scene(BlenderRNA *brna) RNA_def_property_struct_type(prop, "Collection"); RNA_def_property_ui_text(prop, "Collection", "Scene master collection that objects and other collections in the scene"); - /* Interface */ - prop = RNA_def_property(srna, "show_view_layer_overrides_scene_property", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SCE_DYN_OVERRIDE_HIDE_SCENE_PROPS); - RNA_def_property_ui_text(prop, - "Scene Properties", - "Show scene properties overrides for active set"); - RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); - RNA_def_property_update(prop, NC_SCENE | ND_DYN_OVERRIDES, NULL); - - prop = RNA_def_property(srna, "show_view_layer_overrides_affected_collections", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SCE_DYN_OVERRIDE_HIDE_COLLECTIONS); - RNA_def_property_ui_text(prop, - "Affected Collections", - "Show affected collections overriden for active set"); - RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); - RNA_def_property_update(prop, NC_SCENE | ND_DYN_OVERRIDES, NULL); - - prop = RNA_def_property(srna, "show_view_layer_overrides_collections_property", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SCE_DYN_OVERRIDE_HIDE_COLL_PROPS); - RNA_def_property_ui_text(prop, - "Collection Properties", - @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs