diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_ui.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_ui.c | 90 |
1 files changed, 88 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_ui.c b/source/blender/makesrna/intern/rna_ui.c index a3e48f629cb..e1bc0de245a 100644 --- a/source/blender/makesrna/intern/rna_ui.c +++ b/source/blender/makesrna/intern/rna_ui.c @@ -30,6 +30,8 @@ #include "rna_internal.h" #include "RNA_enum_types.h" +#include "UI_interface.h" + #ifdef RNA_RUNTIME #include "MEM_guardedalloc.h" @@ -44,8 +46,6 @@ #include "BKE_report.h" #include "BKE_screen.h" -#include "UI_interface.h" - #include "WM_api.h" #include "WM_types.h" @@ -408,16 +408,102 @@ static StructRNA* rna_Menu_refine(struct PointerRNA *mtr) return (hdr->type)? hdr->type->py_srna: &RNA_Menu; } +static int rna_UILayout_active_get(struct PointerRNA *ptr) +{ + return uiLayoutGetActive(ptr->data); +} + +static void rna_UILayout_active_set(struct PointerRNA *ptr, int value) +{ + return uiLayoutSetActive(ptr->data, value); +} + +static int rna_UILayout_enabled_get(struct PointerRNA *ptr) +{ + return uiLayoutGetEnabled(ptr->data); +} + +static void rna_UILayout_enabled_set(struct PointerRNA *ptr, int value) +{ + return uiLayoutSetEnabled(ptr->data, value); +} + +static int rna_UILayout_red_alert_get(struct PointerRNA *ptr) +{ + return uiLayoutGetRedAlert(ptr->data); +} + +static void rna_UILayout_red_alert_set(struct PointerRNA *ptr, int value) +{ + return uiLayoutSetRedAlert(ptr->data, value); +} + +static int rna_UILayout_keep_aspect_get(struct PointerRNA *ptr) +{ + return uiLayoutGetKeepAspect(ptr->data); +} + +static void rna_UILayout_keep_aspect_set(struct PointerRNA *ptr, int value) +{ + return uiLayoutSetKeepAspect(ptr->data, value); +} + +static int rna_UILayout_alignment_get(struct PointerRNA *ptr) +{ + return uiLayoutGetAlignment(ptr->data); +} + +static void rna_UILayout_alignment_set(struct PointerRNA *ptr, int value) +{ + return uiLayoutSetAlignment(ptr->data, value); +} + +static float rna_UILayout_scale_get(struct PointerRNA *ptr) +{ + return uiLayoutGetScale(ptr->data); +} + +static void rna_UILayout_scale_set(struct PointerRNA *ptr, float value) +{ + return uiLayoutSetScale(ptr->data, value); +} + #else static void rna_def_ui_layout(BlenderRNA *brna) { StructRNA *srna; + PropertyRNA *prop; + + static EnumPropertyItem alignment_items[] = { + {UI_LAYOUT_ALIGN_LEFT, "LEFT", "Left", ""}, + {UI_LAYOUT_ALIGN_CENTER, "CENTER", "Center", ""}, + {UI_LAYOUT_ALIGN_RIGHT, "RIGHT", "RIght", ""}, + {0, NULL, NULL, NULL}}; srna= RNA_def_struct(brna, "UILayout", NULL); RNA_def_struct_sdna(srna, "uiLayout"); RNA_def_struct_ui_text(srna, "UI Layout", "User interface layout in a panel or header."); + prop= RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_UILayout_active_get", "rna_UILayout_active_set"); + + prop= RNA_def_property(srna, "enabled", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_UILayout_enabled_get", "rna_UILayout_enabled_set"); + + prop= RNA_def_property(srna, "red_alert", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_UILayout_red_alert_get", "rna_UILayout_red_alert_set"); + + prop= RNA_def_property(srna, "alignment", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, alignment_items); + RNA_def_property_enum_funcs(prop, "rna_UILayout_alignment_get", "rna_UILayout_alignment_set", NULL); + + prop= RNA_def_property(srna, "keep_aspect", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_funcs(prop, "rna_UILayout_keep_aspect_get", "rna_UILayout_keep_aspect_set"); + + prop= RNA_def_property(srna, "scale", PROP_FLOAT, PROP_UNSIGNED); + RNA_def_property_float_funcs(prop, "rna_UILayout_scale_get", "rna_UILayout_scale_set", NULL); + RNA_api_ui_layout(srna); } |