Blender V4.3
UI_interface_c.hh File Reference
#include <functional>
#include <optional>
#include <string>
#include "BLI_compiler_attrs.h"
#include "BLI_string_ref.hh"
#include "BLI_string_utf8_symbols.h"
#include "BLI_sys_types.h"
#include "BLI_utildefines.h"
#include "UI_interface_icons.hh"
#include "WM_types.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  uiBlockInteraction_Params
 
struct  uiBlockInteraction_CallbackData
 
struct  uiTooltipImage
 
struct  PanelLayout
 
struct  uiPropertySplitWrapper
 
struct  uiDragColorHandle
 
struct  uiFontStyleDraw_Params
 

Namespaces

namespace  blender
 
namespace  blender::ed
 
namespace  blender::ed::asset
 
namespace  blender::ui
 

Macros

#define UI_SEP_CHAR   '|'
 
#define UI_SEP_CHAR_S   "|"
 
#define UI_VALUE_INDETERMINATE_CHAR   BLI_STR_UTF8_EM_DASH
 
#define UI_MENU_ARROW_SEP   BLI_STR_UTF8_BLACK_RIGHT_POINTING_SMALL_TRIANGLE
 
#define UI_MAX_DRAW_STR   400
 
#define UI_MAX_NAME_STR   128
 
#define UI_MAX_SHORTCUT_STR   64
 
#define UI_REGION_OVERLAP_MARGIN   (U.widget_unit / 3)
 
#define UI_SCREEN_MARGIN   10
 
#define UI_DEFAULT_TEXT_POINTS   11.0f
 
#define UI_DEFAULT_TITLE_POINTS   11.0f
 
#define UI_DEFAULT_TOOLTIP_POINTS   11.0f
 
#define UI_PANEL_WIDTH   340
 
#define UI_COMPACT_PANEL_WIDTH   160
 
#define UI_SIDEBAR_PANEL_WIDTH   280
 
#define UI_NAVIGATION_REGION_WIDTH   UI_COMPACT_PANEL_WIDTH
 
#define UI_NARROW_NAVIGATION_REGION_WIDTH   100
 
#define UI_TOOLBAR_COLUMN   (1.25f * ICON_DEFAULT_HEIGHT_TOOLBAR)
 
#define UI_TOOLBAR_MARGIN   (0.5f * ICON_DEFAULT_HEIGHT_TOOLBAR)
 
#define UI_TOOLBAR_WIDTH   UI_TOOLBAR_MARGIN + UI_TOOLBAR_COLUMN
 
#define UI_PANEL_CATEGORY_MARGIN_WIDTH   (U.widget_unit * 1.0f)
 
#define UI_PANEL_MARGIN_X   (U.widget_unit * 0.4f)
 
#define UI_PANEL_MARGIN_Y   (U.widget_unit * 0.1f)
 
#define UI_BUT_POIN_TYPES   (UI_BUT_POIN_FLOAT | UI_BUT_POIN_SHORT | UI_BUT_POIN_CHAR)
 
#define BUTTYPE   (63 << 9)
 
#define UI_but_is_decorator(but)   ((but)->type == UI_BTYPE_DECORATOR)
 
#define UI_BUTTON_SECTION_MERGE_DISTANCE   (UI_UNIT_X * 3)
 
#define UI_BUTTON_SECTION_SEPERATOR_LINE_WITH   (U.pixelsize * 2)
 
#define AUTOCOMPLETE_NO_MATCH   0
 
#define AUTOCOMPLETE_FULL_MATCH   1
 
#define AUTOCOMPLETE_PARTIAL_MATCH   2
 
#define INSTANCED_PANEL_UNIQUE_STR_SIZE   16
 
#define UI_UNIT_X   ((void)0, U.widget_unit)
 
#define UI_UNIT_Y   ((void)0, U.widget_unit)
 
#define UI_ITEM_NONE   eUI_Item_Flag(0)
 
#define UI_HEADER_OFFSET   ((void)0, 0.4f * UI_UNIT_X)
 
#define UI_ALPHA_CHECKER_DARK   100
 
#define UI_ALPHA_CHECKER_LIGHT   160
 
#define UI_UL_DEFAULT_CLASS_NAME   "UI_UL_list"
 
#define UI_TOOLTIP_DELAY   0.5
 
#define UI_TOOLTIP_DELAY_LABEL   0.2
 
#define UI_PRECISION_FLOAT_MAX   6
 
#define UI_PRECISION_FLOAT_SCALE   0.01f
 
#define UI_FSTYLE_WIDGET   (const uiFontStyle *)&(UI_style_get()->widget)
 
#define UI_FSTYLE_TOOLTIP   (const uiFontStyle *)&(UI_style_get()->tooltip)
 
#define USE_UI_TOOLBAR_HACK
 
#define USE_UI_POPOVER_ONCE
 

Typedefs

using uiButHandleFunc = void (*)(bContext *C, void *arg1, void *arg2)
 
using uiButHandleRenameFunc = void (*)(bContext *C, void *arg, char *origstr)
 
using uiButHandleNFunc = void (*)(bContext *C, void *argN, void *arg2)
 
using uiButHandleHoldFunc = void (*)(bContext *C, ARegion *butregion, uiBut *but)
 
using uiButCompleteFunc = int (*)(bContext *C, char *str, void *arg)
 
using uiButArgNFree = void (*)(void *argN)
 
using uiButArgNCopy = void *(*)(const void *argN)
 
using uiButIdentityCompareFunc = bool (*)(const uiBut *a, const uiBut *b)
 
using uiButSearchCreateFn = ARegion *(*)(bContext *C, ARegion *butregion, uiButSearch *search_but)
 
using uiButSearchUpdateFn
 
using uiButSearchContextMenuFn
 
using uiButSearchTooltipFn
 
using uiButSearchListenFn = void (*)(const wmRegionListenerParams *params, void *arg)
 
using uiButToolTipFunc = std::string (*)(bContext *C, void *argN, const char *tip)
 
using uiButToolTipCustomFunc = void (*)(bContext &C, uiTooltipData &data, void *argN)
 
using uiBlockHandleFunc = void (*)(bContext *C, void *arg, int event)
 
using uiMenuCreateFunc = void (*)(bContext *C, uiLayout *layout, void *arg1)
 
using uiMenuHandleFunc = void (*)(bContext *C, void *arg, int event)
 
using uiMenuStepFunc = bool (*)(bContext *C, int direction, void *arg1)
 
using uiCopyArgFunc = void *(*)(const void *arg)
 
using uiFreeArgFunc = void (*)(void *arg)
 
using uiBlockCreateFunc = uiBlock *(*)(bContext *C, ARegion *region, void *arg1)
 
using uiBlockCancelFunc = void (*)(bContext *C, void *arg1)
 
using uiListPanelIDFromDataFunc = void (*)(void *data_link, char *r_idname)
 

Enumerations

enum  eUIEmbossType {
  UI_EMBOSS = 0 , UI_EMBOSS_NONE = 1 , UI_EMBOSS_PULLDOWN = 2 , UI_EMBOSS_PIE_MENU = 3 ,
  UI_EMBOSS_NONE_OR_STATUS = 4 , UI_EMBOSS_UNDEFINED = 255
}
 
enum  {
  UI_DIR_UP = 1 << 0 , UI_DIR_DOWN = 1 << 1 , UI_DIR_LEFT = 1 << 2 , UI_DIR_RIGHT = 1 << 3 ,
  UI_DIR_CENTER_X = 1 << 4 , UI_DIR_CENTER_Y = 1 << 5 , UI_DIR_ALL = UI_DIR_UP | UI_DIR_DOWN | UI_DIR_LEFT | UI_DIR_RIGHT
}
 
enum  {
  UI_BLOCK_LOOP = 1 << 0 , UI_BLOCK_NUMSELECT = 1 << 1 , UI_BLOCK_NO_WIN_CLIP = 1 << 2 , UI_BLOCK_CLIPBOTTOM = 1 << 3 ,
  UI_BLOCK_CLIPTOP = 1 << 4 , UI_BLOCK_MOVEMOUSE_QUIT = 1 << 5 , UI_BLOCK_KEEP_OPEN = 1 << 6 , UI_BLOCK_POPUP = 1 << 7 ,
  UI_BLOCK_OUT_1 = 1 << 8 , UI_BLOCK_SEARCH_MENU = 1 << 9 , UI_BLOCK_POPUP_MEMORY = 1 << 10 , UI_BLOCK_CLIP_EVENTS = 1 << 11 ,
  UI_BLOCK_POPUP_HOLD = 1 << 18 , UI_BLOCK_LIST_ITEM = 1 << 19 , UI_BLOCK_PIE_MENU = 1 << 20 , UI_BLOCK_POPOVER = 1 << 21 ,
  UI_BLOCK_POPOVER_ONCE = 1 << 22 , UI_BLOCK_SHOW_SHORTCUT_ALWAYS = 1 << 23 , UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE = 1 << 24 , UI_BLOCK_SEARCH_ONLY = 1 << 25 ,
  UI_BLOCK_QUICK_SETUP = 1 << 26 , UI_BLOCK_NO_ACCELERATOR_KEYS = 1 << 27
}
 
enum  {
  UI_RETURN_CANCEL = 1 << 0 , UI_RETURN_OK = 1 << 1 , UI_RETURN_OUT = 1 << 2 , UI_RETURN_OUT_PARENT = 1 << 3 ,
  UI_RETURN_UPDATE = 1 << 4 , UI_RETURN_POPUP_OK = 1 << 5
}
 
enum  {
  UI_BUT_ICON_SUBMENU = 1 << 8 , UI_BUT_ICON_PREVIEW = 1 << 9 , UI_BUT_NODE_LINK = 1 << 10 , UI_BUT_NODE_ACTIVE = 1 << 11 ,
  UI_BUT_DRAG_LOCK = 1 << 12 , UI_BUT_DISABLED = 1 << 13 , UI_BUT_ANIMATED = 1 << 14 , UI_BUT_ANIMATED_KEY = 1 << 15 ,
  UI_BUT_DRIVEN = 1 << 16 , UI_BUT_REDALERT = 1 << 17 , UI_BUT_INACTIVE = 1 << 18 , UI_BUT_LAST_ACTIVE = 1 << 19 ,
  UI_BUT_UNDO = 1 << 20 , UI_BUT_NO_UTF8 = 1 << 22 , UI_BUT_ACTIVE_DEFAULT = 1 << 23 , UI_BUT_LIST_ITEM = 1 << 24 ,
  UI_BUT_DRAG_MULTI = 1 << 25 , UI_BUT_ACTIVATE_ON_INIT = 1 << 26 , UI_BUT_HAS_SEP_CHAR = 1 << 27 , UI_BUT_UPDATE_DELAY = 1 << 28 ,
  UI_BUT_TEXTEDIT_UPDATE = 1 << 29 , UI_BUT_VALUE_CLEAR = 1 << 30 , UI_BUT_OVERRIDDEN = 1u << 31u
}
 
enum  { UI_BUT2_ACTIVATE_ON_INIT_NO_SELECT = 1 << 0 , UI_BUT2_FORCE_SEMI_MODAL_ACTIVE = 1 << 1 }
 
enum  { UI_BUT_DRAG_FULL_BUT = (1 << 0) , UI_BUT_DRAGPOIN_FREE = (1 << 1) }
 
enum  {
  UI_BUT_TEXT_LEFT = 1 << 1 , UI_BUT_ICON_LEFT = 1 << 2 , UI_BUT_TEXT_RIGHT = 1 << 3 , UI_BUT_NO_TOOLTIP = 1 << 4 ,
  UI_BUT_HAS_TOOLTIP_LABEL = 1 << 5 , UI_BUT_NO_TEXT_PADDING = 1 << 6 , UI_BUT_ALIGN_TOP = 1 << 14 , UI_BUT_ALIGN_LEFT = 1 << 15 ,
  UI_BUT_ALIGN_RIGHT = 1 << 16 , UI_BUT_ALIGN_DOWN = 1 << 17 , UI_BUT_ALIGN = UI_BUT_ALIGN_TOP | UI_BUT_ALIGN_LEFT | UI_BUT_ALIGN_RIGHT | UI_BUT_ALIGN_DOWN , UI_BUT_ALIGN_STITCH_TOP = 1 << 18 ,
  UI_BUT_ALIGN_STITCH_LEFT = 1 << 19 , UI_BUT_ALIGN_ALL = UI_BUT_ALIGN | UI_BUT_ALIGN_STITCH_TOP | UI_BUT_ALIGN_STITCH_LEFT , UI_BUT_BOX_ITEM = 1 << 20 , UI_BUT_HOVER_LEFT = 1 << 21 ,
  UI_BUT_HOVER_RIGHT = 1 << 22 , UI_BUT_ICON_REVERSE = 1 << 23 , UI_BUT_ANIMATED_CHANGED = 1 << 24 , UI_BUT_CHECKBOX_INVERT = 1 << 25 ,
  UI_BUT_INDETERMINATE = 1 << 26 , UI_BUT_ICON_INVERT = 1 << 27
}
 
enum  eButPointerType {
  UI_BUT_POIN_NONE = 0 , UI_BUT_POIN_CHAR = 32 , UI_BUT_POIN_SHORT = 64 , UI_BUT_POIN_INT = 96 ,
  UI_BUT_POIN_FLOAT = 128 , UI_BUT_POIN_BIT = 256
}
 
enum  eButType {
  UI_BTYPE_BUT = 1 << 9 , UI_BTYPE_ROW = 2 << 9 , UI_BTYPE_TEXT = 3 << 9 , UI_BTYPE_MENU = 4 << 9 ,
  UI_BTYPE_BUT_MENU = 5 << 9 , UI_BTYPE_NUM = 6 << 9 , UI_BTYPE_NUM_SLIDER = 7 << 9 , UI_BTYPE_TOGGLE = 8 << 9 ,
  UI_BTYPE_TOGGLE_N = 9 << 9 , UI_BTYPE_ICON_TOGGLE = 10 << 9 , UI_BTYPE_ICON_TOGGLE_N = 11 << 9 , UI_BTYPE_BUT_TOGGLE = 12 << 9 ,
  UI_BTYPE_CHECKBOX = 13 << 9 , UI_BTYPE_CHECKBOX_N = 14 << 9 , UI_BTYPE_COLOR = 15 << 9 , UI_BTYPE_TAB = 16 << 9 ,
  UI_BTYPE_POPOVER = 17 << 9 , UI_BTYPE_SCROLL = 18 << 9 , UI_BTYPE_BLOCK = 19 << 9 , UI_BTYPE_LABEL = 20 << 9 ,
  UI_BTYPE_KEY_EVENT = 24 << 9 , UI_BTYPE_HSVCUBE = 26 << 9 , UI_BTYPE_PULLDOWN = 27 << 9 , UI_BTYPE_ROUNDBOX = 28 << 9 ,
  UI_BTYPE_COLORBAND = 30 << 9 , UI_BTYPE_UNITVEC = 31 << 9 , UI_BTYPE_CURVE = 32 << 9 , UI_BTYPE_CURVEPROFILE = 33 << 9 ,
  UI_BTYPE_LISTBOX = 36 << 9 , UI_BTYPE_LISTROW = 37 << 9 , UI_BTYPE_HSVCIRCLE = 38 << 9 , UI_BTYPE_TRACK_PREVIEW = 40 << 9 ,
  UI_BTYPE_SEARCH_MENU = 41 << 9 , UI_BTYPE_EXTRA = 42 << 9 , UI_BTYPE_PREVIEW_TILE = 43 << 9 , UI_BTYPE_HOTKEY_EVENT = 46 << 9 ,
  UI_BTYPE_IMAGE = 47 << 9 , UI_BTYPE_HISTOGRAM = 48 << 9 , UI_BTYPE_WAVEFORM = 49 << 9 , UI_BTYPE_VECTORSCOPE = 50 << 9 ,
  UI_BTYPE_PROGRESS = 51 << 9 , UI_BTYPE_NODE_SOCKET = 53 << 9 , UI_BTYPE_SEPR = 54 << 9 , UI_BTYPE_SEPR_LINE = 55 << 9 ,
  UI_BTYPE_SEPR_SPACER = 56 << 9 , UI_BTYPE_GRIP = 57 << 9 , UI_BTYPE_DECORATOR = 58 << 9 , UI_BTYPE_VIEW_ITEM = 59 << 9
}
 
enum  eButGradientType {
  UI_GRAD_NONE = -1 , UI_GRAD_SV = 0 , UI_GRAD_HV = 1 , UI_GRAD_HS = 2 ,
  UI_GRAD_H = 3 , UI_GRAD_S = 4 , UI_GRAD_V = 5 , UI_GRAD_V_ALT = 9 ,
  UI_GRAD_L_ALT = 10
}
 
enum  { UI_SCROLL_PRESSED = 1 << 0 , UI_SCROLL_ARROWS = 1 << 1 }
 
enum  { UI_BLOCK_THEME_STYLE_REGULAR = 0 , UI_BLOCK_THEME_STYLE_POPUP = 1 }
 
enum class  uiButtonSectionsAlign : int8_t { None = 1 , Top , Bottom }
 
enum  eBlockBoundsCalc {
  UI_BLOCK_BOUNDS_NONE = 0 , UI_BLOCK_BOUNDS = 1 , UI_BLOCK_BOUNDS_TEXT , UI_BLOCK_BOUNDS_POPUP_MOUSE ,
  UI_BLOCK_BOUNDS_POPUP_MENU , UI_BLOCK_BOUNDS_POPUP_CENTER , UI_BLOCK_BOUNDS_PIE_CENTER
}
 
enum  {
  UI_ID_NOP = 0 , UI_ID_RENAME = 1 << 0 , UI_ID_BROWSE = 1 << 1 , UI_ID_ADD_NEW = 1 << 2 ,
  UI_ID_ALONE = 1 << 4 , UI_ID_OPEN = 1 << 3 , UI_ID_DELETE = 1 << 5 , UI_ID_LOCAL = 1 << 6 ,
  UI_ID_AUTO_NAME = 1 << 7 , UI_ID_FAKE_USER = 1 << 8 , UI_ID_PIN = 1 << 9 , UI_ID_PREVIEWS = 1 << 10 ,
  UI_ID_OVERRIDE = 1 << 11 , UI_ID_FULL
}
 
enum  { UI_TEMPLATE_ID_FILTER_ALL = 0 , UI_TEMPLATE_ID_FILTER_AVAILABLE = 1 }
 
enum  eButProgressType { UI_BUT_PROGRESS_TYPE_BAR = 0 , UI_BUT_PROGRESS_TYPE_RING = 1 }
 
enum class  LayoutSeparatorType : int8_t { Auto , Space , Line }
 
enum  eButLabelAlign { UI_BUT_LABEL_ALIGN_NONE , UI_BUT_LABEL_ALIGN_COLUMN , UI_BUT_LABEL_ALIGN_SPLIT_COLUMN }
 
enum  eAutoPropButsReturn { UI_PROP_BUTS_NONE_ADDED = 1 << 0 , UI_PROP_BUTS_ANY_FAILED_CHECK = 1 << 1 }
 
enum  uiTooltipStyle {
  UI_TIP_STYLE_NORMAL = 0 , UI_TIP_STYLE_HEADER , UI_TIP_STYLE_MONO , UI_TIP_STYLE_IMAGE ,
  UI_TIP_STYLE_SPACER
}
 
enum  uiTooltipColorID {
  UI_TIP_LC_MAIN = 0 , UI_TIP_LC_VALUE , UI_TIP_LC_ACTIVE , UI_TIP_LC_NORMAL ,
  UI_TIP_LC_PYTHON , UI_TIP_LC_ALERT , UI_TIP_LC_MAX
}
 
enum class  uiTooltipImageBackground { None = 0 , Checkerboard_Themed , Checkerboard_Fixed }
 
enum  { UI_LAYOUT_HORIZONTAL = 0 , UI_LAYOUT_VERTICAL = 1 }
 
enum  {
  UI_LAYOUT_PANEL = 0 , UI_LAYOUT_HEADER = 1 , UI_LAYOUT_MENU = 2 , UI_LAYOUT_TOOLBAR = 3 ,
  UI_LAYOUT_PIEMENU = 4 , UI_LAYOUT_VERT_BAR = 5
}
 
enum  { UI_LAYOUT_ALIGN_EXPAND = 0 , UI_LAYOUT_ALIGN_LEFT = 1 , UI_LAYOUT_ALIGN_CENTER = 2 , UI_LAYOUT_ALIGN_RIGHT = 3 }
 
enum  eUI_Item_Flag {
  UI_ITEM_R_EXPAND = 1 << 1 , UI_ITEM_R_SLIDER = 1 << 2 , UI_ITEM_R_TOGGLE = 1 << 3 , UI_ITEM_R_ICON_NEVER = 1 << 4 ,
  UI_ITEM_R_ICON_ONLY = 1 << 5 , UI_ITEM_R_EVENT = 1 << 6 , UI_ITEM_R_FULL_EVENT = 1 << 7 , UI_ITEM_R_NO_BG = 1 << 8 ,
  UI_ITEM_R_IMMEDIATE = 1 << 9 , UI_ITEM_O_DEPRESS = 1 << 10 , UI_ITEM_R_COMPACT = 1 << 11 , UI_ITEM_R_CHECKBOX_INVERT = 1 << 12 ,
  UI_ITEM_R_FORCE_BLANK_DECORATE = 1 << 13 , UI_ITEM_R_SPLIT_EMPTY_NAME = 1 << 14 , UI_ITEM_R_TEXT_BUT_FORCE_SEMI_MODAL_ACTIVE = 1 << 15
}
 
enum  {
  UI_TEMPLATE_OP_PROPS_SHOW_TITLE = 1 << 0 , UI_TEMPLATE_OP_PROPS_SHOW_EMPTY = 1 << 1 , UI_TEMPLATE_OP_PROPS_COMPACT = 1 << 2 , UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED = 1 << 3 ,
  UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT = 1 << 4 , UI_TEMPLATE_OP_PROPS_HIDE_PRESETS = 1 << 5
}
 
enum  {
  UI_CNR_TOP_LEFT = 1 << 0 , UI_CNR_TOP_RIGHT = 1 << 1 , UI_CNR_BOTTOM_RIGHT = 1 << 2 , UI_CNR_BOTTOM_LEFT = 1 << 3 ,
  UI_CNR_NONE = 0 , UI_CNR_ALL = (UI_CNR_TOP_LEFT | UI_CNR_TOP_RIGHT | UI_CNR_BOTTOM_RIGHT | UI_CNR_BOTTOM_LEFT)
}
 
enum  uiTemplateListFlags {
  UI_TEMPLATE_LIST_FLAG_NONE = 0 , UI_TEMPLATE_LIST_SORT_REVERSE = (1 << 0) , UI_TEMPLATE_LIST_SORT_LOCK = (1 << 1) , UI_TEMPLATE_LIST_NO_GRIP = (1 << 2) ,
  UI_TEMPLATE_LIST_NO_FILTER_OPTIONS = (1 << 3) , UI_TEMPLATE_LIST_NO_NAMES = (1 << 4) , UI_TEMPLATE_LIST_FLAGS_LAST
}
 
enum  { UI_TEMPLATE_ASSET_DRAW_NO_NAMES = (1 << 0) , UI_TEMPLATE_ASSET_DRAW_NO_FILTER = (1 << 1) , UI_TEMPLATE_ASSET_DRAW_NO_LIBRARY = (1 << 2) }
 
enum  eFontStyle_Align { UI_STYLE_TEXT_LEFT = 0 , UI_STYLE_TEXT_CENTER = 1 , UI_STYLE_TEXT_RIGHT = 2 }
 

Functions

void UI_draw_roundbox_corner_set (int type)
 
void UI_draw_roundbox_aa (const rctf *rect, bool filled, float rad, const float color[4])
 
void UI_draw_roundbox_4fv (const rctf *rect, bool filled, float rad, const float col[4])
 
void UI_draw_roundbox_3ub_alpha (const rctf *rect, bool filled, float rad, const unsigned char col[3], unsigned char alpha)
 
void UI_draw_roundbox_3fv_alpha (const rctf *rect, bool filled, float rad, const float col[3], float alpha)
 
void UI_draw_roundbox_4fv_ex (const rctf *rect, const float inner1[4], const float inner2[4], float shade_dir, const float outline[4], float outline_width, float rad)
 
void ui_draw_dropshadow (const rctf *rct, float radius, float width, float aspect, float alpha)
 
void UI_draw_text_underline (int pos_x, int pos_y, int len, int height, const float color[4])
 
void UI_draw_safe_areas (uint pos, const rctf *rect, const float title_aspect[2], const float action_aspect[2])
 
void UI_draw_widget_scroll (uiWidgetColors *wcol, const rcti *rect, const rcti *slider, int state)
 
float UI_text_clip_middle_ex (const uiFontStyle *fstyle, char *str, float okwidth, float minwidth, size_t max_len, char rpart_sep)
 
bool UI_but_has_tooltip_label (const uiBut *but)
 
bool UI_but_is_tool (const uiBut *but)
 
bool UI_but_is_utf8 (const uiBut *but)
 
bool UI_block_is_empty_ex (const uiBlock *block, bool skip_title)
 
bool UI_block_is_empty (const uiBlock *block)
 
bool UI_block_can_add_separator (const uiBlock *block)
 
bool UI_block_has_active_default_button (const uiBlock *block)
 
uiListUI_list_find_mouse_over (const ARegion *region, const wmEvent *event)
 
uiPopupMenuUI_popup_menu_begin (bContext *C, const char *title, int icon) ATTR_NONNULL()
 
uiPopupMenuUI_popup_menu_begin_ex (bContext *C, const char *title, const char *block_name, int icon) ATTR_NONNULL()
 
void UI_popup_menu_end (bContext *C, uiPopupMenu *pup)
 
bool UI_popup_menu_end_or_cancel (bContext *C, uiPopupMenu *pup)
 
uiLayoutUI_popup_menu_layout (uiPopupMenu *pup)
 
void UI_popup_menu_reports (bContext *C, ReportList *reports) ATTR_NONNULL()
 
int UI_popup_menu_invoke (bContext *C, const char *idname, ReportList *reports) ATTR_NONNULL(1
 
int void UI_popup_menu_close (const uiBlock *block, bool is_cancel=false)
 
void UI_popup_menu_close_from_but (const uiBut *but, bool is_cancel=false)
 
void UI_popup_menu_retval_set (const uiBlock *block, int retval, bool enable)
 
void UI_popup_dummy_panel_set (ARegion *region, uiBlock *block)
 
void UI_popup_menu_but_set (uiPopupMenu *pup, ARegion *butregion, uiBut *but)
 
int UI_popover_panel_invoke (bContext *C, const char *idname, bool keep_open, ReportList *reports)
 
uiPopoverUI_popover_begin (bContext *C, int ui_menu_width, bool from_active_button) ATTR_NONNULL(1)
 
void UI_popover_end (bContext *C, uiPopover *pup, wmKeyMap *keymap)
 
uiLayoutUI_popover_layout (uiPopover *pup)
 
void UI_popover_once_clear (uiPopover *pup)
 
int UI_pie_menu_invoke (bContext *C, const char *idname, const wmEvent *event)
 
int UI_pie_menu_invoke_from_operator_enum (bContext *C, const char *title, const char *opname, const char *propname, const wmEvent *event)
 
int UI_pie_menu_invoke_from_rna_enum (bContext *C, const char *title, const char *path, const wmEvent *event)
 
uiPieMenuUI_pie_menu_begin (bContext *C, const char *title, int icon, const wmEvent *event) ATTR_NONNULL()
 
void UI_pie_menu_end (bContext *C, uiPieMenu *pie)
 
uiLayoutUI_pie_menu_layout (uiPieMenu *pie)
 
void UI_popup_block_invoke (bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free)
 
void UI_popup_block_invoke_ex (bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
 
void UI_popup_block_ex (bContext *C, uiBlockCreateFunc func, uiBlockHandleFunc popup_func, uiBlockCancelFunc cancel_func, void *arg, wmOperator *op)
 
bool UI_popup_block_template_confirm_is_supported (const uiBlock *block)
 
void UI_popup_block_template_confirm (uiBlock *block, bool cancel_default, blender::FunctionRef< uiBut *()> confirm_fn, blender::FunctionRef< uiBut *()> cancel_fn)
 
void UI_popup_block_template_confirm_op (uiLayout *layout, wmOperatorType *ot, const char *confirm_text, const char *cancel_text, const int icon, bool cancel_default, PointerRNA *r_ptr)
 
void UI_popup_block_close (bContext *C, wmWindow *win, uiBlock *block)
 
bool UI_popup_block_name_exists (const bScreen *screen, blender::StringRef name)
 
uiBlockUI_block_begin (const bContext *C, ARegion *region, std::string name, eUIEmbossType emboss)
 
void UI_block_end_ex (const bContext *C, uiBlock *block, const int xy[2], int r_xy[2])
 
void UI_block_end (const bContext *C, uiBlock *block)
 
void UI_block_draw (const bContext *C, uiBlock *block)
 
void UI_blocklist_update_window_matrix (const bContext *C, const ListBase *lb)
 
void UI_blocklist_update_view_for_buttons (const bContext *C, const ListBase *lb)
 
void UI_blocklist_draw (const bContext *C, const ListBase *lb)
 
void UI_block_update_from_old (const bContext *C, uiBlock *block)
 
void UI_block_theme_style_set (uiBlock *block, char theme_style)
 
eUIEmbossType UI_block_emboss_get (uiBlock *block)
 
void UI_block_emboss_set (uiBlock *block, eUIEmbossType emboss)
 
bool UI_block_is_search_only (const uiBlock *block)
 
void UI_block_set_search_only (uiBlock *block, bool search_only)
 
void UI_block_set_active_operator (uiBlock *block, wmOperator *op, const bool free)
 
void UI_block_free (const bContext *C, uiBlock *block)
 
void UI_block_listen (const uiBlock *block, const wmRegionListenerParams *listener_params)
 
void UI_blocklist_free (const bContext *C, ARegion *region)
 
void UI_blocklist_free_inactive (const bContext *C, ARegion *region)
 
void UI_screen_free_active_but_highlight (const bContext *C, bScreen *screen)
 
void UI_region_free_active_but_all (bContext *C, ARegion *region)
 
void UI_block_region_set (uiBlock *block, ARegion *region)
 
void UI_block_lock_set (uiBlock *block, bool val, const char *lockstr)
 
void UI_block_lock_clear (uiBlock *block)
 
void UI_region_button_sections_draw (const ARegion *region, int colorid, uiButtonSectionsAlign align)
 
bool UI_region_button_sections_is_inside_x (const ARegion *region, const int mval_x)
 
void UI_block_align_begin (uiBlock *block)
 
void UI_block_align_end (uiBlock *block)
 
void UI_block_bounds_set_normal (uiBlock *block, int addval)
 
void UI_block_bounds_set_text (uiBlock *block, int addval)
 
void UI_block_bounds_set_popup (uiBlock *block, int addval, const int bounds_offset[2])
 
void UI_block_bounds_set_menu (uiBlock *block, int addval, const int bounds_offset[2])
 
void UI_block_bounds_set_centered (uiBlock *block, int addval)
 
void UI_block_bounds_set_explicit (uiBlock *block, int minx, int miny, int maxx, int maxy)
 
int UI_blocklist_min_y_get (ListBase *lb)
 
void UI_block_direction_set (uiBlock *block, char direction)
 
void UI_block_flag_enable (uiBlock *block, int flag)
 
void UI_block_flag_disable (uiBlock *block, int flag)
 
void UI_block_translate (uiBlock *block, float x, float y)
 
int UI_but_return_value_get (uiBut *but)
 
uiButUI_but_active_drop_name_button (const bContext *C)
 
bool UI_but_active_drop_name (const bContext *C)
 
bool UI_but_active_drop_color (bContext *C)
 
void UI_but_flag_enable (uiBut *but, int flag)
 
void UI_but_flag_disable (uiBut *but, int flag)
 
bool UI_but_flag_is_set (uiBut *but, int flag)
 
void UI_but_flag2_enable (uiBut *but, int flag)
 
void UI_but_drawflag_enable (uiBut *but, int flag)
 
void UI_but_drawflag_disable (uiBut *but, int flag)
 
void UI_but_dragflag_enable (uiBut *but, int flag)
 
void UI_but_dragflag_disable (uiBut *but, int flag)
 
void UI_but_disable (uiBut *but, const char *disabled_hint)
 
void UI_but_type_set_menu_from_pulldown (uiBut *but)
 
void UI_but_color_set (uiBut *but, const uchar color[4])
 
void UI_but_placeholder_set (uiBut *but, const char *placeholder_text) ATTR_NONNULL(1)
 
bool UI_but_active_only_ex (const bContext *C, ARegion *region, uiBlock *block, uiBut *but, bool remove_on_failure)
 
bool UI_but_active_only (const bContext *C, ARegion *region, uiBlock *block, uiBut *but)
 
bool UI_block_active_only_flagged_buttons (const bContext *C, ARegion *region, uiBlock *block)
 
void UI_but_execute (const bContext *C, ARegion *region, uiBut *but)
 
std::optional< std::string > UI_but_online_manual_id (const uiBut *but) ATTR_WARN_UNUSED_RESULT
 
std::optional< std::string > UI_but_online_manual_id_from_active (const bContext *C) ATTR_WARN_UNUSED_RESULT
 
bool UI_but_is_userdef (const uiBut *but)
 
uiButuiDefBut (uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
 
uiButuiDefButF (uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, float *poin, float min, float max, const char *tip)
 
uiButuiDefButI (uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
 
uiButuiDefButBitI (uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
 
uiButuiDefButS (uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
 
uiButuiDefButBitS (uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
 
uiButuiDefButC (uiBlock *block, int type, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
 
uiButuiDefButBitC (uiBlock *block, int type, int bit, int retval, blender::StringRef str, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
 
uiButuiDefButR (uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
 
uiButuiDefButR_prop (uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
 
uiButuiDefButO (uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, const char *str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefButO_ptr (uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefIconBut (uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
 
uiButuiDefIconButI (uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
 
uiButuiDefIconButBitI (uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
 
uiButuiDefIconButS (uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
 
uiButuiDefIconButBitS (uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, short *poin, float min, float max, const char *tip)
 
uiButuiDefIconButBitC (uiBlock *block, int type, int bit, int retval, int icon, int x, int y, short width, short height, char *poin, float min, float max, const char *tip)
 
uiButuiDefIconButR (uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
 
uiButuiDefIconButR_prop (uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
 
uiButuiDefIconButO (uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, int icon, int x, int y, short width, short height, const char *tip)
 
uiButuiDefIconButO_ptr (uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, int icon, int x, int y, short width, short height, const char *tip)
 
uiButuiDefButImage (uiBlock *block, void *imbuf, int x, int y, short width, short height, const uchar color[4])
 
uiButuiDefButAlert (uiBlock *block, int icon, int x, int y, short width, short height)
 
uiButuiDefIconTextBut (uiBlock *block, int type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, void *poin, float min, float max, const char *tip)
 
uiButuiDefIconTextButI (uiBlock *block, int type, int retval, int icon, blender::StringRef str, int x, int y, short width, short height, int *poin, float min, float max, const char *tip)
 
uiButuiDefIconTextButR (uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, const char *propname, int index, float min, float max, const char *tip)
 
uiButuiDefIconTextButR_prop (uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, const char *tip)
 
uiButuiDefIconTextButO (uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefIconTextButO_ptr (uiBlock *block, int type, wmOperatorType *ot, wmOperatorCallContext opcontext, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
void UI_but_operator_set (uiBut *but, wmOperatorType *optype, wmOperatorCallContext opcontext, const PointerRNA *opptr=nullptr)
 
void UI_but_operator_set_never_call (uiBut *but)
 
PointerRNAUI_but_operator_ptr_ensure (uiBut *but)
 
void UI_but_context_ptr_set (uiBlock *block, uiBut *but, const char *name, const PointerRNA *ptr)
 
const PointerRNAUI_but_context_ptr_get (const uiBut *but, const char *name, const StructRNA *type=nullptr)
 
std::optional< blender::StringRefNullUI_but_context_string_get (const uiBut *but, const char *name)
 
const bContextStoreUI_but_context_get (const uiBut *but)
 
void UI_but_unit_type_set (uiBut *but, int unit_type)
 
int UI_but_unit_type_get (const uiBut *but)
 
std::optional< EnumPropertyItemUI_but_rna_enum_item_get (bContext &C, uiBut &but)
 
std::string UI_but_string_get_rna_property_identifier (const uiBut &but)
 
std::string UI_but_string_get_rna_struct_identifier (const uiBut &but)
 
std::string UI_but_string_get_label (uiBut &but)
 
std::string UI_but_context_menu_title_from_button (uiBut &but)
 
std::string UI_but_string_get_tooltip_label (const uiBut &but)
 
std::string UI_but_string_get_rna_label (uiBut &but)
 
std::string UI_but_string_get_rna_label_context (const uiBut &but)
 
std::string UI_but_string_get_tooltip (bContext &C, uiBut &but)
 
std::string UI_but_string_get_rna_tooltip (bContext &C, uiBut &but)
 
std::string UI_but_string_get_operator_keymap (bContext &C, uiBut &but)
 
std::string UI_but_string_get_property_keymap (bContext &C, uiBut &but)
 
std::string UI_but_extra_icon_string_get_label (const uiButExtraOpIcon &extra_icon)
 
std::string UI_but_extra_icon_string_get_tooltip (bContext &C, const uiButExtraOpIcon &extra_icon)
 
std::string UI_but_extra_icon_string_get_operator_keymap (const bContext &C, const uiButExtraOpIcon &extra_icon)
 
int UI_icon_from_id (const ID *id)
 
int UI_icon_from_report_type (int type)
 
int UI_icon_colorid_from_report_type (int type)
 
int UI_text_colorid_from_report_type (int type)
 
int UI_icon_from_event_type (short event_type, short event_value)
 
int UI_icon_from_keymap_item (const wmKeyMapItem *kmi, int r_icon_mod[4])
 
uiButuiDefMenuBut (uiBlock *block, uiMenuCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefIconTextMenuBut (uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefIconMenuBut (uiBlock *block, uiMenuCreateFunc func, void *arg, int icon, int x, int y, short width, short height, const char *tip)
 
uiButuiDefBlockBut (uiBlock *block, uiBlockCreateFunc func, void *arg, blender::StringRef str, int x, int y, short width, short height, const char *tip)
 
uiButuiDefBlockButN (uiBlock *block, uiBlockCreateFunc func, void *argN, blender::StringRef str, int x, int y, short width, short height, const char *tip, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
 
uiButuiDefIconBlockBut (uiBlock *block, uiBlockCreateFunc func, void *arg, int retval, int icon, int x, int y, short width, short height, const char *tip)
 
uiButuiDefSearchBut (uiBlock *block, void *arg, int retval, int icon, int maxncpy, int x, int y, short width, short height, const char *tip)
 
uiButuiDefSearchButO_ptr (uiBlock *block, wmOperatorType *ot, IDProperty *properties, void *arg, int retval, int icon, int maxncpy, int x, int y, short width, short height, const char *tip)
 
 ENUM_OPERATORS (eAutoPropButsReturn, UI_PROP_BUTS_ANY_FAILED_CHECK)
 
uiButuiDefAutoButR (uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, const char *name, int icon, int x, int y, int width, int height)
 
void uiDefAutoButsArrayR (uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, const int icon, const int x, const int y, const int tot_width, const int height)
 
eAutoPropButsReturn uiDefAutoButsRNA (uiLayout *layout, PointerRNA *ptr, bool(*check_prop)(PointerRNA *ptr, PropertyRNA *prop, void *user_data), void *user_data, PropertyRNA *prop_activate_init, eButLabelAlign label_align, bool compact)
 
void UI_but_func_identity_compare_set (uiBut *but, uiButIdentityCompareFunc cmp_fn)
 
bool UI_search_item_add (uiSearchItems *items, const char *name, void *poin, int iconid, int but_flag, uint8_t name_prefix_offset)
 
void UI_but_func_search_set (uiBut *but, uiButSearchCreateFn search_create_fn, uiButSearchUpdateFn search_update_fn, void *arg, bool free_arg, uiFreeArgFunc search_arg_free_fn, uiButHandleFunc search_exec_fn, void *active)
 
void UI_but_func_search_set_context_menu (uiBut *but, uiButSearchContextMenuFn context_menu_fn)
 
void UI_but_func_search_set_tooltip (uiBut *but, uiButSearchTooltipFn tooltip_fn)
 
void UI_but_func_search_set_listen (uiBut *but, uiButSearchListenFn listen_fn)
 
void UI_but_func_search_set_sep_string (uiBut *but, const char *search_sep_string)
 
void UI_but_func_search_set_results_are_suggestions (uiBut *but, bool value)
 
int UI_searchbox_size_y ()
 
int UI_searchbox_size_x ()
 
int UI_search_items_find_index (const uiSearchItems *items, const char *name)
 
void UI_but_hint_drawstr_set (uiBut *but, const char *string)
 
void UI_but_icon_indicator_number_set (uiBut *but, const int indicator_number)
 
void UI_but_icon_indicator_set (uiBut *but, const char *string)
 
void UI_but_icon_indicator_color_set (uiBut *but, const uchar color[4])
 
void UI_but_node_link_set (uiBut *but, bNodeSocket *socket, const float draw_color[4])
 
void UI_but_number_step_size_set (uiBut *but, float step_size)
 
void UI_but_number_precision_set (uiBut *but, float precision)
 
void UI_but_number_slider_step_size_set (uiBut *but, float step_size)
 
void UI_but_number_slider_precision_set (uiBut *but, float precision)
 
void UI_but_label_alpha_factor_set (uiBut *but, float alpha_factor)
 
void UI_but_search_preview_grid_size_set (uiBut *but, int rows, int cols)
 
void UI_but_view_item_draw_size_set (uiBut *but, const std::optional< int > draw_width=std::nullopt, const std::optional< int > draw_height=std::nullopt)
 
void UI_block_func_handle_set (uiBlock *block, uiBlockHandleFunc func, void *arg)
 
void UI_block_func_set (uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2)
 
void UI_block_funcN_set (uiBlock *block, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
 
void UI_but_func_rename_set (uiBut *but, uiButHandleRenameFunc func, void *arg1)
 
void UI_but_func_rename_full_set (uiBut *but, std::function< void(std::string &new_name)> rename_full_func)
 
void UI_but_func_set (uiBut *but, uiButHandleFunc func, void *arg1, void *arg2)
 
void UI_but_funcN_set (uiBut *but, uiButHandleNFunc funcN, void *argN, void *arg2, uiButArgNFree func_argN_free_fn=MEM_freeN, uiButArgNCopy func_argN_copy_fn=MEM_dupallocN)
 
void UI_but_func_complete_set (uiBut *but, uiButCompleteFunc func, void *arg)
 
void UI_but_func_drawextra_set (uiBlock *block, std::function< void(const bContext *C, rcti *rect)> func)
 
void UI_but_func_menu_step_set (uiBut *but, uiMenuStepFunc func)
 
void UI_but_func_tooltip_set (uiBut *but, uiButToolTipFunc func, void *arg, uiFreeArgFunc free_arg)
 
void UI_but_func_tooltip_label_set (uiBut *but, std::function< std::string(const uiBut *but)> func)
 
void UI_but_func_tooltip_custom_set (uiBut *but, uiButToolTipCustomFunc func, void *arg, uiFreeArgFunc free_arg)
 
void UI_tooltip_text_field_add (uiTooltipData &data, std::string text, std::string suffix, const uiTooltipStyle style, const uiTooltipColorID color_id, const bool is_pad=false)
 
void UI_tooltip_image_field_add (uiTooltipData &data, const uiTooltipImage &image_data)
 
void UI_but_tooltip_refresh (bContext *C, uiBut *but)
 
void UI_but_tooltip_timer_remove (bContext *C, uiBut *but)
 
bool UI_textbutton_activate_rna (const bContext *C, ARegion *region, const void *rna_poin_data, const char *rna_prop_id)
 
bool UI_textbutton_activate_but (const bContext *C, uiBut *actbut)
 
void UI_but_focus_on_enter_event (wmWindow *win, uiBut *but)
 
void UI_but_func_hold_set (uiBut *but, uiButHandleHoldFunc func, void *argN)
 
PointerRNAUI_but_extra_operator_icon_add (uiBut *but, const char *opname, wmOperatorCallContext opcontext, int icon)
 
wmOperatorTypeUI_but_extra_operator_icon_optype_get (const uiButExtraOpIcon *extra_icon)
 
PointerRNAUI_but_extra_operator_icon_opptr_get (const uiButExtraOpIcon *extra_icon)
 
int UI_preview_tile_size_x (const int size_px=96)
 
int UI_preview_tile_size_y (const int size_px=96)
 
int UI_preview_tile_size_y_no_label (const int size_px=96)
 
AutoCompleteUI_autocomplete_begin (const char *startname, size_t maxncpy)
 
void UI_autocomplete_update_name (AutoComplete *autocpl, const char *name)
 
int UI_autocomplete_end (AutoComplete *autocpl, char *autoname)
 
void UI_but_drag_set_id (uiBut *but, ID *id)
 
void UI_but_drag_attach_image (uiBut *but, const ImBuf *imb, float scale)
 
void UI_but_drag_set_asset (uiBut *but, const blender::asset_system::AssetRepresentation *asset, int import_method, int icon, const ImBuf *imb, float scale)
 
void UI_but_drag_set_rna (uiBut *but, PointerRNA *ptr)
 
void UI_but_drag_set_path (uiBut *but, const char *path)
 
void UI_but_drag_set_name (uiBut *but, const char *name)
 
void UI_but_drag_set_image (uiBut *but, const char *path, int icon, const ImBuf *imb, float scale)
 
void UI_panels_begin (const bContext *C, ARegion *region)
 
void UI_panels_end (const bContext *C, ARegion *region, int *r_x, int *r_y)
 
void UI_panels_draw (const bContext *C, ARegion *region)
 
PanelUI_panel_find_by_type (ListBase *lb, const PanelType *pt)
 
PanelUI_panel_begin (ARegion *region, ListBase *lb, uiBlock *block, PanelType *pt, Panel *panel, bool *r_open)
 
void UI_panel_header_buttons_begin (Panel *panel)
 
void UI_panel_header_buttons_end (Panel *panel)
 
void UI_panel_end (Panel *panel, int width, int height)
 
void UI_panel_drawname_set (Panel *panel, blender::StringRef name)
 
void UI_panel_context_pointer_set (Panel *panel, const char *name, PointerRNA *ptr)
 
bool UI_panel_is_closed (const Panel *panel)
 
bool UI_panel_is_active (const Panel *panel)
 
void UI_panel_label_offset (const uiBlock *block, int *r_x, int *r_y)
 
bool UI_panel_should_show_background (const ARegion *region, const PanelType *panel_type)
 
int UI_panel_size_y (const Panel *panel)
 
bool UI_panel_is_dragging (const Panel *panel)
 
bool UI_panel_matches_search_filter (const Panel *panel)
 
bool UI_panel_can_be_pinned (const Panel *panel)
 
bool UI_panel_category_is_visible (const ARegion *region)
 
void UI_panel_category_add (ARegion *region, const char *name)
 
PanelCategoryDynUI_panel_category_find (const ARegion *region, const char *idname)
 
int UI_panel_category_index_find (ARegion *region, const char *idname)
 
PanelCategoryStackUI_panel_category_active_find (ARegion *region, const char *idname)
 
const char * UI_panel_category_active_get (ARegion *region, bool set_fallback)
 
void UI_panel_category_active_set (ARegion *region, const char *idname)
 
void UI_panel_category_index_active_set (ARegion *region, const int index)
 
void UI_panel_category_active_set_default (ARegion *region, const char *idname)
 
void UI_panel_category_clear_all (ARegion *region)
 
void UI_panel_category_draw_all (ARegion *region, const char *category_id_active)
 
PointerRNAUI_panel_custom_data_get (const Panel *panel)
 
PointerRNAUI_region_panel_custom_data_under_cursor (const bContext *C, const wmEvent *event)
 
void UI_panel_custom_data_set (Panel *panel, PointerRNA *custom_data)
 
PanelUI_panel_add_instanced (const bContext *C, ARegion *region, ListBase *panels, const char *panel_idname, PointerRNA *custom_data)
 
void UI_panels_free_instanced (const bContext *C, ARegion *region)
 
void UI_list_panel_unique_str (Panel *panel, char *r_name)
 
bool UI_panel_list_matches_data (ARegion *region, ListBase *data, uiListPanelIDFromDataFunc panel_idname_func)
 
void UI_region_handlers_add (ListBase *handlers)
 
void UI_popup_handlers_add (bContext *C, ListBase *handlers, uiPopupBlockHandle *popup, char flag)
 
void UI_popup_handlers_remove (ListBase *handlers, uiPopupBlockHandle *popup)
 
void UI_popup_handlers_remove_all (bContext *C, ListBase *handlers)
 
void UI_init ()
 
void UI_init_userdef ()
 
void UI_reinit_font ()
 
void UI_exit ()
 
void UI_update_text_styles ()
 
uiLayoutUI_block_layout (uiBlock *block, int dir, int type, int x, int y, int size, int em, int padding, const uiStyle *style)
 
void UI_block_layout_set_current (uiBlock *block, uiLayout *layout)
 
void UI_block_layout_resolve (uiBlock *block, int *r_x, int *r_y)
 
bool UI_block_layout_needs_resolving (const uiBlock *block)
 
void UI_block_layout_free (uiBlock *block)
 
bool UI_block_apply_search_filter (uiBlock *block, const char *search_filter)
 
void UI_region_message_subscribe (ARegion *region, wmMsgBus *mbus)
 
uiBlockuiLayoutGetBlock (uiLayout *layout)
 
void uiLayoutSetFunc (uiLayout *layout, uiMenuHandleFunc handlefunc, void *argv)
 
void uiLayoutSetContextPointer (uiLayout *layout, const char *name, PointerRNA *ptr)
 
void uiLayoutSetContextString (uiLayout *layout, const char *name, blender::StringRef value)
 
bContextStoreuiLayoutGetContextStore (uiLayout *layout)
 
void uiLayoutContextCopy (uiLayout *layout, const bContextStore *context)
 
void uiLayoutSetTooltipFunc (uiLayout *layout, uiButToolTipFunc func, void *arg, uiCopyArgFunc copy_arg, uiFreeArgFunc free_arg)
 
wmOperatorTypeUI_but_operatortype_get_from_enum_menu (uiBut *but, PropertyRNA **r_prop)
 
MenuTypeUI_but_menutype_get (const uiBut *but)
 
PanelTypeUI_but_paneltype_get (const uiBut *but)
 
std::optional< blender::StringRefNullUI_but_asset_shelf_type_idname_get (const uiBut *but)
 
void UI_menutype_draw (bContext *C, MenuType *mt, uiLayout *layout)
 
void UI_paneltype_draw (bContext *C, PanelType *pt, uiLayout *layout)
 
void uiLayoutSetContextFromBut (uiLayout *layout, uiBut *but)
 
void uiLayoutSetOperatorContext (uiLayout *layout, wmOperatorCallContext opcontext)
 
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 uiLayoutSetAlignment (uiLayout *layout, char alignment)
 
void uiLayoutSetFixedSize (uiLayout *layout, bool fixed_size)
 
void uiLayoutSetKeepAspect (uiLayout *layout, bool keepaspect)
 
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)
 
void uiLayoutSetPropSep (uiLayout *layout, bool is_sep)
 
void uiLayoutSetPropDecorate (uiLayout *layout, bool is_sep)
 
int uiLayoutGetLocalDir (const uiLayout *layout)
 
void uiLayoutSetSearchWeight (uiLayout *layout, float weight)
 
wmOperatorCallContext uiLayoutGetOperatorContext (uiLayout *layout)
 
bool uiLayoutGetActive (uiLayout *layout)
 
bool uiLayoutGetActiveDefault (uiLayout *layout)
 
bool uiLayoutGetActivateInit (uiLayout *layout)
 
bool uiLayoutGetEnabled (uiLayout *layout)
 
bool uiLayoutGetRedAlert (uiLayout *layout)
 
int uiLayoutGetAlignment (uiLayout *layout)
 
bool uiLayoutGetFixedSize (uiLayout *layout)
 
bool uiLayoutGetKeepAspect (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)
 
bool uiLayoutGetPropSep (uiLayout *layout)
 
bool uiLayoutGetPropDecorate (uiLayout *layout)
 
PaneluiLayoutGetRootPanel (uiLayout *layout)
 
float uiLayoutGetSearchWeight (uiLayout *layout)
 
int uiLayoutListItemPaddingWidth ()
 
void uiLayoutListItemAddPadding (uiLayout *layout)
 
uiLayoutuiLayoutRow (uiLayout *layout, bool align)
 
PanelLayout uiLayoutPanelProp (const bContext *C, uiLayout *layout, PointerRNA *open_prop_owner, const char *open_prop_name)
 
uiLayoutuiLayoutPanelProp (const bContext *C, uiLayout *layout, PointerRNA *open_prop_owner, const char *open_prop_name, const char *label)
 
PanelLayout uiLayoutPanel (const bContext *C, uiLayout *layout, const char *idname, bool default_closed)
 
uiLayoutuiLayoutPanel (const bContext *C, uiLayout *layout, const char *idname, bool default_closed, const char *label)
 
bool uiLayoutEndsWithPanelHeader (const uiLayout &layout)
 
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)
 
uiLayoutuiLayoutBox (uiLayout *layout)
 
uiLayoutuiLayoutListBox (uiLayout *layout, uiList *ui_list, PointerRNA *actptr, PropertyRNA *actprop)
 
uiLayoutuiLayoutAbsolute (uiLayout *layout, bool align)
 
uiLayoutuiLayoutSplit (uiLayout *layout, float percentage, bool align)
 
uiLayoutuiLayoutOverlap (uiLayout *layout)
 
uiBlockuiLayoutAbsoluteBlock (uiLayout *layout)
 
uiLayoutuiLayoutRadial (uiLayout *layout)
 
void uiTemplateHeader (uiLayout *layout, bContext *C)
 
void uiTemplateID (uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool live_icon=false, const char *text=nullptr)
 
void uiTemplateIDBrowse (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int filter=UI_TEMPLATE_ID_FILTER_ALL, const char *text=nullptr)
 
void uiTemplateIDPreview (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *openop, const char *unlinkop, int rows, int cols, int filter=UI_TEMPLATE_ID_FILTER_ALL, bool hide_buttons=false)
 
void uiTemplateIDTabs (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, const char *newop, const char *menu, int filter=UI_TEMPLATE_ID_FILTER_ALL)
 
void uiTemplateAnyID (uiLayout *layout, PointerRNA *ptr, const char *propname, const char *proptypename, const char *text)
 
void uiTemplateAction (uiLayout *layout, const bContext *C, ID *id, const char *newop, const char *unlinkop, const char *text)
 
void uiTemplateSearch (uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, const char *text=nullptr)
 
void uiTemplateSearchPreview (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *searchptr, const char *searchpropname, const char *newop, const char *unlinkop, int rows, int cols, const char *text=nullptr)
 
void uiTemplatePathBuilder (uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *root_ptr, const char *text)
 
void uiTemplateModifiers (uiLayout *layout, bContext *C)
 
void uiTemplateShaderFx (uiLayout *layout, bContext *C)
 
void uiTemplateConstraints (uiLayout *layout, bContext *C, bool use_bone_constraints)
 
uiLayoutuiTemplateGpencilModifier (uiLayout *layout, bContext *C, PointerRNA *ptr)
 
void uiTemplateGpencilColorPreview (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, int rows, int cols, float scale, int filter)
 
void uiTemplateOperatorRedoProperties (uiLayout *layout, const bContext *C)
 
void uiTemplateConstraintHeader (uiLayout *layout, PointerRNA *ptr)
 
void uiTemplatePreview (uiLayout *layout, bContext *C, ID *id, bool show_buttons, ID *parent, MTex *slot, const char *preview_id)
 
void uiTemplateColorRamp (uiLayout *layout, PointerRNA *ptr, const char *propname, bool expand)
 
void uiTemplateIcon (uiLayout *layout, int icon_value, float icon_scale)
 
void uiTemplateIconView (uiLayout *layout, PointerRNA *ptr, const char *propname, bool show_labels, float icon_scale, float icon_scale_popup)
 
void uiTemplateHistogram (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateWaveform (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateVectorscope (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateCurveMapping (uiLayout *layout, PointerRNA *ptr, const char *propname, int type, bool levels, bool brush, bool neg_slope, bool tone)
 
void uiTemplateCurveProfile (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateColorPicker (uiLayout *layout, PointerRNA *ptr, const char *propname, bool value_slider, bool lock, bool lock_luminosity, bool cubic)
 
void uiTemplatePalette (uiLayout *layout, PointerRNA *ptr, const char *propname, bool colors)
 
void uiTemplateCryptoPicker (uiLayout *layout, PointerRNA *ptr, const char *propname, int icon)
 
void uiTemplateLayers (uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *used_ptr, const char *used_propname, int active_layer)
 
void uiTemplateImage (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, PointerRNA *userptr, bool compact, bool multiview)
 
void uiTemplateImageSettings (uiLayout *layout, PointerRNA *imfptr, bool color_management)
 
void uiTemplateImageStereo3d (uiLayout *layout, PointerRNA *stereo3d_format_ptr)
 
void uiTemplateImageViews (uiLayout *layout, PointerRNA *imaptr)
 
void uiTemplateImageFormatViews (uiLayout *layout, PointerRNA *imfptr, PointerRNA *ptr)
 
void uiTemplateImageLayers (uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
 
void uiTemplateImageInfo (uiLayout *layout, bContext *C, Image *ima, ImageUser *iuser)
 
void uiTemplateRunningJobs (uiLayout *layout, bContext *C)
 
void UI_but_func_operator_search (uiBut *but)
 
void uiTemplateOperatorSearch (uiLayout *layout)
 
void UI_but_func_menu_search (uiBut *but, const char *single_menu_idname=nullptr)
 
void uiTemplateMenuSearch (uiLayout *layout)
 
void uiTemplateOperatorPropertyButs (const bContext *C, uiLayout *layout, wmOperator *op, eButLabelAlign label_align, short flag)
 
void uiTemplateHeader3D_mode (uiLayout *layout, bContext *C)
 
void uiTemplateEditModeSelection (uiLayout *layout, bContext *C)
 
void uiTemplateReportsBanner (uiLayout *layout, bContext *C)
 
void uiTemplateInputStatus (uiLayout *layout, bContext *C)
 
void uiTemplateStatusInfo (uiLayout *layout, bContext *C)
 
void uiTemplateKeymapItemProperties (uiLayout *layout, PointerRNA *ptr)
 
bool uiTemplateEventFromKeymapItem (uiLayout *layout, const char *text, const wmKeyMapItem *kmi, bool text_fallback)
 
int uiTemplateStatusBarModalItem (uiLayout *layout, const wmKeyMap *keymap, const EnumPropertyItem *item)
 
void uiTemplateComponentMenu (uiLayout *layout, PointerRNA *ptr, const char *propname, const char *name)
 
void uiTemplateNodeSocket (uiLayout *layout, bContext *C, const float color[4])
 
void uiTemplateCacheFile (uiLayout *layout, const bContext *C, PointerRNA *ptr, const char *propname)
 
bool uiTemplateCacheFilePointer (PointerRNA *ptr, const char *propname, PointerRNA *r_file_ptr)
 
void uiTemplateCacheFileVelocity (uiLayout *layout, PointerRNA *fileptr)
 
void uiTemplateCacheFileProcedural (uiLayout *layout, const bContext *C, PointerRNA *fileptr)
 
void uiTemplateCacheFileTimeSettings (uiLayout *layout, PointerRNA *fileptr)
 
void uiTemplateCacheFileLayers (uiLayout *layout, const bContext *C, PointerRNA *fileptr)
 
 ENUM_OPERATORS (uiTemplateListFlags, UI_TEMPLATE_LIST_FLAGS_LAST)
 
void uiTemplateList (uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags)
 
uiListuiTemplateList_ex (uiLayout *layout, const bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags, void *customdata)
 
void uiTemplateNodeLink (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
 
void uiTemplateNodeView (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
 
void uiTemplateTextureUser (uiLayout *layout, bContext *C)
 
void uiTemplateTextureShow (uiLayout *layout, const bContext *C, PointerRNA *ptr, PropertyRNA *prop)
 
void uiTemplateMovieClip (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname, bool compact)
 
void uiTemplateTrack (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateMarker (uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *userptr, PointerRNA *trackptr, bool compact)
 
void uiTemplateMovieclipInformation (uiLayout *layout, PointerRNA *ptr, const char *propname, PointerRNA *userptr)
 
void uiTemplateColorspaceSettings (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateColormanagedViewSettings (uiLayout *layout, bContext *C, PointerRNA *ptr, const char *propname)
 
int uiTemplateRecentFiles (uiLayout *layout, int rows)
 
void uiTemplateFileSelectPath (uiLayout *layout, bContext *C, FileSelectParams *params)
 
void uiTemplateAssetView (uiLayout *layout, const bContext *C, const char *list_id, PointerRNA *asset_library_dataptr, const char *asset_library_propname, PointerRNA *assets_dataptr, const char *assets_propname, PointerRNA *active_dataptr, const char *active_propname, const blender::ed::asset::AssetFilterSettings *filter_settings, int display_flags, const char *activate_opname, PointerRNA *r_activate_op_properties, const char *drag_opname, PointerRNA *r_drag_op_properties)
 
void blender::ui::template_asset_shelf_popover (uiLayout &layout, const bContext &C, StringRefNull asset_shelf_id, StringRefNull name, int icon)
 
void uiTemplateLightLinkingCollection (uiLayout *layout, uiLayout *context_layout, PointerRNA *ptr, const char *propname)
 
void uiTemplateBoneCollectionTree (uiLayout *layout, bContext *C)
 
void uiTemplateGreasePencilLayerTree (uiLayout *layout, bContext *C)
 
void uiTemplateNodeTreeInterface (uiLayout *layout, PointerRNA *ptr)
 
void uiTemplateNodeInputs (uiLayout *layout, bContext *C, PointerRNA *ptr)
 
void uiTemplateCollectionExporters (uiLayout *layout, bContext *C)
 
bool UI_list_item_index_is_filtered_visible (const struct uiList *ui_list, int item_idx)
 
PointerRNAUI_list_custom_activate_operator_set (uiList *ui_list, const char *opname, bool create_properties)
 
PointerRNAUI_list_custom_drag_operator_set (uiList *ui_list, const char *opname, bool create_properties)
 
void uiItemO (uiLayout *layout, const char *name, int icon, const char *opname)
 
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)
 
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 uiItemsEnumO (uiLayout *layout, const char *opname, const char *propname)
 
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 uiItemFullO_ptr (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, PointerRNA *r_opptr)
 
void uiItemFullO (uiLayout *layout, const char *opname, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, PointerRNA *r_opptr)
 
void uiItemFullOMenuHold_ptr (uiLayout *layout, wmOperatorType *ot, const char *name, int icon, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const char *menu_id, PointerRNA *r_opptr)
 
void uiItemR (uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
 
void uiItemFullR (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *placeholder=nullptr)
 
void uiItemFullR_with_popover (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *panel_type)
 
void uiItemFullR_with_menu (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, const char *name, int icon, const char *menu_type)
 
void uiItemEnumR_prop (uiLayout *layout, const char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int value)
 
void uiItemEnumR (uiLayout *layout, const char *name, int icon, PointerRNA *ptr, const char *propname, int value)
 
void uiItemEnumR_string_prop (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, const char *value, const char *name, int icon)
 
void uiItemEnumR_string (uiLayout *layout, PointerRNA *ptr, const char *propname, const char *value, const char *name, int icon)
 
void uiItemsEnumR (uiLayout *layout, PointerRNA *ptr, const char *propname)
 
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 uiItemsFullEnumO (uiLayout *layout, const char *opname, const char *propname, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const int active=-1)
 
void uiItemsFullEnumO_items (uiLayout *layout, wmOperatorType *ot, const PointerRNA &ptr, PropertyRNA *prop, IDProperty *properties, wmOperatorCallContext context, eUI_Item_Flag flag, const EnumPropertyItem *item_array, int totitem, int active=-1)
 
uiPropertySplitWrapper uiItemPropertySplitWrapperCreate (uiLayout *parent_layout)
 
void uiItemL (uiLayout *layout, const char *name, int icon)
 
uiButuiItemL_ex (uiLayout *layout, const char *name, int icon, bool highlight, bool redalert)
 
uiLayoutuiItemL_respect_property_split (uiLayout *layout, const char *text, int icon)
 
void uiItemLDrag (uiLayout *layout, PointerRNA *ptr, const char *name, int icon)
 
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 uiItemS (uiLayout *layout)
 
void uiItemS_ex (uiLayout *layout, float factor, LayoutSeparatorType type=LayoutSeparatorType::Auto)
 
void uiItemSpacer (uiLayout *layout)
 
void uiItemProgressIndicator (uiLayout *layout, const char *text, float factor, enum eButProgressType progress_type)
 
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)
 
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)
 
void uiItemMenuEnumFullO_ptr (uiLayout *layout, const bContext *C, wmOperatorType *ot, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
 
void uiItemMenuEnumFullO (uiLayout *layout, const bContext *C, const char *opname, const char *propname, const char *name, int icon, PointerRNA *r_opptr)
 
void uiItemMenuEnumO (uiLayout *layout, const bContext *C, const char *opname, const char *propname, const char *name, int icon)
 
void uiItemMenuEnumR_prop (uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, const char *name, int icon)
 
void uiItemMenuEnumR (uiLayout *layout, 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)
 
const char * UI_layout_introspect (uiLayout *layout)
 
uiLayoutuiItemsAlertBox (uiBlock *block, const uiStyle *style, const int dialog_width, const eAlertIcon icon, const int icon_size)
 
uiLayoutuiItemsAlertBox (uiBlock *block, const int size, const eAlertIcon icon)
 
void ED_operatortypes_ui ()
 
void ED_keymap_ui (wmKeyConfig *keyconf)
 User Interface Keymap.
 
void ED_dropboxes_ui ()
 
void ED_uilisttypes_ui ()
 
void UI_drop_color_copy (bContext *C, wmDrag *drag, wmDropBox *drop)
 
bool UI_drop_color_poll (bContext *C, wmDrag *drag, const wmEvent *event)
 
bool UI_context_copy_to_selected_list (bContext *C, PointerRNA *ptr, PropertyRNA *prop, blender::Vector< PointerRNA > *r_lb, bool *r_use_path_from_id, std::optional< std::string > *r_path)
 
bool UI_context_copy_to_selected_check (PointerRNA *ptr, PointerRNA *ptr_link, PropertyRNA *prop, const char *path, bool use_path_from_id, PointerRNA *r_ptr, PropertyRNA **r_prop)
 
uiButUI_context_active_but_get (const bContext *C)
 
uiButUI_context_active_but_get_respect_popup (const bContext *C)
 
uiButUI_context_active_but_prop_get (const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index)
 
uiButUI_region_active_but_prop_get (const ARegion *region, PointerRNA *r_ptr, PropertyRNA **r_prop, int *r_index)
 
void UI_context_active_but_prop_handle (bContext *C, bool handle_undo)
 
void UI_context_active_but_clear (bContext *C, wmWindow *win, ARegion *region)
 
wmOperatorUI_context_active_operator_get (const bContext *C)
 
void UI_context_update_anim_flag (const bContext *C)
 
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)
 
void UI_context_active_but_prop_get_templateID (const bContext *C, PointerRNA *r_ptr, PropertyRNA **r_prop)
 
IDUI_context_active_but_get_tab_ID (bContext *C)
 
uiButUI_region_active_but_get (const ARegion *region)
 
uiButUI_region_but_find_rect_over (const ARegion *region, const rcti *rect_px)
 
uiBlockUI_region_block_find_mouse_over (const ARegion *region, const int xy[2], bool only_clip)
 
ARegionUI_region_searchbox_region_get (const ARegion *button_region)
 
void UI_fontstyle_set (const uiFontStyle *fs)
 
void UI_fontstyle_draw_ex (const uiFontStyle *fs, const rcti *rect, const char *str, size_t str_len, const uchar col[4], const uiFontStyleDraw_Params *fs_params, int *r_xofs, int *r_yofs, ResultBLF *r_info)
 
void UI_fontstyle_draw (const uiFontStyle *fs, const rcti *rect, const char *str, size_t str_len, const uchar col[4], const uiFontStyleDraw_Params *fs_params)
 
void UI_fontstyle_draw_rotated (const uiFontStyle *fs, const rcti *rect, const char *str, const uchar col[4])
 
void UI_fontstyle_draw_simple (const uiFontStyle *fs, float x, float y, const char *str, const uchar col[4])
 
void UI_fontstyle_draw_simple_backdrop (const uiFontStyle *fs, float x, float y, blender::StringRef str, const float col_fg[4], const float col_bg[4])
 
int UI_fontstyle_string_width (const uiFontStyle *fs, const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
 
int int UI_fontstyle_string_width_with_block_aspect (const uiFontStyle *fs, const char *str, float aspect) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
 
int int int UI_fontstyle_height_max (const uiFontStyle *fs)
 
void UI_draw_icon_tri (float x, float y, char dir, const float[4])
 
const uiStyleUI_style_get ()
 
const uiStyleUI_style_get_dpi ()
 
bool UI_editsource_enable_check ()
 
void UI_editsource_active_but_test (uiBut *but)
 
void UI_editsource_but_replace (const uiBut *old_but, uiBut *new_but)
 
void UI_but_ensure_in_view (const bContext *C, ARegion *region, const uiBut *but)
 
uiButStoreUI_butstore_create (uiBlock *block)
 
void UI_butstore_clear (uiBlock *block)
 
void UI_butstore_update (uiBlock *block)
 
void UI_butstore_free (uiBlock *block, uiButStore *bs_handle)
 
bool UI_butstore_is_valid (uiButStore *bs_handle)
 
bool UI_butstore_is_registered (uiBlock *block, uiBut *but)
 
void UI_butstore_register (uiButStore *bs_handle, uiBut **but_p)
 
bool UI_butstore_register_update (uiBlock *block, uiBut *but_dst, const uiBut *but_src)
 
void UI_butstore_unregister (uiButStore *bs_handle, uiBut **but_p)
 
std::optional< std::string > UI_key_event_operator_string (const bContext *C, const char *opname, IDProperty *properties, bool is_strict)
 
ARegionUI_tooltip_create_from_button (bContext *C, ARegion *butregion, uiBut *but, bool is_label)
 
ARegionUI_tooltip_create_from_button_or_extra_icon (bContext *C, ARegion *butregion, uiBut *but, uiButExtraOpIcon *extra_icon, bool is_label)
 
ARegionUI_tooltip_create_from_gizmo (bContext *C, wmGizmo *gz)
 
void UI_tooltip_free (bContext *C, bScreen *screen, ARegion *region)
 
ARegionUI_tooltip_create_from_search_item_generic (bContext *C, const ARegion *searchbox_region, const rcti *item_rect, ID *id)
 
int UI_calc_float_precision (int prec, double value)
 
void UI_widgetbase_draw_cache_begin ()
 
void UI_widgetbase_draw_cache_flush ()
 
void UI_widgetbase_draw_cache_end ()
 
void UI_theme_init_default ()
 
void UI_style_init_default ()
 
void UI_interface_tag_script_reload ()
 
bool UI_view_item_matches (const blender::ui::AbstractViewItem &a, const blender::ui::AbstractViewItem &b)
 
bool UI_view_item_can_rename (const blender::ui::AbstractViewItem &item)
 
void UI_view_item_begin_rename (blender::ui::AbstractViewItem &item)
 
bool UI_view_item_supports_drag (const blender::ui::AbstractViewItem &item)
 
bool UI_view_item_popup_keep_open (const blender::ui::AbstractViewItem &item)
 
bool UI_view_item_drag_start (bContext &C, const blender::ui::AbstractViewItem &item)
 
blender::ui::AbstractViewUI_region_view_find_at (const ARegion *region, const int xy[2], int pad)
 
blender::ui::AbstractViewItemUI_region_views_find_item_at (const ARegion &region, const int xy[2])
 
blender::ui::AbstractViewItemUI_region_views_find_active_item (const ARegion *region)
 
uiButUI_region_views_find_active_item_but (const ARegion *region)
 
void UI_region_views_clear_search_highlight (const ARegion *region)
 

Custom Interaction

Sometimes it's useful to create data that remains available while the user interacts with a button.

A common case is dragging a number button or slider however this could be used in other cases too.

using uiBlockInteractionBeginFn
 
using uiBlockInteractionEndFn
 
using uiBlockInteractionUpdateFn
 
void UI_block_interaction_set (uiBlock *block, uiBlockInteraction_CallbackData *callbacks)
 

Macro Definition Documentation

◆ AUTOCOMPLETE_FULL_MATCH

#define AUTOCOMPLETE_FULL_MATCH   1

◆ AUTOCOMPLETE_NO_MATCH

◆ AUTOCOMPLETE_PARTIAL_MATCH

#define AUTOCOMPLETE_PARTIAL_MATCH   2

Definition at line 1927 of file UI_interface_c.hh.

Referenced by UI_autocomplete_end().

◆ BUTTYPE

#define BUTTYPE   (63 << 9)

Definition at line 473 of file UI_interface_c.hh.

Referenced by ui_def_but().

◆ INSTANCED_PANEL_UNIQUE_STR_SIZE

#define INSTANCED_PANEL_UNIQUE_STR_SIZE   16

◆ UI_ALPHA_CHECKER_DARK

◆ UI_ALPHA_CHECKER_LIGHT

◆ UI_but_is_decorator

◆ UI_BUT_POIN_TYPES

Note
requires but->poin != NULL.

Definition at line 400 of file UI_interface_c.hh.

Referenced by ui_but_range_set_soft(), ui_but_update_ex(), and ui_def_but().

◆ UI_BUTTON_SECTION_MERGE_DISTANCE

#define UI_BUTTON_SECTION_MERGE_DISTANCE   (UI_UNIT_X * 3)

Definition at line 934 of file UI_interface_c.hh.

Referenced by button_section_bounds_calc().

◆ UI_BUTTON_SECTION_SEPERATOR_LINE_WITH

#define UI_BUTTON_SECTION_SEPERATOR_LINE_WITH   (U.pixelsize * 2)

◆ UI_COMPACT_PANEL_WIDTH

#define UI_COMPACT_PANEL_WIDTH   160

Definition at line 298 of file UI_interface_c.hh.

Referenced by ED_spacetype_clip(), ED_spacetype_sequencer(), and ED_spacetype_text().

◆ UI_DEFAULT_TEXT_POINTS

#define UI_DEFAULT_TEXT_POINTS   11.0f

◆ UI_DEFAULT_TITLE_POINTS

#define UI_DEFAULT_TITLE_POINTS   11.0f

Larger size used for title text.

Definition at line 292 of file UI_interface_c.hh.

Referenced by ui_style_new().

◆ UI_DEFAULT_TOOLTIP_POINTS

#define UI_DEFAULT_TOOLTIP_POINTS   11.0f

Size of tooltip text.

Definition at line 295 of file UI_interface_c.hh.

Referenced by screen_draw_area_drag_tip(), and ui_style_new().

◆ UI_FSTYLE_TOOLTIP

#define UI_FSTYLE_TOOLTIP   (const uiFontStyle *)&(UI_style_get()->tooltip)

Definition at line 3471 of file UI_interface_c.hh.

Referenced by screen_draw_area_drag_tip().

◆ UI_FSTYLE_WIDGET

◆ UI_HEADER_OFFSET

◆ UI_ITEM_NONE

#define UI_ITEM_NONE   eUI_Item_Flag(0)

Definition at line 2191 of file UI_interface_c.hh.

Referenced by blender::add_attribute_search_button(), blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), advanced_panel_draw(), advanced_panel_draw(), advanced_panel_draw(), apply_armature_pose2bones_ui(), blender::ed::asset::shelf::asset_shelf_header_draw(), axis_mapping_panel_draw(), block_create_autorun_warning(), blur_panel_draw(), blur_panel_draw(), blender::ed::asset_browser::AssetCatalogTreeViewItem::build_context_menu(), caps_panel_draw(), blender::ed::geometry::catalog_assets_draw(), blender::ed::object::catalog_assets_draw(), blender::ed::geometry::catalog_assets_draw_unassigned(), blender::chaining_panel_draw(), clamp_panel_draw(), colorband_buttons_layout(), blender::composition_panel_draw(), constant_offset_draw(), constant_offset_header_draw(), constraint_ops_extra_draw(), CurveProfile_buttons_layout(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_bake_data_block_list_item(), blender::nodes::node_geo_bake_cc::draw_bake_item(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::draw_bake_panel(), blender::nodes::draw_common_bake_settings(), draw_constraint_header(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_export_properties(), draw_exporter_item(), draw_fill_tile(), blender::ed::space_node::draw_gizmo_pin_icon(), blender::nodes::node_geo_attribute_capture_cc::draw_item(), blender::nodes::node_geo_foreach_geometry_element_cc::draw_item(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::node_geo_menu_switch_cc::draw_menu_switch_item(), blender::ed::space_node::draw_node_socket_name_editable(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::nodes::node_geo_repeat_cc::draw_repeat_state_item(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::nodes::node_geo_simulation_cc::draw_simulation_state_item(), blender::modifier::greasepencil::draw_vertex_group_settings(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), 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(), blender::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(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), face_panel_draw(), face_panel_draw_header(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), file_os_operations_menu_item(), 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(), 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_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__contextProp(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__transChan(), graph_panel_driverVar_fallback(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), blender::ed::asset::shelf::library_selector_draw(), limits_panel_draw(), blender::ed::sculpt_paint::mask::mask_from_boundary_ui(), blender::ed::sculpt_paint::mask::mask_from_cavity_ui(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), materials_panel_draw(), menu_item_enum_opname_menu(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), mix_mode_panel_draw(), modifier_grease_pencil_curve_header_draw(), modifier_ops_extra_draw(), modifier_panel_header(), modifier_vgroup_ui(), blender::ed::object::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_properties(), nla_panel_stripname(), blender::ed::space_node::node_add_catalog_assets_draw(), blender::ed::space_node::node_add_unassigned_assets_draw(), blender::nodes::node_composite_antialiasing_cc::node_composit_buts_antialiasing(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_kuwahara_cc::node_composit_buts_kuwahara(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_fn_align_euler_to_vector_cc::node_layout(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_layout(), blender::nodes::node_fn_boolean_math_cc::node_layout(), blender::nodes::node_fn_combine_color_cc::node_layout(), blender::nodes::node_fn_compare_cc::node_layout(), blender::nodes::node_fn_float_to_int_cc::node_layout(), blender::nodes::node_fn_hash_value_cc::node_layout(), blender::nodes::node_fn_input_string_cc::node_layout(), blender::nodes::node_fn_integer_math_cc::node_layout(), blender::nodes::node_fn_random_value_cc::node_layout(), blender::nodes::node_fn_separate_color_cc::node_layout(), blender::nodes::node_fn_value_to_string_cc::node_layout(), 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_blur_attribute_cc::node_layout(), blender::nodes::node_geo_boolean_cc::node_layout(), blender::nodes::node_geo_curve_handle_type_selection_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_delete_geometry_cc::node_layout(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_layout(), blender::nodes::node_geo_distribute_points_in_volume_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_evaluate_at_index_cc::node_layout(), blender::nodes::node_geo_evaluate_on_domain_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_layout(), blender::nodes::node_geo_get_named_grid_cc::node_layout(), blender::nodes::node_geo_gizmo_dial_cc::node_layout(), blender::nodes::node_geo_gizmo_linear_cc::node_layout(), blender::nodes::node_geo_index_switch_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_menu_switch_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_merge_layers_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_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_remove_attribute_cc::node_layout(), blender::nodes::node_geo_sample_grid_cc::node_layout(), blender::nodes::node_geo_sample_grid_index_cc::node_layout(), blender::nodes::node_geo_sample_index_cc::node_layout(), blender::nodes::node_geo_sample_nearest_cc::node_layout(), blender::nodes::node_geo_sample_nearest_surface_cc::node_layout(), blender::nodes::node_geo_sample_uv_surface_cc::node_layout(), blender::nodes::node_geo_scale_elements_cc::node_layout(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_layout(), blender::nodes::node_geo_separate_geometry_cc::node_layout(), blender::nodes::node_geo_set_curve_normal_cc::node_layout(), blender::nodes::node_geo_sort_elements_cc::node_layout(), blender::nodes::node_geo_split_to_instances_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_store_named_grid_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::nodes::node_geo_subdivision_surface_cc::node_layout(), blender::nodes::node_geo_switch_cc::node_layout(), blender::nodes::node_geo_tool_active_element_cc::node_layout(), blender::nodes::node_geo_tool_set_selection_cc::node_layout(), blender::nodes::node_geo_transform_geometry_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_warning_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_viewer_cc::node_layout_ex(), noise_panel_draw(), normals_panel_draw(), normals_panel_draw(), blender::ed::object::object_convert_ui(), object_offset_draw(), object_offset_header_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), blender::ed::object::parent_set_invoke_menu(), path_panel_draw(), path_panel_draw_header(), position_panel_draw(), preferences_extension_repo_add_ui(), random_panel_draw(), random_panel_header_draw(), relative_offset_draw(), relative_offset_header_draw(), screen_area_menu_items(), screen_area_options_invoke(), screen_user_menu_draw(), blender::ed::sculpt_paint::color::sculpt_color_filter_ui(), blender::ed::sculpt_paint::filter::sculpt_mesh_ui_exec(), blender::ed::curves::select_ends_ui(), blender::ed::curves::select_random_ui(), blender::ed::sculpt_paint::select_random::select_random_ui(), sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::nodes::node_sh_mix_cc::sh_node_mix_layout(), blender::ed::object::shade_auto_smooth_ui(), shaderfx_panel_header(), shading_panel_draw(), solver_options_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw(), blender::ed::space_node::std_node_socket_draw(), stepped_panel_draw(), subdivisions_panel_draw(), symmetry_panel_draw(), symmetry_panel_header_draw(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), texture_paint_add_texture_paint_slot_ui(), texture_panel_draw(), texture_panel_draw(), tile_add_draw(), time_panel_draw(), time_remapping_panel_draw(), transform_panel_draw(), ui_but_menu_add_path_operators(), blender::ed::space_node::ui_node_draw_input(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_button(), ui_popup_context_menu_for_panel(), uiDefAutoButsRNA(), uiItemBooleanO(), uiItemDecoratorR_prop(), uiItemEnumO_ptr(), uiItemEnumO_string(), uiItemEnumO_value(), uiItemEnumR(), uiItemEnumR_prop(), uiItemEnumR_string_prop(), uiItemFloatO(), uiItemIntO(), uiItemO(), uiItemsEnumO(), uiItemStringO(), uilist_draw_filter_default(), uiTemplateAnyID(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateCacheFileVelocity(), uiTemplateColormanagedViewSettings(), uiTemplateColorspaceSettings(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateImageFormatViews(), uiTemplateImageSettings(), uiTemplateImageStereo3d(), uiTemplateMovieClip(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateRecentFiles(), blender::ed::object::unassigned_assets_draw(), unpack_item_invoke(), unpack_menu(), blender::ed::object::bake_simulation::unpack_single_bake_invoke(), unwrap_draw(), uv_pack_islands_ui(), 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(), blender::vgroup_panel_draw(), view3d_panel_vgroup(), wave_header_draw(), wave_panel_draw(), weight_sample_group_invoke(), weightvg_ui_common(), wm_block_splash_create(), wm_drop_import_file_invoke(), WM_menu_invoke_ex(), wm_open_mainfile_ui(), wm_stereo3d_set_draw(), and workspace_append_button().

◆ UI_MAX_DRAW_STR

#define UI_MAX_DRAW_STR   400

Definition at line 109 of file UI_interface_c.hh.

Referenced by add_collection_search_item(), apply_shear(), apply_value_impl(), applyBakeTime(), applyBoneEnvelope(), applyBoneRoll(), applyBoneSize(), applyCurveShrinkFatten(), applyEdgeSlide(), applyGPOpacity(), applyGPShrinkFatten(), applyMaskShrinkFatten(), applyMirror(), applyNormalRotation(), applyPushPull(), applyResize(), applyRotation(), applySeqSlide(), applySkinResize(), applyTilt(), applyTimeScale(), applyTimeSlide(), applyTimeTranslate(), applyToSphere(), applyTrackball(), applyTranslation(), applyVertSlide(), Bend(), common_draw_status_header(), decimate_draw_status(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_update_header(), ease_draw_status_header(), ED_area_status_text(), ed_marker_move_update_header(), edbm_inset_update_header(), headerBoneSize(), headerSeqSlide(), headerTimeScale(), headerTimeSlide(), headerTimeTranslate(), headerTranslation(), loopcut_init(), loopcut_modal(), minimize_stretch_iteration(), pose_slide_draw_status(), poselib_blend_modal(), radial_control_update_header(), sample_color_update_header(), scale_from_neighbor_draw_status_header(), sequencer_slip_update_header(), shear_draw_status_header(), stitch_update_header(), template_search_textbut_width(), ui_but_build_drawstr_float(), ui_but_string_get_maxncpy(), ui_but_update_ex(), ui_draw_menu_item(), ui_draw_preview_item_stateless(), UI_popup_menu_reports(), ui_rna_collection_search_update_fn(), ui_text_clip_middle(), UI_text_clip_middle_ex(), ui_text_clip_middle_protect_right(), ui_text_clip_right_label(), uiItemFullR(), widget_draw_text(), widget_draw_text_icon(), and WM_operator_name_call_ptr_with_depends_on_cursor().

◆ UI_MAX_NAME_STR

◆ UI_MAX_SHORTCUT_STR

#define UI_MAX_SHORTCUT_STR   64

Definition at line 111 of file UI_interface_c.hh.

Referenced by RNA_api_keymapitem().

◆ UI_MENU_ARROW_SEP

Separator for text in search menus (right pointing arrow). keep in sync with string_search.cc.

Definition at line 106 of file UI_interface_c.hh.

◆ UI_NARROW_NAVIGATION_REGION_WIDTH

#define UI_NARROW_NAVIGATION_REGION_WIDTH   100

Definition at line 301 of file UI_interface_c.hh.

Referenced by userpref_create().

◆ UI_NAVIGATION_REGION_WIDTH

#define UI_NAVIGATION_REGION_WIDTH   UI_COMPACT_PANEL_WIDTH

Definition at line 300 of file UI_interface_c.hh.

Referenced by ED_spacetype_userpref(), userpref_create(), and userpref_show_exec().

◆ UI_PANEL_CATEGORY_MARGIN_WIDTH

#define UI_PANEL_CATEGORY_MARGIN_WIDTH   (U.widget_unit * 1.0f)

◆ UI_PANEL_MARGIN_X

#define UI_PANEL_MARGIN_X   (U.widget_unit * 0.4f)

Definition at line 314 of file UI_interface_c.hh.

Referenced by panel_draw_width_from_max_width_get(), and uiAlignPanelStep().

◆ UI_PANEL_MARGIN_Y

#define UI_PANEL_MARGIN_Y   (U.widget_unit * 0.1f)

Definition at line 315 of file UI_interface_c.hh.

Referenced by ui_panels_size(), and uiAlignPanelStep().

◆ UI_PANEL_WIDTH

#define UI_PANEL_WIDTH   340

Definition at line 297 of file UI_interface_c.hh.

Referenced by ui_panels_size().

◆ UI_PRECISION_FLOAT_MAX

◆ UI_PRECISION_FLOAT_SCALE

#define UI_PRECISION_FLOAT_SCALE   0.01f

◆ UI_REGION_OVERLAP_MARGIN

#define UI_REGION_OVERLAP_MARGIN   (U.widget_unit / 3)

For ARegion.overlap regions, pass events though if they don't overlap the regions contents (the usable part of the View2D and buttons).

The margin is needed so it's not possible to accidentally click in between buttons.

Definition at line 119 of file UI_interface_c.hh.

Referenced by azone_clipped_rect_calc(), and ED_region_contains_xy().

◆ UI_SCREEN_MARGIN

#define UI_SCREEN_MARGIN   10

Use for clamping popups within the screen.

Definition at line 122 of file UI_interface_c.hh.

Referenced by ui_block_bounds_calc_popup(), ui_popup_block_clip(), ui_popup_block_position(), and ui_popup_block_refresh().

◆ UI_SEP_CHAR

◆ UI_SEP_CHAR_S

#define UI_SEP_CHAR_S   "|"

Definition at line 95 of file UI_interface_c.hh.

Referenced by ui_but_add_shortcut(), and ui_popup_context_menu_for_panel().

◆ UI_SIDEBAR_PANEL_WIDTH

◆ UI_TOOLBAR_COLUMN

#define UI_TOOLBAR_COLUMN   (1.25f * ICON_DEFAULT_HEIGHT_TOOLBAR)

The width of one icon column of the Toolbar.

Definition at line 304 of file UI_interface_c.hh.

Referenced by ED_region_generic_tools_region_snap_size().

◆ UI_TOOLBAR_MARGIN

#define UI_TOOLBAR_MARGIN   (0.5f * ICON_DEFAULT_HEIGHT_TOOLBAR)

The space between the Toolbar and the area's edge.

Definition at line 306 of file UI_interface_c.hh.

Referenced by ED_region_generic_tools_region_snap_size().

◆ UI_TOOLBAR_WIDTH

#define UI_TOOLBAR_WIDTH   UI_TOOLBAR_MARGIN + UI_TOOLBAR_COLUMN

Total width of Toolbar showing one icon column.

Definition at line 308 of file UI_interface_c.hh.

Referenced by ED_spacetype_image(), ED_spacetype_node(), ED_spacetype_sequencer(), and ED_spacetype_view3d().

◆ UI_TOOLTIP_DELAY

#define UI_TOOLTIP_DELAY   0.5

◆ UI_TOOLTIP_DELAY_LABEL

#define UI_TOOLTIP_DELAY_LABEL   0.2

Definition at line 3462 of file UI_interface_c.hh.

Referenced by button_tooltip_timer_reset(), and ui_but_tooltip_init().

◆ UI_UL_DEFAULT_CLASS_NAME

#define UI_UL_DEFAULT_CLASS_NAME   "UI_UL_list"

Default UIList class name, keep in sync with its declaration in bl_ui/__init__.py.

Definition at line 2731 of file UI_interface_c.hh.

Referenced by RNA_api_ui_layout(), and ui_template_list_data_retrieve().

◆ UI_UNIT_X

#define UI_UNIT_X   ((void)0, U.widget_unit)

Definition at line 2144 of file UI_interface_c.hh.

Referenced by blender::add_attribute_search_button(), blender::ui::AbstractViewItem::add_rename_button(), blender::ed::asset::shelf::add_tab_button(), ANIM_channel_draw_widgets(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ui::TreeViewLayoutBuilder::build_row(), channel_ui_data_init(), clip_draw_dopesheet_channels(), colorband_buttons_layout(), colorband_tools_fn(), blender::ed::spreadsheet::SpreadsheetDrawer::column_width(), component_menu(), curve_profile_presets_fn(), curve_profile_tools_fn(), curvemap_buttons_layout(), curvemap_clipping_func(), curvemap_tools_func(), CurveProfile_buttons_layout(), draw_details_columns(), draw_keylist_block_gpencil(), draw_view_axis(), ED_file_path_button(), ED_fileselect_init_layout(), ED_image_draw_info(), ed_panel_draw(), ED_region_panels_layout_ex(), ED_spacetype_statusbar(), ED_spacetype_topbar(), envelope_panel_draw(), file_attribute_columns_widths(), file_draw_invalid_asset_library_hint(), file_draw_invalid_library_hint(), file_draw_list(), file_panel_execution_buttons_draw(), blender::ed::space_node::find_bounds_by_zone_recursive(), blender::ed::sculpt_paint::find_curves_brush_position(), fmodifier_panel_header(), blender::ed::spreadsheet::get_column_width(), blender::ed::spreadsheet::get_index_column_width(), graph_draw_driven_property_enabled_btn(), graph_draw_driver_settings_panel(), icon_draw_size(), info_textview_draw_rect_calc(), blender::ed::asset::shelf::layout_width_units_clamped(), blender::ed::outliner::merged_element_search_menu(), metadata_draw_imbuf(), blender::ed::sculpt_paint::min_distance_edit::min_distance_edit_modal(), modifier_panel_header(), blender::ed::space_node::node_geometry_add_attribute_search_button(), blender::ed::outliner::outliner_buttons(), blender::ed::outliner::outliner_draw_active_indicator(), blender::ed::outliner::outliner_draw_hierarchy_lines_recursive(), blender::ed::outliner::outliner_draw_iconrow_doit(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_draw_overrides_restrictbuts(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_tree(), blender::ed::outliner::outliner_draw_tree_element(), blender::ed::outliner::outliner_draw_userbuts(), blender::ed::outliner::outliner_draw_warning_tree_element(), blender::ed::outliner::outliner_dropzone_element(), blender::ed::outliner::outliner_is_co_within_mode_column(), blender::ed::outliner::outliner_item_is_co_over_icon(), blender::ed::outliner::outliner_item_is_co_over_name(), blender::ed::outliner::outliner_item_is_co_over_name_icons(), blender::ed::outliner::outliner_item_is_co_within_close_toggle(), blender::ed::outliner::outliner_right_columns_width(), panel_draw_aligned_widgets(), region_rect_recursive(), region_scale_modal(), shaderfx_panel_header(), blender::ed::spreadsheet::SpreadsheetDrawer::SpreadsheetDrawer(), template_add_button_search_menu(), template_ID(), template_id_def_new_but(), template_ID_tabs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_search_add_button_operator(), template_search_textbut_width(), template_texture_user_menu(), blender::ed::outliner::tselem_draw_icon(), ui_block_bounds_calc_popup(), ui_block_colorpicker(), ui_block_func_COLOR(), ui_block_func_POPOVER(), ui_block_func_POPUP(), UI_block_layout(), UI_but_ensure_in_view(), ui_but_update_ex(), ui_def_but_rna__menu(), ui_draw_menu_item(), ui_icon_view_menu_cb(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_slot_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_item_array(), ui_item_estimate(), ui_item_rna_size(), ui_item_with_label(), ui_litem_layout_radial(), ui_litem_min_width(), blender::ed::space_node::ui_node_draw_panel(), blender::ed::space_node::ui_node_menu_column(), UI_panel_label_offset(), ui_pie_menu_level_create(), ui_pie_menu_title_width(), ui_popup_block_position(), UI_popup_block_template_confirm_op(), UI_preview_tile_size_x(), ui_searchbox_region_draw_fn(), UI_searchbox_size_x(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), ui_text_icon_width_ex(), uiItemDecoratorR_prop(), uiItemPointerR_prop(), uiItemProgressIndicator(), uiItemS_ex(), uiItemsFullEnumO_items(), uiItemSpacer(), uiTemplateColorRamp(), uiTemplateComponentMenu(), uiTemplateCryptoPicker(), uiTemplateHistogram(), uiTemplateIcon(), uiTemplateIconView(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMenuSearch(), uiTemplateNodeLink(), uiTemplateNodeSocket(), uiTemplateOperatorSearch(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateReportsBanner(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), uiTemplateTextureShow(), uiTemplateTextureUser(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateWaveform(), view3d_panel_vgroup(), widget_progress_type_ring(), WIDGETGROUP_navigate_draw_prepare(), wm_block_create_redo(), and wm_block_dialog_create().

◆ UI_UNIT_Y

#define UI_UNIT_Y   ((void)0, U.widget_unit)

Definition at line 2145 of file UI_interface_c.hh.

Referenced by blender::add_attribute_search_button(), blender::ui::AbstractViewItem::add_rename_button(), blender::ed::asset::shelf::add_tab_button(), block_create__close_file_dialog(), block_create_autorun_warning(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), clip_draw_dopesheet_channels(), colorband_buttons_layout(), colorband_tools_fn(), component_menu(), blender::ed::space_node::create_search_popup_block(), create_title_button(), curve_profile_presets_fn(), curve_profile_tools_fn(), curvemap_buttons_layout(), curvemap_clipping_func(), curvemap_tools_func(), CurveProfile_buttons_layout(), blender::ed::space_node::draw_tree_path(), draw_view_axis(), ED_file_path_button(), ED_fileselect_init_layout(), ED_image_draw_info(), ed_panel_draw(), ED_region_header_layout(), ED_region_info_draw_multiline(), ED_time_scrub_channel_search_draw(), envelope_panel_draw(), file_draw_invalid_asset_library_hint(), file_draw_invalid_library_hint(), file_draw_list(), file_panel_execution_buttons_draw(), fmodifier_panel_header(), graph_draw_driven_property_enabled_btn(), graph_draw_driver_settings_panel(), graph_panel_key_properties(), blender::ed::asset::shelf::header_region_size(), blender::ed::outliner::merged_element_search_menu(), modifier_panel_header(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_add_unsupported_compositor_operation_error_message_button(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_extra_info_row(), blender::ed::space_node::node_find_menu(), blender::ed::space_node::node_geometry_add_attribute_search_button(), blender::ed::outliner::outliner_back(), blender::ed::outliner::outliner_box_select(), blender::ed::outliner::outliner_buttons(), blender::ed::outliner::outliner_draw_active_indicator(), blender::ed::outliner::outliner_draw_hierarchy_line(), blender::ed::outliner::outliner_draw_hierarchy_lines_recursive(), blender::ed::outliner::outliner_draw_highlights(), blender::ed::outliner::outliner_draw_iconrow_doit(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_draw_overrides_restrictbuts(), blender::ed::outliner::outliner_draw_overrides_rna_buts(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_rnabuts(), blender::ed::outliner::outliner_draw_struct_marks(), blender::ed::outliner::outliner_draw_tree(), blender::ed::outliner::outliner_draw_tree_element(), blender::ed::outliner::outliner_draw_userbuts(), blender::ed::outliner::outliner_draw_warning_tree_element(), blender::ed::outliner::outliner_drop_insert_find(), blender::ed::outliner::outliner_dropzone_element(), blender::ed::outliner::outliner_find_first_desired_element_at_y(), blender::ed::outliner::outliner_find_item_at_y(), blender::ed::outliner::outliner_id_delete_tag(), blender::ed::outliner::outliner_id_remap_find_tree_element(), blender::ed::outliner::outliner_is_element_in_view(), blender::ed::outliner::outliner_lib_relocate_invoke_do(), blender::ed::outliner::outliner_scroll_view(), blender::ed::outliner::outliner_set_coordinates(), blender::ed::outliner::outliner_tree_dimensions_impl(), blender::ed::outliner::outliner_walk_scroll(), region_draw_status_text(), region_rect_recursive(), region_scale_modal(), region_scale_validate_size(), save_file_overwrite_cancel_button(), save_file_overwrite_confirm_button(), save_file_overwrite_saveas_button(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), blender::ed::spreadsheet::SpreadsheetDrawer::SpreadsheetDrawer(), template_add_button_search_menu(), template_common_search_menu(), template_ID(), template_ID_tabs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_search_add_button_operator(), template_texture_user_menu(), blender::ed::outliner::tselem_draw_icon(), ui_block_colorpicker(), ui_block_func_POPOVER(), ui_block_func_POPUP(), UI_block_layout(), ui_but_drag_init(), ui_def_but_rna__menu(), ui_draw_preview_item_stateless(), ui_handle_menu_event(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_slot_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_item_array(), ui_item_disabled(), ui_item_estimate(), ui_item_menu(), ui_item_rna_size(), ui_menu_scroll_apply_offset_y(), ui_menu_scroll_step(), ui_menu_scroll_to_y(), blender::ed::space_node::ui_node_draw_panel(), blender::ed::space_node::ui_node_menu_column(), ui_pan_to_scroll(), UI_panel_label_offset(), UI_pie_menu_begin(), ui_pie_menu_level_create(), ui_popup_block_position(), ui_popup_block_refresh(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_button(), UI_preview_tile_size_y(), UI_preview_tile_size_y_no_label(), ui_search_menu_create_tooltip(), UI_searchbox_size_y(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), UI_tooltip_create_from_button_or_extra_icon(), ui_tooltip_create_with_data(), uiblock_layer_pass_buttons(), uiItemDecoratorR_prop(), uiItemFullO_ptr_ex(), uiItemFullR(), uiItemL_(), uiItemProgressIndicator(), uiItemS_ex(), uiItemsFullEnumO_items(), uiItemSpacer(), uiItemTabsEnumR_prop(), uiLayoutPanelProp(), uilist_resize_update(), uiTemplateComponentMenu(), uiTemplateCryptoPicker(), uiTemplateHistogram(), uiTemplateIcon(), uiTemplateIconView(), uiTemplateImage(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMenuSearch(), uiTemplateNodeLink(), uiTemplateNodeSocket(), uiTemplateOperatorSearch(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateReportsBanner(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), uiTemplateTextureShow(), uiTemplateTextureUser(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateWaveform(), blender::ui::unpadded_item_height(), uvedit_vertex_buttons(), view3d_panel_vgroup(), widget_draw_text_icon(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_file_close_cancel_button(), wm_block_file_close_discard_button(), wm_block_file_close_save_button(), wm_block_insert_unicode_create(), wm_block_search_menu(), wm_block_splash_add_label(), and wm_enum_search_menu().

◆ UI_VALUE_INDETERMINATE_CHAR

#define UI_VALUE_INDETERMINATE_CHAR   BLI_STR_UTF8_EM_DASH

Character used when value is indeterminate (multiple, unknown, unset).

Definition at line 100 of file UI_interface_c.hh.

Referenced by widget_draw_text().

◆ USE_UI_POPOVER_ONCE

#define USE_UI_POPOVER_ONCE

Support click-drag motion which presses the button and closes a popover (like a menu).

Definition at line 3500 of file UI_interface_c.hh.

◆ USE_UI_TOOLBAR_HACK

#define USE_UI_TOOLBAR_HACK

Special drawing for toolbar, mainly workarounds for inflexible icon sizing.

Definition at line 3497 of file UI_interface_c.hh.

Typedef Documentation

◆ uiBlockCancelFunc

using uiBlockCancelFunc = void (*)(bContext *C, void *arg1)

Definition at line 812 of file UI_interface_c.hh.

◆ uiBlockCreateFunc

using uiBlockCreateFunc = uiBlock *(*)(bContext *C, ARegion *region, void *arg1)

Definition at line 811 of file UI_interface_c.hh.

◆ uiBlockHandleFunc

using uiBlockHandleFunc = void (*)(bContext *C, void *arg, int event)

Definition at line 619 of file UI_interface_c.hh.

◆ uiBlockInteractionBeginFn

Initial value:
void *(*)(bContext *C,
void *arg1)
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]

Returns 'user_data', freed by uiBlockInteractionEndFn.

Definition at line 646 of file UI_interface_c.hh.

◆ uiBlockInteractionEndFn

Initial value:
void (*)(bContext *C,
void *arg1,
void *user_data)
#define C
Definition RandGen.cpp:29

Definition at line 649 of file UI_interface_c.hh.

◆ uiBlockInteractionUpdateFn

Initial value:
void (*)(bContext *C,
void *arg1,
void *user_data)

Definition at line 653 of file UI_interface_c.hh.

◆ uiButArgNCopy

using uiButArgNCopy = void *(*)(const void *argN)

Definition at line 589 of file UI_interface_c.hh.

◆ uiButArgNFree

using uiButArgNFree = void (*)(void *argN)

Signatures of callbacks used to free or copy some 'owned' void pointer data (like e.g. #func_argN in uiBut or uiBlock).

Definition at line 588 of file UI_interface_c.hh.

◆ uiButCompleteFunc

using uiButCompleteFunc = int (*)(bContext *C, char *str, void *arg)

Definition at line 582 of file UI_interface_c.hh.

◆ uiButHandleFunc

using uiButHandleFunc = void (*)(bContext *C, void *arg1, void *arg2)

Definition at line 578 of file UI_interface_c.hh.

◆ uiButHandleHoldFunc

using uiButHandleHoldFunc = void (*)(bContext *C, ARegion *butregion, uiBut *but)

Definition at line 581 of file UI_interface_c.hh.

◆ uiButHandleNFunc

using uiButHandleNFunc = void (*)(bContext *C, void *argN, void *arg2)

Definition at line 580 of file UI_interface_c.hh.

◆ uiButHandleRenameFunc

using uiButHandleRenameFunc = void (*)(bContext *C, void *arg, char *origstr)

Definition at line 579 of file UI_interface_c.hh.

◆ uiButIdentityCompareFunc

using uiButIdentityCompareFunc = bool (*)(const uiBut *a, const uiBut *b)

Function to compare the identity of two buttons over redraws, to check if they represent the same data, and thus should be considered the same button over redraws.

Definition at line 595 of file UI_interface_c.hh.

◆ uiButSearchContextMenuFn

Initial value:
bool (*)(bContext *C,
void *arg,
void *active,
const wmEvent *event)

Definition at line 606 of file UI_interface_c.hh.

◆ uiButSearchCreateFn

using uiButSearchCreateFn = ARegion *(*)(bContext *C, ARegion *butregion, uiButSearch *search_but)

Definition at line 598 of file UI_interface_c.hh.

◆ uiButSearchListenFn

using uiButSearchListenFn = void (*)(const wmRegionListenerParams *params, void *arg)

Definition at line 612 of file UI_interface_c.hh.

◆ uiButSearchTooltipFn

Initial value:
ARegion *(*)(bContext *C, ARegion *region, const rcti *item_rect, void *arg, void *active)

Definition at line 610 of file UI_interface_c.hh.

◆ uiButSearchUpdateFn

Initial value:
void (*)(const bContext *C, void *arg, const char *str, uiSearchItems *items, bool is_first)
#define str(s)

is_first is typically used to ignore search filtering when the menu is first opened in order to display the full list of options. The value will be false after the button's text is edited (for every call except the first).

Definition at line 604 of file UI_interface_c.hh.

◆ uiButToolTipCustomFunc

using uiButToolTipCustomFunc = void (*)(bContext &C, uiTooltipData &data, void *argN)

Definition at line 617 of file UI_interface_c.hh.

◆ uiButToolTipFunc

using uiButToolTipFunc = std::string (*)(bContext *C, void *argN, const char *tip)

Must return an allocated string.

Definition at line 615 of file UI_interface_c.hh.

◆ uiCopyArgFunc

using uiCopyArgFunc = void *(*)(const void *arg)

Definition at line 681 of file UI_interface_c.hh.

◆ uiFreeArgFunc

using uiFreeArgFunc = void (*)(void *arg)

Definition at line 682 of file UI_interface_c.hh.

◆ uiListPanelIDFromDataFunc

using uiListPanelIDFromDataFunc = void (*)(void *data_link, char *r_idname)

Definition at line 2079 of file UI_interface_c.hh.

◆ uiMenuCreateFunc

using uiMenuCreateFunc = void (*)(bContext *C, uiLayout *layout, void *arg1)

Definition at line 671 of file UI_interface_c.hh.

◆ uiMenuHandleFunc

using uiMenuHandleFunc = void (*)(bContext *C, void *arg, int event)

Definition at line 672 of file UI_interface_c.hh.

◆ uiMenuStepFunc

using uiMenuStepFunc = bool (*)(bContext *C, int direction, void *arg1)

Used for cycling menu values without opening the menu (Ctrl-Wheel).

Parameters
directionforward or backwards [1 / -1].
arg1uiBut.poin (as with uiMenuCreateFunc).
Returns
true when the button was changed.

Definition at line 679 of file UI_interface_c.hh.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

uiBlock::direction

Enumerator
UI_DIR_UP 
UI_DIR_DOWN 
UI_DIR_LEFT 
UI_DIR_RIGHT 
UI_DIR_CENTER_X 
UI_DIR_CENTER_Y 
UI_DIR_ALL 

Definition at line 144 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

uiBlock.flag (controls)

Enumerator
UI_BLOCK_LOOP 
UI_BLOCK_NUMSELECT 
UI_BLOCK_NO_WIN_CLIP 

Don't apply window clipping.

UI_BLOCK_CLIPBOTTOM 
UI_BLOCK_CLIPTOP 
UI_BLOCK_MOVEMOUSE_QUIT 
UI_BLOCK_KEEP_OPEN 
UI_BLOCK_POPUP 
UI_BLOCK_OUT_1 
UI_BLOCK_SEARCH_MENU 
UI_BLOCK_POPUP_MEMORY 
UI_BLOCK_CLIP_EVENTS 

Stop handling mouse events.

UI_BLOCK_POPUP_HOLD 
UI_BLOCK_LIST_ITEM 
UI_BLOCK_PIE_MENU 
UI_BLOCK_POPOVER 
UI_BLOCK_POPOVER_ONCE 
UI_BLOCK_SHOW_SHORTCUT_ALWAYS 

Always show key-maps, even for non-menus.

UI_BLOCK_NO_DRAW_OVERRIDDEN_STATE 

Don't show library override state for buttons in this block.

UI_BLOCK_SEARCH_ONLY 

The block is only used during the search process and will not be drawn. Currently just for the case of a closed panel's sub-panel (and its sub-panels).

UI_BLOCK_QUICK_SETUP 

Hack for quick setup (splash screen) to draw text centered.

UI_BLOCK_NO_ACCELERATOR_KEYS 

Don't accelerator keys for the items in the block.

Definition at line 156 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

uiPopupBlockHandle.menuretval

Enumerator
UI_RETURN_CANCEL 

Cancel all menus cascading.

UI_RETURN_OK 

Choice made.

UI_RETURN_OUT 

Left the menu.

UI_RETURN_OUT_PARENT 

Let the parent handle this event.

UI_RETURN_UPDATE 

Update the button that opened.

UI_RETURN_POPUP_OK 

Popup is ok to be handled.

Definition at line 193 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

uiBut.flag general state flags.

Enumerator
UI_BUT_ICON_SUBMENU 
UI_BUT_ICON_PREVIEW 
UI_BUT_NODE_LINK 
UI_BUT_NODE_ACTIVE 
UI_BUT_DRAG_LOCK 
UI_BUT_DISABLED 

Grayed out and un-editable.

UI_BUT_ANIMATED 
UI_BUT_ANIMATED_KEY 
UI_BUT_DRIVEN 
UI_BUT_REDALERT 
UI_BUT_INACTIVE 

Grayed out but still editable.

UI_BUT_LAST_ACTIVE 
UI_BUT_UNDO 
UI_BUT_NO_UTF8 
UI_BUT_ACTIVE_DEFAULT 

For popups, pressing return activates this button, overriding the highlighted button. For non-popups this is just used as a display hint for the user to let them know the action which is activated when pressing return (file selector for eg).

UI_BUT_LIST_ITEM 

This but is "inside" a list item (currently used to change theme colors).

UI_BUT_DRAG_MULTI 

edit this button as well as the active button (not just dragging)

UI_BUT_ACTIVATE_ON_INIT 

Use for popups to start editing the button on initialization.

UI_BUT_HAS_SEP_CHAR 

uiBut.str contains UI_SEP_CHAR, used to show key-shortcuts right aligned.

Since a label may contain UI_SEP_CHAR, it's important to split on the last occurrence (meaning the right aligned text can't contain this character).

UI_BUT_UPDATE_DELAY 

Don't run updates while dragging (needed in rare cases).

UI_BUT_TEXTEDIT_UPDATE 

When widget is in text-edit mode, update value on each char stroke.

UI_BUT_VALUE_CLEAR 

Show 'x' icon to clear/unlink value of text or search button.

UI_BUT_OVERRIDDEN 

RNA property of the button is overridden from linked reference data.

Definition at line 209 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_BUT2_ACTIVATE_ON_INIT_NO_SELECT 

This is used when UI_BUT_ACTIVATE_ON_INIT is used, which is used to activate e.g. a search box as soon as a popup opens. Usually, the text in the search box is selected by default. However, sometimes this behavior is not desired, so it can be disabled with this flag.

UI_BUT2_FORCE_SEMI_MODAL_ACTIVE 

Force the button as active in a semi-modal state. For example, text buttons can continuously capture text input, while leaving the remaining UI interactive. Only supported well for text buttons currently.

Definition at line 262 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

uiBut.dragflag

Enumerator
UI_BUT_DRAG_FULL_BUT 

By default only the left part of a button triggers dragging. A questionable design to make the icon but not other parts of the button draggable. Set this flag so the entire button can be dragged.

UI_BUT_DRAGPOIN_FREE 

Definition at line 278 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

uiBut::drawflag, these flags should only affect how the button is drawn.

Note
currently, these flags are not passed to the widgets state() or draw() functions (except for the 'align' ones)!
Enumerator
UI_BUT_TEXT_LEFT 

Text and icon alignment (by default, they are centered).

UI_BUT_ICON_LEFT 
UI_BUT_TEXT_RIGHT 
UI_BUT_NO_TOOLTIP 

Prevent the button to show any tool-tip.

UI_BUT_HAS_TOOLTIP_LABEL 

Show a quick tool-tip label, that is, a short tool-tip that appears faster than the full one and only shows the label. After a short delay the full tool-tip is shown if any.

UI_BUT_NO_TEXT_PADDING 

Do not add the usual horizontal padding for text drawing.

UI_BUT_ALIGN_TOP 
UI_BUT_ALIGN_LEFT 
UI_BUT_ALIGN_RIGHT 
UI_BUT_ALIGN_DOWN 
UI_BUT_ALIGN 
UI_BUT_ALIGN_STITCH_TOP 

Warning - HACK! Needed for buttons which are not TOP/LEFT aligned, but have some top/left corner stitched to some other TOP/LEFT-aligned button, because of "corrective" hack in widget_roundbox_set().

UI_BUT_ALIGN_STITCH_LEFT 
UI_BUT_ALIGN_ALL 
UI_BUT_BOX_ITEM 

This but is "inside" a box item (currently used to change theme colors).

UI_BUT_HOVER_LEFT 

Mouse is hovering left part of number button

UI_BUT_HOVER_RIGHT 

Mouse is hovering right part of number button

UI_BUT_ICON_REVERSE 

Reverse order of consecutive off/on icons

UI_BUT_ANIMATED_CHANGED 

Value is animated, but the current value differs from the animated one.

UI_BUT_CHECKBOX_INVERT 

Draw the checkbox buttons inverted.

UI_BUT_INDETERMINATE 

Drawn in a way that indicates that the state/value is unknown.

UI_BUT_ICON_INVERT 

Draw icon inverted to indicate a special state.

Definition at line 323 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

State for scroll-drawing.

Enumerator
UI_SCROLL_PRESSED 
UI_SCROLL_ARROWS 

Definition at line 531 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_BLOCK_THEME_STYLE_REGULAR 
UI_BLOCK_THEME_STYLE_POPUP 

Definition at line 891 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

Special Buttons

Buttons with a more specific purpose:

  • MenuBut: buttons that popup a menu (in headers usually).
  • PulldownBut: like MenuBut, but creating a uiBlock (for compatibility).
  • BlockBut: buttons that popup a block with more buttons.
  • KeyevtBut: buttons that can be used to turn key events into values.
  • PickerButtons: buttons like the color picker (for code sharing).
  • AutoButR: RNA property button with type automatically defined.
Enumerator
UI_ID_NOP 
UI_ID_RENAME 
UI_ID_BROWSE 
UI_ID_ADD_NEW 
UI_ID_ALONE 
UI_ID_OPEN 
UI_ID_DELETE 
UI_ID_LOCAL 
UI_ID_AUTO_NAME 
UI_ID_FAKE_USER 
UI_ID_PIN 
UI_ID_PREVIEWS 
UI_ID_OVERRIDE 
UI_ID_FULL 

Definition at line 1490 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum

Ways to limit what is displayed in ID-search popup.

Note
We may want to add LOCAL, LIBRARY ... as needed.
Enumerator
UI_TEMPLATE_ID_FILTER_ALL 
UI_TEMPLATE_ID_FILTER_AVAILABLE 

Definition at line 1512 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_LAYOUT_HORIZONTAL 
UI_LAYOUT_VERTICAL 

Definition at line 2130 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_LAYOUT_PANEL 
UI_LAYOUT_HEADER 
UI_LAYOUT_MENU 
UI_LAYOUT_TOOLBAR 
UI_LAYOUT_PIEMENU 
UI_LAYOUT_VERT_BAR 

Definition at line 2135 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_LAYOUT_ALIGN_EXPAND 
UI_LAYOUT_ALIGN_LEFT 
UI_LAYOUT_ALIGN_CENTER 
UI_LAYOUT_ALIGN_RIGHT 

Definition at line 2147 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_TEMPLATE_OP_PROPS_SHOW_TITLE 
UI_TEMPLATE_OP_PROPS_SHOW_EMPTY 
UI_TEMPLATE_OP_PROPS_COMPACT 
UI_TEMPLATE_OP_PROPS_HIDE_ADVANCED 
UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT 
UI_TEMPLATE_OP_PROPS_HIDE_PRESETS 

Definition at line 2196 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_CNR_TOP_LEFT 
UI_CNR_TOP_RIGHT 
UI_CNR_BOTTOM_RIGHT 
UI_CNR_BOTTOM_LEFT 
UI_CNR_NONE 
UI_CNR_ALL 

Definition at line 2217 of file UI_interface_c.hh.

◆ anonymous enum

anonymous enum
Enumerator
UI_TEMPLATE_ASSET_DRAW_NO_NAMES 
UI_TEMPLATE_ASSET_DRAW_NO_FILTER 
UI_TEMPLATE_ASSET_DRAW_NO_LIBRARY 

Definition at line 2814 of file UI_interface_c.hh.

◆ eAutoPropButsReturn

Return info for uiDefAutoButsRNA.

Enumerator
UI_PROP_BUTS_NONE_ADDED 

Returns when no buttons were added

UI_PROP_BUTS_ANY_FAILED_CHECK 

Returned when any property failed the custom check callback (check_prop)

Definition at line 1644 of file UI_interface_c.hh.

◆ eBlockBoundsCalc

Block bounds/position calculation.

Enumerator
UI_BLOCK_BOUNDS_NONE 
UI_BLOCK_BOUNDS 
UI_BLOCK_BOUNDS_TEXT 
UI_BLOCK_BOUNDS_POPUP_MOUSE 
UI_BLOCK_BOUNDS_POPUP_MENU 
UI_BLOCK_BOUNDS_POPUP_CENTER 
UI_BLOCK_BOUNDS_PIE_CENTER 

Definition at line 960 of file UI_interface_c.hh.

◆ eButGradientType

Gradient types, for color picker UI_BTYPE_HSVCUBE etc.

Enumerator
UI_GRAD_NONE 
UI_GRAD_SV 
UI_GRAD_HV 
UI_GRAD_HS 
UI_GRAD_H 
UI_GRAD_S 
UI_GRAD_V 
UI_GRAD_V_ALT 
UI_GRAD_L_ALT 

Definition at line 476 of file UI_interface_c.hh.

◆ eButLabelAlign

For uiDefAutoButsRNA.

Enumerator
UI_BUT_LABEL_ALIGN_NONE 

Keep current layout for aligning label with property button.

UI_BUT_LABEL_ALIGN_COLUMN 

Align label and property button vertically.

UI_BUT_LABEL_ALIGN_SPLIT_COLUMN 

Split layout into a column for the label and one for property button.

Definition at line 1634 of file UI_interface_c.hh.

◆ eButPointerType

Button types, bits stored in 1 value... and a short even!

  • bits 0-4: uiBut.bitnr (0-31)
  • bits 5-7: pointer type
  • bit 8: for 'bit'
  • bit 9-15: button type (now 6 bits, 64 types)
Enumerator
UI_BUT_POIN_NONE 
UI_BUT_POIN_CHAR 
UI_BUT_POIN_SHORT 
UI_BUT_POIN_INT 
UI_BUT_POIN_FLOAT 
UI_BUT_POIN_BIT 

Definition at line 388 of file UI_interface_c.hh.

◆ eButProgressType

Enumerator
UI_BUT_PROGRESS_TYPE_BAR 
UI_BUT_PROGRESS_TYPE_RING 

Definition at line 1517 of file UI_interface_c.hh.

◆ eButType

enum eButType

uiBut::type OR'd with eButPointerType when passing as an argument.

Enumerator
UI_BTYPE_BUT 
UI_BTYPE_ROW 
UI_BTYPE_TEXT 
UI_BTYPE_MENU 

Drop-down list.

UI_BTYPE_BUT_MENU 
UI_BTYPE_NUM 

number button

UI_BTYPE_NUM_SLIDER 

number slider

UI_BTYPE_TOGGLE 
UI_BTYPE_TOGGLE_N 
UI_BTYPE_ICON_TOGGLE 
UI_BTYPE_ICON_TOGGLE_N 
UI_BTYPE_BUT_TOGGLE 

same as regular toggle, but no on/off state displayed

UI_BTYPE_CHECKBOX 

similar to toggle, display a 'tick'

UI_BTYPE_CHECKBOX_N 
UI_BTYPE_COLOR 
UI_BTYPE_TAB 
UI_BTYPE_POPOVER 
UI_BTYPE_SCROLL 
UI_BTYPE_BLOCK 
UI_BTYPE_LABEL 
UI_BTYPE_KEY_EVENT 
UI_BTYPE_HSVCUBE 
UI_BTYPE_PULLDOWN 

Menu (often used in headers), *_MENU with different draw-type.

UI_BTYPE_ROUNDBOX 
UI_BTYPE_COLORBAND 
UI_BTYPE_UNITVEC 

sphere widget (used to input a unit-vector, aka normal)

UI_BTYPE_CURVE 
UI_BTYPE_CURVEPROFILE 

Profile editing widget

UI_BTYPE_LISTBOX 
UI_BTYPE_LISTROW 
UI_BTYPE_HSVCIRCLE 
UI_BTYPE_TRACK_PREVIEW 
UI_BTYPE_SEARCH_MENU 

Buttons with value >= UI_BTYPE_SEARCH_MENU don't get undo pushes.

UI_BTYPE_EXTRA 
UI_BTYPE_PREVIEW_TILE 

A preview image (PreviewImage), with text under it. Typically bigger than normal buttons and laid out in a grid, e.g. like the File Browser in thumbnail display mode.

UI_BTYPE_HOTKEY_EVENT 
UI_BTYPE_IMAGE 

Non-interactive image, used for splash screen

UI_BTYPE_HISTOGRAM 
UI_BTYPE_WAVEFORM 
UI_BTYPE_VECTORSCOPE 
UI_BTYPE_PROGRESS 
UI_BTYPE_NODE_SOCKET 
UI_BTYPE_SEPR 
UI_BTYPE_SEPR_LINE 
UI_BTYPE_SEPR_SPACER 

Dynamically fill available space.

UI_BTYPE_GRIP 

Resize handle (resize UI-list).

UI_BTYPE_DECORATOR 
UI_BTYPE_VIEW_ITEM 

An item a view (see #ui::AbstractViewItem).

Definition at line 406 of file UI_interface_c.hh.

◆ eFontStyle_Align

#uiFontStyle.align

Enumerator
UI_STYLE_TEXT_LEFT 
UI_STYLE_TEXT_CENTER 
UI_STYLE_TEXT_RIGHT 

Definition at line 3292 of file UI_interface_c.hh.

◆ eUI_Item_Flag

Enumerator
UI_ITEM_R_EXPAND 
UI_ITEM_R_SLIDER 
UI_ITEM_R_TOGGLE 

Use for booleans, causes the button to draw with an outline (emboss), instead of text with a checkbox. This is implied when toggle buttons have an icon unless UI_ITEM_R_ICON_NEVER flag is set.

UI_ITEM_R_ICON_NEVER 

Don't attempt to use an icon when the icon is set to #ICON_NONE.

Use for booleans, causes the buttons to always show as a checkbox even when there is an icon (which would normally show the button as a toggle).

UI_ITEM_R_ICON_ONLY 
UI_ITEM_R_EVENT 
UI_ITEM_R_FULL_EVENT 
UI_ITEM_R_NO_BG 
UI_ITEM_R_IMMEDIATE 
UI_ITEM_O_DEPRESS 
UI_ITEM_R_COMPACT 
UI_ITEM_R_CHECKBOX_INVERT 
UI_ITEM_R_FORCE_BLANK_DECORATE 

Don't add a real decorator item, just blank space.

UI_ITEM_R_SPLIT_EMPTY_NAME 
UI_ITEM_R_TEXT_BUT_FORCE_SEMI_MODAL_ACTIVE 

Only for text buttons (for now): Force the button as active in a semi-modal state (capturing text input while leaving the remaining UI interactive).

Definition at line 2154 of file UI_interface_c.hh.

◆ eUIEmbossType

uiBlock.emboss and uiBut.emboss

Enumerator
UI_EMBOSS 

Use widget style for drawing.

UI_EMBOSS_NONE 

Nothing, only icon and/or text

UI_EMBOSS_PULLDOWN 

Pull-down menu style

UI_EMBOSS_PIE_MENU 

Pie Menu

UI_EMBOSS_NONE_OR_STATUS 

The same as UI_EMBOSS_NONE, unless the button has a coloring status like an animation state or red alert.

UI_EMBOSS_UNDEFINED 

For layout engine, use emboss from block.

Definition at line 125 of file UI_interface_c.hh.

◆ LayoutSeparatorType

enum class LayoutSeparatorType : int8_t
strong
Enumerator
Auto 
Space 
Line 

Definition at line 1522 of file UI_interface_c.hh.

◆ uiButtonSectionsAlign

enum class uiButtonSectionsAlign : int8_t
strong
Enumerator
None 
Top 
Bottom 

Definition at line 938 of file UI_interface_c.hh.

◆ uiTemplateListFlags

Enumerator
UI_TEMPLATE_LIST_FLAG_NONE 
UI_TEMPLATE_LIST_SORT_REVERSE 
UI_TEMPLATE_LIST_SORT_LOCK 
UI_TEMPLATE_LIST_NO_GRIP 

Don't allow resizing the list, i.e. don't add the grip button.

UI_TEMPLATE_LIST_NO_FILTER_OPTIONS 

Do not show filtering options, not even the button to expand/collapse them. Also hides the grip button.

UI_TEMPLATE_LIST_NO_NAMES 

For UILST_LAYOUT_BIG_PREVIEW_GRID, don't reserve space for the name label.

UI_TEMPLATE_LIST_FLAGS_LAST 

Definition at line 2732 of file UI_interface_c.hh.

◆ uiTooltipColorID

Enumerator
UI_TIP_LC_MAIN 
UI_TIP_LC_VALUE 
UI_TIP_LC_ACTIVE 
UI_TIP_LC_NORMAL 
UI_TIP_LC_PYTHON 
UI_TIP_LC_ALERT 
UI_TIP_LC_MAX 

Definition at line 1830 of file UI_interface_c.hh.

◆ uiTooltipImageBackground

enum class uiTooltipImageBackground
strong
Enumerator
None 
Checkerboard_Themed 
Checkerboard_Fixed 

Definition at line 1840 of file UI_interface_c.hh.

◆ uiTooltipStyle

Enumerator
UI_TIP_STYLE_NORMAL 
UI_TIP_STYLE_HEADER 
UI_TIP_STYLE_MONO 
UI_TIP_STYLE_IMAGE 
UI_TIP_STYLE_SPACER 

Definition at line 1822 of file UI_interface_c.hh.

Function Documentation

◆ ED_dropboxes_ui()

◆ ED_keymap_ui()

void ED_keymap_ui ( wmKeyConfig * keyconf)

◆ ED_operatortypes_ui()

◆ ED_uilisttypes_ui()

void ED_uilisttypes_ui ( )

◆ ENUM_OPERATORS() [1/2]

◆ ENUM_OPERATORS() [2/2]

◆ UI_autocomplete_begin()

AutoComplete * UI_autocomplete_begin ( const char * startname,
size_t maxncpy )

◆ UI_autocomplete_end()

◆ UI_autocomplete_update_name()

void UI_autocomplete_update_name ( AutoComplete * autocpl,
const char * name )

◆ UI_block_active_only_flagged_buttons()

bool UI_block_active_only_flagged_buttons ( const bContext * C,
ARegion * region,
uiBlock * block )
Warning
This must run after other handlers have been added, otherwise the handler won't be removed, see: #71112.

Definition at line 1079 of file interface.cc.

References BLI_assert, uiBlock::buttons, uiBlock::endblock, LISTBASE_FOREACH, UI_BUT_ACTIVATE_ON_INIT, UI_but_active_only_ex(), and ui_but_is_editable().

Referenced by UI_popover_panel_invoke(), UI_popup_block_ex(), and UI_popup_block_invoke_ex().

◆ UI_block_align_begin()

◆ UI_block_align_end()

◆ 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 5567 of file interface_layout.cc.

References block_search_filter_tag_buttons(), block_search_panel_label_matches(), PanelType::flag, 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_begin()

uiBlock * UI_block_begin ( const bContext * C,
ARegion * region,
std::string name,
eUIEmbossType emboss )

Definition at line 3789 of file interface.cc.

References uiBlock::active, uiBlock::auto_open, CTX_data_scene(), CTX_wm_window(), uiBlock::display_device, uiBlock::emboss, uiBlock::evil_C, uiBlock::flag, IMB_colormanagement_display_get_default_name(), uiBlock::name, STRNCPY, UI_BLOCK_LOOP, UI_block_region_set(), ui_update_window_matrix(), and uiBlock::unit.

Referenced by block_create__close_file_dialog(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), block_create_save_file_overwrite_dialog(), clip_draw_dopesheet_channels(), colorband_tools_fn(), component_menu(), blender::ed::space_node::create_search_popup_block(), curve_profile_presets_fn(), curve_profile_tools_fn(), curvemap_clipping_func(), curvemap_tools_func(), blender::ed::spreadsheet::draw_cell_contents(), draw_channel_headers(), draw_channel_names(), blender::ed::spreadsheet::draw_left_column_content(), draw_nla_track_list(), blender::ed::outliner::draw_outliner(), blender::ed::spreadsheet::draw_top_row_content(), blender::ed::space_node::draw_tree_path(), ed_panel_draw(), ED_region_header_layout(), ED_time_scrub_channel_search_draw(), file_draw_invalid_asset_library_hint(), file_draw_list(), graph_draw_channel_names(), menu_add_shortcut(), menu_change_shortcut(), menu_items_from_ui_create(), blender::ed::outliner::merged_element_search_menu(), blender::ed::space_node::node_find_menu(), blender::ed::space_node::node_uiblocks_init(), panel_property_search(), blender::ed::asset::shelf::region_layout(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), template_common_search_menu(), ui_block_func_COLOR(), ui_icon_view_menu_cb(), UI_pie_menu_begin(), ui_popover_create_block(), ui_popup_menu_create_block(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_search_menu(), wm_block_splash_create(), wm_enum_search_menu(), and wm_operator_ui_create().

◆ UI_block_bounds_set_centered()

◆ UI_block_bounds_set_explicit()

void UI_block_bounds_set_explicit ( uiBlock * block,
int minx,
int miny,
int maxx,
int maxy )

◆ UI_block_bounds_set_menu()

void UI_block_bounds_set_menu ( uiBlock * block,
int addval,
const int bounds_offset[2] )

◆ UI_block_bounds_set_normal()

◆ UI_block_bounds_set_popup()

◆ UI_block_bounds_set_text()

void UI_block_bounds_set_text ( uiBlock * block,
int addval )

◆ UI_block_can_add_separator()

bool UI_block_can_add_separator ( const uiBlock * block)

◆ UI_block_direction_set()

◆ UI_block_draw()

void UI_block_draw ( const bContext * C,
uiBlock * block )

Uses local copy of style, to scale things down, and allow widgets to change stuff.

Definition at line 2064 of file interface.cc.

References uiBlock::aspect, BLF_batch_draw_begin(), BLF_batch_draw_end(), Panel_Runtime::block, uiBlock::buttons, CTX_wm_region(), CTX_wm_region_popup(), ELEM, uiBlock::endblock, uiBlock::flag, GPU_blend(), GPU_BLEND_ALPHA, GPU_matrix_identity_set(), GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_push(), GPU_matrix_push_projection(), uiStyle::grouplabel, LISTBASE_FOREACH, uiBlock::panel, ThemeUI::panel_roundness, uiStyle::paneltitle, uiFontStyle::points, RGN_FLAG_SEARCH_FILTER_ACTIVE, RGN_TYPE_HUD, RGN_TYPE_TEMPORARY, Panel::runtime, uiStyle::tooltip, bTheme::tui, Panel::type, UI_block_end(), UI_BLOCK_LOOP, UI_BLOCK_PIE_MENU, UI_BLOCK_POPOVER, ui_block_views_draw_overlays(), ui_but_pixelrect_in_view(), ui_but_to_pixelrect(), ui_draw_aligned_panel(), ui_draw_but(), ui_draw_layout_panels_backdrop(), ui_draw_menu_back(), ui_draw_pie_center(), ui_draw_popover_back(), ui_fontscale(), UI_GetTheme(), UI_HIDDEN, UI_panel_category_is_visible(), UI_panel_should_show_background(), UI_SCROLLED, UI_style_get_dpi(), UI_widgetbase_draw_cache_begin(), UI_widgetbase_draw_cache_end(), uiStyle::widget, wmOrtho2_region_pixelspace(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by clip_draw_dopesheet_channels(), blender::ed::spreadsheet::draw_cell_contents(), draw_channel_headers(), draw_channel_names(), blender::ed::spreadsheet::draw_left_column_content(), draw_nla_track_list(), blender::ed::outliner::draw_outliner(), blender::ed::spreadsheet::draw_top_row_content(), blender::ed::space_node::draw_tree_path(), ED_time_scrub_channel_search_draw(), file_draw_invalid_asset_library_hint(), file_draw_list(), blender::ed::space_node::frame_node_draw_overlay(), graph_draw_channel_names(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::reroute_node_draw(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), ui_block_region_draw(), UI_blocklist_draw(), and UI_panels_draw().

◆ UI_block_emboss_get()

◆ UI_block_emboss_set()

void UI_block_emboss_set ( uiBlock * block,
eUIEmbossType emboss )

Definition at line 3848 of file interface.cc.

References uiBlock::emboss.

Referenced by ANIM_channel_draw_widgets(), blender::ed::asset::shelf::asset_shelf_header_draw(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), blender::ui::TreeViewLayoutBuilder::build_row(), clip_draw_dopesheet_channels(), colorband_buttons_layout(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), draw_channel_labels(), draw_channel_widget_lock(), draw_channel_widget_mute(), draw_constraint_header(), draw_grease_pencil_layer_widgets(), blender::ed::outliner::draw_outliner(), graph_draw_driver_settings_panel(), nla_panel_stripname(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_add_unsupported_compositor_operation_error_message_button(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_extra_info_row(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_panels(), blender::ed::space_node::node_draw_panels_background(), blender::ed::space_node::node_file_output_socket_draw(), blender::ed::space_node::node_socket_tooltip_set(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_draw_warning_tree_element(), template_keymap_item_properties(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_draw_panel(), ui_template_list_layout_draw(), uiTemplateReportsBanner(), uiTemplateStatusInfo(), and wm_block_splash_add_label().

◆ UI_block_end()

◆ UI_block_end_ex()

void UI_block_end_ex ( const bContext * C,
uiBlock * block,
const int xy[2],
int r_xy[2] )

◆ UI_block_flag_disable()

void UI_block_flag_disable ( uiBlock * block,
int flag )

◆ UI_block_flag_enable()

◆ UI_block_free()

◆ UI_block_func_handle_set()

◆ UI_block_func_set()

◆ UI_block_funcN_set()

void UI_block_funcN_set ( uiBlock * block,
uiButHandleNFunc funcN,
void * argN,
void * arg2,
uiButArgNFree func_argN_free_fn = MEM_freeN,
uiButArgNCopy func_argN_copy_fn = MEM_dupallocN )

◆ UI_block_has_active_default_button()

bool UI_block_has_active_default_button ( const uiBlock * block)

Return true when the block has a default button. Use this for popups to detect when pressing "Return" will run an action.

Definition at line 712 of file interface_query.cc.

References uiBlock::buttons, LISTBASE_FOREACH, UI_BUT_ACTIVE_DEFAULT, and UI_HIDDEN.

Referenced by UI_popup_block_template_confirm(), and wm_block_dialog_create().

◆ UI_block_interaction_set()

void UI_block_interaction_set ( uiBlock * block,
uiBlockInteraction_CallbackData * callbacks )

Definition at line 12340 of file interface_handlers.cc.

References uiBlock::custom_interaction_callbacks.

Referenced by v3d_editvertex_buts().

◆ UI_block_is_empty()

bool UI_block_is_empty ( const uiBlock * block)

Definition at line 698 of file interface_query.cc.

References UI_block_is_empty_ex().

◆ UI_block_is_empty_ex()

bool UI_block_is_empty_ex ( const uiBlock * block,
bool skip_title )

◆ UI_block_is_search_only()

bool UI_block_is_search_only ( const uiBlock * block)

Definition at line 3858 of file interface.cc.

References uiBlock::flag, and UI_BLOCK_SEARCH_ONLY.

Referenced by UI_panels_draw().

◆ 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 )

Definition at line 5873 of file interface_layout.cc.

References uiLayout::active, BLI_addtail(), uiLayoutRoot::block, uiLayout::context, uiBlock::curlayout, ELEM, uiLayout::emboss, uiLayoutRoot::emh, uiLayoutRoot::emw, uiLayout::enabled, uiItem::flag, uiLayout::h, ITEM_LAYOUT_COLUMN, ITEM_LAYOUT_ROOT, uiLayoutRoot::layout, uiBlock::layouts, uiLayoutRoot::opcontext, padding(), uiLayoutRoot::padding, uiLayout::root, size(), uiLayout::space, uiLayoutRoot::style, uiStyle::templatespace, uiItem::type, uiLayoutRoot::type, UI_EMBOSS_UNDEFINED, UI_ITEM_PROP_DECORATE, ui_layout_add_padding_button(), UI_LAYOUT_HORIZONTAL, UI_LAYOUT_MENU, UI_LAYOUT_PIEMENU, UI_LAYOUT_VERT_BAR, UI_UNIT_X, UI_UNIT_Y, uiLayout::w, WM_OP_INVOKE_REGION_WIN, uiLayout::x, x, uiLayout::y, and y.

Referenced by blender::ed::space_node::add_panel_items_recursive(), colorband_tools_fn(), component_menu(), blender::ed::space_node::draw_tree_path(), ed_panel_draw(), ED_region_header_layout(), ED_time_scrub_channel_search_draw(), menu_add_shortcut(), menu_change_shortcut(), menu_items_from_ui_create(), blender::ed::space_node::node_update_basis_buttons(), blender::ed::space_node::node_update_basis_socket(), panel_property_search(), blender::ed::asset::shelf::region_layout(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), UI_pie_menu_begin(), ui_popover_create_block(), ui_popup_menu_create_block(), uiItemsAlertBox(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_splash_create(), and wm_operator_ui_create().

◆ 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 6057 of file interface_layout.cc.

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 6090 of file interface_layout.cc.

References BLI_listbase_is_empty(), and uiBlock::layouts.

Referenced by ui_textedit_begin().

◆ UI_block_layout_resolve()

◆ UI_block_layout_set_current()

void UI_block_layout_set_current ( uiBlock * block,
uiLayout * layout )

Definition at line 5937 of file interface_layout.cc.

References uiBlock::curlayout.

Referenced by blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::ui::GridViewBuilder::build_grid_view(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ui::TreeViewLayoutBuilder::build_row(), blender::ui::TreeViewBuilder::build_tree_view(), colorband_tools_fn(), ED_time_scrub_channel_search_draw(), blender::ed::asset_browser::file_create_asset_catalog_tree_view_in_layout(), blender::ed::spreadsheet::spreadsheet_data_set_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_array(), ui_item_disabled(), ui_item_enum_expand_exec(), ui_item_menu(), ui_item_with_label(), ui_layout_box(), blender::ed::space_node::ui_node_menu_column(), blender::ed::space_node::ui_template_node_link_menu(), uiItemDecoratorR_prop(), uiItemFullO_ptr_ex(), uiItemFullR(), uiItemL_(), uiItemL_respect_property_split(), uiItemProgressIndicator(), uiItemS_ex(), uiItemsFullEnumO_items(), uiItemSpacer(), uiItemTabsEnumR_prop(), uiLayoutAbsolute(), uiLayoutColumn(), uiLayoutColumnFlow(), uiLayoutGridFlow(), uiLayoutListItemAddPadding(), uiLayoutOverlap(), uiLayoutPanelProp(), uiLayoutRadial(), uiLayoutRow(), uiLayoutSplit(), uiTemplateMenuSearch(), uiTemplateNodeLink(), uiTemplateOperatorSearch(), and uiTemplateRunningJobs().

◆ UI_block_listen()

void UI_block_listen ( const uiBlock * block,
const wmRegionListenerParams * listener_params )

Definition at line 3680 of file interface.cc.

References uiBlock::dynamic_listeners, LISTBASE_FOREACH, and ui_block_views_listen().

Referenced by ED_region_do_listen().

◆ UI_block_lock_clear()

◆ UI_block_lock_set()

◆ UI_block_region_set()

◆ UI_block_set_active_operator()

void UI_block_set_active_operator ( uiBlock * block,
wmOperator * op,
const bool free )

◆ UI_block_set_search_only()

void UI_block_set_search_only ( uiBlock * block,
bool search_only )

Use when a block must be searched to give accurate results for the whole region but shouldn't be displayed.

Definition at line 3863 of file interface.cc.

References uiBlock::flag, SET_FLAG_FROM_TEST, and UI_BLOCK_SEARCH_ONLY.

Referenced by panel_property_search(), and panel_remove_invisible_layouts_recursive().

◆ UI_block_theme_style_set()

◆ UI_block_translate()

◆ UI_block_update_from_old()

◆ UI_blocklist_draw()

void UI_blocklist_draw ( const bContext * C,
const ListBase * lb )

◆ UI_blocklist_free()

void UI_blocklist_free ( const bContext * C,
ARegion * region )

◆ UI_blocklist_free_inactive()

void UI_blocklist_free_inactive ( const bContext * C,
ARegion * region )

◆ UI_blocklist_min_y_get()

int UI_blocklist_min_y_get ( ListBase * lb)

Definition at line 5877 of file interface.cc.

References ListBase::first, LISTBASE_FOREACH, min, uiBlock::rect, and rctf::ymin.

◆ UI_blocklist_update_view_for_buttons()

void UI_blocklist_update_view_for_buttons ( const bContext * C,
const ListBase * lb )

Definition at line 3704 of file interface.cc.

References LISTBASE_FOREACH, and ui_but_update_view_for_active().

Referenced by ED_region_panels_layout_ex().

◆ UI_blocklist_update_window_matrix()

◆ UI_but_active_drop_color()

bool UI_but_active_drop_color ( bContext * C)

◆ UI_but_active_drop_name()

bool UI_but_active_drop_name ( const bContext * C)

Returns true if highlighted button allows drop of names. called in region context.

Definition at line 12314 of file interface_handlers.cc.

References UI_but_active_drop_name_button().

Referenced by blender::ed::space_node::node_collection_drop_poll(), blender::ed::space_node::node_material_drop_poll(), blender::ed::space_node::node_object_drop_poll(), and ui_drop_name_poll().

◆ UI_but_active_drop_name_button()

uiBut * UI_but_active_drop_name_button ( const bContext * C)

◆ UI_but_active_only()

◆ UI_but_active_only_ex()

bool UI_but_active_only_ex ( const bContext * C,
ARegion * region,
uiBlock * block,
uiBut * but,
bool remove_on_failure )

Special button case, only draw it when used actively, for outliner etc.

Needed for temporarily rename buttons, such as in outliner or file-select, they should keep calling uiDefBut to keep them alive.

Returns
false when button removed.

Definition at line 1032 of file interface.cc.

References activate(), uiBut::active, BLI_remlink(), uiBlock::buttons, uiBut::layout, uiBlock::oldblock, ui_but_activate_event(), ui_but_active_free(), ui_but_find_old(), ui_but_free(), ui_layout_remove_but(), and ui_region_find_active_but().

Referenced by UI_block_active_only_flagged_buttons(), and UI_but_active_only().

◆ UI_but_asset_shelf_type_idname_get()

std::optional< blender::StringRefNull > UI_but_asset_shelf_type_idname_get ( const uiBut * but)

This is a bit of a hack but best keep it in one place at least.

Definition at line 6200 of file interface_layout.cc.

References UI_asset_shelf_idname_from_button_context().

Referenced by shortcut_get_operator_property().

◆ UI_but_color_set()

void UI_but_color_set ( uiBut * but,
const uchar color[4] )

Sets the button's color, normally only used to recolor the icon. In the special case of UI_BTYPE_LABEL without icon this is used as text color.

Definition at line 5957 of file interface.cc.

References uiBut::col, and copy_v4_v4_uchar().

Referenced by wm_block_splash_add_label().

◆ UI_but_context_get()

const bContextStore * UI_but_context_get ( const uiBut * but)

Definition at line 6035 of file interface.cc.

References uiBut::context.

Referenced by blender::ed::asset::shelf::context(), and wm_drop_ui_context_create().

◆ UI_but_context_menu_title_from_button()

◆ UI_but_context_ptr_get()

const PointerRNA * UI_but_context_ptr_get ( const uiBut * but,
const char * name,
const StructRNA * type = nullptr )

◆ UI_but_context_ptr_set()

void UI_but_context_ptr_set ( uiBlock * block,
uiBut * but,
const char * name,
const PointerRNA * ptr )

◆ UI_but_context_string_get()

std::optional< blender::StringRefNull > UI_but_context_string_get ( const uiBut * but,
const char * name )

Definition at line 6027 of file interface.cc.

References uiBut::context, and CTX_store_string_lookup().

Referenced by UI_asset_shelf_idname_from_button_context().

◆ UI_but_disable()

◆ UI_but_drag_attach_image()

void UI_but_drag_attach_image ( uiBut * but,
const ImBuf * imb,
float scale )

Set an image to display while dragging. This works for any drag type (WM_DRAG_XXX). Not to be confused with UI_but_drag_set_image(), which sets up dragging of an image.

Sets UI_BUT_DRAG_FULL_BUT so the full button can be dragged.

Definition at line 25 of file interface_drag.cc.

References uiBut::imb, uiBut::imb_scale, UI_BUT_DRAG_FULL_BUT, and UI_but_dragflag_enable().

Referenced by file_but_enable_drag(), UI_but_drag_set_asset(), and UI_but_drag_set_image().

◆ UI_but_drag_set_asset()

void UI_but_drag_set_asset ( uiBut * but,
const blender::asset_system::AssetRepresentation * asset,
int import_method,
int icon,
const ImBuf * imb,
float scale )

Sets UI_BUT_DRAG_FULL_BUT so the full button can be dragged.

Parameters
assetMay be passed from a temporary variable, drag data only stores a copy of this.

Definition at line 32 of file interface_drag.cc.

References uiBut::dragflag, uiBut::dragpoin, uiBut::dragtype, UI_but_drag_attach_image(), UI_BUT_DRAGPOIN_FREE, ui_def_but_icon(), WM_DRAG_ASSET, WM_drag_create_asset_data(), and WM_drag_data_free().

Referenced by asset_view_item_but_drag_set(), and file_but_enable_drag().

◆ UI_but_drag_set_id()

◆ UI_but_drag_set_image()

void UI_but_drag_set_image ( uiBut * but,
const char * path,
int icon,
const ImBuf * imb,
float scale )

Sets UI_BUT_DRAG_FULL_BUT so the full button can be dragged.

Parameters
pathThe path to drag. The passed string may be destructed, button keeps a copy.

Definition at line 81 of file interface_drag.cc.

References UI_but_drag_attach_image(), UI_but_drag_set_path(), and ui_def_but_icon().

Referenced by file_but_enable_drag().

◆ UI_but_drag_set_name()

void UI_but_drag_set_name ( uiBut * but,
const char * name )

◆ UI_but_drag_set_path()

void UI_but_drag_set_path ( uiBut * but,
const char * path )

Enable dragging a path from this button.

Parameters
pathThe path to drag. The passed string may be destructed, button keeps a copy.

Definition at line 61 of file interface_drag.cc.

References uiBut::dragflag, uiBut::dragpoin, uiBut::dragtype, UI_BUT_DRAGPOIN_FREE, WM_drag_create_path_data(), WM_drag_data_free(), and WM_DRAG_PATH.

Referenced by file_but_enable_drag(), and UI_but_drag_set_image().

◆ UI_but_drag_set_rna()

void UI_but_drag_set_rna ( uiBut * but,
PointerRNA * ptr )

◆ UI_but_dragflag_disable()

void UI_but_dragflag_disable ( uiBut * but,
int flag )

Definition at line 5940 of file interface.cc.

References uiBut::dragflag.

◆ UI_but_dragflag_enable()

void UI_but_dragflag_enable ( uiBut * but,
int flag )

Definition at line 5935 of file interface.cc.

References uiBut::dragflag, and flag.

Referenced by asset_view_item_but_drag_set(), file_draw_list(), and UI_but_drag_attach_image().

◆ UI_but_drawflag_disable()

◆ UI_but_drawflag_enable()

◆ UI_but_ensure_in_view()

void UI_but_ensure_in_view ( const bContext * C,
ARegion * region,
const uiBut * but )

Adjust the view so the rectangle of but is in view, with some extra margin.

It's important that this is only executed after buttons received their final uiBut.rect. E.g. UI_panels_end() modifies them, so if that is executed, this function must not be called before it.

Parameters
regionThe region the button is placed in. Make sure this is actually the one the button is placed in, not just the context region.

Definition at line 787 of file interface_utils.cc.

References BLI_rctf_pad(), ED_region_tag_redraw_no_rebuild(), View2D::flag, ui_but_rect_to_view(), UI_UNIT_X, ui_view2d_cur_ensure_rect_in_view(), UI_view2d_curRect_changed(), and V2D_IS_INIT.

Referenced by ui_but_update_view_for_active(), and ui_textedit_begin().

◆ UI_but_execute()

◆ UI_but_extra_icon_string_get_label()

std::string UI_but_extra_icon_string_get_label ( const uiButExtraOpIcon & extra_icon)

◆ UI_but_extra_icon_string_get_operator_keymap()

std::string UI_but_extra_icon_string_get_operator_keymap ( const bContext & C,
const uiButExtraOpIcon & extra_icon )

◆ UI_but_extra_icon_string_get_tooltip()

std::string UI_but_extra_icon_string_get_tooltip ( bContext & C,
const uiButExtraOpIcon & extra_icon )

◆ UI_but_extra_operator_icon_add()

◆ UI_but_extra_operator_icon_opptr_get()

◆ UI_but_extra_operator_icon_optype_get()

◆ UI_but_flag2_enable()

void UI_but_flag2_enable ( uiBut * but,
int flag )

Definition at line 5910 of file interface.cc.

References flag, and uiBut::flag2.

Referenced by uiItemFullR(), and wm_block_search_menu().

◆ UI_but_flag_disable()

◆ UI_but_flag_enable()

void UI_but_flag_enable ( uiBut * but,
int flag )

Definition at line 5905 of file interface.cc.

References flag, and uiBut::flag.

Referenced by blender::add_attribute_search_button(), block_create_autorun_warning(), blender::ui::bonecollections::BoneCollectionItem::build_row(), blender::ed::space_node::create_search_popup_block(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), draw_setting_widget(), ED_file_path_button(), file_draw_list(), file_panel_execution_buttons_draw(), blender::ed::outliner::merged_element_search_menu(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_extra_info_row(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_panels(), blender::ed::space_node::node_find_menu(), blender::ed::space_node::node_socket_tooltip_set(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_draw_overrides_restrictbuts(), blender::ed::outliner::outliner_draw_overrides_rna_buts(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_rnabuts(), blender::ed::outliner::outliner_draw_userbuts(), blender::ed::space_node::reroute_node_draw_label(), save_file_overwrite_confirm_button(), save_file_overwrite_saveas_button(), template_add_button_search_menu(), template_ID(), template_id_def_new_but(), UI_but_disable(), ui_but_search_refresh(), ui_item_with_label(), ui_layout_list_set_labels_active(), UI_popup_block_template_confirm(), ui_popup_context_menu_for_button(), ui_template_list_layout_draw(), uiDefAutoButR(), uiItemFullO_ptr_ex(), uiItemFullR(), uiItemL_(), uiItemL_ex(), uiTemplateKeymapItemProperties(), view3d_panel_vgroup(), wm_block_dialog_create(), wm_block_file_close_save_button(), wm_block_insert_unicode_create(), and wm_block_search_menu().

◆ UI_but_flag_is_set()

◆ UI_but_focus_on_enter_event()

void UI_but_focus_on_enter_event ( wmWindow * win,
uiBut * but )

push a new event onto event queue to activate the given button (usually a text-field) upon entering a popup

Definition at line 6624 of file interface.cc.

References EVT_BUT_OPEN, KM_PRESS, wm_event_add(), and wm_event_init_from_window().

Referenced by template_common_search_menu(), template_operator_property_buts_draw_single(), and wm_enum_search_menu().

◆ UI_but_func_complete_set()

void UI_but_func_complete_set ( uiBut * but,
uiButCompleteFunc func,
void * arg )

◆ UI_but_func_drawextra_set()

void UI_but_func_drawextra_set ( uiBlock * block,
std::function< void(const bContext *C, rcti *rect)> func )

Definition at line 6102 of file interface.cc.

References uiBlock::drawextra.

Referenced by uiTemplatePreview().

◆ UI_but_func_hold_set()

void UI_but_func_hold_set ( uiBut * but,
uiButHandleHoldFunc func,
void * argN )

Definition at line 6638 of file interface.cc.

References uiBut::hold_argN, and uiBut::hold_func.

Referenced by uiItemFullOMenuHold_ptr().

◆ UI_but_func_identity_compare_set()

void UI_but_func_identity_compare_set ( uiBut * but,
uiButIdentityCompareFunc cmp_fn )

Callback to compare the identity of two buttons, used to identify buttons over redraws. If the callback returns true, the given buttons are considered to be matching and relevant state is preserved (copied from the old to the new button). If it returns false, it's considered non-matching and no further checks are done.

If this is set, it is always executed instead of the default comparisons. However it is only executed for buttons that have the same type and the same callback. So callbacks can assume the button types match.

Definition at line 361 of file interface_utils.cc.

References cmp_fn(), and uiBut::identity_cmp_func.

Referenced by blender::ed::outliner::outliner_draw_overrides_restrictbuts().

◆ UI_but_func_menu_search()

◆ UI_but_func_menu_step_set()

void UI_but_func_menu_step_set ( uiBut * but,
uiMenuStepFunc func )

Definition at line 6144 of file interface.cc.

References uiBut::menu_step_func.

Referenced by uiblock_layer_pass_buttons().

◆ UI_but_func_operator_search()

◆ UI_but_func_rename_full_set()

void UI_but_func_rename_full_set ( uiBut * but,
std::function< void(std::string &new_name)> rename_full_func )

Definition at line 6096 of file interface.cc.

References uiBut::rename_full_func.

Referenced by template_ID(), and uiItemFullR().

◆ UI_but_func_rename_set()

void UI_but_func_rename_set ( uiBut * but,
uiButHandleRenameFunc func,
void * arg1 )

◆ UI_but_func_search_set()

void UI_but_func_search_set ( uiBut * but,
uiButSearchCreateFn search_create_fn,
uiButSearchUpdateFn search_update_fn,
void * arg,
bool free_arg,
uiFreeArgFunc search_arg_free_fn,
uiButHandleFunc search_exec_fn,
void * active )
Note
The item-pointer (referred to below) is a per search item user pointer passed to UI_search_item_add (stored in uiSearchItems.pointers).
Parameters
search_create_fnFunction to create the menu.
search_update_fnFunction to refresh search content after the search text has changed.
arguser value.
free_argSet to true if the argument is newly allocated memory for every redraw and should be freed when the button is destroyed.
search_arg_free_fnWhen non-null, use this function to free arg.
search_exec_fnFunction that executes the action, gets arg as the first argument. The second argument as the active item-pointer
activeWhen non-null, this item-pointer item will be visible and selected, otherwise the first item will be selected.

Definition at line 6336 of file interface.cc.

References uiButSearch::arg, uiButSearch::arg_free_fn, BLI_assert, uiBut::block, uiBut::drawstr, uiBlock::flag, uiBut::func, uiButSearch::item_active, uiButSearch::items_update_fn, uiButSearch::popup_create_fn, printf, uiButSearch::results_are_suggestions, uiBut::type, UI_BLOCK_LOOP, UI_BTYPE_SEARCH_MENU, UI_but_func_set(), UI_but_funcN_set(), ui_but_search_refresh(), and ui_searchbox_create_generic().

Referenced by blender::add_attribute_search_button(), blender::ed::space_node::create_search_popup_block(), blender::ed::outliner::merged_element_search_menu(), blender::ed::space_node::node_find_menu(), blender::ed::space_node::node_geometry_add_attribute_search_button(), template_common_search_menu(), ui_but_add_search(), UI_but_func_menu_search(), UI_but_func_operator_search(), and uiDefSearchButO_ptr().

◆ UI_but_func_search_set_context_menu()

void UI_but_func_search_set_context_menu ( uiBut * but,
uiButSearchContextMenuFn context_menu_fn )

◆ UI_but_func_search_set_listen()

void UI_but_func_search_set_listen ( uiBut * but,
uiButSearchListenFn listen_fn )

◆ UI_but_func_search_set_results_are_suggestions()

void UI_but_func_search_set_results_are_suggestions ( uiBut * but,
bool value )

◆ UI_but_func_search_set_sep_string()

void UI_but_func_search_set_sep_string ( uiBut * but,
const char * search_sep_string )
Parameters
search_sep_stringwhen not NULL, this string is used as a separator, showing the icon and highlighted text after the last instance of this string.

Definition at line 6402 of file interface.cc.

References BLI_assert, uiButSearch::item_sep_string, uiBut::type, and UI_BTYPE_SEARCH_MENU.

Referenced by blender::add_attribute_search_button(), blender::ed::space_node::create_search_popup_block(), blender::ed::space_node::node_geometry_add_attribute_search_button(), and UI_but_func_menu_search().

◆ UI_but_func_search_set_tooltip()

void UI_but_func_search_set_tooltip ( uiBut * but,
uiButSearchTooltipFn tooltip_fn )

◆ UI_but_func_set()

void UI_but_func_set ( uiBut * but,
uiButHandleFunc func,
void * arg1,
void * arg2 )

Definition at line 6108 of file interface.cc.

References uiBut::func, uiBut::func_arg1, and uiBut::func_arg2.

Referenced by UI_but_func_search_set().

◆ UI_but_func_tooltip_custom_set()

void UI_but_func_tooltip_custom_set ( uiBut * but,
uiButToolTipCustomFunc func,
void * arg,
uiFreeArgFunc free_arg )

◆ UI_but_func_tooltip_label_set()

void UI_but_func_tooltip_label_set ( uiBut * but,
std::function< std::string(const uiBut *but)> func )

Enable a custom quick tooltip label. That is, a short tooltip that appears faster than the full one and only shows the label string returned by func. After a short delay the full tooltip is shown, including the same label.

Definition at line 6149 of file interface.cc.

References uiBut::tip_label_func, UI_but_drawflag_enable(), and UI_BUT_HAS_TOOLTIP_LABEL.

Referenced by blender::ui::PreviewGridItem::build_grid_tile_button().

◆ UI_but_func_tooltip_set()

◆ UI_but_funcN_set()

◆ UI_but_has_tooltip_label()

bool UI_but_has_tooltip_label ( const uiBut * but)

◆ UI_but_hint_drawstr_set()

void UI_but_hint_drawstr_set ( uiBut * but,
const char * string )

Adds a hint to the button which draws right aligned, grayed out and never clipped.

Definition at line 6534 of file interface.cc.

References ui_but_add_shortcut().

Referenced by blender::ed::spreadsheet::draw_row_suffix().

◆ UI_but_icon_indicator_color_set()

void UI_but_icon_indicator_color_set ( uiBut * but,
const uchar color[4] )

◆ UI_but_icon_indicator_number_set()

void UI_but_icon_indicator_number_set ( uiBut * but,
const int indicator_number )

◆ UI_but_icon_indicator_set()

void UI_but_icon_indicator_set ( uiBut * but,
const char * string )

◆ UI_but_is_tool()

◆ UI_but_is_userdef()

bool UI_but_is_userdef ( const uiBut * but)

◆ UI_but_is_utf8()

◆ UI_but_label_alpha_factor_set()

void UI_but_label_alpha_factor_set ( uiBut * but,
float alpha_factor )

◆ UI_but_menutype_get()

◆ UI_but_node_link_set()

void UI_but_node_link_set ( uiBut * but,
bNodeSocket * socket,
const float draw_color[4] )

◆ UI_but_number_precision_set()

◆ UI_but_number_slider_precision_set()

void UI_but_number_slider_precision_set ( uiBut * but,
float precision )

◆ UI_but_number_slider_step_size_set()

void UI_but_number_slider_step_size_set ( uiBut * but,
float step_size )

◆ UI_but_number_step_size_set()

◆ UI_but_online_manual_id()

◆ UI_but_online_manual_id_from_active()

std::optional< std::string > UI_but_online_manual_id_from_active ( const bContext * C)

◆ UI_but_operator_ptr_ensure()

◆ UI_but_operator_set()

void UI_but_operator_set ( uiBut * but,
wmOperatorType * optype,
wmOperatorCallContext opcontext,
const PointerRNA * opptr = nullptr )

◆ UI_but_operator_set_never_call()

void UI_but_operator_set_never_call ( uiBut * but)

Disable calling operators from but in button handling. Useful to attach an operator to a button for tooltips, "Assign Shortcut", etc. without actually making the button execute the operator.

Definition at line 5868 of file interface.cc.

References uiBut::operator_never_call.

Referenced by blender::ed::asset::shelf::AssetViewItem::build_grid_tile().

◆ UI_but_operatortype_get_from_enum_menu()

◆ UI_but_paneltype_get()

◆ UI_but_placeholder_set()

void UI_but_placeholder_set ( uiBut * but,
const char * placeholder_text )

Set at hint that describes the expected value when empty.

Definition at line 5962 of file interface.cc.

References BLI_strdup_null(), MEM_SAFE_FREE, and uiBut::placeholder.

Referenced by blender::ed::space_node::node_geometry_add_attribute_search_button(), and uiItemFullR().

◆ UI_but_return_value_get()

int UI_but_return_value_get ( uiBut * but)

Definition at line 6000 of file interface.cc.

References uiBut::retval.

◆ UI_but_rna_enum_item_get()

◆ UI_but_search_preview_grid_size_set()

void UI_but_search_preview_grid_size_set ( uiBut * but,
int rows,
int cols )

◆ UI_but_string_get_label()

std::string UI_but_string_get_label ( uiBut & but)

◆ UI_but_string_get_operator_keymap()

std::string UI_but_string_get_operator_keymap ( bContext & C,
uiBut & but )

Buttons assigned to an operator (common case).

Definition at line 6839 of file interface.cc.

References ui_but_event_operator_string().

Referenced by ui_tooltip_data_from_button_or_extra_icon(), and ui_tooltip_data_from_tool().

◆ UI_but_string_get_property_keymap()

std::string UI_but_string_get_property_keymap ( bContext & C,
uiBut & but )

Use for properties that are bound to one of the context cycle, etc. keys.

Definition at line 6844 of file interface.cc.

References ui_but_event_property_operator_string().

Referenced by ui_tooltip_data_from_button_or_extra_icon().

◆ UI_but_string_get_rna_label()

◆ UI_but_string_get_rna_label_context()

std::string UI_but_string_get_rna_label_context ( const uiBut & but)

◆ UI_but_string_get_rna_property_identifier()

std::string UI_but_string_get_rna_property_identifier ( const uiBut & but)

Definition at line 6686 of file interface.cc.

References RNA_property_identifier(), and uiBut::rnaprop.

Referenced by ui_tooltip_data_from_button_or_extra_icon().

◆ UI_but_string_get_rna_struct_identifier()

◆ UI_but_string_get_rna_tooltip()

◆ UI_but_string_get_tooltip()

std::string UI_but_string_get_tooltip ( bContext & C,
uiBut & but )

◆ UI_but_string_get_tooltip_label()

std::string UI_but_string_get_tooltip_label ( const uiBut & but)

Query the result of uiBut::tip_label_func(). Meant to allow overriding the label to be displayed in the tool-tip.

Definition at line 6744 of file interface.cc.

References uiBut::tip_label_func.

Referenced by ui_tooltip_data_from_button_or_extra_icon().

◆ UI_but_tooltip_refresh()

void UI_but_tooltip_refresh ( bContext * C,
uiBut * but )

Recreate tool-tip (use to update dynamic tips)

Definition at line 8436 of file interface_handlers.cc.

References uiBut::active, WM_tooltip_refresh(), and WM_window_get_active_screen().

Referenced by UI_block_update_from_old().

◆ UI_but_tooltip_timer_remove()

void UI_but_tooltip_timer_remove ( bContext * C,
uiBut * but )

Removes tool-tip timer from active but (meaning tool-tip is disabled until it's re-enabled again).

Definition at line 8447 of file interface_handlers.cc.

References uiBut::active, WM_event_timer_remove(), and WM_tooltip_clear().

Referenced by button_activate_state(), blender::ed::outliner::outliner_operation_invoke(), ui_handle_button_event(), ui_handle_menu_event(), ui_popup_block_create(), and ui_region_handler().

◆ UI_but_type_set_menu_from_pulldown()

◆ UI_but_unit_type_get()

◆ UI_but_unit_type_set()

void UI_but_unit_type_set ( uiBut * but,
int unit_type )

◆ UI_but_view_item_draw_size_set()

void UI_but_view_item_draw_size_set ( uiBut * but,
const std::optional< int > draw_width = std::nullopt,
const std::optional< int > draw_height = std::nullopt )

◆ UI_butstore_clear()

void UI_butstore_clear ( uiBlock * block)

NULL all pointers, don't free since the owner needs to be able to inspect.

Definition at line 916 of file interface_utils.cc.

References uiBut::block, uiBlock::butstore, and LISTBASE_FOREACH.

Referenced by UI_block_free().

◆ UI_butstore_create()

uiButStore * UI_butstore_create ( uiBlock * block)

Create a new button store, the caller must manage and run UI_butstore_free

Definition at line 830 of file interface_utils.cc.

References BLI_addtail(), uiButStore::block, and uiBlock::butstore.

Referenced by ui_but_add_search(), and ui_multibut_states_create().

◆ UI_butstore_free()

◆ UI_butstore_is_registered()

bool UI_butstore_is_registered ( uiBlock * block,
uiBut * but )

Definition at line 866 of file interface_utils.cc.

References uiBlock::butstore, and LISTBASE_FOREACH.

Referenced by ui_but_free().

◆ UI_butstore_is_valid()

bool UI_butstore_is_valid ( uiButStore * bs_handle)

Definition at line 861 of file interface_utils.cc.

References uiButStore::block.

◆ UI_butstore_register()

void UI_butstore_register ( uiButStore * bs_handle,
uiBut ** but_p )

◆ UI_butstore_register_update()

bool UI_butstore_register_update ( uiBlock * block,
uiBut * but_dst,
const uiBut * but_src )

Update the pointer for a registered button.

Definition at line 900 of file interface_utils.cc.

References uiBlock::butstore, and LISTBASE_FOREACH.

Referenced by ui_but_update_from_old_block().

◆ UI_butstore_unregister()

void UI_butstore_unregister ( uiButStore * bs_handle,
uiBut ** but_p )

◆ UI_butstore_update()

void UI_butstore_update ( uiBlock * block)

Map freed buttons from the old block and update pointers.

Definition at line 926 of file interface_utils.cc.

References BLI_assert, BLI_movelisttolist(), uiBlock::butstore, ELEM, ListBase::first, LIKELY, LISTBASE_FOREACH, uiBlock::oldblock, and ui_but_find_new().

Referenced by UI_block_update_from_old().

◆ UI_calc_float_precision()

int UI_calc_float_precision ( int prec,
double value )

Returns the best "UI" precision for given floating value, so that e.g. 10.000001 rather gets drawn as '10'...

Definition at line 650 of file interface_utils.cc.

References BLI_assert, CLAMP, e, fabs(), int, pow(), and UI_PRECISION_FLOAT_MAX.

Referenced by outputNumInput(), and ui_but_calc_float_precision().

◆ UI_context_active_but_clear()

◆ UI_context_active_but_get()

◆ UI_context_active_but_get_respect_popup()

uiBut * UI_context_active_but_get_respect_popup ( const bContext * C)

Version of #UI_context_active_get() that uses the result of CTX_wm_region_popup() if set. Does not traverse into parent menus, which may be wanted in some cases.

Definition at line 9055 of file interface_handlers.cc.

References CTX_wm_region(), CTX_wm_region_popup(), and ui_context_button_active().

Referenced by button_string_clear_exec(), and UI_context_active_but_prop_handle().

◆ UI_context_active_but_get_tab_ID()

ID * UI_context_active_but_get_tab_ID ( bContext * C)

◆ UI_context_active_but_prop_get()

uiBut * UI_context_active_but_prop_get ( const bContext * C,
PointerRNA * r_ptr,
PropertyRNA ** r_prop,
int * r_index )

Version of UI_context_active_but_get that also returns RNA property info. Helper function for insert keyframe, reset to default, etc operators.

Returns
active button, NULL if none found or if it doesn't contain valid RNA data.

Definition at line 9097 of file interface_handlers.cc.

References CTX_wm_region(), CTX_wm_region_popup(), and UI_region_active_but_prop_get().

Referenced by achannel_setting_slider_nla_curve_cb(), add_driver_button_invoke(), add_driver_button_none(), add_driver_button_poll(), add_keyingset_button_exec(), assign_default_button_exec(), assign_default_button_poll(), blender::ui::bonedropper_init(), blender::ui::bonedropper_poll(), clear_key_button_exec(), copy_as_driver_button_exec(), copy_as_driver_button_poll(), copy_data_path_button_exec(), copy_data_path_button_poll(), copy_driver_button_exec(), copy_driver_to_selected_button(), copy_to_selected_button(), datadropper_init(), datadropper_poll(), delete_key_button_exec(), depthdropper_init(), depthdropper_poll(), depthdropper_test(), driver_mapping_type_itemf(), driverdropper_init(), drivers_editor_show_exec(), edit_driver_button_exec(), eyedropper_init(), insert_key_button_exec(), jump_to_target_button(), override_remove_button_exec(), override_remove_button_poll(), override_type_set_button_exec(), override_type_set_button_poll(), paste_driver_button_exec(), remove_driver_button_exec(), remove_keyingset_button_exec(), reset_default_button_exec(), reset_default_button_poll(), screen_ctx_property(), unset_property_button_exec(), and view_curve_in_graph_editor_exec().

◆ 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_context_active_but_prop_get_templateID()

◆ UI_context_active_but_prop_handle()

◆ UI_context_active_operator_get()

wmOperator * UI_context_active_operator_get ( const bContext * C)

◆ UI_context_copy_to_selected_check()

◆ UI_context_copy_to_selected_list()

bool UI_context_copy_to_selected_list ( bContext * C,
PointerRNA * ptr,
PropertyRNA * prop,
blender::Vector< PointerRNA > * r_lb,
bool * r_use_path_from_id,
std::optional< std::string > * r_path )

◆ UI_context_update_anim_flag()

◆ ui_draw_dropshadow()

◆ UI_draw_icon_tri()

void UI_draw_icon_tri ( float x,
float y,
char dir,
const float color[4] )

Triangle 'icon' for panel header and other cases.

Definition at line 548 of file interface_widgets.cc.

References draw_anti_tria().

Referenced by draw_columnheader_columns(), and ui_draw_clip_tri().

◆ UI_draw_roundbox_3fv_alpha()

void UI_draw_roundbox_3fv_alpha ( const rctf * rect,
bool filled,
float rad,
const float col[3],
float alpha )

◆ UI_draw_roundbox_3ub_alpha()

void UI_draw_roundbox_3ub_alpha ( const rctf * rect,
bool filled,
float rad,
const unsigned char col[3],
unsigned char alpha )

◆ UI_draw_roundbox_4fv()

◆ UI_draw_roundbox_4fv_ex()

◆ UI_draw_roundbox_aa()

void UI_draw_roundbox_aa ( const rctf * rect,
bool filled,
float rad,
const float color[4] )

◆ UI_draw_roundbox_corner_set()

void UI_draw_roundbox_corner_set ( int type)

Definition at line 54 of file interface_draw.cc.

References roundboxtype.

Referenced by acf_generic_root_backdrop(), acf_group_backdrop(), acf_nla_controls_backdrop(), acf_nlaaction_backdrop(), acf_summary_backdrop(), draw_current_frame(), draw_keylist_block(), draw_keylist_block_gpencil(), draw_scope_end(), draw_tile_background(), ED_screen_draw_edges(), file_draw_list(), blender::ed::space_node::frame_node_draw_background(), gizmo_axis_draw(), nla_draw_strip(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_extra_info_panel_back(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_link_end_marker(), blender::ed::space_node::node_draw_panels_background(), blender::ed::space_node::node_draw_preview(), blender::ed::space_node::node_draw_shadow(), blender::ed::space_node::node_socket_draw_multi_input(), blender::ed::outliner::outliner_draw_active_indicator(), panel_draw_aligned_backdrop(), panel_draw_highlight_border(), region_draw_azone_tab_arrow(), region_draw_status_text(), screen_draw_area_closed(), screen_draw_area_drag_tip(), screen_draw_dock_preview(), screen_draw_join_highlight(), screen_draw_move_highlight(), screen_draw_split_preview(), textview_draw_string(), ui_draw_but_HISTOGRAM(), ui_draw_but_TRACKPREVIEW(), ui_draw_but_UNITVEC(), ui_draw_but_VECTORSCOPE(), ui_draw_but_WAVEFORM(), ui_draw_button_sections_alignment_separator(), ui_draw_button_sections_background(), ui_draw_layout_panels_backdrop(), UI_fontstyle_draw_simple_backdrop(), UI_panel_category_draw_all(), and widget_softshadow().

◆ UI_draw_safe_areas()

void UI_draw_safe_areas ( uint pos,
const rctf * rect,
const float title_aspect[2],
const float action_aspect[2] )

Draw title and text safe areas.

Note
This function is to be used with the 2D dashed shader enabled.
Parameters
posis a #PRIM_FLOAT, 2, GPU_FETCH_FLOAT vertex attribute.
rectThe offsets for the view, not the zones.

Definition at line 385 of file interface_draw.cc.

References ARRAY_SIZE, imm_draw_box_wire_2d(), pos, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by drawviewborder(), and sequencer_draw_borders_overlay().

◆ UI_draw_text_underline()

void UI_draw_text_underline ( int pos_x,
int pos_y,
int len,
int height,
const float color[4] )

◆ UI_draw_widget_scroll()

◆ UI_drop_color_copy()

void UI_drop_color_copy ( bContext * C,
wmDrag * drag,
wmDropBox * drop )

◆ UI_drop_color_poll()

bool UI_drop_color_poll ( bContext * C,
wmDrag * drag,
const wmEvent * event )

◆ UI_editsource_active_but_test()

void UI_editsource_active_but_test ( uiBut * but)

Referenced by ui_def_but().

◆ UI_editsource_but_replace()

void UI_editsource_but_replace ( const uiBut * old_but,
uiBut * new_but )

Remove the editsource data for old_but and reinsert it for new_but. Use when the button was reallocated, e.g. to have a new type (ui_but_change_type()).

Referenced by ui_but_change_type().

◆ UI_editsource_enable_check()

bool UI_editsource_enable_check ( )

Referenced by ui_but_change_type(), and ui_def_but().

◆ UI_exit()

void UI_exit ( )

Definition at line 6901 of file interface.cc.

References ui_but_clipboard_free(), and ui_resources_free().

Referenced by WM_exit_ex().

◆ UI_fontstyle_draw()

void UI_fontstyle_draw ( const uiFontStyle * fs,
const rcti * rect,
const char * str,
size_t str_len,
const uchar col[4],
const uiFontStyleDraw_Params * fs_params )

◆ UI_fontstyle_draw_ex()

◆ UI_fontstyle_draw_rotated()

◆ UI_fontstyle_draw_simple()

void UI_fontstyle_draw_simple ( const uiFontStyle * fs,
float x,
float y,
const char * str,
const uchar col[4] )

◆ UI_fontstyle_draw_simple_backdrop()

◆ UI_fontstyle_height_max()

int int int UI_fontstyle_height_max ( const uiFontStyle * fs)

Definition at line 360 of file interface_style.cc.

References BLF_height_max(), UI_fontstyle_set(), and uiFontStyle::uifont_id.

Referenced by text_size_get().

◆ UI_fontstyle_set()

◆ UI_fontstyle_string_width()

◆ UI_fontstyle_string_width_with_block_aspect()

int int UI_fontstyle_string_width_with_block_aspect ( const uiFontStyle * fs,
const char * str,
float aspect )

Return the width of str with the spacing & kerning of fs with aspect (representing uiBlock.aspect) applied.

When calculating text width, the UI layout logic calculate widths without scale, only applying scale when drawing. This causes problems for fonts since kerning at smaller sizes often makes them wider than a scaled down version of the larger text. Resolve this by calculating the text at the on-screen size, returning the result scaled back to 1:1. See #92361.

Referenced by ui_text_icon_width_ex().

◆ UI_icon_colorid_from_report_type()

◆ UI_icon_from_event_type()

◆ UI_icon_from_id()

◆ UI_icon_from_keymap_item()

◆ UI_icon_from_report_type()

◆ UI_init()

void UI_init ( )

Definition at line 6871 of file interface.cc.

References ui_resources_init().

Referenced by WM_init().

◆ UI_init_userdef()

void UI_init_userdef ( )

Definition at line 6876 of file interface.cc.

References uiStyleInit().

Referenced by wm_init_userdef().

◆ UI_interface_tag_script_reload()

void UI_interface_tag_script_reload ( )

Definition at line 6907 of file interface.cc.

References ui_interface_tag_script_reload_queries().

Referenced by WM_script_tag_reload().

◆ UI_key_event_operator_string()

std::optional< std::string > UI_key_event_operator_string ( const bContext * C,
const char * opname,
IDProperty * properties,
bool is_strict )

A version of WM_key_event_operator_string that's limited to UI elements.

This supports showing shortcuts in context-menus (for example), for actions that can also be activated using shortcuts while the cursor is over the button. Without this those shortcuts aren't discoverable for users.

Definition at line 995 of file interface_utils.cc.

References uiBut::block, uiBlock::buttons, CTX_wm_region(), uiListDyn::custom_activate_opptr, uiListDyn::custom_activate_optype, uiBut::custom_data, uiListDyn::custom_drag_opptr, uiListDyn::custom_drag_optype, ED_KEYMAP_UI, KM_CLICK, KM_CLICK_DRAG, KM_NOTHING, LEFTMOUSE, LISTBASE_FOREACH_BACKWARD, uiBut::rect, uiBut::type, UI_BTYPE_LISTBOX, UI_BTYPE_PREVIEW_TILE, ui_but_contains_rect(), ui_key_event_property_match(), UI_region_active_but_get(), and WM_keymap_item_raw_to_string().

Referenced by WM_key_event_operator_string().

◆ UI_layout_introspect()

const char * UI_layout_introspect ( uiLayout * layout)

Evaluate layout items as a Python dictionary.

Definition at line 6440 of file interface_layout.cc.

References BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), result, and ui_layout_introspect_items().

Referenced by bpy_rna_uilayout_introspect().

◆ UI_list_custom_activate_operator_set()

PointerRNA * UI_list_custom_activate_operator_set ( uiList * ui_list,
const char * opname,
bool create_properties )

◆ UI_list_custom_drag_operator_set()

PointerRNA * UI_list_custom_drag_operator_set ( uiList * ui_list,
const char * opname,
bool create_properties )

◆ UI_list_find_mouse_over()

uiList * UI_list_find_mouse_over ( const ARegion * region,
const wmEvent * event )

◆ UI_list_item_index_is_filtered_visible()

bool UI_list_item_index_is_filtered_visible ( const struct uiList * ui_list,
int item_idx )
Returns
: True if the list item with unfiltered, unordered index item_idx is visible given the current filter settings.

Referenced by ui_handle_list_event().

◆ UI_list_panel_unique_str()

void UI_list_panel_unique_str ( Panel * panel,
char * r_name )

Find a unique key to append to the PanelType.idname for the lookup to the panel's uiBlock. Needed for instanced panels, where there can be multiple with the same type and identifier.

Definition at line 280 of file interface_panel.cc.

References BLI_snprintf(), INSTANCED_PANEL_UNIQUE_STR_SIZE, and Panel::sortorder.

Referenced by ED_region_panels_layout_ex().

◆ UI_menutype_draw()

◆ UI_panel_add_instanced()

Panel * UI_panel_add_instanced ( const bContext * C,
ARegion * region,
ListBase * panels,
const char * panel_idname,
PointerRNA * custom_data )

Called in situations where panels need to be added dynamically rather than having only one panel corresponding to each PanelType.

Definition at line 256 of file interface_panel.cc.

References BLI_findstring(), offsetof, panel_add_instanced(), panel_set_expansion_from_list_data(), ARegionType::paneltypes, and printf.

Referenced by ANIM_fmodifier_panels(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), uiTemplateConstraints(), uiTemplateModifiers(), and uiTemplateShaderFx().

◆ UI_panel_begin()

◆ UI_panel_can_be_pinned()

bool UI_panel_can_be_pinned ( const Panel * panel)

◆ UI_panel_category_active_find()

PanelCategoryStack * UI_panel_category_active_find ( ARegion * region,
const char * idname )

◆ UI_panel_category_active_get()

◆ UI_panel_category_active_set()

void UI_panel_category_active_set ( ARegion * region,
const char * idname )

◆ UI_panel_category_active_set_default()

void UI_panel_category_active_set_default ( ARegion * region,
const char * idname )

◆ UI_panel_category_add()

void UI_panel_category_add ( ARegion * region,
const char * name )

Definition at line 2416 of file interface_panel.cc.

References BLI_addtail(), PanelCategoryDyn::idname, and STRNCPY.

Referenced by region_panels_collect_categories().

◆ UI_panel_category_clear_all()

void UI_panel_category_clear_all ( ARegion * region)

Definition at line 2426 of file interface_panel.cc.

References BLI_freelistN().

Referenced by region_panels_collect_categories().

◆ UI_panel_category_draw_all()

void UI_panel_category_draw_all ( ARegion * region,
const char * category_id_active )

Draw vertical tabs on the left side of the region, one tab per category.

Definition at line 1369 of file interface_panel.cc.

References BLF_color3ubv(), BLF_disable(), BLF_draw(), BLF_DRAW_STR_DUMMY_MAX, BLF_enable(), BLF_position(), BLF_ROTATION, BLF_rotation(), BLF_size(), BLF_width(), BLI_assert, BLI_listbase_is_empty(), BLI_rcti_size_y(), clamp_i(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_I32, GPU_FETCH_INT_TO_FLOAT, GPU_line_smooth(), GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), IFACE_, immBindBuiltinProgram(), immRecti(), immUnbindProgram(), immUniformColor3fvAlpha(), immUniformColor3ubv(), immUniformColor4fv(), immUniformColor4ubv(), immVertexFormat(), int, is_left(), LISTBASE_FOREACH, M_PI_2, View2D::mask, max_ii(), uiFontStyle::points, pos, RGN_ALIGN_ENUM_FROM_MASK, RGN_ALIGN_RIGHT, RGN_TYPE_HAS_CATEGORY_MASK, round_fl_to_int(), roundboxtype, uiWidgetColors::roundness, STREQ, TABS_PADDING_BETWEEN_FACTOR, TABS_PADDING_TEXT_FACTOR, TH_BACK, TH_TAB_ACTIVE, TH_TAB_BACK, TH_TAB_INACTIVE, TH_TAB_OUTLINE, TH_TEXT, TH_TEXT_HI, bTheme::tui, UI_CNR_BOTTOM_LEFT, UI_CNR_BOTTOM_RIGHT, UI_CNR_TOP_LEFT, UI_CNR_TOP_RIGHT, UI_draw_roundbox_4fv(), UI_draw_roundbox_corner_set(), ui_fontscale(), UI_GetTheme(), UI_GetThemeColor3ubv(), UI_GetThemeColor4fv(), UI_GetThemeColor4ubv(), UI_panel_category_is_visible(), UI_PANEL_CATEGORY_MARGIN_WIDTH, UI_SCALE_FAC, UI_style_get(), uiFontStyle::uifont_id, ThemeUI::wcol_tab, uiStyle::widget, rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.

Referenced by ED_region_panels_draw().

◆ UI_panel_category_find()

PanelCategoryDyn * UI_panel_category_find ( const ARegion * region,
const char * idname )

◆ UI_panel_category_index_active_set()

void UI_panel_category_index_active_set ( ARegion * region,
const int index )
Parameters
indexindex of item in ARegion.panels_category list.

Definition at line 2368 of file interface_panel.cc.

References BLI_findlink(), PanelCategoryDyn::idname, and ui_panel_category_active_set().

◆ UI_panel_category_index_find()

int UI_panel_category_index_find ( ARegion * region,
const char * idname )

Definition at line 2312 of file interface_panel.cc.

References BLI_findstringindex(), and offsetof.

◆ UI_panel_category_is_visible()

◆ UI_panel_context_pointer_set()

void UI_panel_context_pointer_set ( Panel * panel,
const char * name,
PointerRNA * ptr )

Set a context for this entire panel and its current layout. This should be used whenever panel callbacks that are called outside of regular drawing might require context. Currently it affects the PanelType.reorder callback only.

Definition at line 2607 of file interface_panel.cc.

References Panel_Runtime::context, Panel::layout, ptr, Panel::runtime, uiLayoutGetContextStore(), and uiLayoutSetContextPointer().

Referenced by draw_constraint_header(), modifier_panel_get_property_pointers(), modifier_panel_header(), and shaderfx_panel_get_property_pointers().

◆ UI_panel_custom_data_get()

◆ UI_panel_custom_data_set()

◆ UI_panel_drawname_set()

void UI_panel_drawname_set ( Panel * panel,
blender::StringRef name )

Set the name that should be drawn in the UI. Should be a translated string.

Definition at line 852 of file interface_panel.cc.

References BLI_strdupn(), Panel::drawname, and MEM_SAFE_FREE.

Referenced by file_panel_operator_header(), hud_panel_operator_redo_draw_header(), and UI_panel_begin().

◆ UI_panel_end()

void UI_panel_end ( Panel * panel,
int width,
int height )

Definition at line 844 of file interface_panel.cc.

References Panel::blocksizex, and Panel::blocksizey.

Referenced by ed_panel_draw().

◆ UI_panel_find_by_type()

Panel * UI_panel_find_by_type ( ListBase * lb,
const PanelType * pt )

◆ UI_panel_header_buttons_begin()

void UI_panel_header_buttons_begin ( Panel * panel)

Create the panel header button group, used to mark which buttons are part of panel headers for the panel search process that happens later. This Should be called before adding buttons for the panel's header layout.

Definition at line 754 of file interface_panel.cc.

References Panel_Runtime::block, Panel::runtime, ui_block_new_button_group(), UI_BUTTON_GROUP_LOCK, and UI_BUTTON_GROUP_PANEL_HEADER.

Referenced by ed_panel_draw().

◆ UI_panel_header_buttons_end()

◆ UI_panel_is_active()

◆ UI_panel_is_closed()

◆ UI_panel_is_dragging()

bool UI_panel_is_dragging ( const Panel * panel)

◆ UI_panel_label_offset()

void UI_panel_label_offset ( const uiBlock * block,
int * r_x,
int * r_y )

For button layout next to label.

Definition at line 1032 of file interface_panel.cc.

References uiBlock::panel, PanelType::parent, Panel::type, UI_UNIT_X, and UI_UNIT_Y.

Referenced by ed_panel_draw().

◆ UI_panel_list_matches_data()

bool UI_panel_list_matches_data ( ARegion * region,
ListBase * data,
uiListPanelIDFromDataFunc panel_idname_func )

Check if the instanced panels in the region's panels correspond to the list of data the panels represent. Returns false if the panels have been reordered or if the types from the list data don't match in any way.

Parameters
dataThe list of data to check against the instanced panels.
panel_idname_funcFunction to find the PanelType.idname for each item in the data list. For a readability and generality, this lookup happens separately for each type of panel list.

Definition at line 327 of file interface_panel.cc.

References BLI_listbase_count(), LISTBASE_FOREACH, MAX_NAME, Link::next, PANEL_TYPE_INSTANCED, PNL_INSTANCED_LIST_ORDER_CHANGED, and STREQ.

Referenced by ANIM_fmodifier_panels(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), uiTemplateConstraints(), uiTemplateModifiers(), and uiTemplateShaderFx().

◆ UI_panel_matches_search_filter()

bool UI_panel_matches_search_filter ( const Panel * panel)

Find whether a panel or any of its sub-panels contain a property that matches the search filter, depending on the search process running in UI_block_apply_search_filter earlier.

Definition at line 894 of file interface_panel.cc.

References panel_matches_search_filter_recursive().

Referenced by buttons_main_region_property_search(), panel_draw_aligned_backdrop(), panel_title_color_get(), and UI_panel_is_closed().

◆ UI_panel_should_show_background()

bool UI_panel_should_show_background ( const ARegion * region,
const PanelType * panel_type )

◆ UI_panel_size_y()

int UI_panel_size_y ( const Panel * panel)

Definition at line 1619 of file interface_panel.cc.

References get_panel_real_size_y().

Referenced by ED_region_panels_layout_ex().

◆ UI_panels_begin()

void UI_panels_begin ( const bContext * C,
ARegion * region )

Definition at line 1902 of file interface_panel.cc.

References panels_layout_begin_clear_flags().

Referenced by ED_region_panels_layout_ex().

◆ UI_panels_draw()

void UI_panels_draw ( const bContext * C,
ARegion * region )

Draw panels, selected (panels currently being dragged) on top.

Definition at line 1009 of file interface_panel.cc.

References LISTBASE_FOREACH_BACKWARD, UI_block_draw(), UI_block_is_search_only(), and UI_panel_is_dragging().

Referenced by ED_region_panels_draw().

◆ UI_panels_end()

◆ UI_panels_free_instanced()

void UI_panels_free_instanced ( const bContext * C,
ARegion * region )

Remove instanced panels from the region's panel list.

Note
Can be called with NULL C, but it should be avoided because handlers might not be removed.

Definition at line 306 of file interface_panel.cc.

References LISTBASE_FOREACH_MUTABLE, panel_activate_state(), panel_delete(), PANEL_STATE_EXIT, and PANEL_TYPE_INSTANCED.

Referenced by ANIM_fmodifier_panels(), ED_region_property_search(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), uiTemplateConstraints(), uiTemplateModifiers(), and uiTemplateShaderFx().

◆ UI_paneltype_draw()

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

Used for popup panels only.

Definition at line 6317 of file interface_layout.cc.

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

Referenced by ui_item_paneltype_func(), and UI_popover_panel_invoke().

◆ UI_pie_menu_begin()

◆ UI_pie_menu_end()

◆ UI_pie_menu_invoke()

◆ UI_pie_menu_invoke_from_operator_enum()

int UI_pie_menu_invoke_from_operator_enum ( bContext * C,
const char * title,
const char * opname,
const char * propname,
const wmEvent * event )

◆ UI_pie_menu_invoke_from_rna_enum()

◆ UI_pie_menu_layout()

◆ UI_popover_begin()

uiPopover * UI_popover_begin ( bContext * C,
int ui_menu_width,
bool from_active_button )

Only return handler, and set optional title.

Parameters
from_active_buttonUse the active button for positioning, use when the popover is activated from an operator instead of directly from the button.

Definition at line 349 of file interface_region_popover.cc.

References uiPopover::block, uiPopover::but, uiPopover::butregion, CTX_wm_region(), uiBlock::handle, ui_popover_create_block(), UI_POPOVER_WIDTH_UNITS, UI_region_active_but_get(), uiPopover::ui_size_x, and WM_OP_EXEC_REGION_WIN.

Referenced by UI_popover_panel_invoke().

◆ UI_popover_end()

◆ UI_popover_layout()

uiLayout * UI_popover_layout ( uiPopover * pup)

Definition at line 429 of file interface_region_popover.cc.

References uiPopover::layout.

Referenced by UI_popover_panel_invoke().

◆ UI_popover_once_clear()

void UI_popover_once_clear ( uiPopover * pup)

Definition at line 435 of file interface_region_popover.cc.

References uiPopover::is_once.

Referenced by ui_handle_menu_event().

◆ UI_popover_panel_invoke()

◆ UI_popup_block_close()

◆ UI_popup_block_ex()

◆ UI_popup_block_invoke()

◆ UI_popup_block_invoke_ex()

void UI_popup_block_invoke_ex ( bContext * C,
uiBlockCreateFunc func,
void * arg,
uiFreeArgFunc arg_free,
bool can_refresh )
Parameters
can_refreshWhen true, the popup may be refreshed (updated after creation).
Note
It can be useful to disable refresh (even though it will work) as this exits text fields which can be disruptive if refresh isn't needed.

Definition at line 669 of file interface_region_menu_popup.cc.

References CTX_wm_window(), WorkspaceStatus::item(), wmWindow::modalhandlers, UI_block_active_only_flagged_buttons(), ui_popup_block_create(), UI_popup_handlers_add(), and WM_event_add_mousemove().

Referenced by blender::ed::space_node::invoke_node_link_drag_add_menu(), text_insert_unicode_invoke(), UI_popup_block_invoke(), WM_enum_search_invoke(), and wm_search_menu_invoke().

◆ UI_popup_block_name_exists()

bool UI_popup_block_name_exists ( const bScreen * screen,
blender::StringRef name )

◆ UI_popup_block_template_confirm()

void UI_popup_block_template_confirm ( uiBlock * block,
bool cancel_default,
blender::FunctionRef< uiBut *()> confirm_fn,
blender::FunctionRef< uiBut *()> cancel_fn )

◆ UI_popup_block_template_confirm_is_supported()

bool UI_popup_block_template_confirm_is_supported ( const uiBlock * block)

Return true when UI_popup_block_template_confirm and related functions are supported.

Definition at line 743 of file interface_region_menu_popup.cc.

References uiBlock::flag, UI_BLOCK_KEEP_OPEN, and UI_BLOCK_POPOVER.

◆ UI_popup_block_template_confirm_op()

void UI_popup_block_template_confirm_op ( uiLayout * layout,
wmOperatorType * ot,
const char * confirm_text,
const char * cancel_text,
const int icon,
bool cancel_default,
PointerRNA * r_ptr )

Create confirm & cancel buttons in a popup using an operator.

Parameters
confirm_textThe text to confirm, null for default text or an empty string to hide.
cancel_textThe text to cancel, null for default text or an empty string to hide.
r_ptrThe pointer for operator properties, set a "confirm" button has been created.

Definition at line 786 of file interface_region_menu_popup.cc.

References uiBlock::buttons, IFACE_, ListBase::last, ot, UI_BTYPE_BUT, UI_ITEM_NONE, UI_popup_block_template_confirm(), UI_UNIT_X, UI_UNIT_Y, uiDefIconTextBut(), uiItemFullO_ptr(), uiLayoutGetBlock(), uiLayoutGetOperatorContext(), and uiLayoutSplit().

◆ UI_popup_dummy_panel_set()

void UI_popup_dummy_panel_set ( ARegion * region,
uiBlock * block )

Set a dummy panel in the popup block to support using layout panels, the panel is linked to the popup region so layout panels state can be persistent until the popup is closed.

Definition at line 611 of file interface_region_popup.cc.

References BKE_panel_new(), Panel_Runtime::block, LayoutPanels::clear(), PanelType::flag, Panel_Runtime::layout_panels, uiBlock::panel, PANEL_TYPE_NO_HEADER, and Panel::runtime.

Referenced by ui_paneltype_draw_impl(), wm_block_create_redo(), wm_block_dialog_create(), and wm_operator_ui_create().

◆ UI_popup_handlers_add()

◆ UI_popup_handlers_remove()

◆ UI_popup_handlers_remove_all()

void UI_popup_handlers_remove_all ( bContext * C,
ListBase * handlers )

◆ UI_popup_menu_begin()

◆ UI_popup_menu_begin_ex()

uiPopupMenu * UI_popup_menu_begin_ex ( bContext * C,
const char * title,
const char * block_name,
int icon )

Directly create a popup menu that is not refreshed on redraw.

Only return handler, and set optional title.

Parameters
block_nameAssigned to uiBlock.name (useful info for debugging).

Definition at line 468 of file interface_region_menu_popup.cc.

References uiPopupMenu::block, create_title_button(), uiBlock::handle, uiPopupMenu::layout, uiPopupMenu::title, and ui_popup_menu_create_block().

Referenced by UI_popup_menu_begin(), and UI_popup_menu_reports().

◆ UI_popup_menu_but_set()

void UI_popup_menu_but_set ( uiPopupMenu * pup,
ARegion * butregion,
uiBut * but )

Setting the button makes the popup open from the button instead of the cursor.

Definition at line 494 of file interface_region_menu_popup.cc.

References uiPopupMenu::but, and uiPopupMenu::butregion.

Referenced by ui_item_menu_hold().

◆ UI_popup_menu_close()

int void UI_popup_menu_close ( const uiBlock * block,
bool is_cancel = false )

If block is displayed in a popup menu, tag it for closing.

Parameters
is_cancelIf set to true, the popup will be closed as being cancelled (e.g. when pressing escape) as opposed to being handled successfully.

Definition at line 914 of file interface_region_menu_popup.cc.

References UI_popup_menu_retval_set(), UI_RETURN_CANCEL, and UI_RETURN_OK.

Referenced by UI_popup_menu_close_from_but().

◆ UI_popup_menu_close_from_but()

void UI_popup_menu_close_from_but ( const uiBut * but,
bool is_cancel = false )

Version of UI_popup_menu_close() that can be called on a button contained in a popup menu block. Convenience since the block may not be available.

Definition at line 919 of file interface_region_menu_popup.cc.

References uiBut::block, and UI_popup_menu_close().

Referenced by force_activate_view_item_but().

◆ UI_popup_menu_end()

void UI_popup_menu_end ( bContext * C,
uiPopupMenu * pup )

Set the whole structure to work.

Definition at line 500 of file interface_region_menu_popup.cc.

References uiPopupMenu::but, uiPopupMenu::butregion, CTX_wm_window(), wmWindow::eventstate, wmWindow::modalhandlers, uiPopupMenu::mx, uiPopupMenu::my, uiPopupBlockHandle::popup, uiPopupMenu::popup, ui_block_func_POPUP(), ui_popup_block_create(), UI_popup_handlers_add(), WM_event_add_mousemove(), and wmEvent::xy.

Referenced by armature_parent_clear_invoke(), armature_parent_set_invoke(), context_menu_invoke(), driver_dvar_invalid_name_query_cb(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), insert_key_menu_invoke(), keyingset_active_menu_invoke(), blender::ed::object::move_to_collection_invoke(), move_to_collection_regular_invoke(), blender::ed::space_node::node_group_separate_invoke(), blender::ed::object::object_hide_collection_invoke(), blender::ed::outliner::outliner_operator_menu(), blender::ed::object::parent_set_invoke_menu(), blender::ed::object::pose_ik_add_invoke(), repeat_history_invoke(), screen_area_options_invoke(), screen_context_menu_invoke(), blender::ed::object::select_grouped_collection(), select_orientation_invoke(), text_resolve_conflict_invoke(), toggle_cyclic_invoke(), ui_item_menu_hold(), ui_popup_context_menu_for_panel(), UI_popup_menu_end_or_cancel(), UI_popup_menu_invoke(), UI_popup_menu_reports(), unpack_all_invoke(), unpack_item_invoke(), unpack_menu(), blender::ed::object::bake_simulation::unpack_single_bake_invoke(), uv_mark_seam_invoke(), weight_sample_group_invoke(), wm_drop_import_file_invoke(), WM_menu_invoke_ex(), and workspace_add_invoke().

◆ UI_popup_menu_end_or_cancel()

◆ UI_popup_menu_invoke()

int UI_popup_menu_invoke ( bContext * C,
const char * idname,
ReportList * reports )

Referenced by wm_call_menu_exec().

◆ UI_popup_menu_layout()

◆ UI_popup_menu_reports()

◆ UI_popup_menu_retval_set()

void UI_popup_menu_retval_set ( const uiBlock * block,
int retval,
bool enable )

Allow setting menu return value from externals. E.g. WM might need to do this for exiting files correctly.

Definition at line 11824 of file interface_handlers.cc.

References uiBlock::handle, and uiPopupBlockHandle::menuretval.

Referenced by dialog_cancel_cb(), dialog_exec_cb(), popup_block_template_close_cb(), and UI_popup_menu_close().

◆ UI_preview_tile_size_x()

int UI_preview_tile_size_x ( const int size_px = 96)

Get the scaled size for a preview button (typically #UI_BTyPE_PREVIEW_TILE) based on size_px plus padding.

Definition at line 5142 of file interface.cc.

References pad, PREVIEW_TILE_PAD, round_fl_to_int(), and UI_UNIT_X.

Referenced by blender::ed::asset::shelf::asset_shelf_default_tile_height(), asset_view_draw_item(), blender::ed::asset::shelf::tile_width(), and ui_template_list_layout_draw().

◆ UI_preview_tile_size_y()

◆ UI_preview_tile_size_y_no_label()

int UI_preview_tile_size_y_no_label ( const int size_px = 96)

◆ UI_region_active_but_get()

◆ UI_region_active_but_prop_get()

uiBut * UI_region_active_but_prop_get ( const ARegion * region,
PointerRNA * r_ptr,
PropertyRNA ** r_prop,
int * r_index )

As above, but for a specified region.

Returns
active button, NULL if none found or if it doesn't contain valid RNA data.

Definition at line 9076 of file interface_handlers.cc.

References PointerRNA::data, uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, and UI_region_active_but_get().

Referenced by graph_panel_drivers_popover(), and UI_context_active_but_prop_get().

◆ UI_region_block_find_mouse_over()

uiBlock * UI_region_block_find_mouse_over ( const ARegion * region,
const int xy[2],
bool only_clip )

Definition at line 9071 of file interface_handlers.cc.

References ui_block_find_mouse_over_ex(), and xy.

Referenced by wm_handlers_do_gizmo_handler().

◆ UI_region_but_find_rect_over()

uiBut * UI_region_but_find_rect_over ( const ARegion * region,
const rcti * rect_px )

Definition at line 9066 of file interface_handlers.cc.

References ui_but_find_rect_over().

Referenced by ED_region_contains_xy().

◆ UI_region_button_sections_draw()

void UI_region_button_sections_draw ( const ARegion * region,
int colorid,
uiButtonSectionsAlign align )

Draw a background with rounded corners behind each visual group of buttons. The visual groups are separated by spacer buttons (uiItemSpacer()). Button groups that are closer than UI_BUTTON_SECTION_MERGE_DISTANCE will be merged into one visual section. If the group is closer than that to a region edge, it will also be extended to that, and the rounded corners will be removed on that edge.

Note
This currently only works well for horizontal, header like regions.

Definition at line 215 of file interface_button_sections.cc.

References BLI_rctf_size_x(), BLI_rcti_size_x(), button_section_bounds_calc(), None, ui_draw_button_sections_alignment_separator(), ui_draw_button_sections_background(), and UI_SCALE_FAC.

Referenced by ED_region_header_draw_with_button_sections().

◆ UI_region_button_sections_is_inside_x()

bool UI_region_button_sections_is_inside_x ( const ARegion * region,
const int mval_x )

◆ UI_region_free_active_but_all()

void UI_region_free_active_but_all ( bContext * C,
ARegion * region )

◆ UI_region_handlers_add()

◆ UI_region_message_subscribe()

void UI_region_message_subscribe ( ARegion * region,
wmMsgBus * mbus )

Definition at line 2183 of file interface.cc.

References LISTBASE_FOREACH, and ui_block_message_subscribe().

Referenced by ED_region_message_subscribe().

◆ UI_region_panel_custom_data_under_cursor()

◆ UI_region_searchbox_region_get()

ARegion * UI_region_searchbox_region_get ( const ARegion * button_region)

Try to find a search-box region opened from a button in button_region.

Definition at line 9166 of file interface_handlers.cc.

References uiBut::active, uiHandleButtonData::searchbox, and UI_region_active_but_get().

Referenced by wm_searchbox_tooltip_init().

◆ UI_region_view_find_at()

blender::ui::AbstractView * UI_region_view_find_at ( const ARegion * region,
const int xy[2],
int pad )
Parameters
xyCoordinate to find a view item at, in window space.
padExtra padding added to the bounding box of the view.

Definition at line 152 of file interface_view.cc.

References BLI_rcti_isect_pt(), BLI_rcti_pad(), LISTBASE_FOREACH, pad, ui_region_contains_point_px(), ui_window_to_block_fl(), and xy.

Referenced by get_view_focused(), blender::ui::region_views_find_drop_target_at(), and ui_view_start_filter_invoke().

◆ UI_region_views_clear_search_highlight()

void UI_region_views_clear_search_highlight ( const ARegion * region)

Definition at line 209 of file interface_view.cc.

References LISTBASE_FOREACH.

Referenced by ui_handle_view_item_event().

◆ UI_region_views_find_active_item()

blender::ui::AbstractViewItem * UI_region_views_find_active_item ( const ARegion * region)

◆ UI_region_views_find_active_item_but()

uiBut * UI_region_views_find_active_item_but ( const ARegion * region)

Definition at line 204 of file interface_view.cc.

References ui_view_item_find_active().

Referenced by blender::ed::asset::shelf::context().

◆ UI_region_views_find_item_at()

blender::ui::AbstractViewItem * UI_region_views_find_item_at ( const ARegion & region,
const int xy[2] )
Parameters
xyCoordinate to find a view item at, in window space.

Definition at line 184 of file interface_view.cc.

References ui_view_item_find_mouse_over(), uiButViewItem::view_item, and xy.

Referenced by blender::ui::region_views_find_drop_target_at().

◆ UI_reinit_font()

void UI_reinit_font ( )

Definition at line 6882 of file interface.cc.

References uiStyleInit().

Referenced by reloadtranslation_exec().

◆ UI_screen_free_active_but_highlight()

void UI_screen_free_active_but_highlight ( const bContext * C,
bScreen * screen )

◆ UI_search_item_add()

bool UI_search_item_add ( uiSearchItems * items,
const char * name,
void * poin,
int iconid,
int but_flag,
uint8_t name_prefix_offset )

◆ UI_search_items_find_index()

int UI_search_items_find_index ( const uiSearchItems * items,
const char * name )

◆ UI_searchbox_size_x()

◆ UI_searchbox_size_y()

◆ UI_style_get()

◆ UI_style_get_dpi()

const uiStyle * UI_style_get_dpi ( )

Read a style (with the current DPI applied).

Definition at line 317 of file interface_style.cc.

References uiStyle::boxspace, uiStyle::buttonspacex, uiStyle::buttonspacey, uiStyle::columnspace, uiStyle::grouplabel, uiStyle::panelouter, uiStyle::panelspace, uiStyle::paneltitle, uiFontStyle::shadx, uiFontStyle::shady, uiStyle::templatespace, uiStyle::tooltip, UI_SCALE_FAC, UI_style_get(), and uiStyle::widget.

Referenced by blender::ed::space_node::add_panel_items_recursive(), blender::ed::asset::shelf::add_tab_button(), button_section_bounds_calc(), colorband_tools_fn(), blender::ed::space_node::draw_tree_path(), ed_panel_draw(), ED_region_header_layout(), ED_region_image_metadata_draw(), ED_region_info_draw_multiline(), ED_region_property_search(), ED_time_scrub_channel_search_draw(), blender::ed::spreadsheet::get_index_column_width(), blender::ed::asset::shelf::main_region_padding_y(), menu_add_shortcut(), menu_change_shortcut(), menu_items_from_ui_create(), blender::ed::space_node::node_update_basis_buttons(), blender::ed::space_node::node_update_basis_socket(), blender::ui::padded_item_height(), blender::ed::asset::shelf::region_layout(), blender::ui::region_views_find_drop_target_at(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), template_ID_tabs(), text_size_get(), UI_block_draw(), ui_litem_layout_panel_body(), ui_litem_layout_panel_header(), ui_offset_panel_block(), UI_pie_menu_begin(), ui_popover_create_block(), ui_popover_panel_create(), ui_popup_menu_create_block(), uiItemsAlertBox(), blender::ed::outliner::unused_message_popup_width_compute(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_splash_create(), and wm_operator_ui_create().

◆ UI_style_init_default()

void UI_style_init_default ( )

Definition at line 1100 of file resources.cc.

References BLI_freelistN(), and uiStyleInit().

Referenced by preferences_reset_default_theme_exec().

◆ UI_text_clip_middle_ex()

float UI_text_clip_middle_ex ( const uiFontStyle * fstyle,
char * str,
float okwidth,
float minwidth,
size_t max_len,
char rpart_sep )

Shortening string helper.

Cut off the middle of the text to fit into the given width.

Note
in case this middle clipping would just remove a few chars, it rather clips right, which is more readable.

If rpart_sep is not null, the part of str starting to first occurrence of rpart_sep is preserved at all cost. Useful for strings with shortcuts (like ‘A Very Long Foo Bar Label For Menu Entry|Ctrl O’ -> 'AVeryLong...MenuEntry|Ctrl O`).

Definition at line 1469 of file interface_widgets.cc.

References BLF_width(), BLF_width_to_rstrlen(), BLF_width_to_strlen(), BLI_assert, BLI_STR_UTF8_HORIZONTAL_ELLIPSIS, min_ff(), str, STRNCPY, UI_fontstyle_set(), UI_MAX_DRAW_STR, ui_text_clip_right_ex(), uiFontStyle::uifont_id, and UNUSED_VARS_NDEBUG.

Referenced by file_draw_string(), ui_draw_menu_item(), ui_draw_preview_item_stateless(), ui_text_clip_middle(), and ui_text_clip_middle_protect_right().

◆ UI_text_colorid_from_report_type()

◆ UI_textbutton_activate_but()

bool UI_textbutton_activate_but ( const bContext * C,
uiBut * actbut )

◆ UI_textbutton_activate_rna()

◆ UI_theme_init_default()

void UI_theme_init_default ( )

Initialize default theme.

Note
When you add new colors, created & saved themes need initialized use function below, #init_userdef_do_versions.

Definition at line 1079 of file resources.cc.

References bTheme::active_theme_area, BLI_addhead(), BLI_findstring(), BLI_listbase_rotate_first(), MEMCPY_STRUCT_AFTER, bTheme::name, offsetof, STRNCPY, U_theme_default, and UI_SetTheme().

Referenced by preferences_reset_default_theme_exec().

◆ UI_tooltip_create_from_button()

ARegion * UI_tooltip_create_from_button ( bContext * C,
ARegion * butregion,
uiBut * but,
bool is_label )
Parameters
is_labelWhen true, show a small tip that only shows the name, otherwise show the full tooltip.

Definition at line 1550 of file interface_region_tooltip.cc.

References UI_tooltip_create_from_button_or_extra_icon().

Referenced by ui_search_menu_create_tooltip().

◆ UI_tooltip_create_from_button_or_extra_icon()

◆ UI_tooltip_create_from_gizmo()

◆ UI_tooltip_create_from_search_item_generic()

ARegion * UI_tooltip_create_from_search_item_generic ( bContext * C,
const ARegion * searchbox_region,
const rcti * item_rect,
ID * id )

Create a tooltip from search-item tooltip data item_tooltip data. To be called from a callback set with UI_but_func_search_set_tooltip().

Parameters
item_rectRectangle of the search item in search region space (ui_searchbox_butrect()) which is passed to the tooltip callback.

Definition at line 1777 of file interface_region_tooltip.cc.

References CTX_wm_window(), wmWindow::eventstate, UI_POPUP_MARGIN, ui_tooltip_create_with_data(), ui_tooltip_data_from_search_item_tooltip_data(), ARegion::winrct, wmEvent::xy, and rcti::ymin.

Referenced by template_ID_search_menu_item_tooltip().

◆ UI_tooltip_free()

void UI_tooltip_free ( bContext * C,
bScreen * screen,
ARegion * region )

◆ UI_tooltip_image_field_add()

void UI_tooltip_image_field_add ( uiTooltipData & data,
const uiTooltipImage & image_data )
Parameters
imageImage buffer (duplicated, ownership is not transferred to data).
image_sizeDisplay size for the image (pixels without UI scale applied).

Definition at line 135 of file interface_region_tooltip.cc.

References uiTooltipField::format, uiTooltipImage::ibuf, IMB_dupImBuf(), uiTooltipFormat::style, and UI_TIP_STYLE_IMAGE.

Referenced by file_draw_tooltip_custom_func(), ui_tooltip_data_from_button_or_extra_icon(), ui_tooltip_from_clip(), ui_tooltip_from_image(), ui_tooltip_from_vfont(), and uiTemplateRecentFiles_tooltip_func().

◆ UI_tooltip_text_field_add()

void UI_tooltip_text_field_add ( uiTooltipData & data,
std::string text,
std::string suffix,
const uiTooltipStyle style,
const uiTooltipColorID color_id,
const bool is_pad = false )

◆ UI_update_text_styles()

◆ UI_view_item_begin_rename()

void UI_view_item_begin_rename ( blender::ui::AbstractViewItem & item)

◆ UI_view_item_can_rename()

bool UI_view_item_can_rename ( const blender::ui::AbstractViewItem & item)

Can item be renamed right now? Note that this isn't just a mere wrapper around #AbstractViewItem::supports_renaming(). This also checks if there is another item being renamed, and returns false if so.

Definition at line 373 of file abstract_view_item.cc.

References blender::ui::AbstractViewItem::get_view(), blender::ui::AbstractView::is_renaming(), and blender::ui::AbstractViewItem::supports_renaming().

Referenced by ui_do_but_VIEW_ITEM(), and ui_view_item_rename_poll().

◆ UI_view_item_drag_start()

bool UI_view_item_drag_start ( bContext & C,
const blender::ui::AbstractViewItem & item )

Attempt to start dragging item_. This will not work if the view item doesn't support dragging, i.e. if it won't create a drag-controller upon request.

Returns
True if dragging started successfully, otherwise false.

Definition at line 394 of file abstract_view_item.cc.

References blender::ui::AbstractViewItem::create_drag_controller(), WM_DRAG_FREE_DATA, and WM_event_start_drag().

Referenced by ui_but_drag_init().

◆ UI_view_item_matches()

◆ UI_view_item_popup_keep_open()

bool UI_view_item_popup_keep_open ( const blender::ui::AbstractViewItem & item)

If this view is displayed in a popup, don't close it when clicking to activate items.

Definition at line 389 of file abstract_view_item.cc.

References blender::ui::AbstractView::get_popup_keep_open(), and blender::ui::AbstractViewItem::get_view().

Referenced by force_activate_view_item_but().

◆ UI_view_item_supports_drag()

bool UI_view_item_supports_drag ( const blender::ui::AbstractViewItem & item)

◆ UI_widgetbase_draw_cache_begin()

void UI_widgetbase_draw_cache_begin ( )

Definition at line 1090 of file interface_widgets.cc.

References BLI_assert, and g_widget_base_batch.

Referenced by UI_block_draw().

◆ UI_widgetbase_draw_cache_end()

void UI_widgetbase_draw_cache_end ( )

◆ UI_widgetbase_draw_cache_flush()

◆ uiDefAutoButR()

◆ uiDefAutoButsArrayR()

void uiDefAutoButsArrayR ( uiBlock * block,
PointerRNA * ptr,
PropertyRNA * prop,
const int icon,
const int x,
const int y,
const int tot_width,
const int height )

◆ uiDefAutoButsRNA()

eAutoPropButsReturn uiDefAutoButsRNA ( uiLayout * layout,
PointerRNA * ptr,
bool(* check_prop )(PointerRNA *ptr, PropertyRNA *prop, void *user_data),
void * user_data,
PropertyRNA * prop_activate_init,
eButLabelAlign label_align,
bool compact )

◆ uiDefBlockBut()

uiBut * uiDefBlockBut ( uiBlock * block,
uiBlockCreateFunc func,
void * arg,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefBlockButN()

uiBut * uiDefBlockButN ( uiBlock * block,
uiBlockCreateFunc func,
void * argN,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip,
uiButArgNFree func_argN_free_fn = MEM_freeN,
uiButArgNCopy func_argN_copy_fn = MEM_dupallocN )

◆ uiDefBut()

uiBut * uiDefBut ( uiBlock * block,
int type,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
void * poin,
float min,
float max,
const char * tip )

Definition at line 4976 of file interface.cc.

References min, str, ui_but_update(), and ui_def_but().

Referenced by blender::ui::AbstractViewItem::add_rename_button(), blender::ed::asset::shelf::add_tab_button(), blender::ui::PreviewGridItem::build_grid_tile_button(), blender::ui::TreeViewLayoutBuilder::build_row(), colorband_buttons_layout(), blender::ed::space_node::create_search_popup_block(), create_title_button(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), draw_channel_labels(), envelope_panel_draw(), file_add_preview_drag_but(), file_draw_list(), blender::ed::outliner::merged_element_search_menu(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_extra_info_row(), blender::ed::space_node::node_draw_hidden(), blender::ed::space_node::node_draw_panels(), blender::ed::space_node::node_find_menu(), blender::ed::outliner::outliner_buttons(), blender::ed::outliner::outliner_draw_overrides_rna_buts(), blender::ed::outliner::outliner_draw_userbuts(), blender::ed::space_node::reroute_node_draw_label(), template_common_search_menu(), template_ID(), ui_block_colorpicker(), 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_array(), ui_item_disabled(), ui_item_with_label(), ui_layout_add_padding_button(), ui_layout_box(), blender::ed::space_node::ui_node_menu_column(), UI_pie_menu_begin(), ui_template_list_layout_draw(), blender::ed::space_node::ui_template_node_link_menu(), uiDefAutoButR(), uiDefButBit(), uiDefButC(), uiDefButF(), uiDefButI(), uiDefButS(), uiItemFullR(), uiItemL_(), uiItemProgressIndicator(), uiItemS_ex(), uiItemsFullEnumO_items(), uiItemSpacer(), uiLayoutListItemAddPadding(), uiTemplateHistogram(), uiTemplateMarker(), uiTemplateMovieClip(), uiTemplateNodeSocket(), uiTemplatePreview(), uiTemplateReportsBanner(), uiTemplateStatusInfo(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateWaveform(), v3d_editvertex_buts(), v3d_object_dimension_buts(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_search_menu(), wm_block_splash_add_label(), and wm_enum_search_menu().

◆ uiDefButAlert()

uiBut * uiDefButAlert ( uiBlock * block,
int icon,
int x,
int y,
short width,
short height )

◆ uiDefButBitC()

uiBut * uiDefButBitC ( uiBlock * block,
int type,
int bit,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
char * poin,
float min,
float max,
const char * tip )

Definition at line 5365 of file interface.cc.

References min, str, UI_BUT_POIN_CHAR, and uiDefButBit().

Referenced by block_create__close_file_dialog().

◆ uiDefButBitI()

uiBut * uiDefButBitI ( uiBlock * block,
int type,
int bit,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
int * poin,
float min,
float max,
const char * tip )

Definition at line 5257 of file interface.cc.

References min, str, UI_BUT_POIN_INT, and uiDefButBit().

Referenced by curvemap_clipping_func(), and uiTemplateMarker().

◆ uiDefButBitS()

uiBut * uiDefButBitS ( uiBlock * block,
int type,
int bit,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
short * poin,
float min,
float max,
const char * tip )

Definition at line 5311 of file interface.cc.

References min, str, UI_BUT_POIN_SHORT, and uiDefButBit().

Referenced by v3d_editvertex_buts().

◆ uiDefButC()

uiBut * uiDefButC ( uiBlock * block,
int type,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
char * poin,
float min,
float max,
const char * tip )

◆ uiDefButF()

uiBut * uiDefButF ( uiBlock * block,
int type,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
float * poin,
float min,
float max,
const char * tip )

◆ uiDefButI()

uiBut * uiDefButI ( uiBlock * block,
int type,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
int * poin,
float min,
float max,
const char * tip )

◆ uiDefButImage()

uiBut * uiDefButImage ( uiBlock * block,
void * imbuf,
int x,
int y,
short width,
short height,
const uchar color[4] )

◆ uiDefButO()

uiBut * uiDefButO ( uiBlock * block,
int type,
const char * opname,
wmOperatorCallContext opcontext,
const char * str,
int x,
int y,
short width,
short height,
const char * tip )

Definition at line 5449 of file interface.cc.

References ot, str, uiDefButO_ptr(), and WM_operatortype_find().

Referenced by uiTemplateReportsBanner().

◆ uiDefButO_ptr()

uiBut * uiDefButO_ptr ( uiBlock * block,
int type,
wmOperatorType * ot,
wmOperatorCallContext opcontext,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

Definition at line 5434 of file interface.cc.

References ot, str, ui_but_update(), and ui_def_but_operator_ptr().

Referenced by uiDefButO(), uiItemFullO_ptr_ex(), and view3d_panel_vgroup().

◆ uiDefButR()

uiBut * uiDefButR ( uiBlock * block,
int type,
int retval,
const char * str,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
const char * propname,
int index,
float min,
float max,
const char * tip )

◆ uiDefButR_prop()

uiBut * uiDefButR_prop ( uiBlock * block,
int type,
int retval,
const char * str,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
PropertyRNA * prop,
int index,
float min,
float max,
const char * tip )

◆ uiDefButS()

uiBut * uiDefButS ( uiBlock * block,
int type,
int retval,
blender::StringRef str,
int x,
int y,
short width,
short height,
short * poin,
float min,
float max,
const char * tip )

◆ uiDefIconBlockBut()

uiBut * uiDefIconBlockBut ( uiBlock * block,
uiBlockCreateFunc func,
void * arg,
int retval,
int icon,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefIconBut()

◆ uiDefIconButBitC()

uiBut * uiDefIconButBitC ( uiBlock * block,
int type,
int bit,
int retval,
int icon,
int x,
int y,
short width,
short height,
char * poin,
float min,
float max,
const char * tip )

Definition at line 5624 of file interface.cc.

References min, UI_BUT_POIN_CHAR, and uiDefIconButBit().

Referenced by draw_setting_widget().

◆ uiDefIconButBitI()

uiBut * uiDefIconButBitI ( uiBlock * block,
int type,
int bit,
int retval,
int icon,
int x,
int y,
short width,
short height,
int * poin,
float min,
float max,
const char * tip )

◆ uiDefIconButBitS()

uiBut * uiDefIconButBitS ( uiBlock * block,
int type,
int bit,
int retval,
int icon,
int x,
int y,
short width,
short height,
short * poin,
float min,
float max,
const char * tip )

◆ uiDefIconButI()

uiBut * uiDefIconButI ( uiBlock * block,
int type,
int retval,
int icon,
int x,
int y,
short width,
short height,
int * poin,
float min,
float max,
const char * tip )

◆ uiDefIconButO()

◆ uiDefIconButO_ptr()

uiBut * uiDefIconButO_ptr ( uiBlock * block,
int type,
wmOperatorType * ot,
wmOperatorCallContext opcontext,
int icon,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefIconButR()

uiBut * uiDefIconButR ( uiBlock * block,
int type,
int retval,
int icon,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
const char * propname,
int index,
float min,
float max,
const char * tip )

Definition at line 5652 of file interface.cc.

References min, ptr, ui_but_update_and_icon_set(), and ui_def_but_rna_propname().

Referenced by template_ID().

◆ uiDefIconButR_prop()

uiBut * uiDefIconButR_prop ( uiBlock * block,
int type,
int retval,
int icon,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
PropertyRNA * prop,
int index,
float min,
float max,
const char * tip )

◆ uiDefIconButS()

uiBut * uiDefIconButS ( uiBlock * block,
int type,
int retval,
int icon,
int x,
int y,
short width,
short height,
short * poin,
float min,
float max,
const char * tip )

Definition at line 5570 of file interface.cc.

References min, UI_BUT_POIN_SHORT, and uiDefIconBut().

Referenced by uiTemplatePreview().

◆ uiDefIconMenuBut()

uiBut * uiDefIconMenuBut ( uiBlock * block,
uiMenuCreateFunc func,
void * arg,
int icon,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefIconTextBut()

uiBut * uiDefIconTextBut ( uiBlock * block,
int type,
int retval,
int icon,
blender::StringRef str,
int x,
int y,
short width,
short height,
void * poin,
float min,
float max,
const char * tip )

Button containing both string label and icon.

Definition at line 5723 of file interface.cc.

References uiBut::drawflag, min, str, UI_BUT_ICON_LEFT, ui_but_update_and_icon_set(), and ui_def_but().

Referenced by asset_view_draw_item(), block_create_autorun_warning(), colorband_buttons_layout(), colorband_tools_fn(), create_title_button(), curve_profile_presets_fn(), curve_profile_tools_fn(), curvemap_tools_func(), CurveProfile_buttons_layout(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_byte_color(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_content_cell(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_float4x4(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_float_vector(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_int_vector(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_left_column_cell(), blender::ed::spreadsheet::SpreadsheetLayoutDrawer::draw_top_row_cell(), graph_draw_driver_settings_panel(), save_file_overwrite_cancel_button(), save_file_overwrite_confirm_button(), save_file_overwrite_saveas_button(), template_ID(), template_id_def_new_but(), template_operator_property_buts_draw_single(), template_texture_user_menu(), blender::ed::space_node::ui_node_draw_panel(), blender::ed::space_node::ui_node_menu_column(), UI_pie_menu_begin(), ui_pie_menu_level_create(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_button(), uiDefIconTextButI(), uiItemL_(), uiLayoutPanelProp(), uiTemplateRunningJobs(), wm_block_file_close_cancel_button(), wm_block_file_close_discard_button(), wm_block_file_close_save_button(), and wm_block_insert_unicode_create().

◆ uiDefIconTextButI()

uiBut * uiDefIconTextButI ( uiBlock * block,
int type,
int retval,
int icon,
blender::StringRef str,
int x,
int y,
short width,
short height,
int * poin,
float min,
float max,
const char * tip )

Definition at line 5742 of file interface.cc.

References min, str, UI_BUT_POIN_INT, and uiDefIconTextBut().

Referenced by ui_def_but_rna__menu().

◆ uiDefIconTextButO()

uiBut * uiDefIconTextButO ( uiBlock * block,
int type,
const char * opname,
wmOperatorCallContext opcontext,
int icon,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefIconTextButO_ptr()

uiBut * uiDefIconTextButO_ptr ( uiBlock * block,
int type,
wmOperatorType * ot,
wmOperatorCallContext opcontext,
int icon,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefIconTextButR()

uiBut * uiDefIconTextButR ( uiBlock * block,
int type,
int retval,
int icon,
const char * str,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
const char * propname,
int index,
float min,
float max,
const char * tip )

◆ uiDefIconTextButR_prop()

uiBut * uiDefIconTextButR_prop ( uiBlock * block,
int type,
int retval,
int icon,
const char * str,
int x,
int y,
short width,
short height,
PointerRNA * ptr,
PropertyRNA * prop,
int index,
float min,
float max,
const char * tip )

◆ uiDefIconTextMenuBut()

uiBut * uiDefIconTextMenuBut ( uiBlock * block,
uiMenuCreateFunc func,
void * arg,
int icon,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefMenuBut()

uiBut * uiDefMenuBut ( uiBlock * block,
uiMenuCreateFunc func,
void * arg,
blender::StringRef str,
int x,
int y,
short width,
short height,
const char * tip )

◆ uiDefSearchBut()

◆ uiDefSearchButO_ptr()

uiBut * uiDefSearchButO_ptr ( uiBlock * block,
wmOperatorType * ot,
IDProperty * properties,
void * arg,
int retval,
int icon,
int maxncpy,
int x,
int y,
short width,
short height,
const char * tip )

Same parameters as for uiDefSearchBut, with additional operator type and properties, used by callback to call again the right op with the right options (properties values).

Definition at line 6499 of file interface.cc.

References PointerRNA::data, IDP_CopyProperty(), uiBut::opcontext, operator_enum_search_exec_fn(), operator_enum_search_update_fn(), uiBut::optype, ot, ptr, UI_but_func_search_set(), UI_but_operator_ptr_ensure(), ui_searchbox_create_generic(), uiDefSearchBut(), and WM_OP_EXEC_DEFAULT.

Referenced by wm_enum_search_menu().

◆ uiItemBooleanO()

◆ uiItemDecoratorR()

void uiItemDecoratorR ( uiLayout * layout,
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 3175 of file interface_layout.cc.

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

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

◆ uiItemDecoratorR_prop()

◆ uiItemEnumO()

◆ uiItemEnumO_ptr()

◆ uiItemEnumO_string()

◆ 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,
PointerRNA * ptr,
const char * propname,
int value )

◆ uiItemEnumR_prop()

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

◆ uiItemEnumR_string()

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

◆ uiItemEnumR_string_prop()

◆ uiItemFloatO()

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

◆ uiItemFullO()

◆ uiItemFullO_ptr()

◆ uiItemFullOMenuHold_ptr()

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

◆ uiItemFullR()

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

Definition at line 2073 of file interface_layout.cc.

References uiLayout::activate_init, BLI_assert, BLI_insertlinkafter(), BLI_remlink(), uiLayoutRoot::block, uiBlock::buttons, CTX_data_main(), PointerRNA::data, uiBut::drawflag, ED_id_rename(), ELEM, uiBut::emboss, uiLayout::emboss, uiBlock::evil_C, ListBase::first, flag, uiBlock::flag, uiItem::flag, uiBut::icon, ListBase::last, len, max_ii(), NA_RENAME, NC_ID, uiBut::next, PointerRNA::owner_id, uiButNumber::precision, uiButNumberSlider::precision, 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(), RNA_struct_name_property(), uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, uiLayout::root, uiLayout::space, uiButNumber::step_size, uiButNumberSlider::step_size, str, uiBut::str, STRNCPY_RLEN, PointerRNA::type, uiBut::type, uiLayoutRoot::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_BUT2_FORCE_SEMI_MODAL_ACTIVE, UI_BUT_ACTIVATE_ON_INIT, ui_but_add_search(), ui_but_change_type(), UI_BUT_CHECKBOX_INVERT, UI_but_flag2_enable(), UI_but_flag_enable(), UI_but_func_rename_full_set(), UI_BUT_LIST_ITEM, UI_but_placeholder_set(), UI_BUT_REDALERT, 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_TEXT_BUT_FORCE_SEMI_MODAL_ACTIVE, 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(), w(), and WM_main_add_notifier().

Referenced by blur_panel_draw(), blur_panel_draw(), CurveProfile_buttons_layout(), blender::nodes::draw_common_bake_settings(), draw_export_properties(), generator_panel_draw(), blender::intersection_panel_draw(), blender::material_mask_panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), screen_user_menu_draw(), blender::ed::space_node::std_node_socket_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()

◆ uiItemFullR_with_popover()

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

◆ uiItemIntO()

◆ uiItemL()

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

Definition at line 3339 of file interface_layout.cc.

References uiItemL_().

Referenced by blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), blender::ui::BasicTreeViewItem::add_label(), blender::ed::space_node::add_root_catalogs_draw(), blender::bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), block_create_save_file_overwrite_dialog(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ed::spreadsheet::CurvesDomainViewItem::build_row(), blender::ed::spreadsheet::CurvesViewItem::build_row(), blender::ed::spreadsheet::GreasePencilLayerCurvesDomainViewItem::build_row(), blender::ed::spreadsheet::GreasePencilLayersViewItem::build_row(), blender::ed::spreadsheet::GreasePencilLayerViewItem::build_row(), blender::ed::spreadsheet::GreasePencilViewItem::build_row(), blender::ed::spreadsheet::InstanceReferenceViewItem::build_row(), blender::ed::spreadsheet::InstancesViewItem::build_row(), blender::ed::spreadsheet::MeshDomainViewItem::build_row(), blender::ed::spreadsheet::MeshViewItem::build_row(), blender::ed::spreadsheet::PointCloudViewItem::build_row(), blender::ed::spreadsheet::PointsViewItem::build_row(), blender::ed::spreadsheet::RootGeometryViewItem::build_row(), blender::ed::spreadsheet::VolumeGridsViewItem::build_row(), blender::ui::bonecollections::BoneCollectionItem::build_row(), buttons_panel_context_draw(), blender::ed::geometry::catalog_assets_draw_unassigned(), blender::chaining_panel_draw(), blender::ed::object::collection_exporter_menu_draw(), blender::composition_panel_draw(), draw_constraint_header(), draw_export_controls(), blender::draw_interface_panel_content(), blender::draw_named_attributes_panel(), blender::ed::space_node::draw_node_socket_name_editable(), blender::draw_property_for_output_socket(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::draw_warnings(), driver_dvar_invalid_name_query_cb(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), blender::edge_types_panel_draw(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), file_overwrite_detailed_info_show(), fmodifier_panel_header(), generator_panel_draw(), graph_draw_driven_property_panel(), graph_draw_driver_settings_panel(), graph_panel_drivers_popover(), graph_panel_key_properties(), graph_panel_properties(), image_new_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_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::nodes::node_composite_convert_color_space_cc::node_composit_buts_convert_colorspace(), 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_file_output_cc::node_composit_buts_file_output(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_glare_cc::node_composit_buts_glare(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), 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(), blender::occlusion_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), recent_files_menu_draw(), blender::ed::object::root_catalogs_draw(), screen_user_menu_draw(), shaderfx_panel_end(), shaderfx_panel_header(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), blender::ed::spreadsheet::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(), uiLayoutPanel(), uiLayoutPanelProp(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateCacheFileProcedural(), uiTemplateEventFromKeymapItem(), uiTemplateImageInfo(), uiTemplateImageSettings(), uiTemplateInputStatus(), uiTemplateInputStatusAzone(), uiTemplateMovieclipInformation(), uiTemplateStatusBarModalItem(), uiTemplateStatusInfo(), uiTemplateTextureUser(), blender::ed::object::unassigned_assets_draw(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_posearmature_buts(), v3d_transform_butsR(), blender::vgroup_panel_draw(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_splash_create(), and WM_window_modal_keymap_status_draw().

◆ uiItemL_ex()

◆ uiItemL_respect_property_split()

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

Helper to add a label using a property split layout if needed. After calling this the active layout will be the one to place the labeled items in. An additional layout may be returned to place decorator buttons in.

Returns
the layout to place decorators in, if UI_ITEM_PROP_SEP is enabled. Otherwise null.

Definition at line 3361 of file interface_layout.cc.

References uiPropertySplitWrapper::decorate_column, uiItem::flag, uiPropertySplitWrapper::label_column, uiPropertySplitWrapper::property_row, UI_block_layout_set_current(), ui_item_name_add_colon(), UI_ITEM_PROP_SEP, UI_MAX_NAME_STR, uiItemL_(), uiItemPropertySplitWrapperCreate(), and uiLayoutGetBlock().

Referenced by graph_panel_key_properties(), template_ID(), template_search_buttons(), ui_item_with_label(), and ui_layout_heading_label_add().

◆ uiItemLDrag()

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

Label icon for dragging.

Definition at line 3383 of file interface_layout.cc.

References PointerRNA::owner_id, ptr, RNA_struct_is_ID(), PointerRNA::type, UI_but_drag_set_id(), and uiItemL_().

Referenced by buttons_panel_context_draw().

◆ uiItemM()

◆ uiItemM_ptr()

◆ uiItemMContents()

◆ uiItemMenuEnumFullO()

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

◆ uiItemMenuEnumFullO_ptr()

◆ uiItemMenuEnumO()

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

◆ uiItemMenuEnumR()

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

◆ uiItemMenuEnumR_prop()

◆ uiItemMenuF()

◆ uiItemMenuFN()

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

Version of uiItemMenuF that free's argN.

Definition at line 3528 of file interface_layout.cc.

References ui_item_menu().

Referenced by workspace_add_invoke().

◆ uiItemO()

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

Definition at line 1888 of file interface_layout.cc.

References uiLayoutRoot::opcontext, uiLayout::root, UI_ITEM_NONE, and uiItemFullO().

Referenced by blender::bake_panel_draw(), blender::ed::asset_browser::AssetCatalogTreeViewItem::build_context_menu(), buttons_panel_context_draw(), colorband_tools_fn(), constraint_ops_extra_draw(), blender::nodes::node_geo_bake_cc::draw_bake_items(), draw_constraint_header(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), ED_screens_header_tools_menu_create(), ED_screens_region_flip_menu_create(), file_panel_asset_catalog_buttons_draw(), file_panel_execution_cancel_button(), file_panel_execution_execute_button(), generate_panel_draw(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_drivers_popover(), graph_panel_modifiers(), blender::ed::asset::shelf::library_selector_draw(), 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_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), override_idtemplate_menu_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), blender::ed::object::parent_set_invoke_menu(), recent_files_menu_draw(), screen_area_menu_items(), shaderfx_panel_header(), shape_panel_draw(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), subdivisions_panel_draw(), ui_popup_context_menu_for_button(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateCollectionExporters(), uiTemplateImage(), uiTemplateMovieClip(), uiTemplateOperatorRedoProperties(), uiTemplateStatusInfo(), and workspace_add_invoke().

◆ uiItemPointerR()

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

Definition at line 2945 of file interface_layout.cc.

References ptr, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, PointerRNA::type, and uiItemPointerR_prop().

Referenced by blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::modifier::greasepencil::draw_vertex_group_settings(), edbm_blend_from_shape_ui(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__transChan(), layers_panel_draw(), modifier_vgroup_ui(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_shader_normal_map_cc::node_shader_buts_normal_map(), blender::nodes::node_shader_tangent_cc::node_shader_buts_tangent(), blender::nodes::node_shader_tex_pointdensity_cc::node_shader_buts_tex_pointdensity(), blender::nodes::node_shader_uvmap_cc::node_shader_buts_uvmap(), blender::nodes::node_shader_vertex_color_cc::node_shader_buts_vertex_color(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), texture_panel_draw(), texture_panel_draw(), vertex_group_panel_draw(), blender::vgroup_panel_draw(), and weightvg_ui_common().

◆ uiItemPointerR_prop()

◆ uiItemPopoverPanel()

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

◆ uiItemPopoverPanel_ptr()

◆ uiItemPopoverPanelFromGroup()

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

◆ uiItemProgressIndicator()

◆ 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.

The returned #uiPropertySplitWrapper.decorator_column may be null when decorators are disabled (uiLayoutGetPropDecorate() returns false).

Definition at line 3344 of file interface_layout.cc.

References uiLayout::alignment, uiPropertySplitWrapper::decorate_column, uiPropertySplitWrapper::label_column, uiPropertySplitWrapper::property_row, UI_ITEM_PROP_SEP_DIVIDE, ui_item_prop_split_layout_hack(), UI_LAYOUT_ALIGN_RIGHT, uiLayoutColumn(), uiLayoutGetPropDecorate(), 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,
eUI_Item_Flag flag,
const char * name,
int icon )

Definition at line 2536 of file interface_layout.cc.

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

Referenced by blender::add_attribute_search_button(), blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), advanced_panel_draw(), advanced_panel_draw(), advanced_panel_draw(), apply_armature_pose2bones_ui(), blender::ed::asset::shelf::asset_shelf_header_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), block_create_autorun_warning(), blur_panel_draw(), blur_panel_draw(), blender::ui::bonecollections::BoneCollectionItem::build_row(), cache_file_layer_item(), caps_panel_draw(), blender::chaining_panel_draw(), clamp_panel_draw(), colorband_buttons_layout(), component_menu(), blender::composition_panel_draw(), constant_offset_draw(), constant_offset_header_draw(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_bake_data_block_list_item(), blender::nodes::node_geo_bake_cc::draw_bake_item(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::draw_bake_panel(), blender::nodes::draw_common_bake_settings(), draw_constraint_header(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_exporter_item(), draw_fill_tile(), blender::ed::space_node::draw_gizmo_pin_icon(), blender::nodes::node_geo_attribute_capture_cc::draw_item(), blender::nodes::node_geo_foreach_geometry_element_cc::draw_item(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::node_geo_menu_switch_cc::draw_menu_switch_item(), blender::ed::space_node::draw_node_socket_name_editable(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::nodes::node_geo_repeat_cc::draw_repeat_state_item(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::nodes::node_geo_simulation_cc::draw_simulation_state_item(), blender::modifier::greasepencil::draw_vertex_group_settings(), 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(), blender::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(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), face_panel_draw(), face_panel_draw_header(), falloff_panel_draw(), falloff_panel_draw(), falloff_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(), generate_panel_draw(), generator_panel_draw(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), blender::ed::geometry::geometry_color_attribute_convert_ui(), geometry_panel_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__contextProp(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__transChan(), graph_panel_driverVar_fallback(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), blender::ed::asset::shelf::library_selector_draw(), limits_panel_draw(), blender::ed::sculpt_paint::mask::mask_from_boundary_ui(), blender::ed::sculpt_paint::mask::mask_from_cavity_ui(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), materials_panel_draw(), menu_add_shortcut(), menu_change_shortcut(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), mix_mode_panel_draw(), modifier_grease_pencil_curve_header_draw(), modifier_ops_extra_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_file_output_cc::node_composit_buts_file_output(), blender::nodes::node_composite_file_output_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_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_kuwahara_cc::node_composit_buts_kuwahara(), 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_pixelate_cc::node_composit_buts_pixelate(), 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_cc::node_composit_buts_split(), 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_render_layer_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_shader_bsdf_principled_cc::node_declare(), blender::nodes::node_fn_align_euler_to_vector_cc::node_layout(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_layout(), blender::nodes::node_fn_axes_to_rotation_cc::node_layout(), blender::nodes::node_fn_boolean_math_cc::node_layout(), blender::nodes::node_fn_combine_color_cc::node_layout(), blender::nodes::node_fn_compare_cc::node_layout(), blender::nodes::node_fn_float_to_int_cc::node_layout(), blender::nodes::node_fn_hash_value_cc::node_layout(), blender::nodes::node_fn_input_bool_cc::node_layout(), blender::nodes::node_fn_input_color_cc::node_layout(), blender::nodes::node_fn_input_int_cc::node_layout(), blender::nodes::node_fn_input_rotation_cc::node_layout(), blender::nodes::node_fn_input_string_cc::node_layout(), blender::nodes::node_fn_input_vector_cc::node_layout(), blender::nodes::node_fn_integer_math_cc::node_layout(), blender::nodes::node_fn_random_value_cc::node_layout(), blender::nodes::node_fn_rotate_euler_cc::node_layout(), blender::nodes::node_fn_rotate_rotation_cc::node_layout(), blender::nodes::node_fn_separate_color_cc::node_layout(), blender::nodes::node_fn_value_to_string_cc::node_layout(), 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_bake_cc::node_layout(), blender::nodes::node_geo_blur_attribute_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_in_grid_cc::node_layout(), blender::nodes::node_geo_distribute_points_in_volume_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_evaluate_at_index_cc::node_layout(), blender::nodes::node_geo_evaluate_on_domain_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_foreach_geometry_element_cc::input_node::node_layout(), blender::nodes::node_geo_get_named_grid_cc::node_layout(), blender::nodes::node_geo_gizmo_dial_cc::node_layout(), blender::nodes::node_geo_gizmo_linear_cc::node_layout(), blender::nodes::node_geo_image_texture_cc::node_layout(), blender::nodes::node_geo_index_switch_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_menu_switch_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_merge_layers_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_remove_attribute_cc::node_layout(), blender::nodes::node_geo_sample_grid_cc::node_layout(), blender::nodes::node_geo_sample_grid_index_cc::node_layout(), blender::nodes::node_geo_sample_index_cc::node_layout(), blender::nodes::node_geo_sample_nearest_cc::node_layout(), blender::nodes::node_geo_sample_nearest_surface_cc::node_layout(), blender::nodes::node_geo_sample_uv_surface_cc::node_layout(), blender::nodes::node_geo_scale_elements_cc::node_layout(), blender::nodes::node_geo_sdf_grid_boolean_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_set_curve_normal_cc::node_layout(), blender::nodes::node_geo_set_shade_smooth_cc::node_layout(), blender::nodes::node_geo_sort_elements_cc::node_layout(), blender::nodes::node_geo_split_to_instances_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_store_named_grid_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::nodes::node_geo_subdivision_surface_cc::node_layout(), blender::nodes::node_geo_switch_cc::node_layout(), blender::nodes::node_geo_tool_active_element_cc::node_layout(), blender::nodes::node_geo_tool_set_selection_cc::node_layout(), blender::nodes::node_geo_transform_geometry_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_warning_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_viewer_cc::node_layout_ex(), blender::nodes::node_shader_ambient_occlusion_cc::node_shader_buts_ambient_occlusion(), 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_glossy_cc::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_bsdf_metallic_cc::node_shader_buts_metallic(), 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_hair_principled_cc::node_shader_buts_principled_hair(), blender::ed::space_node::node_shader_buts_scatter(), blender::nodes::node_shader_volume_scatter_cc::node_shader_buts_scatter(), 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_bsdf_sheen_cc::node_shader_buts_sheen(), 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_gabor_cc::node_shader_buts_tex_gabor(), 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_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_vertex_color_cc::node_shader_buts_vertex_color(), 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(), normals_panel_draw(), blender::ed::object::object_convert_ui(), object_offset_draw(), object_offset_header_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), path_panel_draw(), path_panel_draw_header(), blender::ed::asset::shelf::popover_panel_draw(), position_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), random_panel_draw(), random_panel_header_draw(), relative_offset_draw(), relative_offset_header_draw(), restrictions_panel_draw(), blender::ed::sculpt_paint::color::sculpt_color_filter_ui(), blender::ed::sculpt_paint::filter::sculpt_mesh_ui_exec(), blender::segment_list_item_draw(), blender::ed::curves::select_ends_ui(), blender::ed::curves::select_random_ui(), blender::ed::sculpt_paint::select_random::select_random_ui(), sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::nodes::node_sh_mix_cc::sh_node_mix_layout(), blender::ed::object::shade_auto_smooth_ui(), shaderfx_panel_header(), shading_panel_draw(), solver_options_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw(), blender::ed::spreadsheet::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(), 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(), unwrap_draw(), uv_pack_islands_ui(), 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(), blender::vgroup_panel_draw(), view3d_panel_vgroup(), wave_header_draw(), wave_panel_draw(), weightvg_ui_common(), wm_clear_recent_files_ui(), wm_open_mainfile_ui(), and wm_stereo3d_set_draw().

◆ uiItemS()

void uiItemS ( uiLayout * layout)

Separator item

Definition at line 3441 of file interface_layout.cc.

References uiItemS_ex().

Referenced by blender::ed::asset::shelf::add_catalog_tabs(), blender::ed::space_node::add_root_catalogs_draw(), blender::ed::asset::shelf::asset_shelf_header_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), blender::ed::geometry::catalog_assets_draw(), blender::ed::object::catalog_assets_draw(), blender::ed::geometry::catalog_assets_draw_unassigned(), colorband_tools_fn(), constraint_ops_extra_draw(), create_title_button(), draw_constraint_header(), blender::ed::sculpt_paint::dyntopo::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_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(), blender::ed::object::move_to_collection_menu_create(), move_to_collection_menu_create(), nla_panel_animdata(), nla_panel_properties(), blender::ed::space_node::node_add_catalog_assets_draw(), blender::nodes::node_composite_directionalblur_cc::node_composit_buts_dblur(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), blender::ed::outliner::outliner_operator_menu(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), recent_files_menu_draw(), blender::ed::object::root_catalogs_draw(), 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_reports(), blender::ed::object::ui_template_modifier_asset_menu_items(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiTemplateColorPicker(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplatePreview(), blender::ed::object::unassigned_assets_draw(), unwrap_draw(), uv_pack_islands_ui(), wm_block_insert_unicode_create(), wm_block_splash_create(), wm_clear_recent_files_ui(), workspace_add_invoke(), and workspace_add_menu().

◆ uiItemS_ex()

◆ uiItemsAlertBox() [1/2]

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

◆ uiItemsAlertBox() [2/2]

uiLayout * uiItemsAlertBox ( uiBlock * block,
const uiStyle * style,
const int dialog_width,
const eAlertIcon icon,
const int icon_size )

◆ uiItemsEnumO()

◆ uiItemsEnumR()

◆ uiItemsFullEnumO()

◆ uiItemsFullEnumO_items()

◆ uiItemSpacer()

◆ uiItemStringO()

◆ uiItemTabsEnumR_prop()

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

◆ uiLayoutAbsolute()

◆ uiLayoutAbsoluteBlock()

◆ uiLayoutBox()

◆ uiLayoutColumn()

uiLayout * uiLayoutColumn ( uiLayout * layout,
bool align )

Definition at line 5081 of file interface_layout.cc.

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

Referenced by advanced_panel_draw(), advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), block_create_save_file_overwrite_dialog(), blur_panel_draw(), blur_panel_draw(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::ui::TreeViewLayoutBuilder::build_row(), caps_panel_draw(), clamp_panel_draw(), component_menu(), blender::composition_panel_draw(), constant_offset_draw(), constraint_ops_extra_draw(), curvemap_buttons_layout(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::draw_bake_panel(), blender::nodes::draw_common_bake_settings(), draw_export_properties(), draw_fill_tile(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::ed::asset::draw_menu_for_catalog(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::modifier::greasepencil::draw_vertex_group_settings(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_decimate_ui(), edge_data_panel_draw(), blender::edge_types_panel_draw(), envelope_panel_draw(), file_overwrite_detailed_info_show(), file_panel_asset_catalog_buttons_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), generate_panel_draw(), generator_panel_draw(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__contextProp(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__singleProp(), graph_panel_driverVar__transChan(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), hud_panel_operator_redo_draw(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), layers_panel_draw(), limits_panel_draw(), blender::material_mask_panel_draw(), materials_panel_draw(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), 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_file_output_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_kuwahara_cc::node_composit_buts_kuwahara(), 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_cc::node_composit_buts_split(), 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_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_composite_zcombine_cc::node_composit_buts_zcombine(), blender::nodes::node_fn_input_bool_cc::node_layout(), blender::nodes::node_fn_input_int_cc::node_layout(), blender::nodes::node_fn_input_rotation_cc::node_layout(), blender::nodes::node_fn_input_vector_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), 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(), normals_panel_draw(), object_offset_draw(), blender::occlusion_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), path_panel_draw(), blender::ed::asset::shelf::popover_panel_draw(), position_panel_draw(), profile_panel_draw(), relative_offset_draw(), blender::ed::curves::select_ends_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::object::shade_auto_smooth_ui(), 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(), 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::object::ui_template_modifier_asset_menu_items(), blender::ed::space_node::ui_template_node_asset_menu_items(), blender::ed::space_node::ui_template_node_link_menu(), blender::ed::geometry::ui_template_node_operator_asset_menu_items(), uiDefAutoButsRNA(), uiItemDecoratorR_prop(), uiItemFullR(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiLayoutColumnWithHeading(), uiTemplateAssetView(), uiTemplateCacheFileLayers(), uiTemplateCollectionExporters(), uiTemplateColormanagedViewSettings(), uiTemplateColorPicker(), uiTemplateHistogram(), uiTemplateImage(), uiTemplateImageInfo(), uiTemplateImageSettings(), uiTemplateImageStereo3d(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMovieClip(), uiTemplateMovieclipInformation(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateViewsFormat(), uiTemplateWaveform(), undo_history_draw_menu(), unwrap_draw(), uv_panel_draw(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_posearmature_buts(), v3d_transform_butsR(), vertex_group_panel_draw(), blender::vgroup_panel_draw(), view3d_panel_transform(), view3d_panel_vgroup(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_open_mainfile_ui(), and wm_stereo3d_set_draw().

◆ uiLayoutColumnFlow()

◆ 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 5094 of file interface_layout.cc.

References ui_layout_heading_set(), and uiLayoutColumn().

Referenced by blender::chaining_panel_draw(), edbm_bevel_ui(), nla_panel_properties(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), and shading_panel_draw().

◆ uiLayoutContextCopy()

◆ uiLayoutEndsWithPanelHeader()

◆ uiLayoutGetActivateInit()

bool uiLayoutGetActivateInit ( uiLayout * layout)

Definition at line 5370 of file interface_layout.cc.

References uiLayout::activate_init.

◆ uiLayoutGetActive()

bool uiLayoutGetActive ( uiLayout * layout)

Definition at line 5360 of file interface_layout.cc.

References uiLayout::active.

◆ uiLayoutGetActiveDefault()

bool uiLayoutGetActiveDefault ( uiLayout * layout)

Definition at line 5365 of file interface_layout.cc.

References uiLayout::active_default.

◆ uiLayoutGetAlignment()

int uiLayoutGetAlignment ( uiLayout * layout)

Definition at line 5390 of file interface_layout.cc.

References uiLayout::alignment.

Referenced by uiItemL_().

◆ uiLayoutGetBlock()

uiBlock * uiLayoutGetBlock ( uiLayout * layout)

Definition at line 5927 of file interface_layout.cc.

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

Referenced by blender::add_attribute_search_button(), blender::ed::asset::shelf::add_catalog_tabs(), blender::ed::asset::shelf::asset_shelf_header_draw(), asset_view_draw_item(), blender::ed::asset::shelf::build_asset_view(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ed::asset::shelf::AssetViewItem::build_grid_tile(), blender::ui::PreviewGridItem::build_grid_tile_button(), blender::ui::GridViewBuilder::build_grid_view(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ui::TreeViewBuilder::build_tree_view(), blender::ed::asset::shelf::catalog_selector_panel_draw(), blender::ed::asset::shelf::catalog_tree_draw(), create_title_button(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), draw_constraint_header(), envelope_panel_draw(), blender::ed::asset_browser::file_create_asset_catalog_tree_view_in_layout(), file_panel_execution_buttons_draw(), file_panel_operator(), fmodifier_panel_header(), graph_draw_driven_property_enabled_btn(), graph_draw_driver_settings_panel(), graph_panel_key_properties(), graph_panel_modifiers(), modifier_panel_get_property_pointers(), modifier_panel_header(), 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(), blender::ui::template_asset_shelf_popover(), 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(), UI_menutype_draw(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_draw_panel(), blender::ed::space_node::ui_node_menu_column(), ui_paneltype_draw_impl(), UI_popup_block_template_confirm_op(), 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(), uiLayoutListItemAddPadding(), uiLayoutPanelProp(), uiTemplateBoneCollectionTree(), uiTemplateCollectionExporters(), uiTemplateColorPicker(), uiTemplateComponentMenu(), uiTemplateConstraintHeader(), uiTemplateCryptoPicker(), uiTemplateCurveMapping(), uiTemplateCurveProfile(), uiTemplateFileSelectPath(), uiTemplateGreasePencilLayerTree(), uiTemplateHistogram(), uiTemplateImage(), uiTemplateKeymapItemProperties(), uiTemplateLayers(), uiTemplateLightLinkingCollection(), uiTemplateMarker(), uiTemplateMenuSearch(), uiTemplateMovieClip(), uiTemplateNodeLink(), uiTemplateNodeSocket(), uiTemplateNodeTreeInterface(), uiTemplateOperatorRedoProperties(), uiTemplateOperatorSearch(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateRecentFiles(), uiTemplateReportsBanner(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), uiTemplateTextureShow(), uiTemplateTextureUser(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateWaveform(), view3d_panel_transform(), and wm_block_dialog_create().

◆ uiLayoutGetContextStore()

bContextStore * uiLayoutGetContextStore ( uiLayout * layout)

◆ uiLayoutGetEmboss()

eUIEmbossType uiLayoutGetEmboss ( uiLayout * layout)

◆ uiLayoutGetEnabled()

bool uiLayoutGetEnabled ( uiLayout * layout)

Definition at line 5375 of file interface_layout.cc.

References uiLayout::enabled.

◆ uiLayoutGetFixedSize()

bool uiLayoutGetFixedSize ( uiLayout * layout)

Definition at line 6041 of file interface_layout.cc.

References uiItem::flag, and UI_ITEM_FIXED_SIZE.

◆ uiLayoutGetKeepAspect()

bool uiLayoutGetKeepAspect ( uiLayout * layout)

Definition at line 5385 of file interface_layout.cc.

References uiLayout::keepaspect.

◆ uiLayoutGetLocalDir()

◆ uiLayoutGetOperatorContext()

wmOperatorCallContext uiLayoutGetOperatorContext ( uiLayout * layout)

Definition at line 5932 of file interface_layout.cc.

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

Referenced by UI_popup_block_template_confirm_op().

◆ uiLayoutGetPropDecorate()

bool uiLayoutGetPropDecorate ( uiLayout * layout)

Definition at line 5335 of file interface_layout.cc.

References uiItem::flag, and UI_ITEM_PROP_DECORATE.

Referenced by uiItemPropertySplitWrapperCreate().

◆ uiLayoutGetPropSep()

bool uiLayoutGetPropSep ( uiLayout * layout)

Definition at line 5325 of file interface_layout.cc.

References uiItem::flag, and UI_ITEM_PROP_SEP.

◆ uiLayoutGetRedAlert()

bool uiLayoutGetRedAlert ( uiLayout * layout)

Definition at line 5380 of file interface_layout.cc.

References uiLayout::redalert.

◆ uiLayoutGetRootPanel()

Panel * uiLayoutGetRootPanel ( uiLayout * layout)

Definition at line 5355 of file interface_layout.cc.

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

Referenced by uiLayoutPanel(), and uiTemplateNodeInputs().

◆ uiLayoutGetScaleX()

float uiLayoutGetScaleX ( uiLayout * layout)

Definition at line 5400 of file interface_layout.cc.

References uiLayout::scale.

◆ uiLayoutGetScaleY()

float uiLayoutGetScaleY ( uiLayout * layout)

Definition at line 5405 of file interface_layout.cc.

References uiLayout::scale.

◆ uiLayoutGetSearchWeight()

float uiLayoutGetSearchWeight ( uiLayout * layout)

Definition at line 5350 of file interface_layout.cc.

References uiLayout::search_weight.

◆ uiLayoutGetUnitsX()

float uiLayoutGetUnitsX ( uiLayout * layout)

◆ uiLayoutGetUnitsY()

float uiLayoutGetUnitsY ( uiLayout * layout)

Definition at line 5415 of file interface_layout.cc.

References uiLayout::units.

◆ uiLayoutGetWidth()

◆ uiLayoutGridFlow()

◆ uiLayoutListBox()

◆ uiLayoutListItemAddPadding()

◆ uiLayoutListItemPaddingWidth()

int uiLayoutListItemPaddingWidth ( )

Definition at line 5428 of file interface_layout.cc.

References UI_SCALE_FAC.

Referenced by uiLayoutListItemAddPadding().

◆ uiLayoutOverlap()

◆ uiLayoutPanel() [1/2]

◆ uiLayoutPanel() [2/2]

uiLayout * uiLayoutPanel ( const bContext * C,
uiLayout * layout,
const char * idname,
bool default_closed,
const char * label )

Variant of uiLayoutPanel that automatically creates the header row with the given label and only returns the body layout.

Parameters
labelText that's shown in the panel header. It should already be translated.
Returns
NULL if the panel is closed and should not be drawn, otherwise the layout where the sub-panel should be inserted into.

Definition at line 5053 of file interface_layout.cc.

References PanelLayout::body, PanelLayout::header, label, uiItemL(), and uiLayoutPanel().

◆ uiLayoutPanelProp() [1/2]

PanelLayout uiLayoutPanelProp ( const bContext * C,
uiLayout * layout,
PointerRNA * open_prop_owner,
const char * open_prop_name )

Create a "layout panel" which is a panel that is defined as part of the uiLayout. This allows creating expandable sections which can also be nested.

The open-state of the panel is defined by an RNA property which is passed in as a pointer + property name pair. This gives the caller flexibility to decide who should own the open-state.

Parameters
CThe context is necessary because sometimes the panel may be forced to be open by the context even of the open-property is false. This can happen with e.g. property search.
layoutThe uiLayout that should contain the sub-panel. Only layouts that span the full width of the region are supported for now.
open_prop_ownerData that contains the open-property.
open_prop_nameName of the open-property in open_prop_owner.
Returns
A PanelLayout containing layouts for both the header row and the panel body. If the panel is closed and should not be drawn, the body layout will be NULL.

Definition at line 4981 of file interface_layout.cc.

References uiLayoutRoot::block, CTX_wm_region(), ITEM_LAYOUT_PANEL_BODY, ITEM_LAYOUT_PANEL_HEADER, uiLayoutItemPanelHeader::open_prop_name, uiLayoutItemPanelHeader::open_prop_owner, RGN_FLAG_SEARCH_FILTER_ACTIVE, RNA_boolean_get(), uiLayout::root, uiLayout::space, STRNCPY, uiLayoutRoot::style, uiStyle::templatespace, uiItem::type, UI_block_layout_set_current(), UI_BTYPE_LABEL, ui_litem_init_from_parent(), ui_text_icon_width(), UI_UNIT_Y, uiDefIconTextBut(), uiLayoutGetBlock(), uiLayoutRow(), and uiLayoutSetUnitsY().

Referenced by blender::draw_interface_panel_content(), blender::draw_manage_panel(), blender::draw_warnings(), blender::ui::nodes::handle_node_declaration_items(), blender::panel_draw(), uiLayoutPanel(), uiLayoutPanelProp(), and uiTemplateCollectionExporters().

◆ uiLayoutPanelProp() [2/2]

uiLayout * uiLayoutPanelProp ( const bContext * C,
uiLayout * layout,
PointerRNA * open_prop_owner,
const char * open_prop_name,
const char * label )

Variant of uiLayoutPanelProp that automatically creates the header row with the given label and only returns the body layout.

Parameters
labelText that's shown in the panel header. It should already be translated.
Returns
NULL if the panel is closed and should not be drawn, otherwise the layout where the sub-panel should be inserted into.

Definition at line 5027 of file interface_layout.cc.

References PanelLayout::body, PanelLayout::header, label, uiItemL(), and uiLayoutPanelProp().

◆ uiLayoutRadial()

◆ uiLayoutRow()

uiLayout * uiLayoutRow ( uiLayout * layout,
bool align )

Definition at line 4968 of file interface_layout.cc.

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

Referenced by blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), advanced_panel_draw(), armature_parent_clear_invoke(), armature_parent_set_invoke(), blender::ed::asset::shelf::asset_shelf_header_draw(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ui::bonecollections::BoneCollectionItem::build_row(), blender::ui::greasepencil::LayerGroupViewItem::build_row(), blender::ui::greasepencil::LayerViewItem::build_row(), blender::ui::TreeViewLayoutBuilder::build_row(), buttons_panel_context_draw(), cache_file_layer_item(), clamp_panel_draw(), blender::ed::object::collection_hide_menu_draw(), colorband_buttons_layout(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_bake_data_block_list_item(), blender::nodes::node_geo_bake_cc::draw_bake_item(), blender::nodes::node_geo_bake_cc::draw_bake_items(), draw_constraint_header(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_export_controls(), draw_exporter_item(), blender::nodes::node_geo_attribute_capture_cc::draw_item(), blender::nodes::node_geo_foreach_geometry_element_cc::draw_item(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::draw_named_attributes_panel(), blender::ui::nodes::draw_node_input(), blender::draw_property_for_output_socket(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::nodes::node_geo_repeat_cc::draw_repeat_state_item(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::nodes::node_geo_simulation_cc::draw_simulation_state_item(), blender::modifier::greasepencil::draw_vertex_group_settings(), ed_panel_draw(), edbm_bevel_ui(), edbm_decimate_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), blender::edge_types_panel_draw(), envelope_panel_draw(), falloff_panel_draw(), falloff_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(), graph_draw_driven_property_panel(), graph_draw_driver_settings_panel(), graph_panel_driverVar__contextProp(), graph_panel_driverVar__singleProp(), graph_panel_driverVar_fallback(), graph_panel_modifiers(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), blender::intersection_panel_draw(), blender::ed::asset::shelf::library_selector_draw(), blender::material_mask_panel_draw(), metadata_panel_draw_field(), mix_mode_panel_draw(), modifier_panel_end(), modifier_panel_header(), modifier_vgroup_ui(), move_to_collection_menu_create(), 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::ed::space_node::node_buts_value(), 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_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_scale_cc::node_composit_buts_scale(), blender::nodes::node_composite_split_cc::node_composit_buts_split(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::nodes::node_shader_ies_light_cc::node_shader_buts_ies(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::ed::space_node::node_texture_buts_proc(), blender::ed::space_node::node_update_basis_socket(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), blender::ed::asset::shelf::popover_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), blender::ed::sculpt_paint::filter::sculpt_mesh_ui_exec(), blender::segment_list_item_draw(), sequencer_split_ui(), shaderfx_panel_end(), shaderfx_panel_header(), shape_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), blender::ed::space_node::std_node_socket_draw(), subdivisions_panel_draw(), template_add_button_search_menu(), blender::ui::template_asset_shelf_popover(), 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(), blender::ed::space_node::ui_node_draw_panel(), 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(), uiLayoutListItemAddPadding(), uiLayoutPanelProp(), uiLayoutRowWithHeading(), uilist_draw_filter_default(), uiTemplateAction(), uiTemplateAnyID(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateCollectionExporters(), uiTemplateColorPicker(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateInputStatus(), uiTemplateLayers(), uiTemplateMovieClip(), uiTemplatePaintModeSelection(), uiTemplatePalette(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), undo_history_draw_menu(), uv_pack_islands_ui(), vertex_group_panel_draw(), blender::vgroup_panel_draw(), view3d_panel_vgroup(), wm_block_about_create(), wm_block_splash_create(), WM_window_modal_keymap_status_draw(), and workspace_add_menu().

◆ uiLayoutRowWithHeading()

◆ uiLayoutSetActivateInit()

void uiLayoutSetActivateInit ( uiLayout * layout,
bool activate_init )

Definition at line 5275 of file interface_layout.cc.

References uiLayout::activate_init.

Referenced by uiDefAutoButsRNA().

◆ uiLayoutSetActive()

void uiLayoutSetActive ( uiLayout * layout,
bool active )

Definition at line 5265 of file interface_layout.cc.

References uiLayout::active.

Referenced by advanced_panel_draw(), advanced_panel_draw(), advanced_panel_draw(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ui::bonecollections::BoneCollectionItem::build_row(), blender::ui::TreeViewLayoutBuilder::build_row(), clamp_panel_draw(), blender::composition_panel_draw(), constant_offset_draw(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_common_bake_settings(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::draw_named_attributes_panel(), blender::modifier::greasepencil::draw_vertex_group_settings(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_decimate_ui(), edge_panel_draw(), blender::edge_types_panel_draw(), face_corner_panel_draw(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), blender::face_mark_panel_draw(), face_panel_draw(), falloff_panel_draw(), fmodifier_frame_range_draw(), fmodifier_get_pointers(), fmodifier_influence_draw(), geometry_panel_draw(), graph_panel_cursor(), blender::intersection_panel_draw(), limits_panel_draw(), blender::material_mask_panel_draw(), blender::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_buttons(), blender::ed::space_node::node_update_basis_socket(), object_offset_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), path_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), random_panel_draw(), relative_offset_draw(), blender::ed::object::shade_auto_smooth_ui(), shaderfx_panel_header(), shading_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), symmetry_panel_draw(), template_keymap_item_properties(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), uiTemplateMarker(), uiTemplateRunningJobs(), uv_pack_islands_ui(), 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 5270 of file interface_layout.cc.

References uiLayout::active_default.

Referenced by file_panel_execution_execute_button().

◆ uiLayoutSetAlignment()

◆ uiLayoutSetContextFromBut()

◆ uiLayoutSetContextPointer()

◆ uiLayoutSetContextString()

◆ uiLayoutSetEmboss()

◆ uiLayoutSetEnabled()

◆ uiLayoutSetFixedSize()

◆ uiLayoutSetFunc()

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

◆ uiLayoutSetKeepAspect()

void uiLayoutSetKeepAspect ( uiLayout * layout,
bool keepaspect )

Definition at line 5290 of file interface_layout.cc.

References uiLayout::keepaspect.

Referenced by uiTemplatePreview().

◆ uiLayoutSetOperatorContext()

◆ uiLayoutSetPropDecorate()

void uiLayoutSetPropDecorate ( uiLayout * layout,
bool is_sep )

Definition at line 5340 of file interface_layout.cc.

References uiItem::flag, SET_FLAG_FROM_TEST, and UI_ITEM_PROP_DECORATE.

Referenced by blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), blender::ui::greasepencil::LayerGroupViewItem::build_row(), blender::ui::greasepencil::LayerViewItem::build_row(), cycles_panel_draw(), data_panel_draw(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::draw_bake_panel(), blender::nodes::draw_common_bake_settings(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_export_properties(), draw_fill_tile(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::draw_property_for_socket(), blender::ed::geometry::draw_property_for_socket(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::modifier::greasepencil::draw_vertex_group_settings(), 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(), generator_panel_draw(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), blender::ed::geometry::geometry_color_attribute_convert_ui(), graph_panel_cursor(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), image_new_draw(), image_save_as_draw(), limits_panel_draw(), blender::ed::sculpt_paint::mask::mask_from_boundary_ui(), blender::ed::sculpt_paint::mask::mask_from_cavity_ui(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animdata(), nla_panel_properties(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_fn_align_euler_to_vector_cc::node_layout(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_get_named_grid_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_split_to_instances_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_store_named_grid_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::nodes::node_geo_tool_active_element_cc::node_layout(), blender::nodes::node_geo_transform_geometry_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_warning_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), noise_panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), blender::ed::geometry::run_node_group_ui(), screenshot_draw(), blender::ed::curves::select_ends_ui(), sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::object::shade_auto_smooth_ui(), blender::ed::spreadsheet::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(), blender::ed::space_node::ui_node_draw_panel(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateViewsFormat(), unwrap_draw(), uv_pack_islands_ui(), wm_clear_recent_files_ui(), and wm_stereo3d_set_draw().

◆ uiLayoutSetPropSep()

void uiLayoutSetPropSep ( uiLayout * layout,
bool is_sep )

Definition at line 5330 of file interface_layout.cc.

References uiItem::flag, SET_FLAG_FROM_TEST, and UI_ITEM_PROP_SEP.

Referenced by blender::add_attribute_search_or_value_buttons(), blender::ed::geometry::add_attribute_search_or_value_buttons(), advanced_panel_draw(), advanced_panel_draw(), advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), blur_panel_draw(), blur_panel_draw(), caps_panel_draw(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::composition_panel_draw(), constant_offset_draw(), CurveProfile_buttons_layout(), cycles_panel_draw(), data_panel_draw(), blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::draw_bake_panel(), blender::nodes::draw_common_bake_settings(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_export_properties(), draw_fill_tile(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::modifier::greasepencil::draw_vertex_group_settings(), 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(), blender::edge_types_panel_draw(), envelope_panel_draw(), face_corner_panel_draw(), face_corner_uv_panel_draw(), face_corner_vcol_panel_draw(), blender::face_mark_panel_draw(), face_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), falloff_panel_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), generate_panel_draw(), generator_panel_draw(), blender::ed::geometry::geometry_attribute_convert_ui(), blender::ed::geometry::geometry_color_attribute_add_ui(), blender::ed::geometry::geometry_color_attribute_convert_ui(), geometry_panel_draw(), graph_panel_cursor(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), layers_panel_draw(), limits_panel_draw(), blender::ed::sculpt_paint::mask::mask_from_boundary_ui(), blender::ed::sculpt_paint::mask::mask_from_cavity_ui(), blender::material_mask_panel_draw(), materials_panel_draw(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), mix_mode_panel_draw(), nla_panel_actclip(), nla_panel_animated_strip_time(), nla_panel_animdata(), nla_panel_evaluation(), nla_panel_properties(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_fn_align_euler_to_vector_cc::node_layout(), blender::nodes::node_fn_align_rotation_to_vector_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_get_named_grid_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_split_to_instances_cc::node_layout(), blender::nodes::node_geo_store_named_attribute_cc::node_layout(), blender::nodes::node_geo_store_named_grid_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::nodes::node_geo_tool_active_element_cc::node_layout(), blender::nodes::node_geo_transform_geometry_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_warning_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_menu_switch_cc::node_layout_ex(), blender::nodes::node_geo_repeat_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), noise_panel_draw(), normals_panel_draw(), normals_panel_draw(), blender::ed::object::object_convert_ui(), object_offset_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), override_layers_panel_draw(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), path_panel_draw(), position_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), random_panel_draw(), relative_offset_draw(), render_procedural_panel_draw(), restrictions_panel_draw(), blender::ed::geometry::run_node_group_ui(), screenshot_draw(), blender::ed::curves::select_ends_ui(), sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::object::shade_auto_smooth_ui(), shading_panel_draw(), solver_options_panel_draw(), blender::ed::spreadsheet::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(), texture_panel_draw(), tile_add_draw(), time_panel_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(), blender::ed::space_node::ui_node_draw_panel(), uiDefAutoButsRNA(), uiTemplateCacheFile(), uiTemplateImage(), uiTemplateImageSettings(), uiTemplateViewsFormat(), unwrap_draw(), uv_pack_islands_ui(), uv_panel_draw(), velocity_panel_draw(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_vgroup_panel_draw(), blender::vgroup_panel_draw(), wave_panel_draw(), weightvg_ui_common(), wm_clear_recent_files_ui(), and wm_stereo3d_set_draw().

◆ uiLayoutSetRedAlert()

◆ uiLayoutSetScaleX()

◆ uiLayoutSetScaleY()

◆ uiLayoutSetSearchWeight()

void uiLayoutSetSearchWeight ( uiLayout * layout,
float weight )

Definition at line 5345 of file interface_layout.cc.

References uiLayout::search_weight.

◆ 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 6118 of file interface_layout.cc.

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

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

◆ uiLayoutSetUnitsX()

◆ uiLayoutSetUnitsY()

void uiLayoutSetUnitsY ( uiLayout * layout,
float unit )

Definition at line 5315 of file interface_layout.cc.

References uiLayout::units.

Referenced by uiLayoutPanelProp().

◆ uiLayoutSplit()

◆ uiTemplateAction()

void uiTemplateAction ( uiLayout * layout,
const bContext * C,
ID * id,
const char * newop,
const char * unlinkop,
const char * text )

Action selector.

This is a specialization of uiTemplateID, hard-coded to assign Actions to the given ID. Such a specialization is necessary, as the RNA property (id.animation_data.action) does not exist when the ID's adt pointer is nullptr. In that case uiTemplateID will not be able to find the RNA type of that property, which in turn it needs to determine the type of IDs to show.

Definition at line 1902 of file interface_templates.cc.

References BKE_animdata_from_id(), BLI_assert, CTX_data_main(), TemplateID::filter, flag, ID_AC, id_can_have_animdata(), TemplateID::idcode, TemplateID::idlb, TemplateID::prop, PROP_POINTER, TemplateID::prv_cols, TemplateID::prv_rows, TemplateID::ptr, RNA_pointer_create(), RNA_property_type(), RNA_struct_type_find_property(), RNA_warning, TemplateID::scale, template_ID(), UI_ID_ADD_NEW, UI_ID_BROWSE, UI_ID_DELETE, UI_ID_RENAME, UI_TEMPLATE_ID_FILTER_ALL, uiLayoutRow(), and which_libbase().

◆ uiTemplateAnyID()

void uiTemplateAnyID ( uiLayout * layout,
PointerRNA * ptr,
const char * propname,
const char * proptypename,
const char * text )

This is for selecting the type of ID-block to use, and then from the relevant type choosing the block to use.

Parameters
propnameproperty identifier for property that ID-pointer gets stored to.
proptypenameproperty identifier for property used to determine the type of ID-pointer that can be used.

Definition at line 2068 of file interface_templates.cc.

References IFACE_, PROP_ENUM, PROP_POINTER, ptr, RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, PointerRNA::type, UI_ITEM_NONE, UI_ITEM_R_ICON_ONLY, UI_LAYOUT_ALIGN_EXPAND, UI_LAYOUT_ALIGN_LEFT, uiItemFullR(), uiItemL(), uiLayoutRow(), uiLayoutSetAlignment(), and uiLayoutSplit().

Referenced by graph_panel_driverVar__singleProp().

◆ uiTemplateAssetView()

void uiTemplateAssetView ( uiLayout * layout,
const bContext * C,
const char * list_id,
PointerRNA * asset_library_dataptr,
const char * asset_library_propname,
PointerRNA * assets_dataptr,
const char * assets_propname,
PointerRNA * active_dataptr,
const char * active_propname,
const blender::ed::asset::AssetFilterSettings * filter_settings,
int display_flags,
const char * activate_opname,
PointerRNA * r_activate_op_properties,
const char * drag_opname,
PointerRNA * r_drag_op_properties )

◆ uiTemplateBoneCollectionTree()

◆ uiTemplateCacheFile()

void uiTemplateCacheFile ( uiLayout * layout,
const bContext * C,
PointerRNA * ptr,
const char * propname )

Draw the main CacheFile properties and operators (file path, scale, etc.), that is those which do not have their own dedicated template functions.

Definition at line 7406 of file interface_templates.cc.

References BCONTEXT_CONSTRAINT, CTX_wm_space_properties(), PointerRNA::data, IFACE_, SpaceProperties::mainb, ptr, UI_ITEM_NONE, uiItemO(), uiItemR(), uiLayoutRow(), uiLayoutSetContextPointer(), uiLayoutSetPropSep(), uiTemplateCacheFilePointer(), and uiTemplateID().

Referenced by panel_draw().

◆ uiTemplateCacheFileLayers()

void uiTemplateCacheFileLayers ( uiLayout * layout,
const bContext * C,
PointerRNA * fileptr )

◆ uiTemplateCacheFilePointer()

bool uiTemplateCacheFilePointer ( PointerRNA * ptr,
const char * propname,
PointerRNA * r_file_ptr )

Lookup the CacheFile PointerRNA of the given pointer and return it in the output parameter. Returns true if ptr has a RNACacheFile, false otherwise. If false, the output parameter is not initialized.

Definition at line 7384 of file interface_templates.cc.

References printf, PROP_POINTER, ptr, RNA_property_pointer_get(), RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), and PointerRNA::type.

Referenced by override_layers_panel_draw(), render_procedural_panel_draw(), time_panel_draw(), uiTemplateCacheFile(), and velocity_panel_draw().

◆ uiTemplateCacheFileProcedural()

◆ uiTemplateCacheFileTimeSettings()

void uiTemplateCacheFileTimeSettings ( uiLayout * layout,
PointerRNA * fileptr )

◆ uiTemplateCacheFileVelocity()

void uiTemplateCacheFileVelocity ( uiLayout * layout,
PointerRNA * fileptr )

Draw the velocity related properties of the CacheFile.

Definition at line 7220 of file interface_templates.cc.

References RNA_pointer_is_null(), UI_ITEM_NONE, uiItemR(), and uiLayoutSetContextPointer().

Referenced by velocity_panel_draw().

◆ uiTemplateCollectionExporters()

◆ uiTemplateColormanagedViewSettings()

◆ uiTemplateColorPicker()

◆ uiTemplateColorRamp()

◆ uiTemplateColorspaceSettings()

◆ uiTemplateComponentMenu()

◆ uiTemplateConstraintHeader()

◆ uiTemplateConstraints()

◆ uiTemplateCryptoPicker()

◆ uiTemplateCurveMapping()

◆ uiTemplateCurveProfile()

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

◆ uiTemplateEditModeSelection()

◆ uiTemplateEventFromKeymapItem()

bool uiTemplateEventFromKeymapItem ( uiLayout * layout,
const char * text,
const wmKeyMapItem * kmi,
bool text_fallback )

◆ uiTemplateFileSelectPath()

void uiTemplateFileSelectPath ( uiLayout * layout,
bContext * C,
FileSelectParams * params )

◆ uiTemplateGpencilColorPreview()

void uiTemplateGpencilColorPreview ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
int rows,
int cols,
float scale,
int filter )

Definition at line 2007 of file interface_templates.cc.

References ptr, UI_ID_BROWSE, UI_ID_DELETE, UI_ID_PREVIEWS, and ui_template_id().

◆ uiTemplateGpencilModifier()

uiLayout * uiTemplateGpencilModifier ( uiLayout * layout,
bContext * C,
PointerRNA * ptr )

◆ uiTemplateGreasePencilLayerTree()

◆ uiTemplateHeader()

void uiTemplateHeader ( uiLayout * layout,
bContext * C )

◆ uiTemplateHeader3D_mode()

◆ uiTemplateHistogram()

◆ uiTemplateIcon()

void uiTemplateIcon ( uiLayout * layout,
int icon_value,
float icon_scale )
Parameters
icon_scaleScale of the icon, 1x == button height.

Definition at line 3998 of file interface_templates.cc.

References UI_BTYPE_LABEL, UI_BUT_ICON_PREVIEW, ui_def_but_icon(), UI_HAS_ICON, UI_UNIT_X, UI_UNIT_Y, uiDefIconBut(), and uiLayoutAbsoluteBlock().

◆ uiTemplateIconView()

◆ uiTemplateID()

void uiTemplateID ( uiLayout * layout,
const bContext * C,
PointerRNA * ptr,
const char * propname,
const char * newop,
const char * openop,
const char * unlinkop,
int filter = UI_TEMPLATE_ID_FILTER_ALL,
bool live_icon = false,
const char * text = nullptr )

Definition at line 1872 of file interface_templates.cc.

References ptr, UI_ID_BROWSE, UI_ID_DELETE, UI_ID_RENAME, and ui_template_id().

Referenced by nla_panel_animdata(), blender::ed::space_node::node_buts_texture(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::ed::space_node::node_composit_buts_image(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_mask_cc::node_composit_buts_mask(), blender::nodes::node_composite_movieclip_cc::node_composit_buts_movieclip(), blender::nodes::node_composite_movieclip_cc::node_composit_buts_movieclip_ex(), blender::nodes::node_composite_moviedistortion_cc::node_composit_buts_moviedistortion(), blender::nodes::node_composite_planetrackdeform_cc::node_composit_buts_planetrackdeform(), blender::nodes::node_composite_stabilize2d_cc::node_composit_buts_stabilize2d(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_geo_image_cc::node_layout(), blender::nodes::node_geo_string_to_curves_cc::node_layout(), blender::ed::space_node::node_shader_buts_tex_environment(), blender::ed::space_node::node_shader_buts_tex_image(), blender::ed::space_node::node_texture_buts_image(), blender::panel_draw(), panel_draw(), panel_draw(), blender::ed::space_node::std_node_socket_draw(), texture_panel_draw(), texture_panel_draw(), uiTemplateCacheFile(), uiTemplateImage(), uiTemplateMovieClip(), and weightvg_ui_common().

◆ uiTemplateIDBrowse()

void uiTemplateIDBrowse ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
const char * newop,
const char * openop,
const char * unlinkop,
int filter = UI_TEMPLATE_ID_FILTER_ALL,
const char * text = nullptr )

◆ uiTemplateIDPreview()

void uiTemplateIDPreview ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
const char * newop,
const char * openop,
const char * unlinkop,
int rows,
int cols,
int filter = UI_TEMPLATE_ID_FILTER_ALL,
bool hide_buttons = false )

◆ uiTemplateIDTabs()

void uiTemplateIDTabs ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
const char * newop,
const char * menu,
int filter = UI_TEMPLATE_ID_FILTER_ALL )

Version of uiTemplateID using tabs.

Definition at line 2035 of file interface_templates.cc.

References ptr, UI_ID_BROWSE, UI_ID_RENAME, and ui_template_id().

◆ uiTemplateImage()

void uiTemplateImage ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
PointerRNA * userptr,
bool compact,
bool multiview )

Definition at line 707 of file image_buttons.cc.

References BKE_image_acquire_ibuf(), BKE_image_acquire_renderresult(), BKE_image_get_tile, BKE_image_has_alpha(), BKE_image_has_filepath(), BKE_image_has_packedfile(), BKE_image_is_animated(), BKE_image_is_dirty(), BKE_image_release_ibuf(), BKE_image_release_renderresult(), BKE_image_user_frame_calc(), col, Image::colorspace_settings, CTX_data_scene(), CTX_wm_space_image(), ImBufFloatBuffer::data, PointerRNA::data, ImBuf::flags, ImBuf::float_buffer, ImageTile::gen_type, IB_halffloat, IFACE_, IMA_GENTYPE_BLANK, IMA_SRC_GENERATED, IMA_SRC_MOVIE, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, IMA_TYPE_MULTILAYER, IMA_TYPE_R_RESULT, IMB_colormanagement_space_name_is_data(), RNAUpdateCb::iuser, SpaceImage::iuser, lock, MEM_callocN, ColorManagedColorspaceSettings::name, printf, RNAUpdateCb::prop, PROP_POINTER, ptr, RNAUpdateCb::ptr, R_MULTIVIEW, Image::render_slot, RNA_boolean_get(), RNA_property_pointer_get(), RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), rna_update_cb(), Image::rr, Image::source, Image::type, PointerRNA::type, UI_block_funcN_set(), UI_ITEM_NONE, UI_ITEM_R_EXPAND, UI_SCALE_FAC, UI_UNIT_Y, uiblock_layer_pass_buttons(), uiDefAutoButR(), uiItemO(), uiItemR(), uiItemS(), uiLayoutColumn(), uiLayoutGetBlock(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetContextPointer(), uiLayoutSetEnabled(), uiLayoutSetPropDecorate(), uiLayoutSetPropSep(), uiTemplateColorspaceSettings(), uiTemplateID(), uiTemplateImageInfo(), and uiTemplateImageViews().

Referenced by blender::ed::space_node::node_composit_buts_image_ex(), blender::ed::space_node::node_shader_buts_tex_environment_ex(), blender::ed::space_node::node_shader_buts_tex_image_ex(), and blender::ed::space_node::node_texture_buts_image_ex().

◆ uiTemplateImageFormatViews()

◆ uiTemplateImageInfo()

◆ uiTemplateImageLayers()

◆ uiTemplateImageSettings()

◆ uiTemplateImageStereo3d()

◆ uiTemplateImageViews()

void uiTemplateImageViews ( uiLayout * layout,
PointerRNA * imaptr )

◆ uiTemplateInputStatus()

◆ uiTemplateKeymapItemProperties()

◆ uiTemplateLayers()

void uiTemplateLayers ( uiLayout * layout,
PointerRNA * ptr,
const char * propname,
PointerRNA * used_ptr,
const char * used_propname,
int active_layer )

◆ uiTemplateLightLinkingCollection()

◆ uiTemplateList()

◆ uiTemplateList_ex()

◆ uiTemplateMarker()

void uiTemplateMarker ( uiLayout * layout,
PointerRNA * ptr,
const char * propname,
PointerRNA * userptr,
PointerRNA * trackptr,
bool compact )

Definition at line 365 of file clip_buttons.cc.

References add_v2_v2v2(), B_MARKER_FLAG, B_MARKER_OFFSET, B_MARKER_PAT_DIM, B_MARKER_POS, B_MARKER_SEARCH_DIM, B_MARKER_SEARCH_POS, BKE_movieclip_get_size(), BKE_movieclip_remap_scene_to_clip_frame(), BKE_tracking_marker_get(), BKE_tracking_marker_pattern_minmax(), MarkerUpdateCb::clip, col, MarkerUpdateCb::compact, PointerRNA::data, MovieTrackingMarker::flag, MovieTrackingTrack::flag, MarkerUpdateCb::framenr, MovieClipUser::framenr, IFACE_, MarkerUpdateCb::marker, marker_block_handler(), MARKER_DISABLED, MarkerUpdateCb::marker_flag, MarkerUpdateCb::marker_pat, MarkerUpdateCb::marker_pos, MarkerUpdateCb::marker_search, MarkerUpdateCb::marker_search_pos, marker_update_cb(), MEM_freeN(), mul_v2_fl(), MovieTrackingTrack::offset, MovieTrackingMarker::pos, printf, PROP_POINTER, ptr, RNA_property_pointer_get(), RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), MovieTrackingMarker::search_max, MovieTrackingMarker::search_min, sub_v2_v2v2(), TIP_, to_pixel_space(), MarkerUpdateCb::track, TRACK_LOCKED, MarkerUpdateCb::track_offset, PointerRNA::type, UI_block_align_begin(), UI_block_align_end(), UI_block_func_handle_set(), UI_block_funcN_set(), UI_BTYPE_CHECKBOX_N, UI_BTYPE_LABEL, UI_BTYPE_NUM, UI_BTYPE_TOGGLE_N, UI_but_drawflag_enable(), UI_but_funcN_set(), UI_BUT_ICON_REVERSE, UI_but_number_precision_set(), UI_but_number_step_size_set(), UI_UNIT_X, UI_UNIT_Y, uiDefBut(), uiDefButBitI(), uiDefButF(), uiDefIconButBitI(), uiLayoutAbsoluteBlock(), uiLayoutColumn(), uiLayoutGetBlock(), uiLayoutSetActive(), and MarkerUpdateCb::user.

◆ uiTemplateMenuSearch()

◆ uiTemplateModifiers()

◆ uiTemplateMovieClip()

◆ uiTemplateMovieclipInformation()

◆ uiTemplateNodeInputs()

void uiTemplateNodeInputs ( uiLayout * layout,
bContext * C,
PointerRNA * ptr )

Draw all node buttons and socket default values with the same panel structure used by the node.

Definition at line 123 of file interface_template_node_inputs.cc.

References BLI_assert, PointerRNA::data, blender::ui::nodes::draw_node_input(), blender::ui::nodes::handle_node_declaration_items(), PointerRNA::owner_id, ptr, tree, and uiLayoutGetRootPanel().

◆ uiTemplateNodeLink()

◆ uiTemplateNodeSocket()

◆ uiTemplateNodeTreeInterface()

◆ uiTemplateNodeView()

void uiTemplateNodeView ( uiLayout * layout,
bContext * C,
bNodeTree * ntree,
bNode * node,
bNodeSocket * input )

Definition at line 993 of file node_templates.cc.

References bNodeTree::flag, LISTBASE_FOREACH, and bNodeTree::nodes.

◆ uiTemplateOperatorPropertyButs()

void uiTemplateOperatorPropertyButs ( const bContext * C,
uiLayout * layout,
wmOperator * op,
eButLabelAlign label_align,
short flag )

Draw Operator property buttons for redoing execution with different settings. This function does not initialize the layout, functions can be called on the layout before and after.

Definition at line 2983 of file interface_templates.cc.

References CTX_wm_manager(), flag, template_operator_property_buts_draw_recursive(), ui_layout_operator_properties_only_booleans(), and UI_TEMPLATE_OP_PROPS_NO_SPLIT_LAYOUT.

Referenced by file_panel_operator(), wm_block_create_redo(), wm_block_dialog_create(), and wm_operator_ui_create().

◆ uiTemplateOperatorRedoProperties()

◆ uiTemplateOperatorSearch()

◆ uiTemplatePalette()

◆ uiTemplatePathBuilder()

void uiTemplatePathBuilder ( uiLayout * layout,
PointerRNA * ptr,
const char * propname,
PointerRNA * root_ptr,
const char * text )

This is creating/editing RNA-Paths

  • ptr: struct which holds the path property
  • propname: property identifier for property that path gets stored to
  • root_ptr: struct that path gets built from

Definition at line 2400 of file interface_templates.cc.

References PROP_STRING, ptr, RNA_property_type(), RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, PointerRNA::type, UI_ITEM_NONE, uiItemR(), and uiLayoutRow().

Referenced by graph_panel_driverVar__contextProp(), and graph_panel_driverVar__singleProp().

◆ uiTemplatePreview()

◆ uiTemplateRecentFiles()

◆ uiTemplateReportsBanner()

◆ uiTemplateRunningJobs()

◆ uiTemplateSearch()

void uiTemplateSearch ( uiLayout * layout,
const bContext * C,
PointerRNA * ptr,
const char * propname,
PointerRNA * searchptr,
const char * searchpropname,
const char * newop,
const char * unlinkop,
const char * text = nullptr )

Search menu to pick an item from a collection. A version of uiTemplateID that works for non-ID types.

Definition at line 2354 of file interface_templates.cc.

References ptr, template_search_buttons(), and template_search_setup().

Referenced by nla_panel_actclip().

◆ uiTemplateSearchPreview()

void uiTemplateSearchPreview ( uiLayout * layout,
bContext * C,
PointerRNA * ptr,
const char * propname,
PointerRNA * searchptr,
const char * searchpropname,
const char * newop,
const char * unlinkop,
int rows,
int cols,
const char * text = nullptr )

◆ uiTemplateShaderFx()

◆ uiTemplateStatusBarModalItem()

◆ uiTemplateStatusInfo()

◆ uiTemplateTextureShow()

◆ uiTemplateTextureUser()

◆ uiTemplateTrack()

◆ uiTemplateVectorscope()

◆ uiTemplateWaveform()