diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-04-18 17:35:11 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-04-18 17:39:46 +0300 |
commit | cfed33f7389adeb0eb9d1792a3b47327b0ba6f0f (patch) | |
tree | 17494129893a4256b2e4b41da63810ed26a4a8af /source/blender/makesrna/intern | |
parent | 9954cce59f540e62ae65587098ad4ca724734a89 (diff) |
UI: replace toggle header with a property
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_space.c | 68 |
1 files changed, 44 insertions, 24 deletions
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index ffbea29a301..04032d0863a 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -614,6 +614,20 @@ static void rna_Space_bool_from_region_flag_update_by_type(bContext *C, /** \name Region Flag Access (Typed Callbacks) * \{ */ +/* Header Region. */ +static bool rna_Space_show_region_header_get(PointerRNA *ptr) +{ + return !rna_Space_bool_from_region_flag_get_by_type(ptr, RGN_TYPE_HEADER, RGN_FLAG_HIDDEN); +} +static void rna_Space_show_region_header_set(PointerRNA *ptr, bool value) +{ + rna_Space_bool_from_region_flag_set_by_type(ptr, RGN_TYPE_HEADER, RGN_FLAG_HIDDEN, !value); +} +static void rna_Space_show_region_header_update(bContext *C, PointerRNA *ptr) +{ + rna_Space_bool_from_region_flag_update_by_type(C, ptr, RGN_TYPE_HEADER, RGN_FLAG_HIDDEN); +} + /* Tools Region. */ static bool rna_Space_show_region_toolbar_get(PointerRNA *ptr) { @@ -2392,30 +2406,6 @@ static const EnumPropertyItem dt_uv_items[] = { {0, NULL, 0, NULL, NULL}, }; -static void rna_def_space(BlenderRNA *brna) -{ - StructRNA *srna; - PropertyRNA *prop; - - srna = RNA_def_struct(brna, "Space", NULL); - RNA_def_struct_sdna(srna, "SpaceLink"); - RNA_def_struct_ui_text(srna, "Space", "Space data for a screen area"); - RNA_def_struct_refine_func(srna, "rna_Space_refine"); - - prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); - RNA_def_property_enum_sdna(prop, NULL, "spacetype"); - RNA_def_property_enum_items(prop, rna_enum_space_type_items); - /* When making this editable, take care for the special case of global areas (see rna_Area_type_set). */ - RNA_def_property_clear_flag(prop, PROP_EDITABLE); - RNA_def_property_ui_text(prop, "Type", "Space data type"); - - /* access to V2D_VIEWSYNC_SCREEN_TIME */ - prop = RNA_def_property(srna, "show_locked_time", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_funcs(prop, "rna_Space_view2d_sync_get", "rna_Space_view2d_sync_set"); - RNA_def_property_ui_text(prop, "Lock Time to Other Windows", ""); - RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, "rna_Space_view2d_sync_update"); -} - static void rna_def_space_generic_show_region_toggles(StructRNA *srna, int region_type_mask) { PropertyRNA *prop; @@ -2432,6 +2422,10 @@ static void rna_def_space_generic_show_region_toggles(StructRNA *srna, int regio } \ ((void)0) + if (region_type_mask & (1 << RGN_TYPE_HEADER)) { + region_type_mask &= ~(1 << RGN_TYPE_HEADER); + DEF_SHOW_REGION_PROPERTY(show_region_header, "Header", ""); + } if (region_type_mask & (1 << RGN_TYPE_TOOLS)) { region_type_mask &= ~(1 << RGN_TYPE_TOOLS); DEF_SHOW_REGION_PROPERTY(show_region_toolbar, "Toolbar", ""); @@ -2447,6 +2441,32 @@ static void rna_def_space_generic_show_region_toggles(StructRNA *srna, int regio BLI_assert(region_type_mask == 0); } +static void rna_def_space(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "Space", NULL); + RNA_def_struct_sdna(srna, "SpaceLink"); + RNA_def_struct_ui_text(srna, "Space", "Space data for a screen area"); + RNA_def_struct_refine_func(srna, "rna_Space_refine"); + + prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "spacetype"); + RNA_def_property_enum_items(prop, rna_enum_space_type_items); + /* When making this editable, take care for the special case of global areas (see rna_Area_type_set). */ + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_ui_text(prop, "Type", "Space data type"); + + /* access to V2D_VIEWSYNC_SCREEN_TIME */ + prop = RNA_def_property(srna, "show_locked_time", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_Space_view2d_sync_get", "rna_Space_view2d_sync_set"); + RNA_def_property_ui_text(prop, "Lock Time to Other Windows", ""); + RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, "rna_Space_view2d_sync_update"); + + rna_def_space_generic_show_region_toggles(srna, (1 << RGN_TYPE_HEADER)); +} + /* for all spaces that use a mask */ static void rna_def_space_mask_info(StructRNA *srna, int noteflag, const char *mask_set_func) { |