Blender  V3.3
Classes | Macros
interface_layout.c File Reference
#include <limits.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_armature_types.h"
#include "DNA_screen_types.h"
#include "DNA_userdef_types.h"
#include "BLI_alloca.h"
#include "BLI_dynstr.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_memory_utils.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_armature.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_idprop.h"
#include "BKE_screen.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "UI_interface.h"
#include "WM_api.h"
#include "WM_types.h"
#include "interface_intern.h"

Go to the source code of this file.

Classes

struct  uiLayoutRoot
 
struct  uiItem
 
struct  uiButtonItem
 
struct  uiLayout
 
struct  uiLayoutItemFlow
 
struct  uiLayoutItemGridFlow
 
struct  uiLayoutItemBx
 
struct  uiLayoutItemSplit
 
struct  uiLayoutItemRoot
 
struct  uiTextIconPadFactor
 
struct  MenuItemLevel
 
struct  UILayoutGridFlowInput
 
struct  UILayoutGridFlowOutput
 

Macros

#define UI_PROP_DECORATE
 
#define UI_PROP_SEP_ICON_WIDTH_EXCEPTION
 
#define CASE_ITEM(id)
 

Functions

Special RNA Items
int uiLayoutGetLocalDir (const uiLayout *layout)
 
static uiLayoutui_item_local_sublayout (uiLayout *test, uiLayout *layout, bool align)
 
static void ui_layer_but_cb (bContext *C, void *arg_but, void *arg_index)
 
static void ui_item_array (uiLayout *layout, uiBlock *block, const char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int len, int x, int y, int w, int UNUSED(h), bool expand, bool slider, int toggle, bool icon_only, bool compact, bool show_text)
 
static void ui_item_enum_expand_handle (bContext *C, void *arg1, void *arg2)
 
static void ui_item_enum_expand_elem_exec (uiLayout *layout, uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const char *uiname, const int h, const eButType but_type, const bool icon_only, const EnumPropertyItem *item, const bool is_first)
 
static void ui_item_enum_expand_exec (uiLayout *layout, uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const char *uiname, const int h, const eButType but_type, const bool icon_only)
 
static void ui_item_enum_expand (uiLayout *layout, uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const char *uiname, const int h, const bool icon_only)
 
static void ui_item_enum_expand_tabs (uiLayout *layout, bContext *C, uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *ptr_highlight, PropertyRNA *prop_highlight, const char *uiname, const int h, const bool icon_only)
 
static void ui_keymap_but_cb (bContext *UNUSED(C), void *but_v, void *UNUSED(key_v))
 
static uiButui_item_with_label (uiLayout *layout, uiBlock *block, const char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int index, int x, int y, int w_hint, int h, int flag)
 
void UI_context_active_but_prop_get_filebrowser (const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop, bool *r_is_undo, bool *r_is_userdef)
 
Block Layout Search Filtering
static bool block_search_panel_label_matches (const uiBlock *block, const char *search_string)
 
static bool button_matches_search_filter (uiBut *but, const char *search_filter)
 
static bool button_group_has_search_match (uiButtonGroup *button_group, const char *search_filter)
 
static bool block_search_filter_tag_buttons (uiBlock *block, const char *search_filter)
 
bool UI_block_apply_search_filter (uiBlock *block, const char *search_filter)
 
Layout
static void ui_item_scale (uiLayout *litem, const float scale[2])
 
static void ui_item_estimate (uiItem *item)
 
static void ui_item_align (uiLayout *litem, short nr)
 
static void ui_item_flag (uiLayout *litem, int flag)
 
static void ui_item_layout (uiItem *item)
 
static void ui_layout_end (uiBlock *block, uiLayout *layout, int *r_x, int *r_y)
 
static void ui_layout_free (uiLayout *layout)
 
static void ui_layout_add_padding_button (uiLayoutRoot *root)
 
uiLayoutUI_block_layout (uiBlock *block, int dir, int type, int x, int y, int size, int em, int padding, const uiStyle *style)
 
uiBlockuiLayoutGetBlock (uiLayout *layout)
 
int uiLayoutGetOperatorContext (uiLayout *layout)
 
void UI_block_layout_set_current (uiBlock *block, uiLayout *layout)
 
void ui_layout_add_but (uiLayout *layout, uiBut *but)
 
static uiButtonItemui_layout_find_button_item (const uiLayout *layout, const uiBut *but)
 
void ui_layout_remove_but (uiLayout *layout, const uiBut *but)
 
bool ui_layout_replace_but_ptr (uiLayout *layout, const void *old_but_ptr, uiBut *new_but)
 
void uiLayoutSetFixedSize (uiLayout *layout, bool fixed_size)
 
bool uiLayoutGetFixedSize (uiLayout *layout)
 
void uiLayoutSetOperatorContext (uiLayout *layout, wmOperatorCallContext opcontext)
 
void uiLayoutSetFunc (uiLayout *layout, uiMenuHandleFunc handlefunc, void *argv)
 
void UI_block_layout_free (uiBlock *block)
 
void UI_block_layout_resolve (uiBlock *block, int *r_x, int *r_y)
 
bool UI_block_layout_needs_resolving (const uiBlock *block)
 
void uiLayoutSetContextPointer (uiLayout *layout, const char *name, PointerRNA *ptr)
 
bContextStoreuiLayoutGetContextStore (uiLayout *layout)
 
void uiLayoutContextCopy (uiLayout *layout, bContextStore *context)
 
void uiLayoutSetTooltipFunc (uiLayout *layout, uiButToolTipFunc func, void *arg, uiCopyArgFunc copy_arg, uiFreeArgFunc free_arg)
 
void uiLayoutSetContextFromBut (uiLayout *layout, uiBut *but)
 
wmOperatorTypeUI_but_operatortype_get_from_enum_menu (uiBut *but, PropertyRNA **r_prop)
 
MenuTypeUI_but_menutype_get (uiBut *but)
 
PanelTypeUI_but_paneltype_get (uiBut *but)
 
void UI_menutype_draw (bContext *C, MenuType *mt, struct uiLayout *layout)
 
static bool ui_layout_has_panel_label (const uiLayout *layout, const PanelType *pt)
 
static void ui_paneltype_draw_impl (bContext *C, PanelType *pt, uiLayout *layout, bool show_header)
 
void UI_paneltype_draw (bContext *C, PanelType *pt, uiLayout *layout)
 
Layout (Debugging/Introspection)

Serialize the layout as a Python compatible dictionary,

Note
Proper string escaping isn't used, triple quotes are used to prevent single quotes from interfering with Python syntax. If we want this to be fool-proof, we would need full Python compatible string escape support. As we don't use triple quotes in the UI it's good-enough in practice.
static void ui_layout_introspect_button (DynStr *ds, uiButtonItem *bitem)
 
static void ui_layout_introspect_items (DynStr *ds, ListBase *lb)
 
const char * UI_layout_introspect (uiLayout *layout)
 
Alert Box with Big Icon
uiLayoutuiItemsAlertBox (uiBlock *block, const int size, const eAlertIcon icon)
 

Structs and Defines

#define UI_OPERATOR_ERROR_RET(_ot, _opname, return_statement)
 
#define UI_ITEM_PROP_SEP_DIVIDE   0.4f
 
enum  uiItemType {
  ITEM_BUTTON , ITEM_LAYOUT_ROW , ITEM_LAYOUT_COLUMN , ITEM_LAYOUT_COLUMN_FLOW ,
  ITEM_LAYOUT_ROW_FLOW , ITEM_LAYOUT_GRID_FLOW , ITEM_LAYOUT_BOX , ITEM_LAYOUT_ABSOLUTE ,
  ITEM_LAYOUT_SPLIT , ITEM_LAYOUT_OVERLAP , ITEM_LAYOUT_RADIAL , ITEM_LAYOUT_ROOT
}
 
enum  {
  UI_ITEM_AUTO_FIXED_SIZE = 1 << 0 , UI_ITEM_FIXED_SIZE = 1 << 1 , UI_ITEM_BOX_ITEM = 1 << 2 , UI_ITEM_PROP_SEP = 1 << 3 ,
  UI_ITEM_INSIDE_PROP_SEP = 1 << 4 , UI_ITEM_PROP_DECORATE = 1 << 5 , UI_ITEM_PROP_DECORATE_NO_PAD = 1 << 6
}
 
typedef struct uiLayoutRoot uiLayoutRoot
 
typedef enum uiItemType uiItemType
 
typedef struct uiItem uiItem
 
typedef struct uiButtonItem uiButtonItem
 
typedef struct uiLayoutItemFlow uiLayoutItemFlow
 
typedef struct uiLayoutItemGridFlow uiLayoutItemGridFlow
 
typedef struct uiLayoutItemBx uiLayoutItemBx
 
typedef struct uiLayoutItemSplit uiLayoutItemSplit
 
typedef struct uiLayoutItemRoot uiLayoutItemRoot
 

Item

#define UI_ITEM_VARY_X   1
 
#define UI_ITEM_VARY_Y   2
 
static const struct uiTextIconPadFactor ui_text_pad_default
 
static const struct uiTextIconPadFactor ui_text_pad_compact
 
static const struct uiTextIconPadFactor ui_text_pad_none
 
static const char * ui_item_name_add_colon (const char *name, char namestr[UI_MAX_NAME_STR])
 
static int ui_item_fit (int item, int pos, int all, int available, bool is_last, int alignment, float *extra_pixel)
 
static int ui_layout_vary_direction (uiLayout *layout)
 
static bool ui_layout_variable_size (uiLayout *layout)
 
static int ui_text_icon_width_ex (uiLayout *layout, const char *name, int icon, const struct uiTextIconPadFactor *pad_factor)
 
static int ui_text_icon_width (uiLayout *layout, const char *name, int icon, bool compact)
 
static void ui_item_size (uiItem *item, int *r_w, int *r_h)
 
static void ui_item_offset (uiItem *item, int *r_x, int *r_y)
 
static void ui_item_position (uiItem *item, int x, int y, int w, int h)
 
static void ui_item_move (uiItem *item, int delta_xmin, int delta_xmax)
 

Button Items

typedef struct MenuItemLevel MenuItemLevel
 
static void ui_but_tip_from_enum_item (uiBut *but, const EnumPropertyItem *item)
 
static void ui_item_disabled (uiLayout *layout, const char *name)
 
static uiButuiItemFullO_ptr_ex (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, int flag, PointerRNA *r_opptr)
 
static void ui_item_menu_hold (struct bContext *C, ARegion *butregion, uiBut *but)
 
void uiItemFullO_ptr (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, int flag, PointerRNA *r_opptr)
 
void uiItemFullOMenuHold_ptr (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, int flag, const char *menu_id, PointerRNA *r_opptr)
 
void uiItemFullO (uiLayout *layout, const char *opname, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, int flag, PointerRNA *r_opptr)
 
static const char * ui_menu_enumpropname (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int retval)
 
void uiItemEnumO_ptr (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, const char *propname, int value)
 
void uiItemEnumO (uiLayout *layout, const char *opname, const char *name, int icon, const char *propname, int value)
 
BLI_INLINE bool ui_layout_is_radial (const uiLayout *layout)
 
void uiItemsFullEnumO_items (uiLayout *layout, wmOperatorType *ot, PointerRNA ptr, PropertyRNA *prop, IDProperty *properties, wmOperatorCallContext context, int flag, const EnumPropertyItem *item_array, int totitem)
 
void uiItemsFullEnumO (uiLayout *layout, const char *opname, const char *propname, IDProperty *properties, wmOperatorCallContext context, int flag)
 
void uiItemsEnumO (uiLayout *layout, const char *opname, const char *propname)
 
void uiItemEnumO_value (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
 
void uiItemEnumO_string (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, const char *value_str)
 
void uiItemBooleanO (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
 
void uiItemIntO (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, int value)
 
void uiItemFloatO (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, float value)
 
void uiItemStringO (uiLayout *layout, const char *name, int icon, const char *opname, const char *propname, const char *value)
 
void uiItemO (uiLayout *layout, const char *name, int icon, const char *opname)
 
static void ui_item_rna_size (uiLayout *layout, const char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int index, bool icon_only, bool compact, int *r_w, int *r_h)
 
static bool ui_item_rna_is_expand (PropertyRNA *prop, int index, int item_flag)
 
static uiLayoutui_layout_heading_find (uiLayout *cur_layout)
 
static void ui_layout_heading_label_add (uiLayout *layout, uiLayout *heading_layout, bool right_align, bool respect_prop_split)
 
static uiLayoutui_item_prop_split_layout_hack (uiLayout *layout_parent, uiLayout *layout_split)
 
void uiItemFullR (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, int flag, const char *name, int icon)
 
void uiItemR (uiLayout *layout, PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
 
void uiItemFullR_with_popover (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, int flag, const char *name, int icon, const char *panel_type)
 
void uiItemFullR_with_menu (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, int flag, const char *name, int icon, const char *menu_type)
 
void uiItemEnumR_prop (uiLayout *layout, const char *name, int icon, struct PointerRNA *ptr, PropertyRNA *prop, int value)
 
void uiItemEnumR (uiLayout *layout, const char *name, int icon, struct PointerRNA *ptr, const char *propname, int value)
 
void uiItemEnumR_string_prop (uiLayout *layout, struct PointerRNA *ptr, PropertyRNA *prop, const char *value, const char *name, int icon)
 
void uiItemEnumR_string (uiLayout *layout, struct PointerRNA *ptr, const char *propname, const char *value, const char *name, int icon)
 
void uiItemsEnumR (uiLayout *layout, struct PointerRNA *ptr, const char *propname)
 
static void search_id_collection (StructRNA *ptype, PointerRNA *r_ptr, PropertyRNA **r_prop)
 
static void ui_rna_collection_search_arg_free_fn (void *ptr)
 
uiButui_but_add_search (uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, const bool results_are_suggestions)
 
void uiItemPointerR_prop (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, const char *name, int icon, bool results_are_suggestions)
 
void uiItemPointerR (uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *name, int icon)
 
void ui_item_menutype_func (bContext *C, uiLayout *layout, void *arg_mt)
 
void ui_item_paneltype_func (bContext *C, uiLayout *layout, void *arg_pt)
 
static uiButui_item_menu (uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg, void *argN, const char *tip, bool force_menu)
 
void uiItemM_ptr (uiLayout *layout, MenuType *mt, const char *name, int icon)
 
void uiItemM (uiLayout *layout, const char *menuname, const char *name, int icon)
 
void uiItemMContents (uiLayout *layout, const char *menuname)
 
void uiItemDecoratorR_prop (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index)
 
void uiItemDecoratorR (uiLayout *layout, PointerRNA *ptr, const char *propname, int index)
 
void uiItemPopoverPanel_ptr (uiLayout *layout, const bContext *C, PanelType *pt, const char *name, int icon)
 
void uiItemPopoverPanel (uiLayout *layout, const bContext *C, const char *panel_type, const char *name, int icon)
 
void uiItemPopoverPanelFromGroup (uiLayout *layout, bContext *C, int space_id, int region_id, const char *context, const char *category)
 
static uiButuiItemL_ (uiLayout *layout, const char *name, int icon)
 
void uiItemL_ex (uiLayout *layout, const char *name, int icon, const bool highlight, const bool redalert)
 
void uiItemL (uiLayout *layout, const char *name, int icon)
 
uiPropertySplitWrapper uiItemPropertySplitWrapperCreate (uiLayout *parent_layout)
 
uiLayoutuiItemL_respect_property_split (uiLayout *layout, const char *text, int icon)
 
void uiItemLDrag (uiLayout *layout, PointerRNA *ptr, const char *name, int icon)
 
void uiItemV (uiLayout *layout, const char *name, int icon, int argval)
 
void uiItemS_ex (uiLayout *layout, float factor)
 
void uiItemS (uiLayout *layout)
 
void uiItemSpacer (uiLayout *layout)
 
void uiItemMenuF (uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *arg)
 
void uiItemMenuFN (uiLayout *layout, const char *name, int icon, uiMenuCreateFunc func, void *argN)
 
static void menu_item_enum_opname_menu (bContext *UNUSED(C), uiLayout *layout, void *arg)
 
void uiItemMenuEnumFullO_ptr (uiLayout *layout, bContext *C, wmOperatorType *ot, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
 
void uiItemMenuEnumFullO (uiLayout *layout, bContext *C, const char *opname, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
 
void uiItemMenuEnumO (uiLayout *layout, bContext *C, const char *opname, const char *propname, const char *name, int icon)
 
static void menu_item_enum_rna_menu (bContext *UNUSED(C), uiLayout *layout, void *arg)
 
void uiItemMenuEnumR_prop (uiLayout *layout, struct PointerRNA *ptr, PropertyRNA *prop, const char *name, int icon)
 
void uiItemMenuEnumR (uiLayout *layout, struct PointerRNA *ptr, const char *propname, const char *name, int icon)
 
void uiItemTabsEnumR_prop (uiLayout *layout, bContext *C, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *ptr_highlight, PropertyRNA *prop_highlight, bool icon_only)
 

Layout Items

typedef struct UILayoutGridFlowInput UILayoutGridFlowInput
 
typedef struct UILayoutGridFlowOutput UILayoutGridFlowOutput
 
static void ui_litem_estimate_row (uiLayout *litem)
 
static int ui_litem_min_width (int itemw)
 
static void ui_litem_layout_row (uiLayout *litem)
 
static void ui_litem_estimate_column (uiLayout *litem, bool is_box)
 
static void ui_litem_layout_column (uiLayout *litem, bool is_box, bool is_menu)
 
static RadialDirection ui_get_radialbut_vec (float vec[2], short itemnum)
 
static bool ui_item_is_radial_displayable (uiItem *item)
 
static bool ui_item_is_radial_drawable (uiButtonItem *bitem)
 
static void ui_litem_layout_radial (uiLayout *litem)
 
static void ui_litem_estimate_root (uiLayout *UNUSED(litem))
 
static void ui_litem_layout_root_radial (uiLayout *litem)
 
static void ui_litem_layout_root (uiLayout *litem)
 
static void ui_litem_estimate_box (uiLayout *litem)
 
static void ui_litem_layout_box (uiLayout *litem)
 
static void ui_litem_estimate_column_flow (uiLayout *litem)
 
static void ui_litem_layout_column_flow (uiLayout *litem)
 
static void ui_litem_grid_flow_compute (ListBase *items, UILayoutGridFlowInput *parameters, UILayoutGridFlowOutput *results)
 
static void ui_litem_estimate_grid_flow (uiLayout *litem)
 
static void ui_litem_layout_grid_flow (uiLayout *litem)
 
static void ui_litem_estimate_absolute (uiLayout *litem)
 
static void ui_litem_layout_absolute (uiLayout *litem)
 
static void ui_litem_estimate_split (uiLayout *litem)
 
static void ui_litem_layout_split (uiLayout *litem)
 
static void ui_litem_estimate_overlap (uiLayout *litem)
 
static void ui_litem_layout_overlap (uiLayout *litem)
 
static void ui_litem_init_from_parent (uiLayout *litem, uiLayout *layout, int align)
 
static void ui_layout_heading_set (uiLayout *layout, const char *heading)
 
uiLayoutuiLayoutRow (uiLayout *layout, bool align)
 
uiLayoutuiLayoutRowWithHeading (uiLayout *layout, bool align, const char *heading)
 
uiLayoutuiLayoutColumn (uiLayout *layout, bool align)
 
uiLayoutuiLayoutColumnWithHeading (uiLayout *layout, bool align, const char *heading)
 
uiLayoutuiLayoutColumnFlow (uiLayout *layout, int number, bool align)
 
uiLayoutuiLayoutGridFlow (uiLayout *layout, bool row_major, int columns_len, bool even_columns, bool even_rows, bool align)
 
static uiLayoutItemBxui_layout_box (uiLayout *layout, int type)
 
uiLayoutuiLayoutRadial (uiLayout *layout)
 
uiLayoutuiLayoutBox (uiLayout *layout)
 
void ui_layout_list_set_labels_active (uiLayout *layout)
 
uiLayoutuiLayoutListBox (uiLayout *layout, uiList *ui_list, PointerRNA *actptr, PropertyRNA *actprop)
 
uiLayoutuiLayoutAbsolute (uiLayout *layout, bool align)
 
uiBlockuiLayoutAbsoluteBlock (uiLayout *layout)
 
uiLayoutuiLayoutOverlap (uiLayout *layout)
 
uiLayoutuiLayoutSplit (uiLayout *layout, float percentage, bool align)
 
void uiLayoutSetActive (uiLayout *layout, bool active)
 
void uiLayoutSetActiveDefault (uiLayout *layout, bool active_default)
 
void uiLayoutSetActivateInit (uiLayout *layout, bool activate_init)
 
void uiLayoutSetEnabled (uiLayout *layout, bool enabled)
 
void uiLayoutSetRedAlert (uiLayout *layout, bool redalert)
 
void uiLayoutSetKeepAspect (uiLayout *layout, bool keepaspect)
 
void uiLayoutSetAlignment (uiLayout *layout, char alignment)
 
void uiLayoutSetScaleX (uiLayout *layout, float scale)
 
void uiLayoutSetScaleY (uiLayout *layout, float scale)
 
void uiLayoutSetUnitsX (uiLayout *layout, float unit)
 
void uiLayoutSetUnitsY (uiLayout *layout, float unit)
 
void uiLayoutSetEmboss (uiLayout *layout, eUIEmbossType emboss)
 
bool uiLayoutGetPropSep (uiLayout *layout)
 
void uiLayoutSetPropSep (uiLayout *layout, bool is_sep)
 
bool uiLayoutGetPropDecorate (uiLayout *layout)
 
void uiLayoutSetPropDecorate (uiLayout *layout, bool is_sep)
 
bool uiLayoutGetActive (uiLayout *layout)
 
bool uiLayoutGetActiveDefault (uiLayout *layout)
 
bool uiLayoutGetActivateInit (uiLayout *layout)
 
bool uiLayoutGetEnabled (uiLayout *layout)
 
bool uiLayoutGetRedAlert (uiLayout *layout)
 
bool uiLayoutGetKeepAspect (uiLayout *layout)
 
int uiLayoutGetAlignment (uiLayout *layout)
 
int uiLayoutGetWidth (uiLayout *layout)
 
float uiLayoutGetScaleX (uiLayout *layout)
 
float uiLayoutGetScaleY (uiLayout *layout)
 
float uiLayoutGetUnitsX (uiLayout *layout)
 
float uiLayoutGetUnitsY (uiLayout *layout)
 
eUIEmbossType uiLayoutGetEmboss (uiLayout *layout)
 

Macro Definition Documentation

◆ CASE_ITEM

#define CASE_ITEM (   id)
Value:
case id: { \
const char *id_str = STRINGIFY(id); \
BLI_dynstr_append(ds, "'type': '"); \
/* Skip 'ITEM_'. */ \
BLI_dynstr_append(ds, id_str + 5); \
BLI_dynstr_append(ds, "', "); \
break; \
} \
((void)0)
#define STRINGIFY(x)
SyclQueue void void size_t num_bytes void

◆ UI_ITEM_PROP_SEP_DIVIDE

#define UI_ITEM_PROP_SEP_DIVIDE   0.4f

Definition at line 65 of file interface_layout.c.

◆ UI_ITEM_VARY_X

#define UI_ITEM_VARY_X   1

Definition at line 260 of file interface_layout.c.

◆ UI_ITEM_VARY_Y

#define UI_ITEM_VARY_Y   2

Definition at line 261 of file interface_layout.c.

◆ UI_OPERATOR_ERROR_RET

#define UI_OPERATOR_ERROR_RET (   _ot,
  _opname,
  return_statement 
)
Value:
if (ot == NULL) { \
ui_item_disabled(layout, _opname); \
RNA_warning("'%s' unknown operator", _opname); \
return_statement; \
} \
(void)0
wmOperatorType * ot
Definition: wm_files.c:3479

Definition at line 57 of file interface_layout.c.

◆ UI_PROP_DECORATE

#define UI_PROP_DECORATE

Definition at line 48 of file interface_layout.c.

◆ UI_PROP_SEP_ICON_WIDTH_EXCEPTION

#define UI_PROP_SEP_ICON_WIDTH_EXCEPTION

Definition at line 51 of file interface_layout.c.

Typedef Documentation

◆ MenuItemLevel

typedef struct MenuItemLevel MenuItemLevel

◆ uiButtonItem

typedef struct uiButtonItem uiButtonItem

◆ uiItem

typedef struct uiItem uiItem

◆ uiItemType

typedef enum uiItemType uiItemType

◆ UILayoutGridFlowInput

◆ UILayoutGridFlowOutput

◆ uiLayoutItemBx

◆ uiLayoutItemFlow

◆ uiLayoutItemGridFlow

◆ uiLayoutItemRoot

◆ uiLayoutItemSplit

◆ uiLayoutRoot

typedef struct uiLayoutRoot uiLayoutRoot

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
UI_ITEM_AUTO_FIXED_SIZE 
UI_ITEM_FIXED_SIZE 
UI_ITEM_BOX_ITEM 
UI_ITEM_PROP_SEP 
UI_ITEM_INSIDE_PROP_SEP 
UI_ITEM_PROP_DECORATE 
UI_ITEM_PROP_DECORATE_NO_PAD 

Definition at line 119 of file interface_layout.c.

◆ uiItemType

enum uiItemType
Enumerator
ITEM_BUTTON 
ITEM_LAYOUT_ROW 
ITEM_LAYOUT_COLUMN 
ITEM_LAYOUT_COLUMN_FLOW 
ITEM_LAYOUT_ROW_FLOW 
ITEM_LAYOUT_GRID_FLOW 
ITEM_LAYOUT_BOX 
ITEM_LAYOUT_ABSOLUTE 
ITEM_LAYOUT_SPLIT 
ITEM_LAYOUT_OVERLAP 
ITEM_LAYOUT_RADIAL 
ITEM_LAYOUT_ROOT 

Definition at line 88 of file interface_layout.c.

Function Documentation

◆ block_search_filter_tag_buttons()

static bool block_search_filter_tag_buttons ( uiBlock block,
const char *  search_filter 
)
static

Apply the search filter, tagging all buttons with whether they match or not. Tag every button in the group as a result if any button in the group matches.

Note
It would be great to return early here if we found a match, but because the results may be visible we have to continue searching the entire block.
Returns
True if the block has any search results.

Definition at line 5187 of file interface_layout.c.

References button_group_has_search_match(), uiBlock::button_groups, uiBut::flag, LISTBASE_FOREACH, and UI_SEARCH_FILTER_NO_MATCH.

Referenced by UI_block_apply_search_filter().

◆ block_search_panel_label_matches()

static bool block_search_panel_label_matches ( const uiBlock block,
const char *  search_string 
)
static

◆ button_group_has_search_match()

static bool button_group_has_search_match ( uiButtonGroup button_group,
const char *  search_filter 
)
static

Test for a search result within a specific button group.

Definition at line 5166 of file interface_layout.c.

References button_matches_search_filter(), uiButtonGroup::buttons, and LISTBASE_FOREACH.

Referenced by block_search_filter_tag_buttons().

◆ button_matches_search_filter()

static bool button_matches_search_filter ( uiBut but,
const char *  search_filter 
)
static

Returns true if a button or the data / operator it represents matches the search filter.

Definition at line 5103 of file interface_layout.c.

References BLI_strcasestr(), free(), MEM_freeN, wmOperatorType::name, NULL, uiBut::optype, ptr, RNA_property_description(), RNA_property_enum_items_gettexted(), RNA_property_ui_name(), uiBut::rnapoin, uiBut::rnaprop, uiBut::str, uiBut::type, and UI_BTYPE_MENU.

Referenced by button_group_has_search_match().

◆ menu_item_enum_opname_menu()

static void menu_item_enum_opname_menu ( bContext UNUSEDC,
uiLayout layout,
void arg 
)
static

◆ menu_item_enum_rna_menu()

static void menu_item_enum_rna_menu ( bContext UNUSEDC,
uiLayout layout,
void arg 
)
static

◆ search_id_collection()

static void search_id_collection ( StructRNA ptype,
PointerRNA r_ptr,
PropertyRNA **  r_prop 
)
static

◆ UI_block_apply_search_filter()

bool UI_block_apply_search_filter ( uiBlock block,
const char *  search_filter 
)

Apply property search behavior, setting panel flags and deactivating buttons that don't match.

Note
Must not be run after UI_block_layout_resolve.

Definition at line 5204 of file interface_layout.c.

References BLI_assert, block_search_filter_tag_buttons(), block_search_panel_label_matches(), PanelType::flag, NULL, uiBlock::panel, PANEL_TYPE_NO_SEARCH, Panel::type, and ui_panel_tag_search_filter_match().

Referenced by ed_panel_draw(), and panel_property_search().

◆ UI_block_layout()

uiLayout* UI_block_layout ( uiBlock block,
int  dir,
int  type,
int  x,
int  y,
int  size,
int  em,
int  padding,
const uiStyle style 
)

◆ UI_block_layout_free()

void UI_block_layout_free ( uiBlock block)

Used for property search when the layout process needs to be cancelled in order to avoid computing the locations for buttons, but the layout items created while adding the buttons must still be freed.

Definition at line 5665 of file interface_layout.c.

References uiBlock::layouts, LISTBASE_FOREACH_MUTABLE, MEM_freeN, and ui_layout_free().

Referenced by panel_property_search().

◆ UI_block_layout_needs_resolving()

bool UI_block_layout_needs_resolving ( const uiBlock block)

Definition at line 5704 of file interface_layout.c.

References BLI_listbase_is_empty(), and uiBlock::layouts.

Referenced by ui_textedit_begin().

◆ UI_block_layout_resolve()

void UI_block_layout_resolve ( uiBlock block,
int *  r_x,
int *  r_y 
)

◆ UI_block_layout_set_current()

void UI_block_layout_set_current ( uiBlock block,
uiLayout layout 
)

◆ ui_but_add_search()

uiBut* ui_but_add_search ( uiBut but,
PointerRNA ptr,
PropertyRNA prop,
PointerRNA searchptr,
PropertyRNA searchprop,
bool  results_are_suggestions 
)

◆ UI_but_menutype_get()

MenuType* UI_but_menutype_get ( uiBut but)

◆ UI_but_operatortype_get_from_enum_menu()

wmOperatorType* UI_but_operatortype_get_from_enum_menu ( struct uiBut but,
struct PropertyRNA **  r_prop 
)

◆ UI_but_paneltype_get()

PanelType* UI_but_paneltype_get ( uiBut but)

◆ ui_but_tip_from_enum_item()

static void ui_but_tip_from_enum_item ( uiBut but,
const EnumPropertyItem item 
)
static

Update a buttons tip with an enum's description if possible.

Definition at line 1177 of file interface_layout.c.

References EnumPropertyItem::description, wmOperatorType::get_description, NULL, uiBut::optype, and uiBut::tip.

Referenced by uiItemsEnumR(), and uiItemsFullEnumO_items().

◆ UI_context_active_but_prop_get_filebrowser()

void UI_context_active_but_prop_get_filebrowser ( const bContext C,
PointerRNA r_ptr,
PropertyRNA **  r_prop,
bool r_is_undo,
bool r_is_userdef 
)

◆ ui_get_radialbut_vec()

static RadialDirection ui_get_radialbut_vec ( float  vec[2],
short  itemnum 
)
static

Definition at line 3838 of file interface_layout.c.

References PIE_MAX_ITEMS, ui_but_pie_dir(), and ui_radial_dir_order.

Referenced by ui_litem_layout_radial().

◆ ui_item_align()

static void ui_item_align ( uiLayout litem,
short  nr 
)
static

◆ ui_item_array()

static void ui_item_array ( uiLayout layout,
uiBlock block,
const char *  name,
int  icon,
PointerRNA ptr,
PropertyRNA prop,
int  len,
int  x,
int  y,
int  w,
int   UNUSEDh,
bool  expand,
bool  slider,
int  toggle,
bool  icon_only,
bool  compact,
bool  show_text 
)
static

◆ ui_item_disabled()

static void ui_item_disabled ( uiLayout layout,
const char *  name 
)
static

◆ ui_item_enum_expand()

static void ui_item_enum_expand ( uiLayout layout,
uiBlock block,
PointerRNA ptr,
PropertyRNA prop,
const char *  uiname,
const int  h,
const bool  icon_only 
)
static

Definition at line 916 of file interface_layout.c.

References uiTextIconPadFactor::icon_only, ptr, UI_BTYPE_ROW, and ui_item_enum_expand_exec().

Referenced by uiItemFullR().

◆ ui_item_enum_expand_elem_exec()

static void ui_item_enum_expand_elem_exec ( uiLayout layout,
uiBlock block,
PointerRNA ptr,
PropertyRNA prop,
const char *  uiname,
const int  h,
const eButType  but_type,
const bool  icon_only,
const EnumPropertyItem item,
const bool  is_first 
)
static

◆ ui_item_enum_expand_exec()

static void ui_item_enum_expand_exec ( uiLayout layout,
uiBlock block,
PointerRNA ptr,
PropertyRNA prop,
const char *  uiname,
const int  h,
const eButType  but_type,
const bool  icon_only 
)
static

◆ ui_item_enum_expand_handle()

static void ui_item_enum_expand_handle ( bContext C,
void arg1,
void arg2 
)
static

◆ ui_item_enum_expand_tabs()

static void ui_item_enum_expand_tabs ( uiLayout layout,
bContext C,
uiBlock block,
PointerRNA ptr,
PropertyRNA prop,
PointerRNA ptr_highlight,
PropertyRNA prop_highlight,
const char *  uiname,
const int  h,
const bool  icon_only 
)
static

◆ ui_item_estimate()

static void ui_item_estimate ( uiItem item)
static

◆ ui_item_fit()

static int ui_item_fit ( int  item,
int  pos,
int  all,
int  available,
bool  is_last,
int  alignment,
float extra_pixel 
)
static

Definition at line 227 of file interface_layout.c.

References all(), ELEM, pos, UI_LAYOUT_ALIGN_EXPAND, and width.

Referenced by ui_litem_layout_row().

◆ ui_item_flag()

static void ui_item_flag ( uiLayout litem,
int  flag 
)
static

◆ ui_item_is_radial_displayable()

static bool ui_item_is_radial_displayable ( uiItem item)
static

Definition at line 3852 of file interface_layout.c.

References ITEM_BUTTON, uiItem::type, and UI_BTYPE_LABEL.

Referenced by ui_litem_layout_radial().

◆ ui_item_is_radial_drawable()

static bool ui_item_is_radial_drawable ( uiButtonItem bitem)
static

◆ ui_item_layout()

static void ui_item_layout ( uiItem item)
static

◆ ui_item_local_sublayout()

static uiLayout* ui_item_local_sublayout ( uiLayout test,
uiLayout layout,
bool  align 
)
static

◆ ui_item_menu()

static uiBut* ui_item_menu ( uiLayout layout,
const char *  name,
int  icon,
uiMenuCreateFunc  func,
void arg,
void argN,
const char *  tip,
bool  force_menu 
)
static

◆ ui_item_menu_hold()

static void ui_item_menu_hold ( struct bContext C,
ARegion butregion,
uiBut but 
)
static

◆ ui_item_menutype_func()

void ui_item_menutype_func ( bContext C,
uiLayout layout,
void arg_mt 
)

◆ ui_item_move()

static void ui_item_move ( uiItem item,
int  delta_xmin,
int  delta_xmax 
)
static

◆ ui_item_name_add_colon()

static const char* ui_item_name_add_colon ( const char *  name,
char  namestr[UI_MAX_NAME_STR] 
)
static

Definition at line 213 of file interface_layout.c.

References len, and UI_MAX_NAME_STR.

Referenced by uiItemFullR(), uiItemL_respect_property_split(), and uiItemPointerR_prop().

◆ ui_item_offset()

static void ui_item_offset ( uiItem item,
int *  r_x,
int *  r_y 
)
static

◆ ui_item_paneltype_func()

void ui_item_paneltype_func ( bContext C,
uiLayout layout,
void arg_pt 
)

◆ ui_item_position()

static void ui_item_position ( uiItem item,
int  x,
int  y,
int  w,
int  h 
)
static

◆ ui_item_prop_split_layout_hack()

static uiLayout* ui_item_prop_split_layout_hack ( uiLayout layout_parent,
uiLayout layout_split 
)
static

Hack to add further items in a row into the second part of the split layout, so the label part keeps a fixed size.

Returns
The layout to place further items in for the split layout.

Definition at line 1996 of file interface_layout.c.

References uiLayout::child_items_layout, uiItem::flag, uiLayout::item, ITEM_LAYOUT_ROW, uiItem::type, UI_ITEM_INSIDE_PROP_SEP, uiLayoutRow(), and uiLayoutSetPropSep().

Referenced by uiItemFullR(), and uiItemPropertySplitWrapperCreate().

◆ ui_item_rna_is_expand()

static bool ui_item_rna_is_expand ( PropertyRNA prop,
int  index,
int  item_flag 
)
static

◆ ui_item_rna_size()

static void ui_item_rna_size ( uiLayout layout,
const char *  name,
int  icon,
PointerRNA ptr,
PropertyRNA prop,
int  index,
bool  icon_only,
bool  compact,
int *  r_w,
int *  r_h 
)
static

◆ ui_item_scale()

static void ui_item_scale ( uiLayout litem,
const float  scale[2] 
)
static

◆ ui_item_size()

static void ui_item_size ( uiItem item,
int *  r_w,
int *  r_h 
)
static

◆ ui_item_with_label()

static uiBut* ui_item_with_label ( uiLayout layout,
uiBlock block,
const char *  name,
int  icon,
PointerRNA ptr,
PropertyRNA prop,
int  index,
int  x,
int  y,
int  w_hint,
int  h,
int  flag 
)
static

◆ ui_keymap_but_cb()

static void ui_keymap_but_cb ( bContext UNUSEDC,
void but_v,
void UNUSEDkey_v 
)
static

◆ ui_layer_but_cb()

static void ui_layer_but_cb ( bContext C,
void arg_but,
void arg_index 
)
static

◆ ui_layout_add_but()

void ui_layout_add_but ( uiLayout layout,
uiBut but 
)

◆ ui_layout_add_padding_button()

static void ui_layout_add_padding_button ( uiLayoutRoot root)
static

◆ ui_layout_box()

static uiLayoutItemBx* ui_layout_box ( uiLayout layout,
int  type 
)
static

◆ ui_layout_end()

static void ui_layout_end ( uiBlock block,
uiLayout layout,
int *  r_x,
int *  r_y 
)
static

◆ ui_layout_find_button_item()

static uiButtonItem* ui_layout_find_button_item ( const uiLayout layout,
const uiBut but 
)
static

◆ ui_layout_free()

static void ui_layout_free ( uiLayout layout)
static

◆ ui_layout_has_panel_label()

static bool ui_layout_has_panel_label ( const uiLayout layout,
const PanelType pt 
)
static

◆ ui_layout_heading_find()

static uiLayout* ui_layout_heading_find ( uiLayout cur_layout)
static

Find first layout ancestor (or self) with a heading set.

Returns
the layout to add the heading to as fallback (i.e. if it can't be placed in a split layout). Its uiLayout.heading member can be cleared to mark the heading as added (so it's not added multiple times). Returns a pointer to the heading

Definition at line 1956 of file interface_layout.c.

References NULL, and uiLayout::parent.

Referenced by ui_item_menu(), and uiItemFullR().

◆ ui_layout_heading_label_add()

static void ui_layout_heading_label_add ( uiLayout layout,
uiLayout heading_layout,
bool  right_align,
bool  respect_prop_split 
)
static

◆ ui_layout_heading_set()

static void ui_layout_heading_set ( uiLayout layout,
const char *  heading 
)
static

Definition at line 4724 of file interface_layout.c.

References BLI_assert, uiLayout::heading, and STRNCPY.

Referenced by uiLayoutColumnWithHeading(), and uiLayoutRowWithHeading().

◆ UI_layout_introspect()

const char* UI_layout_introspect ( uiLayout layout)

Evaluate layout items as a Python dictionary.

Definition at line 6019 of file interface_layout.c.

References BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), uiLayout::item, uiItem::next, NULL, uiItem::prev, result, and ui_layout_introspect_items().

Referenced by bpy_rna_uilayout_introspect().

◆ ui_layout_introspect_button()

static void ui_layout_introspect_button ( DynStr ds,
uiButtonItem bitem 
)
static

◆ ui_layout_introspect_items()

static void ui_layout_introspect_items ( DynStr ds,
ListBase lb 
)
static

◆ ui_layout_is_radial()

BLI_INLINE bool ui_layout_is_radial ( const uiLayout layout)

◆ ui_layout_list_set_labels_active()

void ui_layout_list_set_labels_active ( uiLayout layout)

Check all buttons defined in this layout, and set any button flagged as UI_BUT_LIST_ITEM as active/selected. Needed to handle correctly text colors of active (selected) list item.

Definition at line 4854 of file interface_layout.c.

References ITEM_BUTTON, uiLayout::items, LISTBASE_FOREACH, UI_but_flag_enable(), UI_BUT_LIST_ITEM, ui_layout_list_set_labels_active(), and UI_SELECT.

Referenced by ui_layout_list_set_labels_active(), and ui_template_list_layout_draw().

◆ ui_layout_remove_but()

void ui_layout_remove_but ( uiLayout layout,
const uiBut but 
)

◆ ui_layout_replace_but_ptr()

bool ui_layout_replace_but_ptr ( uiLayout layout,
const void old_but_ptr,
uiBut new_but 
)
Returns
true if the button was successfully replaced.

Definition at line 5628 of file interface_layout.c.

References uiButtonItem::but, and ui_layout_find_button_item().

Referenced by ui_but_change_type().

◆ ui_layout_variable_size()

static bool ui_layout_variable_size ( uiLayout layout)
static

◆ ui_layout_vary_direction()

static int ui_layout_vary_direction ( uiLayout layout)
static

◆ ui_litem_estimate_absolute()

static void ui_litem_estimate_absolute ( uiLayout litem)
static

◆ ui_litem_estimate_box()

static void ui_litem_estimate_box ( uiLayout litem)
static

◆ ui_litem_estimate_column()

static void ui_litem_estimate_column ( uiLayout litem,
bool  is_box 
)
static

◆ ui_litem_estimate_column_flow()

static void ui_litem_estimate_column_flow ( uiLayout litem)
static

◆ ui_litem_estimate_grid_flow()

static void ui_litem_estimate_grid_flow ( uiLayout litem)
static

◆ ui_litem_estimate_overlap()

static void ui_litem_estimate_overlap ( uiLayout litem)
static

Definition at line 4667 of file interface_layout.c.

References uiLayout::h, uiLayout::items, LISTBASE_FOREACH, MAX2, ui_item_size(), and uiLayout::w.

Referenced by ui_item_estimate().

◆ ui_litem_estimate_root()

static void ui_litem_estimate_root ( uiLayout UNUSEDlitem)
static

Definition at line 3949 of file interface_layout.c.

Referenced by ui_item_estimate().

◆ ui_litem_estimate_row()

static void ui_litem_estimate_row ( uiLayout litem)
static

◆ ui_litem_estimate_split()

static void ui_litem_estimate_split ( uiLayout litem)
static

◆ ui_litem_grid_flow_compute()

static void ui_litem_grid_flow_compute ( ListBase items,
UILayoutGridFlowInput parameters,
UILayoutGridFlowOutput results 
)
static

◆ ui_litem_init_from_parent()

static void ui_litem_init_from_parent ( uiLayout litem,
uiLayout layout,
int  align 
)
static

◆ ui_litem_layout_absolute()

static void ui_litem_layout_absolute ( uiLayout litem)
static

◆ ui_litem_layout_box()

static void ui_litem_layout_box ( uiLayout litem)
static

◆ ui_litem_layout_column()

static void ui_litem_layout_column ( uiLayout litem,
bool  is_box,
bool  is_menu 
)
static

◆ ui_litem_layout_column_flow()

static void ui_litem_layout_column_flow ( uiLayout litem)
static

◆ ui_litem_layout_grid_flow()

static void ui_litem_layout_grid_flow ( uiLayout litem)
static

◆ ui_litem_layout_overlap()

static void ui_litem_layout_overlap ( uiLayout litem)
static

◆ ui_litem_layout_radial()

static void ui_litem_layout_radial ( uiLayout litem)
static

◆ ui_litem_layout_root()

static void ui_litem_layout_root ( uiLayout litem)
static

◆ ui_litem_layout_root_radial()

static void ui_litem_layout_root_radial ( uiLayout litem)
static

◆ ui_litem_layout_row()

static void ui_litem_layout_row ( uiLayout litem)
static

◆ ui_litem_layout_split()

static void ui_litem_layout_split ( uiLayout litem)
static

◆ ui_litem_min_width()

static int ui_litem_min_width ( int  itemw)
static

Definition at line 3630 of file interface_layout.c.

References MIN2, and UI_UNIT_X.

Referenced by ui_litem_layout_row().

◆ ui_menu_enumpropname()

static const char* ui_menu_enumpropname ( uiLayout layout,
PointerRNA ptr,
PropertyRNA prop,
int  retval 
)
static

◆ UI_menutype_draw()

void UI_menutype_draw ( bContext C,
MenuType mt,
struct uiLayout layout 
)

◆ UI_paneltype_draw()

void UI_paneltype_draw ( struct bContext C,
struct PanelType pt,
struct uiLayout layout 
)

Used for popup panels only.

Definition at line 5899 of file interface_layout.c.

References C, uiLayout::context, CTX_store_set(), NULL, and ui_paneltype_draw_impl().

Referenced by ui_item_paneltype_func(), and UI_popover_panel_invoke().

◆ ui_paneltype_draw_impl()

static void ui_paneltype_draw_impl ( bContext C,
PanelType pt,
uiLayout layout,
bool  show_header 
)
static

◆ ui_rna_collection_search_arg_free_fn()

static void ui_rna_collection_search_arg_free_fn ( void ptr)
static

◆ ui_text_icon_width()

static int ui_text_icon_width ( uiLayout layout,
const char *  name,
int  icon,
bool  compact 
)
static

◆ ui_text_icon_width_ex()

static int ui_text_icon_width_ex ( uiLayout layout,
const char *  name,
int  icon,
const struct uiTextIconPadFactor pad_factor 
)
static

◆ uiItemBooleanO()

void uiItemBooleanO ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
int  value 
)

◆ uiItemDecoratorR()

void uiItemDecoratorR ( uiLayout layout,
struct PointerRNA ptr,
const char *  propname,
int  index 
)

Insert a decorator item for a button with the same property as prop. To force inserting a blank dummy element, NULL can be passed for ptr and propname.

Definition at line 3100 of file interface_layout.c.

References NULL, ptr, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, PointerRNA::type, ui_item_disabled(), and uiItemDecoratorR_prop().

Referenced by add_attribute_search_or_value_buttons(), data_panel_draw(), panel_draw(), blender::ed::space_node::ui_node_draw_input(), and uiTemplateCacheFileTimeSettings().

◆ uiItemDecoratorR_prop()

void uiItemDecoratorR_prop ( uiLayout layout,
struct PointerRNA ptr,
struct PropertyRNA prop,
int  index 
)

◆ uiItemEnumO()

void uiItemEnumO ( uiLayout layout,
const char *  opname,
const char *  name,
int  icon,
const char *  propname,
int  value 
)

◆ uiItemEnumO_ptr()

void uiItemEnumO_ptr ( uiLayout layout,
wmOperatorType ot,
const char *  name,
int  icon,
const char *  propname,
int  value 
)

◆ uiItemEnumO_string()

void uiItemEnumO_string ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
const char *  value_str 
)

◆ uiItemEnumO_value()

void uiItemEnumO_value ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
int  value 
)

◆ uiItemEnumR()

void uiItemEnumR ( uiLayout layout,
const char *  name,
int  icon,
struct PointerRNA ptr,
const char *  propname,
int  value 
)

◆ uiItemEnumR_prop()

void uiItemEnumR_prop ( uiLayout layout,
const char *  name,
int  icon,
struct PointerRNA ptr,
PropertyRNA prop,
int  value 
)

◆ uiItemEnumR_string()

void uiItemEnumR_string ( uiLayout layout,
struct PointerRNA ptr,
const char *  propname,
const char *  value,
const char *  name,
int  icon 
)

◆ uiItemEnumR_string_prop()

void uiItemEnumR_string_prop ( uiLayout layout,
struct PointerRNA ptr,
PropertyRNA prop,
const char *  value,
const char *  name,
int  icon 
)

◆ uiItemFloatO()

void uiItemFloatO ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
float  value 
)

◆ uiItemFullO()

void uiItemFullO ( uiLayout layout,
const char *  opname,
const char *  name,
int  icon,
IDProperty properties,
wmOperatorCallContext  context,
int  flag,
PointerRNA r_opptr 
)

◆ uiItemFullO_ptr()

void uiItemFullO_ptr ( uiLayout layout,
wmOperatorType ot,
const char *  name,
int  icon,
IDProperty properties,
wmOperatorCallContext  context,
int  flag,
PointerRNA r_opptr 
)

◆ uiItemFullO_ptr_ex()

static uiBut* uiItemFullO_ptr_ex ( uiLayout layout,
wmOperatorType ot,
const char *  name,
int  icon,
IDProperty properties,
wmOperatorCallContext  context,
int  flag,
PointerRNA r_opptr 
)
static

◆ uiItemFullOMenuHold_ptr()

void uiItemFullOMenuHold_ptr ( uiLayout layout,
wmOperatorType ot,
const char *  name,
int  icon,
IDProperty properties,
wmOperatorCallContext  context,
int  flag,
const char *  menu_id,
PointerRNA r_opptr 
)

◆ uiItemFullR()

void uiItemFullR ( uiLayout layout,
PointerRNA ptr,
PropertyRNA prop,
int  index,
int  value,
int  flag,
const char *  name,
int  icon 
)

Definition at line 2012 of file interface_layout.c.

References Freestyle::a, uiBut::a1, uiLayout::activate_init, BLI_assert, BLI_insertlinkafter(), BLI_remlink(), uiLayoutRoot::block, uiBlock::buttons, uiBut::drawflag, ELEM, uiBut::emboss, uiLayout::emboss, ListBase::first, uiBlock::flag, uiItem::flag, uiBut::icon, uiLayout::item, ListBase::last, len, max_ii(), uiBut::next, NULL, PROP_BOOLEAN, PROP_ENUM, PROP_ENUM_FLAG, PROP_FLOAT, PROP_ICONS_CONSECUTIVE, PROP_INT, PROP_POINTER, PROP_STRING, PROP_STRING_SEARCH_SUGGESTION, ptr, uiLayout::redalert, RNA_ENUM_VALUE, RNA_NO_INDEX, RNA_property_array_check(), RNA_property_array_item_char(), RNA_property_array_length(), RNA_property_boolean_get(), RNA_property_boolean_get_index(), RNA_property_enum_get(), RNA_property_flag(), RNA_property_string_search_flag(), RNA_property_type(), RNA_property_ui_icon(), RNA_property_ui_name(), uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, uiLayout::root, uiLayout::space, uiButNumber::step_size, str, uiBut::str, STRNCPY_RLEN, uiBut::type, uiLayoutRoot::type, type, UI_block_layout_set_current(), UI_BLOCK_LIST_ITEM, ui_block_new_button_group(), UI_BTYPE_CHECKBOX, UI_BTYPE_CHECKBOX_N, UI_BTYPE_ICON_TOGGLE, UI_BTYPE_ICON_TOGGLE_N, UI_BTYPE_LABEL, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER, UI_BTYPE_ROW, UI_BTYPE_TEXT, UI_BTYPE_TOGGLE, UI_BUT_ACTIVATE_ON_INIT, ui_but_add_search(), ui_but_change_type(), UI_BUT_CHECKBOX_INVERT, UI_but_flag_enable(), UI_BUT_LIST_ITEM, UI_BUT_REDALERT, UI_BUT_TEXT_LEFT, UI_BUT_TEXT_RIGHT, ui_def_but_icon_clear(), UI_EMBOSS_NONE, UI_EMBOSS_NONE_OR_STATUS, ui_item_array(), ui_item_enum_expand(), UI_ITEM_INSIDE_PROP_SEP, ui_item_name_add_colon(), UI_ITEM_PROP_DECORATE, UI_ITEM_PROP_DECORATE_NO_PAD, UI_ITEM_PROP_SEP, UI_ITEM_PROP_SEP_DIVIDE, ui_item_prop_split_layout_hack(), UI_ITEM_R_CHECKBOX_INVERT, UI_ITEM_R_COMPACT, UI_ITEM_R_EXPAND, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_ICON_NEVER, UI_ITEM_R_ICON_ONLY, UI_ITEM_R_NO_BG, UI_ITEM_R_SLIDER, UI_ITEM_R_SPLIT_EMPTY_NAME, UI_ITEM_R_TOGGLE, ui_item_rna_is_expand(), ui_item_rna_size(), ui_item_with_label(), ui_layout_heading_find(), ui_layout_heading_label_add(), UI_LAYOUT_HORIZONTAL, UI_LAYOUT_MENU, UI_LAYOUT_PIEMENU, UI_MAX_DRAW_STR, UI_MAX_NAME_STR, UI_UNIT_Y, uiDefAutoButR(), uiDefBut(), uiDefButR_prop(), uiDefIconButR_prop(), uiDefIconTextButR_prop(), uiItemDecoratorR_prop(), uiLayoutColumn(), uiLayoutGetLocalDir(), uiLayoutRow(), uiLayoutSplit(), and w().

Referenced by blur_panel_draw(), CurveProfile_buttons_layout(), generator_panel_draw(), intersection_panel_draw(), material_mask_panel_draw(), panel_draw(), screen_user_menu_draw(), template_keymap_item_properties(), UI_pie_menu_invoke_from_rna_enum(), uiDefAutoButsRNA(), uiItemEnumR(), uiItemEnumR_prop(), uiItemEnumR_string_prop(), uiItemFullR_with_menu(), uiItemFullR_with_popover(), uiItemR(), uilist_draw_item_default(), uiTemplateAnyID(), and uiTemplateAssetView().

◆ uiItemFullR_with_menu()

void uiItemFullR_with_menu ( uiLayout layout,
PointerRNA ptr,
PropertyRNA prop,
int  index,
int  value,
int  flag,
const char *  name,
int  icon,
const char *  menu_type 
)

◆ uiItemFullR_with_popover()

void uiItemFullR_with_popover ( uiLayout layout,
struct PointerRNA ptr,
struct PropertyRNA prop,
int  index,
int  value,
int  flag,
const char *  name,
int  icon,
const char *  panel_type 
)

◆ uiItemIntO()

void uiItemIntO ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
int  value 
)

◆ uiItemL()

void uiItemL ( uiLayout layout,
const char *  name,
int  icon 
)

Definition at line 3254 of file interface_layout.c.

References uiTextIconPadFactor::icon, and uiItemL_().

Referenced by add_attribute_search_or_value_buttons(), blender::ui::BasicTreeViewItem::add_label(), bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_save_file_forwardcompat_dialog(), blender::ed::spreadsheet::GeometryDataSetTreeViewItem::build_row(), buttons_panel_context_draw(), chaining_panel_draw(), composition_panel_draw(), draw_constraint_header(), draw_property_for_output_socket(), driver_dvar_invalid_name_query_cb(), dyntopo_warning_popup(), edge_types_panel_draw(), face_mark_panel_draw(), face_mark_panel_draw_header(), file_forwardcompat_detailed_info_show(), fmodifier_panel_header(), generator_panel_draw(), gpencil_modifier_panel_end(), gpencil_modifier_panel_header(), graph_draw_driven_property_panel(), graph_draw_driver_settings_panel(), graph_panel_drivers_popover(), graph_panel_key_properties(), graph_panel_properties(), image_new_draw(), internal_dependencies_panel_draw(), menu_add_shortcut(), menu_change_shortcut(), metadata_panel_draw_field(), modifier_panel_end(), nla_panel_animdata(), nla_panel_stripname(), blender::ed::space_node::node_buts_image_user(), blender::nodes::node_composite_blur_cc::node_composit_buts_blur(), blender::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::nodes::node_composite_color_spill_cc::node_composit_buts_color_spill(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection_ex(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy(), blender::nodes::node_composite_directionalblur_cc::node_composit_buts_dblur(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_denoise_cc::node_composit_buts_denoise(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_double_edge_mask_cc::node_composit_buts_double_edge_mask(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_vec_blur_cc::node_composit_buts_vecblur(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), blender::nodes::node_shader_vertex_color_cc::node_shader_buts_vertex_color(), blender::ed::space_node::node_socket_button_label(), blender::ed::space_node::node_socket_undefined_draw(), blender::ed::space_node::node_socket_undefined_interface_draw(), occlusion_panel_draw(), options_light_reference_draw(), options_panel_draw(), output_attribute_panel_draw(), panel_draw(), recent_files_menu_draw(), screen_user_menu_draw(), shaderfx_panel_end(), shaderfx_panel_header(), spreadsheet_filter_panel_draw(), spreadsheet_filter_panel_draw_header(), spreadsheet_footer_region_draw(), blender::ed::space_node::std_node_socket_draw(), blender::ui::template_breadcrumbs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_texture_user_menu(), ui_def_but_rna__menu(), ui_def_but_rna__menu_type(), ui_def_but_rna__panel_type(), ui_item_enum_expand_exec(), ui_item_menu_hold(), ui_item_with_label(), ui_layout_heading_label_add(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_menu_column(), ui_paneltype_draw_impl(), UI_popup_menu_reports(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), ui_template_palette_menu(), uiDefAutoButsRNA(), uiItemsEnumR(), uiItemsFullEnumO_items(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateCacheFileProcedural(), uiTemplateEventFromKeymapItem(), uiTemplateImageInfo(), uiTemplateImageSettings(), uiTemplateInputStatus(), uiTemplateMovieclipInformation(), uiTemplateStatusInfo(), uiTemplateTextureUser(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_posearmature_buts(), v3d_transform_butsR(), vgroup_panel_draw(), and WM_window_modal_keymap_status_draw().

◆ uiItemL_()

static uiBut* uiItemL_ ( uiLayout layout,
const char *  name,
int  icon 
)
static

◆ uiItemL_ex()

void uiItemL_ex ( uiLayout layout,
const char *  name,
int  icon,
const bool  highlight,
const bool  redalert 
)

◆ uiItemL_respect_property_split()

uiLayout* uiItemL_respect_property_split ( uiLayout layout,
const char *  text,
int  icon 
)

◆ uiItemLDrag()

void uiItemLDrag ( uiLayout layout,
struct PointerRNA ptr,
const char *  name,
int  icon 
)

◆ uiItemM()

void uiItemM ( uiLayout layout,
const char *  menuname,
const char *  name,
int  icon 
)

◆ uiItemM_ptr()

void uiItemM_ptr ( uiLayout layout,
struct MenuType mt,
const char *  name,
int  icon 
)

◆ uiItemMContents()

void uiItemMContents ( uiLayout layout,
const char *  menuname 
)

◆ uiItemMenuEnumFullO()

void uiItemMenuEnumFullO ( uiLayout layout,
bContext C,
const char *  opname,
const char *  propname,
const char *  name,
int  icon,
PointerRNA r_opptr 
)

◆ uiItemMenuEnumFullO_ptr()

void uiItemMenuEnumFullO_ptr ( uiLayout layout,
bContext C,
wmOperatorType ot,
const char *  propname,
const char *  name,
int  icon,
PointerRNA r_opptr 
)

◆ uiItemMenuEnumO()

void uiItemMenuEnumO ( uiLayout layout,
bContext C,
const char *  opname,
const char *  propname,
const char *  name,
int  icon 
)

◆ uiItemMenuEnumR()

void uiItemMenuEnumR ( uiLayout layout,
struct PointerRNA ptr,
const char *  propname,
const char *  name,
int  icon 
)

◆ uiItemMenuEnumR_prop()

void uiItemMenuEnumR_prop ( uiLayout layout,
struct PointerRNA ptr,
PropertyRNA prop,
const char *  name,
int  icon 
)

◆ uiItemMenuF()

void uiItemMenuF ( uiLayout layout,
const char *  name,
int  icon,
uiMenuCreateFunc  func,
void arg 
)

◆ uiItemMenuFN()

void uiItemMenuFN ( uiLayout layout,
const char *  name,
int  icon,
uiMenuCreateFunc  func,
void argN 
)

Version of uiItemMenuF that free's argN.

Definition at line 3424 of file interface_layout.c.

References uiTextIconPadFactor::icon, and ui_item_menu().

Referenced by workspace_add_invoke().

◆ uiItemO()

void uiItemO ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname 
)

Definition at line 1831 of file interface_layout.c.

References uiTextIconPadFactor::icon, NULL, uiLayoutRoot::opcontext, uiLayout::root, and uiItemFullO().

Referenced by bake_panel_draw(), blender::ed::asset_browser::AssetCatalogTreeViewItem::build_context_menu(), buttons_panel_context_draw(), colorband_tools_func(), constraint_ops_extra_draw(), draw_constraint_header(), ED_screens_footer_tools_menu_create(), ED_screens_header_tools_menu_create(), ED_screens_navigation_bar_tools_menu_create(), file_panel_asset_catalog_buttons_draw(), file_panel_execution_cancel_button(), file_panel_execution_execute_button(), generate_panel_draw(), gpencil_modifier_ops_extra_draw(), gpencil_modifier_panel_header(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_drivers_popover(), graph_panel_modifiers(), modifier_ops_extra_draw(), modifier_panel_header(), nla_panel_actclip(), nla_panel_modifiers(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy_ex(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), override_idtemplate_menu_draw(), panel_draw(), parent_set_invoke_menu(), screen_area_menu_items(), shaderfx_panel_header(), shape_panel_draw(), spreadsheet_row_filters_layout(), subdivisions_panel_draw(), ui_popup_context_menu_for_button(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateImage(), uiTemplateMovieClip(), uiTemplateOperatorRedoProperties(), and workspace_add_invoke().

◆ uiItemPointerR()

void uiItemPointerR ( uiLayout layout,
PointerRNA ptr,
const char *  propname,
PointerRNA searchptr,
const char *  searchpropname,
const char *  name,
int  icon 
)

◆ uiItemPointerR_prop()

void uiItemPointerR_prop ( uiLayout layout,
PointerRNA ptr,
PropertyRNA prop,
PointerRNA searchptr,
PropertyRNA searchprop,
const char *  name,
int  icon,
bool  results_are_suggestions 
)

◆ uiItemPopoverPanel()

void uiItemPopoverPanel ( uiLayout layout,
const bContext C,
const char *  panel_type,
const char *  name,
int  icon 
)

◆ uiItemPopoverPanel_ptr()

void uiItemPopoverPanel_ptr ( uiLayout layout,
const bContext C,
PanelType pt,
const char *  name,
int  icon 
)

◆ uiItemPopoverPanelFromGroup()

void uiItemPopoverPanelFromGroup ( uiLayout layout,
bContext C,
int  space_id,
int  region_id,
const char *  context,
const char *  category 
)

◆ uiItemPropertySplitWrapperCreate()

uiPropertySplitWrapper uiItemPropertySplitWrapperCreate ( uiLayout parent_layout)

Normally, we handle the split layout in uiItemFullR(), but there are other cases where the logic is needed. Ideally, uiItemFullR() could just call this, but it currently has too many special needs.

Definition at line 3259 of file interface_layout.c.

References uiLayout::alignment, uiPropertySplitWrapper::decorate_column, uiPropertySplitWrapper::label_column, NULL, uiPropertySplitWrapper::property_row, UI_ITEM_PROP_SEP_DIVIDE, ui_item_prop_split_layout_hack(), UI_LAYOUT_ALIGN_RIGHT, uiLayoutColumn(), uiLayoutRow(), and uiLayoutSplit().

Referenced by blender::ed::space_node::ui_node_draw_input(), and uiItemL_respect_property_split().

◆ uiItemR()

void uiItemR ( uiLayout layout,
PointerRNA ptr,
const char *  propname,
int  flag,
const char *  name,
int  icon 
)

Definition at line 2450 of file interface_layout.c.

References ptr, RNA_NO_INDEX, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, PointerRNA::type, ui_item_disabled(), and uiItemFullR().

Referenced by add_attribute_search_button(), add_attribute_search_or_value_buttons(), advanced_panel_draw(), apply_armature_pose2bones_ui(), axis_mapping_panel_draw(), bake_panel_draw(), block_create_autorun_warning(), blur_panel_draw(), cache_file_layer_item(), caps_panel_draw(), chaining_panel_draw(), clamp_panel_draw(), colorband_buttons_layout(), component_menu(), composition_panel_draw(), constant_offset_draw(), constant_offset_header_draw(), curvature_header_draw(), curvature_panel_draw(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), custom_range_header_draw(), custom_range_panel_draw(), cycles_panel_draw(), data_panel_draw(), draw_constraint_header(), draw_fill_tile(), draw_property_for_socket(), ED_screens_footer_tools_menu_create(), ED_screens_header_tools_menu_create(), ed_screens_statusbar_menu_create(), ED_time_scrub_channel_search_draw(), edbm_bevel_ui(), edbm_blend_from_shape_ui(), edbm_decimate_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), edge_data_panel_draw(), edge_panel_draw(), edge_panel_draw_header(), edge_types_panel_draw(), envelope_panel_draw(), face_corner_panel_draw(), face_corner_panel_draw_header(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), face_mark_panel_draw(), face_mark_panel_draw_header(), face_panel_draw(), face_panel_draw_header(), fade_header_draw(), fade_panel_draw(), fading_header_draw(), fading_panel_draw(), falloff_panel_draw(), file_panel_asset_catalog_buttons_draw(), fmodifier_frame_range_draw(), fmodifier_frame_range_header_draw(), fmodifier_influence_draw(), fmodifier_panel_header(), fn_generator_panel_draw(), blender::nodes::node_fn_align_euler_to_vector_cc::fn_node_align_euler_to_vector_layout(), blender::nodes::node_fn_boolean_math_cc::fn_node_boolean_math_layout(), blender::nodes::fn_node_combine_color_layout(), blender::nodes::node_fn_float_to_int_cc::fn_node_float_to_int_layout(), blender::nodes::node_fn_input_bool_cc::fn_node_input_bool_layout(), blender::nodes::node_fn_input_color_cc::fn_node_input_color_layout(), blender::nodes::node_fn_input_int_cc::fn_node_input_int_layout(), blender::nodes::node_fn_input_string_cc::fn_node_input_string_layout(), blender::nodes::node_fn_input_vector_cc::fn_node_input_vector_layout(), blender::nodes::node_fn_random_value_cc::fn_node_random_value_layout(), blender::nodes::node_fn_rotate_euler_cc::fn_node_rotate_euler_layout(), blender::nodes::fn_node_separate_color_layout(), frame_range_header_draw(), frame_range_panel_draw(), generate_panel_draw(), generator_panel_draw(), blender::nodes::node_fn_compare_cc::geo_node_compare_layout(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), geometry_panel_draw(), gpencil_interpolate_seq_ui(), gpencil_modifier_curve_header_draw(), gpencil_modifier_masking_panel_draw(), gpencil_modifier_panel_header(), gpencil_stroke_normalize_ui(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__transChan(), graph_panel_key_properties(), graph_panel_properties(), image_new_draw(), image_save_as_draw(), intersection_panel_draw(), limits_panel_draw(), material_mask_panel_draw(), material_mask_panel_draw_header(), materials_panel_draw(), menu_add_shortcut(), menu_change_shortcut(), mix_mode_panel_draw(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animated_influence_header(), nla_panel_animated_strip_time(), nla_panel_animated_strip_time_header(), nla_panel_animdata(), nla_panel_evaluation(), nla_panel_properties(), nla_panel_stripname(), blender::ed::space_node::node_buts_combsep_color(), blender::ed::space_node::node_buts_frame_ex(), blender::ed::space_node::node_buts_image_user(), blender::ed::space_node::node_buts_image_views(), blender::ed::space_node::node_buts_math(), blender::ed::space_node::node_buts_mix_rgb(), blender::ed::space_node::node_buts_normal(), blender::nodes::node_shader_output_linestyle_cc::node_buts_output_linestyle(), blender::ed::space_node::node_buts_output_shader(), blender::ed::space_node::node_buts_rgb(), blender::ed::space_node::node_buts_texture(), blender::ed::space_node::node_buts_time(), blender::ed::space_node::node_buts_value(), blender::nodes::node_composite_alpha_over_cc::node_composit_buts_alphaover(), blender::nodes::node_composite_antialiasing_cc::node_composit_buts_antialiasing(), blender::nodes::node_composite_bilateralblur_cc::node_composit_buts_bilateralblur(), blender::nodes::node_composite_blur_cc::node_composit_buts_blur(), blender::nodes::node_composite_bokehblur_cc::node_composit_buts_bokehblur(), blender::nodes::node_composite_bokehimage_cc::node_composit_buts_bokehimage(), blender::nodes::node_composite_boxmask_cc::node_composit_buts_boxmask(), blender::nodes::node_composite_brightness_cc::node_composit_buts_brightcontrast(), blender::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::nodes::node_composite_chroma_matte_cc::node_composit_buts_chroma_matte(), blender::nodes::node_composite_color_matte_cc::node_composit_buts_color_matte(), blender::nodes::node_composite_color_spill_cc::node_composit_buts_color_spill(), blender::nodes::node_composite_colorbalance_cc::node_composit_buts_colorbalance(), blender::nodes::node_composite_colorbalance_cc::node_composit_buts_colorbalance_ex(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection_ex(), blender::ed::space_node::node_composit_buts_combsep_color(), blender::nodes::node_composite_composite_cc::node_composit_buts_composite(), blender::nodes::node_composite_convert_color_space_cc::node_composit_buts_convert_colorspace(), blender::nodes::node_composite_crop_cc::node_composit_buts_crop(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy(), blender::nodes::node_composite_directionalblur_cc::node_composit_buts_dblur(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_denoise_cc::node_composit_buts_denoise(), blender::nodes::node_composite_despeckle_cc::node_composit_buts_despeckle(), blender::nodes::node_composite_diff_matte_cc::node_composit_buts_diff_matte(), blender::nodes::node_composite_dilate_cc::node_composit_buts_dilateerode(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_double_edge_mask_cc::node_composit_buts_double_edge_mask(), blender::nodes::node_composite_ellipsemask_cc::node_composit_buts_ellipsemask(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_filter_cc::node_composit_buts_filter(), blender::nodes::node_composite_flip_cc::node_composit_buts_flip(), blender::nodes::node_composite_glare_cc::node_composit_buts_glare(), blender::nodes::node_composite_id_mask_cc::node_composit_buts_id_mask(), blender::nodes::node_composite_inpaint_cc::node_composit_buts_inpaint(), blender::nodes::node_composite_invert_cc::node_composit_buts_invert(), blender::nodes::node_composite_keying_cc::node_composit_buts_keying(), blender::nodes::node_composite_lensdist_cc::node_composit_buts_lensdist(), blender::nodes::node_composite_luma_matte_cc::node_composit_buts_luma_matte(), blender::nodes::node_composite_map_range_cc::node_composit_buts_map_range(), blender::nodes::node_composite_map_uv_cc::node_composit_buts_map_uv(), blender::nodes::node_composite_map_value_cc::node_composit_buts_map_value(), blender::nodes::node_composite_mask_cc::node_composit_buts_mask(), blender::nodes::node_composite_moviedistortion_cc::node_composit_buts_moviedistortion(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_premulkey_cc::node_composit_buts_premulkey(), blender::nodes::node_composite_rotate_cc::node_composit_buts_rotate(), blender::nodes::node_composite_scale_cc::node_composit_buts_scale(), blender::nodes::node_composite_setalpha_cc::node_composit_buts_set_alpha(), blender::nodes::node_composite_split_viewer_cc::node_composit_buts_splitviewer(), blender::nodes::node_composite_stabilize2d_cc::node_composit_buts_stabilize2d(), blender::nodes::node_composite_sunbeams_cc::node_composit_buts_sunbeams(), blender::nodes::node_composite_switch_cc::node_composit_buts_switch(), blender::nodes::node_composite_tonemap_cc::node_composit_buts_tonemap(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_transform_cc::node_composit_buts_transform(), blender::nodes::node_composite_translate_cc::node_composit_buts_translate(), blender::nodes::node_composite_vec_blur_cc::node_composit_buts_vecblur(), blender::nodes::node_composite_levels_cc::node_composit_buts_view_levels(), blender::nodes::node_composite_viewer_cc::node_composit_buts_viewer(), blender::nodes::node_composite_viewer_cc::node_composit_buts_viewer_ex(), blender::nodes::node_composite_image_cc::node_composit_buts_viewlayers(), blender::ed::space_node::node_composit_buts_ycc(), blender::nodes::node_composite_zcombine_cc::node_composit_buts_zcombine(), blender::nodes::node_geo_accumulate_field_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_attribute_domain_size_cc::node_layout(), blender::nodes::node_geo_attribute_statistic_cc::node_layout(), blender::nodes::node_geo_boolean_cc::node_layout(), blender::nodes::node_geo_collection_info_cc::node_layout(), blender::nodes::node_geo_curve_fill_cc::node_layout(), blender::nodes::node_geo_curve_fillet_cc::node_layout(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_layout(), blender::nodes::node_geo_curve_primitive_arc_cc::node_layout(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_layout(), blender::nodes::node_geo_curve_primitive_circle_cc::node_layout(), blender::nodes::node_geo_curve_primitive_line_cc::node_layout(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_layout(), blender::nodes::node_geo_curve_resample_cc::node_layout(), blender::nodes::node_geo_curve_sample_cc::node_layout(), blender::nodes::node_geo_curve_set_handle_type_cc::node_layout(), blender::nodes::node_geo_curve_spline_type_cc::node_layout(), blender::nodes::node_geo_curve_to_points_cc::node_layout(), blender::nodes::node_geo_curve_trim_cc::node_layout(), blender::nodes::node_geo_delete_geometry_cc::node_layout(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout(), blender::nodes::node_geo_duplicate_elements_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_field_at_index_cc::node_layout(), blender::nodes::node_geo_image_texture_cc::node_layout(), blender::nodes::node_geo_input_material_cc::node_layout(), blender::nodes::node_geo_input_named_attribute_cc::node_layout(), blender::nodes::node_geo_interpolate_domain_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_line_cc::node_layout(), blender::nodes::node_geo_mesh_to_points_cc::node_layout(), blender::nodes::node_geo_mesh_to_volume_cc::node_layout(), blender::nodes::node_geo_object_info_cc::node_layout(), blender::nodes::node_geo_points_to_volume_cc::node_layout(), blender::nodes::node_geo_proximity_cc::node_layout(), blender::nodes::node_geo_raycast_cc::node_layout(), blender::nodes::node_geo_realize_instances_cc::node_layout(), blender::nodes::node_geo_scale_elements_cc::node_layout(), blender::nodes::node_geo_separate_geometry_cc::node_layout(), blender::nodes::node_geo_set_curve_handles_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_subdivision_surface_cc::node_layout(), blender::nodes::node_geo_switch_cc::node_layout(), blender::nodes::node_geo_transfer_attribute_cc::node_layout(), blender::nodes::node_geo_triangulate_cc::node_layout(), blender::nodes::node_geo_uv_unwrap_cc::node_layout(), blender::nodes::node_geo_viewer_cc::node_layout(), blender::nodes::node_geo_volume_to_mesh_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::nodes::node_shader_ambient_occlusion_cc::node_shader_buts_ambient_occlusion(), blender::nodes::node_shader_bsdf_anisotropic_cc::node_shader_buts_anisotropic(), blender::nodes::node_shader_attribute_cc::node_shader_buts_attribute(), blender::nodes::node_shader_bevel_cc::node_shader_buts_bevel(), blender::nodes::node_shader_bump_cc::node_shader_buts_bump(), blender::nodes::node_shader_clamp_cc::node_shader_buts_clamp(), blender::ed::space_node::node_shader_buts_displacement(), blender::ed::space_node::node_shader_buts_glossy(), blender::nodes::node_shader_bsdf_hair_cc::node_shader_buts_hair(), blender::nodes::node_shader_ies_light_cc::node_shader_buts_ies(), blender::nodes::node_shader_map_range_cc::node_shader_buts_map_range(), blender::nodes::node_shader_mapping_cc::node_shader_buts_mapping(), blender::nodes::node_shader_normal_map_cc::node_shader_buts_normal_map(), blender::nodes::node_shader_output_aov_cc::node_shader_buts_output_aov(), blender::nodes::node_shader_bsdf_principled_cc::node_shader_buts_principled(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_shader_buts_principled_hair(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), blender::nodes::node_shader_subsurface_scattering_cc::node_shader_buts_subsurface(), blender::nodes::node_shader_tangent_cc::node_shader_buts_tangent(), blender::nodes::node_shader_tex_brick_cc::node_shader_buts_tex_brick(), blender::nodes::node_shader_tex_coord_cc::node_shader_buts_tex_coord(), blender::ed::space_node::node_shader_buts_tex_environment(), blender::ed::space_node::node_shader_buts_tex_environment_ex(), blender::nodes::node_shader_tex_gradient_cc::node_shader_buts_tex_gradient(), blender::ed::space_node::node_shader_buts_tex_image(), blender::nodes::node_shader_tex_magic_cc::node_shader_buts_tex_magic(), blender::nodes::node_shader_tex_musgrave_cc::node_shader_buts_tex_musgrave(), blender::nodes::node_shader_tex_noise_cc::node_shader_buts_tex_noise(), blender::nodes::node_shader_tex_pointdensity_cc::node_shader_buts_tex_pointdensity(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_buts_tex_voronoi(), blender::nodes::node_shader_tex_wave_cc::node_shader_buts_tex_wave(), blender::nodes::node_shader_bsdf_toon_cc::node_shader_buts_toon(), blender::nodes::node_shader_uv_along_stroke_cc::node_shader_buts_uvalongstroke(), blender::nodes::node_shader_uvmap_cc::node_shader_buts_uvmap(), blender::nodes::node_shader_vector_math_cc::node_shader_buts_vect_math(), blender::nodes::node_shader_vector_transform_cc::node_shader_buts_vect_transform(), blender::nodes::node_shader_vector_rotate_cc::node_shader_buts_vector_rotate(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_buts_white_noise(), blender::nodes::node_shader_wireframe_cc::node_shader_buts_wireframe(), blender::ed::space_node::node_texture_buts_bricks(), blender::ed::space_node::node_texture_buts_combsep_color(), blender::ed::space_node::node_texture_buts_output(), blender::ed::space_node::node_texture_buts_proc(), noise_panel_draw(), normals_panel_draw(), object_add_ui(), object_convert_ui(), object_offset_draw(), object_offset_header_draw(), occlusion_panel_draw(), offset_panel_draw(), options_light_reference_draw(), options_panel_draw(), panel_draw(), path_panel_draw(), path_panel_draw_header(), position_panel_draw(), profile_panel_draw(), random_header_draw(), random_panel_draw(), random_panel_header_draw(), relative_offset_draw(), relative_offset_header_draw(), restrictions_panel_draw(), segment_list_item(), blender::ed::sculpt_paint::select_random::select_random_ui(), sequencer_split_ui(), shaderfx_panel_header(), shading_panel_draw(), solver_options_panel_draw(), spreadsheet_filter_panel_draw(), spreadsheet_filter_panel_draw_header(), blender::ed::space_node::std_node_socket_draw(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), symmetry_panel_draw(), symmetry_panel_header_draw(), texture_paint_add_texture_paint_slot_ui(), texture_panel_draw(), tile_add_draw(), time_panel_draw(), time_remapping_panel_draw(), transform_panel_draw(), blender::ed::space_node::ui_node_draw_input(), ui_popup_context_menu_for_panel(), uilist_draw_filter_default(), uiTemplateCacheFile(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateCacheFileVelocity(), uiTemplateColormanagedViewSettings(), uiTemplateColorspaceSettings(), uiTemplateImage(), uiTemplateImageFormatViews(), uiTemplateImageSettings(), uiTemplateImageStereo3d(), uiTemplateMovieClip(), uiTemplatePaintModeSelection(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateViewsFormat(), uv_panel_draw(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_transform_butsR(), velocity_panel_draw(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_panel_draw_header(), vertex_vgroup_panel_draw(), vgroup_panel_draw(), view3d_panel_vgroup(), wave_header_draw(), wave_panel_draw(), weightvg_ui_common(), wm_open_mainfile_ui(), and wm_stereo3d_set_draw().

◆ uiItemS()

void uiItemS ( uiLayout layout)

Separator item

Definition at line 3378 of file interface_layout.c.

References uiItemS_ex().

Referenced by block_create__close_file_dialog(), block_create_autorun_warning(), blender::ui::GridViewLayoutBuilder::build_from_view(), constraint_ops_extra_draw(), draw_constraint_header(), dyntopo_warning_popup(), ED_region_header_layout(), ED_screens_footer_tools_menu_create(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), file_panel_asset_catalog_buttons_draw(), fmodifier_influence_draw(), fmodifier_panel_header(), geometry_panel_draw(), gpencil_modifier_ops_extra_draw(), gpencil_modifier_panel_header(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_drivers_popover(), image_save_as_draw(), insert_key_menu_invoke(), modifier_ops_extra_draw(), modifier_panel_header(), move_to_collection_menu_create(), nla_panel_animdata(), nla_panel_properties(), blender::nodes::node_composite_directionalblur_cc::node_composit_buts_dblur(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), outliner_operator_menu(), panel_draw(), pose_groups_menu_invoke(), screen_area_menu_items(), screen_area_options_invoke(), screen_user_menu_draw(), sequencer_split_ui(), shaderfx_panel_header(), subdivisions_panel_draw(), template_keymap_item_properties(), ui_def_but_rna__menu(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_slot_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_item_enum_expand_exec(), blender::ed::space_node::ui_node_draw_input(), ui_paneltype_draw_impl(), ui_popup_context_menu_for_button(), UI_popup_menu_begin_ex(), UI_popup_menu_reports(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiTemplateColorPicker(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplatePreview(), workspace_add_invoke(), and workspace_add_menu().

◆ uiItemS_ex()

void uiItemS_ex ( uiLayout layout,
float  factor 
)

◆ uiItemsAlertBox()

uiLayout* uiItemsAlertBox ( uiBlock block,
int  size,
eAlertIcon  icon 
)

◆ uiItemsEnumO()

void uiItemsEnumO ( uiLayout layout,
const char *  opname,
const char *  propname 
)

◆ uiItemsEnumR()

void uiItemsEnumR ( uiLayout layout,
struct PointerRNA ptr,
const char *  propname 
)

◆ uiItemsFullEnumO()

void uiItemsFullEnumO ( uiLayout layout,
const char *  opname,
const char *  propname,
IDProperty properties,
wmOperatorCallContext  context,
int  flag 
)

◆ uiItemsFullEnumO_items()

void uiItemsFullEnumO_items ( uiLayout layout,
wmOperatorType ot,
PointerRNA  ptr,
PropertyRNA prop,
IDProperty properties,
wmOperatorCallContext  context,
int  flag,
const EnumPropertyItem item_array,
int  totitem 
)

◆ uiItemSpacer()

void uiItemSpacer ( uiLayout layout)

◆ uiItemStringO()

void uiItemStringO ( uiLayout layout,
const char *  name,
int  icon,
const char *  opname,
const char *  propname,
const char *  value 
)

◆ uiItemTabsEnumR_prop()

void uiItemTabsEnumR_prop ( uiLayout layout,
bContext C,
PointerRNA ptr,
PropertyRNA prop,
PointerRNA ptr_highlight,
PropertyRNA prop_highlight,
bool  icon_only 
)

◆ uiItemV()

void uiItemV ( uiLayout layout,
const char *  name,
int  icon,
int  argval 
)

◆ uiLayoutAbsolute()

uiLayout* uiLayoutAbsolute ( uiLayout layout,
bool  align 
)

◆ uiLayoutAbsoluteBlock()

uiBlock* uiLayoutAbsoluteBlock ( uiLayout layout)

◆ uiLayoutBox()

uiLayout* uiLayoutBox ( uiLayout layout)

◆ uiLayoutColumn()

uiLayout* uiLayoutColumn ( uiLayout layout,
bool  align 
)

Definition at line 4752 of file interface_layout.c.

References uiLayoutRoot::block, uiStyle::buttonspacey, uiLayout::item, ITEM_LAYOUT_COLUMN, MEM_callocN, uiLayout::root, uiLayout::space, uiLayoutRoot::style, uiItem::type, UI_block_layout_set_current(), and ui_litem_init_from_parent().

Referenced by advanced_panel_draw(), axis_mapping_panel_draw(), bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_save_file_forwardcompat_dialog(), blur_panel_draw(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), caps_panel_draw(), clamp_panel_draw(), component_menu(), composition_panel_draw(), constant_offset_draw(), constraint_ops_extra_draw(), curvature_panel_draw(), curvemap_buttons_layout(), custom_range_panel_draw(), cycles_panel_draw(), data_panel_draw(), draw_fill_tile(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_decimate_ui(), edge_data_panel_draw(), edge_types_panel_draw(), envelope_panel_draw(), fade_panel_draw(), fading_panel_draw(), file_forwardcompat_detailed_info_show(), file_panel_asset_catalog_buttons_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), blender::nodes::node_fn_input_bool_cc::fn_node_input_bool_layout(), blender::nodes::node_fn_input_int_cc::fn_node_input_int_layout(), blender::nodes::node_fn_input_vector_cc::fn_node_input_vector_layout(), frame_range_panel_draw(), generate_panel_draw(), generator_panel_draw(), gpencil_interpolate_seq_ui(), gpencil_modifier_masking_panel_draw(), gpencil_modifier_ops_extra_draw(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__singleProp(), graph_panel_driverVar__transChan(), graph_panel_key_properties(), graph_panel_properties(), hud_panel_operator_redo_draw(), image_new_draw(), image_save_as_draw(), intersection_panel_draw(), layers_panel_draw(), limits_panel_draw(), material_mask_panel_draw(), materials_panel_draw(), modifier_ops_extra_draw(), nla_panel_actclip(), nla_panel_animated_influence_header(), nla_panel_animated_strip_time_header(), nla_panel_properties(), blender::ed::space_node::node_buts_image_user(), blender::ed::space_node::node_buts_image_views(), blender::ed::space_node::node_buts_mix_rgb(), blender::nodes::node_shader_output_linestyle_cc::node_buts_output_linestyle(), blender::ed::space_node::node_buts_rgb(), blender::ed::space_node::node_buts_time(), blender::nodes::node_composite_alpha_over_cc::node_composit_buts_alphaover(), blender::nodes::node_composite_antialiasing_cc::node_composit_buts_antialiasing(), blender::nodes::node_composite_bilateralblur_cc::node_composit_buts_bilateralblur(), blender::nodes::node_composite_blur_cc::node_composit_buts_blur(), blender::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::nodes::node_composite_chroma_matte_cc::node_composit_buts_chroma_matte(), blender::nodes::node_composite_color_matte_cc::node_composit_buts_color_matte(), blender::nodes::node_composite_color_spill_cc::node_composit_buts_color_spill(), blender::nodes::node_composite_colorbalance_cc::node_composit_buts_colorbalance(), blender::nodes::node_composite_crop_cc::node_composit_buts_crop(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy(), blender::nodes::node_composite_directionalblur_cc::node_composit_buts_dblur(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_despeckle_cc::node_composit_buts_despeckle(), blender::nodes::node_composite_diff_matte_cc::node_composit_buts_diff_matte(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_double_edge_mask_cc::node_composit_buts_double_edge_mask(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_invert_cc::node_composit_buts_invert(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_lensdist_cc::node_composit_buts_lensdist(), blender::nodes::node_composite_luma_matte_cc::node_composit_buts_luma_matte(), blender::nodes::node_composite_map_range_cc::node_composit_buts_map_range(), blender::nodes::node_composite_map_value_cc::node_composit_buts_map_value(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_split_viewer_cc::node_composit_buts_splitviewer(), blender::nodes::node_composite_tonemap_cc::node_composit_buts_tonemap(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_vec_blur_cc::node_composit_buts_vecblur(), blender::nodes::node_composite_viewer_cc::node_composit_buts_viewer_ex(), blender::nodes::node_composite_image_cc::node_composit_buts_viewlayers(), blender::nodes::node_composite_zcombine_cc::node_composit_buts_zcombine(), blender::nodes::node_shader_tex_brick_cc::node_shader_buts_tex_brick(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), blender::ed::space_node::node_texture_buts_bricks(), blender::ed::space_node::node_texture_buts_proc(), noise_panel_draw(), normals_panel_draw(), object_add_ui(), object_offset_draw(), occlusion_panel_draw(), options_light_reference_draw(), options_panel_draw(), panel_draw(), path_panel_draw(), position_panel_draw(), profile_panel_draw(), relative_offset_draw(), solver_options_panel_draw(), blender::ed::space_node::std_node_socket_draw(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), symmetry_panel_draw(), template_add_button_search_menu(), template_operator_property_buts_draw_single(), texture_paint_add_texture_paint_slot_ui(), texture_panel_draw(), tile_add_draw(), time_panel_draw(), ui_def_but_rna__menu(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_item_local_sublayout(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_menu_column(), ui_paneltype_draw_impl(), ui_popup_context_menu_for_button(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), uiDefAutoButsRNA(), uiItemDecoratorR_prop(), uiItemFullR(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiLayoutColumnWithHeading(), uiTemplateAssetView(), uiTemplateCacheFileLayers(), uiTemplateColormanagedViewSettings(), uiTemplateColorPicker(), uiTemplateHistogram(), uiTemplateImage(), uiTemplateImageInfo(), uiTemplateImageSettings(), uiTemplateImageStereo3d(), uiTemplateInputStatus(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMovieClip(), uiTemplateMovieclipInformation(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateViewsFormat(), uiTemplateWaveform(), undo_history_draw_menu(), uv_panel_draw(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_posearmature_buts(), v3d_transform_butsR(), vertex_group_panel_draw(), vgroup_panel_draw(), view3d_panel_transform(), view3d_panel_vgroup(), wm_block_create_about(), wm_block_create_redo(), wm_block_dialog_create(), wm_open_mainfile_ui(), and wm_stereo3d_set_draw().

◆ uiLayoutColumnFlow()

uiLayout* uiLayoutColumnFlow ( uiLayout layout,
int  number,
bool  align 
)

◆ uiLayoutColumnWithHeading()

uiLayout* uiLayoutColumnWithHeading ( uiLayout layout,
bool  align,
const char *  heading 
)

Variant of uiLayoutColumn() that sets a heading label for the layout if the first item is added through uiItemFullR(). If split layout is used and the item has no string to add to the first split-column, the heading is added there instead. Otherwise the heading inserted with a new row.

Definition at line 4765 of file interface_layout.c.

References ui_layout_heading_set(), and uiLayoutColumn().

Referenced by chaining_panel_draw(), edbm_bevel_ui(), nla_panel_properties(), panel_draw(), and shading_panel_draw().

◆ uiLayoutContextCopy()

void uiLayoutContextCopy ( uiLayout layout,
bContextStore context 
)

◆ uiLayoutGetActivateInit()

bool uiLayoutGetActivateInit ( uiLayout layout)

Definition at line 5023 of file interface_layout.c.

References uiLayout::activate_init.

◆ uiLayoutGetActive()

bool uiLayoutGetActive ( uiLayout layout)

Definition at line 5013 of file interface_layout.c.

References uiLayout::active.

◆ uiLayoutGetActiveDefault()

bool uiLayoutGetActiveDefault ( uiLayout layout)

Definition at line 5018 of file interface_layout.c.

References uiLayout::active_default.

◆ uiLayoutGetAlignment()

int uiLayoutGetAlignment ( uiLayout layout)

Definition at line 5043 of file interface_layout.c.

References uiLayout::alignment.

Referenced by uiItemL_().

◆ uiLayoutGetBlock()

uiBlock* uiLayoutGetBlock ( uiLayout layout)

Definition at line 5545 of file interface_layout.c.

References uiLayoutRoot::block, and uiLayout::root.

Referenced by add_attribute_search_button(), asset_view_draw_item(), blender::ui::PreviewGridItem::build_grid_tile(), constraint_ops_extra_draw(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), draw_constraint_header(), envelope_panel_draw(), file_create_asset_catalog_tree_view_in_layout(), file_panel_execution_buttons_draw(), file_panel_operator(), fmodifier_panel_header(), gpencil_modifier_ops_extra_draw(), gpencil_modifier_panel_get_property_pointers(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_key_properties(), graph_panel_modifiers(), modifier_ops_extra_draw(), modifier_panel_get_property_pointers(), modifier_panel_header(), move_to_collection_menu_create(), nla_panel_actclip(), nla_panel_animated_influence_header(), nla_panel_animated_strip_time(), nla_panel_animated_strip_time_header(), nla_panel_animdata(), nla_panel_evaluation(), nla_panel_modifiers(), nla_panel_properties(), nla_panel_stripname(), blender::ed::space_node::node_file_output_socket_draw(), blender::ed::space_node::node_geometry_add_attribute_search_button(), panel_draw(), shaderfx_panel_header(), blender::ed::spreadsheet::spreadsheet_data_set_panel_draw(), template_ID(), template_ID_tabs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_search_buttons(), template_texture_user_menu(), ui_but_change_type(), ui_def_but_rna__menu(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_slot_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_layout_add_but(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_menu_column(), ui_popup_context_menu_for_button(), ui_popup_context_menu_for_panel(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), uiblock_layer_pass_buttons(), uiItemL_respect_property_split(), uiItemPointerR_prop(), uiLayoutAbsoluteBlock(), uiTemplateColorPicker(), uiTemplateComponentMenu(), uiTemplateConstraintHeader(), uiTemplateCryptoPicker(), uiTemplateCurveMapping(), uiTemplateCurveProfile(), uiTemplateFileSelectPath(), uiTemplateHistogram(), uiTemplateImage(), uiTemplateKeymapItemProperties(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMenuSearch(), uiTemplateMovieClip(), uiTemplateNodeLink(), uiTemplateNodeSocket(), uiTemplateOperatorRedoProperties(), uiTemplateOperatorSearch(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateReportsBanner(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), uiTemplateTextureShow(), uiTemplateTextureUser(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateWaveform(), view3d_panel_transform(), wm_block_dialog_create(), and workspace_add_menu().

◆ uiLayoutGetContextStore()

bContextStore* uiLayoutGetContextStore ( uiLayout layout)

◆ uiLayoutGetEmboss()

eUIEmbossType uiLayoutGetEmboss ( uiLayout layout)

◆ uiLayoutGetEnabled()

bool uiLayoutGetEnabled ( uiLayout layout)

Definition at line 5028 of file interface_layout.c.

References uiLayout::enabled.

◆ uiLayoutGetFixedSize()

bool uiLayoutGetFixedSize ( uiLayout layout)

Definition at line 5649 of file interface_layout.c.

References uiItem::flag, uiLayout::item, and UI_ITEM_FIXED_SIZE.

◆ uiLayoutGetKeepAspect()

bool uiLayoutGetKeepAspect ( uiLayout layout)

Definition at line 5038 of file interface_layout.c.

References uiLayout::keepaspect.

◆ uiLayoutGetLocalDir()

int uiLayoutGetLocalDir ( const uiLayout layout)

◆ uiLayoutGetOperatorContext()

int uiLayoutGetOperatorContext ( uiLayout layout)

Definition at line 5550 of file interface_layout.c.

References uiLayoutRoot::opcontext, and uiLayout::root.

◆ uiLayoutGetPropDecorate()

bool uiLayoutGetPropDecorate ( uiLayout layout)

Definition at line 5003 of file interface_layout.c.

References uiItem::flag, uiLayout::item, and UI_ITEM_PROP_DECORATE.

◆ uiLayoutGetPropSep()

bool uiLayoutGetPropSep ( uiLayout layout)

Definition at line 4993 of file interface_layout.c.

References uiItem::flag, uiLayout::item, and UI_ITEM_PROP_SEP.

◆ uiLayoutGetRedAlert()

bool uiLayoutGetRedAlert ( uiLayout layout)

Definition at line 5033 of file interface_layout.c.

References uiLayout::redalert.

◆ uiLayoutGetScaleX()

float uiLayoutGetScaleX ( uiLayout layout)

Definition at line 5053 of file interface_layout.c.

References uiLayout::scale.

◆ uiLayoutGetScaleY()

float uiLayoutGetScaleY ( uiLayout layout)

Definition at line 5058 of file interface_layout.c.

References uiLayout::scale.

◆ uiLayoutGetUnitsX()

float uiLayoutGetUnitsX ( uiLayout layout)

Definition at line 5063 of file interface_layout.c.

References uiLayout::units.

Referenced by ui_block_func_POPUP().

◆ uiLayoutGetUnitsY()

float uiLayoutGetUnitsY ( uiLayout layout)

Definition at line 5068 of file interface_layout.c.

References uiLayout::units.

◆ uiLayoutGetWidth()

int uiLayoutGetWidth ( uiLayout layout)

◆ uiLayoutGridFlow()

uiLayout* uiLayoutGridFlow ( uiLayout layout,
bool  row_major,
int  columns_len,
bool  even_columns,
bool  even_rows,
bool  align 
)

◆ uiLayoutListBox()

uiLayout* uiLayoutListBox ( uiLayout layout,
uiList ui_list,
PointerRNA actptr,
PropertyRNA actprop 
)

◆ uiLayoutOverlap()

uiLayout* uiLayoutOverlap ( uiLayout layout)

◆ uiLayoutRadial()

uiLayout* uiLayoutRadial ( uiLayout layout)

◆ uiLayoutRow()

uiLayout* uiLayoutRow ( uiLayout layout,
bool  align 
)

Definition at line 4732 of file interface_layout.c.

References uiLayoutRoot::block, uiStyle::buttonspacex, uiLayout::item, ITEM_LAYOUT_ROW, MEM_callocN, uiLayout::root, uiLayout::space, uiLayoutRoot::style, uiItem::type, UI_block_layout_set_current(), and ui_litem_init_from_parent().

Referenced by add_attribute_search_or_value_buttons(), advanced_panel_draw(), armature_parent_clear_invoke(), armature_parent_set_invoke(), blender::ui::TreeViewLayoutBuilder::build_row(), buttons_panel_context_draw(), cache_file_layer_item(), clamp_panel_draw(), colorband_buttons_layout(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), data_panel_draw(), draw_constraint_header(), draw_property_for_output_socket(), draw_property_for_socket(), ED_collection_hide_menu_draw(), ed_panel_draw(), edbm_bevel_ui(), edbm_decimate_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), edge_types_panel_draw(), envelope_panel_draw(), falloff_panel_draw(), file_panel_asset_catalog_buttons_draw(), file_panel_execution_buttons_draw(), file_panel_execution_cancel_button(), file_panel_execution_execute_button(), fmodifier_influence_draw(), fmodifier_panel_header(), generate_panel_draw(), generator_panel_draw(), geometry_panel_draw(), gpencil_interpolate_seq_ui(), gpencil_modifier_masking_panel_draw(), gpencil_modifier_panel_end(), gpencil_modifier_panel_header(), gpencil_stroke_normalize_ui(), graph_draw_driven_property_panel(), graph_draw_driver_settings_panel(), graph_panel_driverVar__singleProp(), graph_panel_modifiers(), internal_dependencies_panel_draw(), intersection_panel_draw(), material_mask_panel_draw(), metadata_panel_draw_field(), mix_mode_panel_draw(), modifier_panel_end(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animdata(), nla_panel_modifiers(), nla_panel_properties(), nla_panel_stripname(), blender::ed::space_node::node_buts_mix_rgb(), blender::nodes::node_shader_output_linestyle_cc::node_buts_output_linestyle(), blender::nodes::node_composite_blur_cc::node_composit_buts_blur(), blender::nodes::node_composite_boxmask_cc::node_composit_buts_boxmask(), blender::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::nodes::node_composite_color_spill_cc::node_composit_buts_color_spill(), blender::nodes::node_composite_colorbalance_cc::node_composit_buts_colorbalance(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection(), blender::nodes::node_composite_colorcorrection_cc::node_composit_buts_colorcorrection_ex(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_ellipsemask_cc::node_composit_buts_ellipsemask(), blender::nodes::node_composite_output_file_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_scale_cc::node_composit_buts_scale(), blender::nodes::node_composite_split_viewer_cc::node_composit_buts_splitviewer(), blender::nodes::node_composite_image_cc::node_composit_buts_viewlayers(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_shader_ies_light_cc::node_shader_buts_ies(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::nodes::node_shader_tangent_cc::node_shader_buts_tangent(), blender::ed::space_node::node_texture_buts_proc(), blender::ed::space_node::node_update_basis(), options_panel_draw(), panel_draw(), profile_panel_draw(), segment_list_item(), sequencer_split_ui(), shaderfx_panel_end(), shaderfx_panel_header(), shape_panel_draw(), spreadsheet_filter_panel_draw_header(), subdivisions_panel_draw(), template_add_button_search_menu(), blender::ui::template_breadcrumbs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_search_buttons(), ui_item_local_sublayout(), ui_item_prop_split_layout_hack(), ui_item_with_label(), blender::ed::space_node::ui_node_draw_input(), ui_paneltype_draw_impl(), ui_template_id(), ui_template_list_layout_draw(), ui_template_palette_menu(), uiblock_layer_pass_buttons(), uiItemFullR(), uiItemPopoverPanel_ptr(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiLayoutRowWithHeading(), uilist_draw_filter_default(), uiTemplateAnyID(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateColorPicker(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateInputStatus(), uiTemplateLayers(), uiTemplateMovieClip(), uiTemplatePaintModeSelection(), uiTemplatePalette(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateRunningJobs(), undo_history_draw_menu(), vertex_group_panel_draw(), vgroup_panel_draw(), view3d_panel_vgroup(), wm_block_create_about(), WM_window_modal_keymap_status_draw(), and workspace_add_menu().

◆ uiLayoutRowWithHeading()

uiLayout* uiLayoutRowWithHeading ( uiLayout layout,
bool  align,
const char *  heading 
)

◆ uiLayoutSetActivateInit()

void uiLayoutSetActivateInit ( uiLayout layout,
bool  activate_init 
)

Definition at line 4943 of file interface_layout.c.

References uiLayout::activate_init.

Referenced by uiDefAutoButsRNA().

◆ uiLayoutSetActive()

void uiLayoutSetActive ( uiLayout layout,
bool  active 
)

Definition at line 4933 of file interface_layout.c.

References blender::compositor::active, and uiLayout::active.

Referenced by advanced_panel_draw(), clamp_panel_draw(), composition_panel_draw(), constant_offset_draw(), curvature_panel_draw(), curve_header_draw(), curve_panel_draw(), custom_range_header_draw(), custom_range_panel_draw(), data_panel_draw(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_decimate_ui(), edge_panel_draw(), edge_types_panel_draw(), face_corner_panel_draw(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), face_mark_panel_draw(), face_panel_draw(), fade_panel_draw(), falloff_panel_draw(), fmodifier_frame_range_draw(), fmodifier_get_pointers(), fmodifier_influence_draw(), geometry_panel_draw(), gpencil_modifier_masking_panel_draw(), graph_panel_cursor(), internal_dependencies_panel_draw(), intersection_panel_draw(), limits_panel_draw(), material_mask_panel_draw(), material_mask_panel_draw_header(), materials_panel_draw(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_properties(), blender::ed::space_node::node_buts_image_user(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_lensdist_cc::node_composit_buts_lensdist(), blender::nodes::node_composite_map_value_cc::node_composit_buts_map_value(), blender::ed::space_node::node_texture_buts_proc(), blender::ed::space_node::node_update_basis(), object_add_ui(), object_offset_draw(), occlusion_panel_draw(), offset_panel_draw(), options_light_reference_draw(), options_panel_draw(), panel_draw(), path_panel_draw(), profile_panel_draw(), random_panel_draw(), relative_offset_draw(), shaderfx_panel_header(), shading_panel_draw(), spreadsheet_filter_panel_draw(), spreadsheet_filter_panel_draw_header(), spreadsheet_row_filters_layout(), stepped_panel_draw(), symmetry_panel_draw(), template_keymap_item_properties(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), uiTemplateMarker(), uiTemplateRunningJobs(), v3d_transform_butsR(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_vgroup_panel_draw(), wave_panel_draw(), and wm_open_mainfile_ui().

◆ uiLayoutSetActiveDefault()

void uiLayoutSetActiveDefault ( uiLayout layout,
bool  active_default 
)

Definition at line 4938 of file interface_layout.c.

References uiLayout::active_default.

Referenced by file_panel_execution_execute_button().

◆ uiLayoutSetAlignment()

void uiLayoutSetAlignment ( uiLayout layout,
char  alignment 
)

◆ uiLayoutSetContextFromBut()

void uiLayoutSetContextFromBut ( uiLayout layout,
uiBut but 
)

◆ uiLayoutSetContextPointer()

void uiLayoutSetContextPointer ( uiLayout layout,
const char *  name,
PointerRNA ptr 
)

◆ uiLayoutSetEmboss()

void uiLayoutSetEmboss ( uiLayout layout,
eUIEmbossType  emboss 
)

◆ uiLayoutSetEnabled()

void uiLayoutSetEnabled ( uiLayout layout,
bool  enabled 
)

◆ uiLayoutSetFixedSize()

void uiLayoutSetFixedSize ( uiLayout layout,
bool  fixed_size 
)

◆ uiLayoutSetFunc()

void uiLayoutSetFunc ( uiLayout layout,
uiMenuHandleFunc  handlefunc,
void argv 
)

Definition at line 5659 of file interface_layout.c.

References uiLayoutRoot::argv, uiLayoutRoot::handlefunc, and uiLayout::root.

◆ uiLayoutSetKeepAspect()

void uiLayoutSetKeepAspect ( uiLayout layout,
bool  keepaspect 
)

Definition at line 4958 of file interface_layout.c.

References uiLayout::keepaspect.

Referenced by uiTemplatePreview().

◆ uiLayoutSetOperatorContext()

void uiLayoutSetOperatorContext ( uiLayout layout,
wmOperatorCallContext  opcontext 
)

◆ uiLayoutSetPropDecorate()

void uiLayoutSetPropDecorate ( uiLayout layout,
bool  is_sep 
)

Definition at line 5008 of file interface_layout.c.

References uiItem::flag, uiLayout::item, SET_FLAG_FROM_TEST, and UI_ITEM_PROP_DECORATE.

Referenced by cycles_panel_draw(), data_panel_draw(), draw_fill_tile(), draw_property_for_socket(), edbm_bevel_ui(), edbm_blend_from_shape_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), envelope_panel_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), blender::nodes::node_fn_align_euler_to_vector_cc::fn_node_align_euler_to_vector_layout(), generator_panel_draw(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), gpencil_interpolate_seq_ui(), gpencil_modifier_masking_panel_draw(), gpencil_stroke_normalize_ui(), graph_panel_cursor(), graph_panel_key_properties(), graph_panel_properties(), image_new_draw(), image_save_as_draw(), limits_panel_draw(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animdata(), nla_panel_properties(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_line_cc::node_layout(), blender::nodes::node_geo_mesh_to_volume_cc::node_layout(), blender::nodes::node_geo_points_to_volume_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_uv_unwrap_cc::node_layout(), blender::nodes::node_geo_volume_to_mesh_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), noise_panel_draw(), output_attribute_panel_draw(), panel_draw(), profile_panel_draw(), screenshot_draw(), sequencer_split_ui(), spreadsheet_filter_panel_draw(), stepped_panel_draw(), template_operator_property_buts_draw_single(), texture_paint_add_texture_paint_slot_ui(), tile_add_draw(), blender::ed::space_node::ui_node_draw_input(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateViewsFormat(), and wm_stereo3d_set_draw().

◆ uiLayoutSetPropSep()

void uiLayoutSetPropSep ( uiLayout layout,
bool  is_sep 
)

Definition at line 4998 of file interface_layout.c.

References uiItem::flag, uiLayout::item, SET_FLAG_FROM_TEST, and UI_ITEM_PROP_SEP.

Referenced by advanced_panel_draw(), axis_mapping_panel_draw(), bake_panel_draw(), blur_panel_draw(), caps_panel_draw(), chaining_panel_draw(), clamp_panel_draw(), composition_panel_draw(), constant_offset_draw(), curvature_panel_draw(), CurveProfile_buttons_layout(), custom_range_panel_draw(), cycles_panel_draw(), data_panel_draw(), draw_fill_tile(), edbm_average_normals_ui(), edbm_bevel_ui(), edbm_blend_from_shape_ui(), edbm_decimate_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), edbm_point_normals_ui(), edge_data_panel_draw(), edge_panel_draw(), edge_types_panel_draw(), envelope_panel_draw(), face_corner_panel_draw(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), face_mark_panel_draw(), face_panel_draw(), fade_panel_draw(), fading_panel_draw(), falloff_panel_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), blender::nodes::node_fn_align_euler_to_vector_cc::fn_node_align_euler_to_vector_layout(), frame_range_panel_draw(), generate_panel_draw(), generator_panel_draw(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), geometry_panel_draw(), gpencil_interpolate_seq_ui(), gpencil_modifier_masking_panel_draw(), gpencil_stroke_normalize_ui(), graph_panel_cursor(), graph_panel_key_properties(), graph_panel_properties(), image_new_draw(), image_save_as_draw(), intersection_panel_draw(), layers_panel_draw(), limits_panel_draw(), material_mask_panel_draw(), materials_panel_draw(), mix_mode_panel_draw(), nla_panel_actclip(), nla_panel_animated_strip_time(), nla_panel_animdata(), nla_panel_evaluation(), nla_panel_properties(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_line_cc::node_layout(), blender::nodes::node_geo_mesh_to_volume_cc::node_layout(), blender::nodes::node_geo_points_to_volume_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_uv_unwrap_cc::node_layout(), blender::nodes::node_geo_volume_to_mesh_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), noise_panel_draw(), normals_panel_draw(), object_add_ui(), object_convert_ui(), object_offset_draw(), occlusion_panel_draw(), offset_panel_draw(), options_light_reference_draw(), options_panel_draw(), output_attribute_panel_draw(), override_layers_panel_draw(), panel_draw(), path_panel_draw(), position_panel_draw(), profile_panel_draw(), random_panel_draw(), relative_offset_draw(), render_procedural_panel_draw(), restrictions_panel_draw(), screenshot_draw(), sequencer_split_ui(), shading_panel_draw(), solver_options_panel_draw(), spreadsheet_filter_panel_draw(), stepped_panel_draw(), symmetry_panel_draw(), template_operator_property_buts_draw_single(), texture_paint_add_texture_paint_slot_ui(), texture_panel_draw(), tile_add_draw(), time_panel_draw(), time_remapping_panel_draw(), transform_panel_draw(), ui_item_prop_split_layout_hack(), blender::ed::space_node::ui_node_draw_node(), uiDefAutoButsRNA(), uiTemplateCacheFile(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateViewsFormat(), uv_panel_draw(), velocity_panel_draw(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_vgroup_panel_draw(), vgroup_panel_draw(), wave_panel_draw(), weightvg_ui_common(), and wm_stereo3d_set_draw().

◆ uiLayoutSetRedAlert()

void uiLayoutSetRedAlert ( uiLayout layout,
bool  redalert 
)

◆ uiLayoutSetScaleX()

void uiLayoutSetScaleX ( uiLayout layout,
float  scale 
)

◆ uiLayoutSetScaleY()

void uiLayoutSetScaleY ( uiLayout layout,
float  scale 
)

◆ uiLayoutSetTooltipFunc()

void uiLayoutSetTooltipFunc ( uiLayout layout,
uiButToolTipFunc  func,
void arg,
uiCopyArgFunc  copy_arg,
uiFreeArgFunc  free_arg 
)

Set tooltip function for all buttons in the layout. func, arg and free_arg are passed on to UI_but_func_tooltip_set, so their meaning is the same.

Parameters
funcThe callback function that gets called to get tooltip content
argAn optional opaque pointer that gets passed to func
free_argAn optional callback for freeing arg (can be set to e.g. MEM_freeN)
copy_argAn optional callback for duplicating arg in case UI_but_func_tooltip_set is being called on multiple buttons (can be set to e.g. MEM_dupallocN). If set to NULL, arg will be passed as-is to all buttons.

Definition at line 5726 of file interface_layout.c.

References uiButtonItem::but, ITEM_BUTTON, uiLayout::items, LISTBASE_FOREACH, NULL, uiBut::type, UI_BTYPE_DECORATOR, UI_but_func_tooltip_set(), and uiLayoutSetTooltipFunc().

Referenced by blender::ed::space_node::node_socket_add_tooltip(), and uiLayoutSetTooltipFunc().

◆ uiLayoutSetUnitsX()

void uiLayoutSetUnitsX ( uiLayout layout,
float  unit 
)

◆ uiLayoutSetUnitsY()

void uiLayoutSetUnitsY ( uiLayout layout,
float  unit 
)

Definition at line 4983 of file interface_layout.c.

References uiLayout::units.

◆ uiLayoutSplit()

uiLayout* uiLayoutSplit ( uiLayout layout,
float  percentage,
bool  align 
)

Variable Documentation

◆ ui_text_pad_compact

const struct uiTextIconPadFactor ui_text_pad_compact
static
Initial value:
= {
.text = 1.25f,
.icon = 0.35f,
.icon_only = 0.0f,
}

ui_text_pad_default scaled down.

Definition at line 271 of file interface_layout.c.

Referenced by ui_item_menu(), and ui_text_icon_width().

◆ ui_text_pad_default

const struct uiTextIconPadFactor ui_text_pad_default
static
Initial value:
= {
.text = 1.50f,
.icon = 0.25f,
.icon_only = 0.0f,
}

This adds over an icons width of padding even when no icon is used, this is done because most buttons need additional space (drop-down chevron for example). menus and labels use much smaller text values compared to this default.

Note
It may seem odd that the icon only adds 0.25 but taking margins into account its fine, except for ui_text_pad_compact where a bit more margin is required.

Definition at line 271 of file interface_layout.c.

Referenced by ui_text_icon_width().

◆ ui_text_pad_none

const struct uiTextIconPadFactor ui_text_pad_none
static
Initial value:
= {
.text = 0.25f,
.icon = 1.50f,
.icon_only = 0.0f,
}

Least amount of padding not to clip the text or icon.

Definition at line 271 of file interface_layout.c.

Referenced by ui_item_with_label(), and uiItemL_().