Blender V5.0
uiBut Struct Reference

#include <interface_intern.hh>

Inherited by uiButColor, uiButColorBand, uiButCurveMapping, uiButCurveProfile, uiButDecorator, uiButHSVCube, uiButHotkeyEvent, uiButLabel, uiButNumber, uiButNumberSlider, uiButProgress, uiButScrollBar, uiButSearch, uiButSeparatorLine, uiButTab, and uiButViewItem.

Public Member Functions

 uiBut ()=default
 uiBut (const uiBut &other)=default
uiButoperator= (const uiBut &other)=default
virtual ~uiBut ()=default

Public Attributes

uiLayoutlayout = nullptr
int flag = 0
int drawflag = 0
char flag2 = 0
ButType type = ButType(0)
ButPointerType pointype = ButPointerType::None
bool bit = 0
char bitnr = 0
uchar menu_key = 0
short retval = 0
short strwidth = 0
short alignnr = 0
short ofs = 0
short pos = 0
short selsta = 0
short selend = 0
uchar col [4] = {0}
std::string str
std::string drawstr
char * placeholder = nullptr
rctf rect = {}
char * poin = nullptr
float hardmin = 0
float hardmax = 0
float softmin = 0
float softmax = 0
uiButIdentityCompareFunc identity_cmp_func = nullptr
uiButHandleFunc func = nullptr
void * func_arg1 = nullptr
void * func_arg2 = nullptr
std::function< void(bContext &)> apply_func
uiButHandleNFunc funcN = nullptr
void * func_argN = nullptr
uiButArgNFree func_argN_free_fn
uiButArgNCopy func_argN_copy_fn
const bContextStorecontext = nullptr
uiButCompleteFunc autocomplete_func = nullptr
void * autofunc_arg = nullptr
uiButHandleRenameFunc rename_func = nullptr
void * rename_arg1 = nullptr
void * rename_orig = nullptr
std::function< void(std::string &new_name)> rename_full_func = nullptr
std::string rename_full_new
uiButHandleHoldFunc hold_func = nullptr
void * hold_argN = nullptr
blender::StringRef tip
uiButToolTipFunc tip_func = nullptr
void * tip_arg = nullptr
uiFreeArgFunc tip_arg_free = nullptr
std::function< std::string(const uiBut *)> tip_quick_func
uiButToolTipCustomFunc tip_custom_func = nullptr
const char * disabled_info = nullptr
IconTextOverlay icon_overlay_text = {}
blender::ui::EmbossType emboss = blender::ui::EmbossType::Emboss
RadialDirection pie_dir = UI_RADIAL_NONE
bool changed = false
BIFIconID icon = ICON_NONE
float search_weight = 0.0f
short iconadd = 0
uchar unit_type = 0
bool menu_no_hover_open = false
uiBlockCreateFunc block_create_func = nullptr
uiMenuCreateFunc menu_create_func = nullptr
uiMenuStepFunc menu_step_func = nullptr
PointerRNA rnapoin = {}
PropertyRNArnaprop = nullptr
int rnaindex = 0
BIFIconID drag_preview_icon_id
void * dragpoin = nullptr
const ImBufimb = nullptr
float imb_scale = 0
eWM_DragDataType dragtype = WM_DRAG_ID
int8_t dragflag = 0
bool operator_never_call = false
blender::wm::OpCallContext opcontext = blender::wm::OpCallContext::InvokeDefault
wmOperatorTypeoptype = nullptr
PointerRNAopptr = nullptr
ListBase extra_op_icons = {nullptr, nullptr}
uiHandleButtonDataactive = nullptr
uiHandleButtonDatasemi_modal_state = nullptr
void * custom_data = nullptr
char * editstr = nullptr
double * editval = nullptr
floateditvec = nullptr
std::function< bool(const uiBut &)> pushed_state_func
uiBlockblock = nullptr

Detailed Description

Definition at line 172 of file interface_intern.hh.

Constructor & Destructor Documentation

◆ uiBut() [1/2]

uiBut::uiBut ( )
default

Referenced by operator=(), and uiBut().

◆ uiBut() [2/2]

uiBut::uiBut ( const uiBut & other)
default

Performs a mostly shallow copy for now. Only contained C++ types are deep copied.

References uiBut().

◆ ~uiBut()

virtual uiBut::~uiBut ( )
virtualdefault

Member Function Documentation

◆ operator=()

uiBut & uiBut::operator= ( const uiBut & other)
default

Mostly shallow copy, just like copy constructor above.

References uiBut().

Member Data Documentation

◆ active

uiHandleButtonData* uiBut::active = nullptr

◆ alignnr

◆ apply_func

std::function<void(bContext &)> uiBut::apply_func

C++ version of func above. Allows storing arbitrary data in a type safe way, no void pointer arguments.

Definition at line 220 of file interface_intern.hh.

Referenced by ui_afterfunc_check(), ui_apply_but_func(), ui_but_equals_old(), UI_but_func_set(), and ui_popup_context_menu_for_button().

◆ autocomplete_func

◆ autofunc_arg

void* uiBut::autofunc_arg = nullptr

Definition at line 230 of file interface_intern.hh.

Referenced by UI_but_func_complete_set(), and ui_textedit_autocomplete().

◆ bit

bool uiBut::bit = 0

Definition at line 182 of file interface_intern.hh.

Referenced by ui_apply_but_TOG(), ui_but_is_pushed_ex(), and ui_def_but().

◆ bitnr

char uiBut::bitnr = 0

Definition at line 184 of file interface_intern.hh.

Referenced by ui_apply_but_TOG(), ui_but_is_pushed_ex(), and ui_def_but().

◆ block

uiBlock* uiBut::block = nullptr

Definition at line 341 of file interface_intern.hh.

Referenced by button_activate_exit(), button_activate_init(), button_activate_state(), button_tooltip_timer_reset(), draw_emboss(), blender::ui::find_item_from_rename_button(), blender::ui::AbstractTreeViewItem::get_win_rect(), menu_items_from_ui_create_item_from_button(), ui_apply_but_func(), ui_apply_but_TEX(), ui_apply_but_undo(), ui_block_func_POPOVER(), ui_block_func_POPUP(), ui_block_open_begin(), ui_block_open_end(), ui_but_activate_event(), ui_but_add_search(), ui_but_anim_decorate_find_attached_button(), ui_but_anim_expression_create(), ui_but_anim_expression_set(), ui_but_change_type(), UI_but_cm_display_get(), ui_but_contains_point_px(), ui_but_contains_point_px_icon(), ui_but_convert_to_unit_alt_name(), ui_but_drag_init(), ui_but_drag_multi_edit_get(), ui_but_event_property_operator_string(), ui_but_execute_begin(), ui_but_execute_end(), ui_but_extra_operator_icon_apply(), ui_but_extra_operator_icon_mouse_over_get(), ui_but_find_select_in_enum(), ui_but_free(), UI_but_func_menu_search(), UI_but_func_search_set(), ui_but_get_fcurve(), ui_but_is_color_gamma(), ui_but_is_drag_toggle(), ui_but_is_unit(), ui_but_is_unit_radians(), ui_but_menu_step(), ui_but_next(), ui_but_next_non_separator(), ui_but_prev(), ui_but_rect_to_view(), ui_but_search_refresh(), ui_but_string_get_dynamic(), ui_but_string_get_ex(), ui_but_string_set(), ui_but_update_ex(), ui_but_update_from_old_block(), ui_but_update_view_for_active(), ui_colorpicker_hex_rna_cb(), ui_colorpicker_hsv_linear_slider_update_cb(), ui_colorpicker_hsv_perceptual_slider_update_cb(), ui_colorpicker_rgb_perceptual_slider_update_cb(), ui_colorpicker_rgba_update_cb(), ui_colorpicker_update_type_space_cb(), UI_context_active_but_prop_handle(), ui_def_but(), ui_def_but_icon(), ui_def_but_rna__menu(), ui_do_but_ANY_drag_toggle(), ui_do_but_BLOCK(), ui_do_but_BUT(), ui_do_but_COLOR(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_do_but_SCROLL(), ui_do_but_TOG(), ui_do_but_VIEW_ITEM(), ui_draw_but(), ui_draw_but_COLORBAND(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_get_but_scale_unit(), ui_get_but_step_unit(), ui_get_but_string_unit(), ui_handle_button_event(), ui_handle_button_over(), ui_handle_button_return_submenu(), ui_handle_list_event(), ui_handle_menu_button(), ui_layer_but_cb(), ui_layout_introspect_button(), ui_multibut_states_create(), ui_multibut_states_tag(), ui_number_from_string_units_with_but(), ui_numedit_apply_snapf(), ui_numedit_but_NUM(), ui_numedit_but_SLI(), ui_numedit_but_TRACKPREVIEW(), ui_numedit_set_active(), ui_popup_block_position(), ui_popup_block_refresh(), ui_popup_close_cb(), ui_popup_context_menu_for_button(), UI_popup_menu_close_from_but(), ui_popup_menu_create_impl(), ui_search_menu_create_context_menu(), ui_search_menu_create_tooltip(), ui_searchbox_create_generic_ex(), ui_searchbox_region_layout_fn(), ui_text_clip_middle(), ui_text_clip_middle_protect_right(), ui_textedit_begin(), ui_textedit_set_cursor_pos(), UI_tooltip_create_from_button_or_extra_icon(), ui_tooltip_data_from_button_or_extra_icon(), ui_tooltip_data_from_tool(), widget_draw_extra_mask(), widget_draw_icon(), widget_draw_node_link_socket(), widget_draw_submenu_tria(), widget_draw_text_icon(), widget_menu_pie_itembut(), and widget_swatch().

◆ block_create_func

◆ changed

bool uiBut::changed = false

◆ col

◆ context

◆ custom_data

◆ disabled_info

const char* uiBut::disabled_info = nullptr

info on why button is disabled, displayed in tooltip

Definition at line 257 of file interface_intern.hh.

Referenced by UI_but_disable(), ui_def_but(), and ui_tooltip_data_from_button_or_extra_icon().

◆ drag_preview_icon_id

BIFIconID uiBut::drag_preview_icon_id

Definition at line 294 of file interface_intern.hh.

Referenced by UI_but_drag_set_asset(), and ui_but_drag_start().

◆ dragflag

◆ dragpoin

◆ dragtype

◆ drawflag

◆ drawstr

◆ editstr

◆ editval

◆ editvec

◆ emboss

◆ extra_op_icons

◆ flag

int uiBut::flag = 0

Definition at line 176 of file interface_intern.hh.

Referenced by block_search_filter_tag_buttons(), blender::ui::bonedropper_poll(), button_activate_exit(), button_activate_init(), button_activate_state(), curvemap_buttons_layout(), datadropper_poll(), uiLayout::decorator(), driverdropper_init(), drop_name_poll(), blender::ui::AbstractTreeViewItem::is_hovered(), uiLayout::list_box(), menu_items_from_ui_create_item_from_button(), uiLayout::op_enum_items(), panel_remove_invisible_layouts_recursive(), uiLayout::popover(), popover_widget_type(), template_common_search_menu(), template_ID(), ui_apply_but(), ui_apply_but_TEX(), ui_apply_but_undo(), ui_block_func_POPUP(), ui_but_add_search(), ui_but_add_shortcut(), ui_but_anim_decorate_cb(), ui_but_anim_decorate_update_from_flag(), ui_but_anim_flag(), ui_but_context_poll_operator_ex(), ui_but_drag_multi_edit_get(), ui_but_draw_menu_icon(), ui_but_drawstr_len_without_sep_char(), ui_but_execute_end(), UI_but_flag_disable(), UI_but_flag_enable(), UI_but_flag_is_set(), ui_but_icon(), ui_but_icon_extra_get(), ui_but_icon_extra_is_visible_bone_eyedropper(), ui_but_icon_extra_is_visible_search_eyedropper(), ui_but_icon_extra_is_visible_search_unlink(), ui_but_icon_extra_is_visible_text_clear(), ui_but_is_interactive_ex(), UI_but_is_utf8(), ui_but_list_row_text_activate(), UI_but_node_link_set(), UI_but_operator_set(), ui_but_override_flag(), ui_but_paste(), ui_but_set_string_interactive(), UI_but_string_get_label(), ui_but_submenu_enable(), ui_but_update_ex(), ui_but_update_from_old_block(), ui_but_update_old_active_from_new(), ui_but_update_select_flag(), ui_button_press_invoke(), ui_can_activate_other_menu(), UI_context_active_but_prop_get_filebrowser(), ui_def_but(), ui_def_but_icon(), ui_def_but_icon_clear(), ui_def_but_rna(), ui_def_but_rna__menu(), ui_do_but_BUT(), ui_do_but_textedit(), ui_do_button(), ui_drag_toggle_but_is_supported(), ui_drag_toggle_set(), ui_draw_but(), ui_draw_but_CURVE(), ui_draw_but_HSV_v(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_handle_button_event(), ui_handle_viewlist_items_hover(), ui_item_enum_expand_elem_exec(), ui_item_enum_expand_tabs(), ui_item_flag(), ui_layout_has_panel_label(), ui_layout_list_set_labels_active(), ui_multibut_add(), ui_numedit_set_active(), ui_popup_context_menu_for_button(), ui_popup_context_menu_for_panel(), ui_popup_menu_memory__internal(), ui_searchbox_select(), ui_selectcontext_begin(), ui_selectcontext_end(), ui_textedit_begin(), ui_textedit_end(), ui_textedit_next_but(), ui_textedit_prev_but(), ui_textedit_set_cursor_pos(), ui_tooltip_data_from_button_or_extra_icon(), uiItem_simple(), uiItemFullO_ptr_ex(), uiTemplateNodeLink(), uiTemplateTextureUser(), widget_draw_icon(), widget_draw_text(), and widget_draw_text_icon().

◆ flag2

char uiBut::flag2 = 0

Definition at line 178 of file interface_intern.hh.

Referenced by UI_but_flag2_enable(), and ui_textedit_begin().

◆ func

◆ func_arg1

◆ func_arg2

◆ func_argN

◆ func_argN_copy_fn

◆ func_argN_free_fn

◆ funcN

◆ hardmax

◆ hardmin

◆ hold_argN

void* uiBut::hold_argN = nullptr

Definition at line 245 of file interface_intern.hh.

Referenced by ui_but_free(), UI_but_func_hold_set(), and ui_item_menu_hold().

◆ hold_func

uiButHandleHoldFunc uiBut::hold_func = nullptr

Run an action when holding the button down.

Definition at line 244 of file interface_intern.hh.

Referenced by button_activate_state(), UI_but_func_hold_set(), ui_draw_but(), and ui_handle_button_event().

◆ icon

◆ icon_overlay_text

IconTextOverlay uiBut::icon_overlay_text = {}

Little indicator (e.g., counter) displayed on top of some icons.

Definition at line 260 of file interface_intern.hh.

Referenced by UI_but_icon_indicator_color_set(), UI_but_icon_indicator_number_set(), UI_but_icon_indicator_set(), uiTemplateStatusInfo(), and widget_draw_icon().

◆ iconadd

short uiBut::iconadd = 0

◆ identity_cmp_func

◆ imb

const ImBuf* uiBut::imb = nullptr

◆ imb_scale

float uiBut::imb_scale = 0

Definition at line 297 of file interface_intern.hh.

Referenced by UI_but_drag_attach_image(), and ui_but_drag_start().

◆ layout

uiLayout* uiBut::layout = nullptr

Pointer back to the layout item holding this button.

Definition at line 175 of file interface_intern.hh.

Referenced by blender::ui::LayoutInternal::layout_add_but(), UI_but_active_only_ex(), ui_but_change_type(), and ui_layout_free().

◆ menu_create_func

◆ menu_key

uchar uiBut::menu_key = 0

When non-zero, this is the key used to activate a menu items (a-z always lower case).

Definition at line 187 of file interface_intern.hh.

Referenced by widget_draw_text().

◆ menu_no_hover_open

bool uiBut::menu_no_hover_open = false

◆ menu_step_func

◆ ofs

◆ opcontext

◆ operator_never_call

bool uiBut::operator_never_call = false

Keep an operator attached but never actually call it through the button. See UI_but_operator_set_never_call().

Definition at line 305 of file interface_intern.hh.

Referenced by ui_apply_but_func(), and UI_but_operator_set_never_call().

◆ opptr

◆ optype

◆ pie_dir

◆ placeholder

char* uiBut::placeholder = nullptr

◆ poin

◆ pointype

◆ pos

◆ pushed_state_func

std::function<bool(const uiBut &)> uiBut::pushed_state_func

◆ rect

◆ rename_arg1

void* uiBut::rename_arg1 = nullptr

Definition at line 233 of file interface_intern.hh.

Referenced by ui_apply_but_func(), and UI_but_func_rename_set().

◆ rename_full_func

std::function<void(std::string &new_name)> uiBut::rename_full_func = nullptr

When defined, and the button edits a string RNA property, the new name is not set at all, instead this function is called with the new name.

Definition at line 240 of file interface_intern.hh.

Referenced by ui_afterfunc_check(), ui_apply_but_func(), UI_but_func_rename_full_set(), ui_but_string_set(), and ui_but_update_old_active_from_new().

◆ rename_full_new

std::string uiBut::rename_full_new

Definition at line 241 of file interface_intern.hh.

Referenced by ui_apply_but_func(), and ui_but_string_set().

◆ rename_func

uiButHandleRenameFunc uiBut::rename_func = nullptr

◆ rename_orig

void* uiBut::rename_orig = nullptr

Definition at line 234 of file interface_intern.hh.

Referenced by ui_apply_but_func(), and ui_apply_but_TEX().

◆ retval

◆ rnaindex

◆ rnapoin

PointerRNA uiBut::rnapoin = {}

Definition at line 290 of file interface_intern.hh.

Referenced by button_activate_exit(), button_matches_search_filter(), colorband_buttons_layout(), colorband_update_cb(), uiLayout::context_set_from_but(), driverdropper_sample(), drop_color_invoke(), blender::ui::eyedropper_colorband_init(), eyedropper_get_property_button_under_mouse(), get_but_property_array_length(), handle_layer_buttons(), uiLayout::list_box(), menu_items_from_ui_create_item_from_button(), menu_items_to_ui_button(), uiLayout::prop(), shortcut_property_from_rna(), template_keymap_item_properties(), ui_apply_but_autokey(), ui_apply_but_func(), ui_apply_but_undo(), ui_block_colorpicker(), ui_block_message_subscribe(), ui_but_anim_autokey(), ui_but_anim_expression_create(), ui_but_anim_flag(), ui_but_color_has_alpha(), ui_but_copy(), ui_but_copy_color(), ui_but_copy_numeric_array(), ui_but_event_property_operator_string(), ui_but_find_select_in_enum__cmp(), ui_but_get_fcurve(), ui_but_has_array_value(), ui_but_icon_extra_is_visible_search_eyedropper(), ui_but_is_compatible(), ui_but_is_pushed_ex(), ui_but_is_rna_undo(), ui_but_is_rna_valid(), ui_but_is_user_menu_compatible(), UI_but_is_userdef(), ui_but_menu_step(), UI_but_online_manual_id(), ui_but_override_flag(), ui_but_paste(), ui_but_placeholder_get(), ui_but_range_set_hard(), ui_but_range_set_soft(), UI_but_rna_enum_item_get(), ui_but_rna_equals_ex(), ui_but_set_float_array(), ui_but_string_get_dynamic(), ui_but_string_get_ex(), UI_but_string_get_rna_struct_identifier(), ui_but_string_set(), ui_but_update_ex(), ui_but_update_preferences_dirty(), ui_but_user_menu_add(), ui_but_user_menu_find(), ui_but_v3_get(), ui_but_v3_set(), ui_but_v4_get(), ui_but_v4_set(), ui_but_value_get(), ui_but_value_set(), ui_button_value_default(), ui_colorpicker_hex_rna_cb(), ui_colorpicker_hsv_linear_slider_update_cb(), ui_colorpicker_hsv_perceptual_slider_update_cb(), ui_colorpicker_rgb_perceptual_slider_update_cb(), ui_colorpicker_rgba_update_cb(), ui_colorpicker_update_type_space_cb(), UI_context_active_but_prop_get_filebrowser(), ui_def_but_rna(), ui_def_but_rna__menu(), ui_do_but_COLOR(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_drag_toggle_but_pushed_state(), ui_handle_list_event(), ui_item_enum_expand_handle(), ui_keymap_but_cb(), ui_layer_but_cb(), ui_layout_introspect_button(), ui_palette_set_active(), ui_popup_context_menu_for_button(), UI_region_active_but_prop_get(), ui_selectcontext_apply(), ui_selectcontext_begin(), ui_tooltip_data_from_button_or_extra_icon(), UI_tooltip_uibut_python_add(), uiTemplateComponentMenu(), uiTemplateCryptoPicker(), and widget_swatch().

◆ rnaprop

PropertyRNA* uiBut::rnaprop = nullptr

Definition at line 291 of file interface_intern.hh.

Referenced by button_matches_search_filter(), colorband_buttons_layout(), uiLayout::context_set_from_but(), driverdropper_sample(), drop_color_invoke(), blender::ui::eyedropper_colorband_init(), eyedropper_get_property_button_under_mouse(), get_but_property_array_length(), handle_layer_buttons(), uiLayout::list_box(), menu_items_from_ui_create_item_from_button(), menu_items_to_ui_button(), uiLayout::prop(), uiLayout::prop_with_menu(), uiLayout::prop_with_popover(), shortcut_get_operator_property(), shortcut_property_from_rna(), template_keymap_item_properties(), ui_afterfunc_check(), ui_apply_but_autokey(), ui_apply_but_func(), ui_apply_but_undo(), ui_block_colorpicker(), ui_block_message_subscribe(), ui_but_anim_autokey(), ui_but_anim_expression_create(), ui_but_anim_flag(), ui_but_build_drawstr_float(), ui_but_build_drawstr_int(), ui_but_color_has_alpha(), ui_but_contains_password(), ui_but_copy_color(), ui_but_copy_numeric_array(), ui_but_drag_init(), ui_but_event_property_operator_string(), ui_but_find_select_in_enum__cmp(), ui_but_get_fcurve(), ui_but_has_array_value(), ui_but_icon_extra_is_visible_bone_eyedropper(), ui_but_icon_extra_is_visible_search_eyedropper(), ui_but_is_bool(), ui_but_is_color_gamma(), ui_but_is_compatible(), ui_but_is_float(), ui_but_is_pushed_ex(), ui_but_is_rna_undo(), ui_but_is_rna_valid(), ui_but_is_user_menu_compatible(), UI_but_is_userdef(), UI_but_is_utf8(), ui_but_menu_step(), ui_but_menu_step_poll(), UI_but_online_manual_id(), ui_but_override_flag(), ui_but_paste_color(), ui_but_placeholder_get(), ui_but_range_set_hard(), ui_but_range_set_soft(), UI_but_rna_enum_item_get(), ui_but_rna_equals_ex(), ui_but_scale_type(), ui_but_search_refresh(), ui_but_set_float_array(), ui_but_string_eval_number(), ui_but_string_get_dynamic(), ui_but_string_get_ex(), UI_but_string_get_rna_label(), UI_but_string_get_rna_label_context(), UI_but_string_get_rna_property_identifier(), UI_but_string_get_rna_struct_identifier(), UI_but_string_get_rna_tooltip(), ui_but_string_set(), ui_but_text_password_hide(), UI_but_unit_type_get(), ui_but_update_ex(), ui_but_update_preferences_dirty(), ui_but_user_menu_add(), ui_but_user_menu_find(), ui_but_v3_get(), ui_but_v3_set(), ui_but_v4_get(), ui_but_v4_set(), ui_but_value_get(), ui_but_value_set(), ui_button_value_default(), ui_colorpicker_hex_rna_cb(), ui_colorpicker_hsv_linear_slider_update_cb(), ui_colorpicker_hsv_perceptual_slider_update_cb(), ui_colorpicker_rgb_perceptual_slider_update_cb(), ui_colorpicker_rgba_update_cb(), ui_colorpicker_update_type_space_cb(), UI_context_active_but_prop_get_filebrowser(), ui_def_but_rna(), ui_def_but_rna__menu(), ui_do_but_COLOR(), ui_do_but_HSVCIRCLE(), ui_do_but_HSVCUBE(), ui_do_but_TAB(), ui_handle_button_event(), ui_handle_list_event(), ui_item_enum_expand_handle(), ui_layer_but_cb(), ui_layout_introspect_button(), ui_multibut_states_create(), ui_popup_context_menu_for_button(), UI_region_active_but_prop_get(), ui_selectcontext_apply(), ui_selectcontext_begin(), ui_tooltip_data_from_button_or_extra_icon(), UI_tooltip_uibut_python_add(), uiTemplateComponentMenu(), uiTemplateCryptoPicker(), uiTemplateKeymapItemProperties(), widget_numslider(), and widget_swatch().

◆ search_weight

float uiBut::search_weight = 0.0f

Affects the order if this uiBut is used in menu-search.

Definition at line 272 of file interface_intern.hh.

Referenced by blender::ui::LayoutInternal::layout_add_but(), and menu_items_from_ui_create_item_from_button().

◆ selend

◆ selsta

◆ semi_modal_state

uiHandleButtonData* uiBut::semi_modal_state = nullptr

Event handling only supports one active button at a time, but there are cases where that's not enough. A common one is to keep some filter button active to receive text input, while other buttons remain active for interaction.

Buttons that have semi_modal_state set will be temporarily activated for event handling. If they don't consume the event (for example text input events) the event will be forwarded to other buttons.

Currently only text buttons support this well.

Definition at line 329 of file interface_intern.hh.

Referenced by button_activate_exit(), button_activate_init(), ui_but_extra_icons_update_from_old_but(), ui_but_free(), ui_but_semi_modal_state_free(), ui_but_update_from_old_block(), ui_but_update_old_active_from_new(), and with_but_active_as_semi_modal().

◆ softmax

◆ softmin

◆ str

◆ strwidth

◆ tip

◆ tip_arg

◆ tip_arg_free

◆ tip_custom_func

◆ tip_func

◆ tip_quick_func

std::function<std::string(const uiBut *)> uiBut::tip_quick_func

Function to override the label to be displayed in the tooltip.

Definition at line 252 of file interface_intern.hh.

Referenced by UI_but_func_quick_tooltip_set(), ui_but_is_interactive_ex(), UI_but_string_get_tooltip_label(), ui_but_update_old_active_from_new(), and ui_but_user_menu_add().

◆ type

ButType uiBut::type = ButType(0)

Definition at line 180 of file interface_intern.hh.

Referenced by blender::ui::bonedropper_init(), blender::ui::bonedropper_poll(), button_activate_exit(), button_activate_init(), button_activate_state(), button_matches_search_filter(), datadropper_poll(), depthdropper_poll(), depthdropper_test(), draw_emboss(), drop_color_invoke(), blender::ui::eyedropper_colorband_init(), blender::ui::eyedropper_colorband_poll(), blender::ui::find_item_from_rename_button(), jump_to_target_button(), uiLayout::popover(), uiLayout::prop(), uiLayout::prop_with_menu(), uiLayout::prop_with_popover(), LayoutRadial::resolve_impl(), ui_apply_but(), ui_apply_but_BLOCK(), ui_apply_but_func(), ui_apply_but_TEX(), ui_apply_but_TOG(), ui_apply_but_undo(), UI_block_can_add_separator(), UI_block_is_empty_ex(), ui_block_open_begin(), UI_but_active_drop_color(), UI_but_active_drop_name_button(), ui_but_add_search(), ui_but_can_align(), ui_but_change_type(), UI_but_context_menu_title_from_button(), ui_but_copy(), ui_but_drag_init(), ui_but_equals_old(), ui_but_event_property_operator_string(), ui_but_find_select_in_enum__cmp(), ui_but_free(), ui_but_free_type_specific(), UI_but_func_search_set(), UI_but_func_search_set_context_menu(), UI_but_func_search_set_listen(), UI_but_func_search_set_results_are_suggestions(), UI_but_func_search_set_sep_string(), UI_but_func_search_set_tooltip(), ui_but_get_float_precision(), ui_but_get_float_step_size(), ui_but_icon_extra_get(), ui_but_icon_extra_is_visible_bone_eyedropper(), ui_but_icon_extra_is_visible_search_eyedropper(), ui_but_icon_extra_is_visible_search_unlink(), ui_but_icon_extra_is_visible_text_clear(), ui_but_is_active_view_item(), ui_but_is_bool(), ui_but_is_compatible(), ui_but_is_cursor_warp(), ui_but_is_editable(), ui_but_is_editable_as_text(), ui_but_is_interactive_ex(), ui_but_is_listrow(), ui_but_is_popover_once_compat(), ui_but_is_pushed_ex(), ui_but_is_toggle(), ui_but_is_view_item_fn(), UI_but_label_alpha_factor_set(), ui_but_list_row_text_activate(), ui_but_menu_step_poll(), ui_but_next_non_separator(), UI_but_number_precision_set(), UI_but_number_slider_precision_set(), UI_but_number_slider_step_size_set(), UI_but_number_step_size_set(), ui_but_paste(), ui_but_pie_menu_apply(), ui_but_pie_menu_supported_apply(), ui_but_placeholder_get(), UI_but_rna_enum_item_get(), ui_but_rna_menu_convert_to_menu_type(), ui_but_rna_menu_convert_to_panel_type(), UI_but_search_preview_grid_size_set(), ui_but_set_float_array(), ui_but_set_string_interactive(), ui_but_string_get_dynamic(), ui_but_string_get_ex(), ui_but_string_get_maxncpy(), UI_but_string_get_rna_label(), UI_but_string_get_rna_label_context(), UI_but_string_get_rna_struct_identifier(), UI_but_string_get_rna_tooltip(), ui_but_string_set(), ui_but_supports_cycling(), UI_but_type_set_menu_from_pulldown(), ui_but_update_ex(), ui_but_update_from_old_block(), ui_but_update_old_active_from_new(), ui_but_v3_get(), ui_but_validate(), UI_but_view_item_draw_size_set(), ui_can_activate_other_menu(), UI_context_active_but_get_tab_ID(), ui_def_but(), ui_def_but_rna(), ui_def_but_rna__menu(), ui_do_but_COLOR(), ui_do_but_HOTKEYEVT(), ui_do_but_NUM(), ui_do_but_SLI(), ui_do_but_TEX(), ui_do_but_textedit(), ui_do_but_TOG(), ui_do_but_VIEW_ITEM(), ui_do_button(), ui_draw_but(), ui_handle_button_activate_by_type(), ui_handle_button_event(), ui_handle_button_return_submenu(), ui_handle_menu_button(), ui_handle_menu_event(), ui_handle_menus_recursive(), ui_handle_view_item_event(), ui_handler_panel_region(), ui_item_array(), ui_item_is_radial_drawable(), ui_item_with_label(), ui_keymap_but_cb(), ui_layout_introspect_button(), ui_list_contains_row(), ui_list_find_mouse_over_ex(), ui_list_row_find_index(), ui_numedit_begin(), ui_numedit_but_SLI(), ui_numedit_end(), ui_popup_block_position(), ui_popup_context_menu_for_button(), ui_popup_menu_create_impl(), ui_searchbox_apply(), ui_searchbox_autocomplete(), ui_searchbox_event(), ui_searchbox_update(), ui_text_clip_middle(), ui_text_clip_middle_protect_right(), ui_textedit_begin(), ui_textedit_end(), ui_textedit_next_but(), ui_textedit_prev_but(), ui_textedit_set_cursor_pos(), UI_tooltip_create_from_button_or_extra_icon(), ui_tooltip_data_from_button_or_extra_icon(), ui_view_item_find_search_highlight(), uiLayoutSetTooltipCustomFunc(), uiLayoutSetTooltipFunc(), uiTemplateLayers(), widget_draw_icon(), widget_draw_text(), widget_draw_text_icon(), widget_icon_has_anim(), widget_list_itembut(), widget_roundbox_set(), and widget_swatch().

◆ unit_type

uchar uiBut::unit_type = 0

so buttons can support unit systems which are not RNA

Definition at line 276 of file interface_intern.hh.

Referenced by UI_but_unit_type_get(), UI_but_unit_type_set(), and ui_multibut_states_create().


The documentation for this struct was generated from the following file: