Blender V5.0
uiLayout Struct Reference

#include <UI_interface_layout.hh>

Inherits uiItem, blender::NonCopyable, and blender::NonMovable.

Inherited by LayoutAbsolute, LayoutColumn, LayoutOverlap, LayoutRadial, LayoutRootPieMenu, LayoutRow, uiLayoutItemFlow, uiLayoutItemGridFlow, and uiLayoutItemPanelHeader.

Public Member Functions

bool active () const
void active_set (bool active)
bool active_default () const
void active_default_set (bool active_default)
bool activate_init () const
void activate_init_set (bool activate_init)
blender::ui::LayoutAlign alignment () const
void alignment_set (blender::ui::LayoutAlign alignment)
bContextStorecontext_store () const
bool enabled () const
void enabled_set (bool enabled)
bool red_alert () const
void red_alert_set (bool red_alert)
float scale_x () const
void scale_x_set (float scale)
float scale_y () const
void scale_y_set (float scale)
float search_weight () const
void search_weight_set (float weight)
float ui_units_x () const
void ui_units_x_set (float width)
float ui_units_y () const
void ui_units_y_set (float height)
int width () const
void popover (const bContext *C, blender::StringRef panel_type, std::optional< blender::StringRef > name_opt, int icon)
uiLayoutRootroot () const
const bContextStorecontext () const
uiLayoutparent () const
blender::StringRef heading () const
void heading_reset ()
blender::Span< uiItem * > items () const
bool align () const
bool variable_size () const
blender::ui::EmbossType emboss_or_undefined () const
Structs and Defines
 uiLayout (blender::ui::ItemType type, uiLayoutRoot *root)
Special RNA Items
blender::ui::LayoutDirection local_direction () const
Button Items
void decorator (PointerRNA *ptr, PropertyRNA *prop, int index)
void decorator (PointerRNA *ptr, std::optional< blender::StringRefNull > propname, int index)
void label (blender::StringRef name, int icon)
void menu (MenuType *mt, std::optional< blender::StringRef > name, int icon)
void menu (blender::StringRef menuname, std::optional< blender::StringRef > name, int icon)
void menu_contents (blender::StringRef menuname)
void menu_fn (blender::StringRefNull name, int icon, uiMenuCreateFunc func, void *arg)
void menu_fn_argN_free (blender::StringRefNull name, int icon, uiMenuCreateFunc func, void *argN)
PointerRNA op (wmOperatorType *ot, std::optional< blender::StringRef > name, int icon, blender::wm::OpCallContext context, eUI_Item_Flag flag)
PointerRNA op (wmOperatorType *ot, std::optional< blender::StringRef > name, int icon)
PointerRNA op (blender::StringRefNull opname, std::optional< blender::StringRef > name, int icon)
PointerRNA op (blender::StringRefNull opname, std::optional< blender::StringRef > name, int icon, blender::wm::OpCallContext context, eUI_Item_Flag flag)
void op_enum (blender::StringRefNull opname, blender::StringRefNull propname, IDProperty *properties, blender::wm::OpCallContext context, eUI_Item_Flag flag, const int active=-1)
void op_enum (blender::StringRefNull opname, blender::StringRefNull propname)
void op_enum_items (wmOperatorType *ot, const PointerRNA &ptr, PropertyRNA *prop, IDProperty *properties, blender::wm::OpCallContext context, eUI_Item_Flag flag, const EnumPropertyItem *item_array, int totitem, int active=-1)
PointerRNA op_menu_enum (const bContext *C, wmOperatorType *ot, blender::StringRefNull propname, std::optional< blender::StringRefNull > name, int icon)
PointerRNA op_menu_enum (const bContext *C, blender::StringRefNull opname, blender::StringRefNull propname, blender::StringRefNull name, int icon)
PointerRNA op_menu_hold (wmOperatorType *ot, std::optional< blender::StringRef > name, int icon, blender::wm::OpCallContext context, eUI_Item_Flag flag, const char *menu_id)
void progress_indicator (const char *text, float factor, blender::ui::ButProgressType progress_type)
void prop (PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRef > name_opt, int icon, std::optional< blender::StringRef > placeholder=std::nullopt)
void prop (PointerRNA *ptr, blender::StringRefNull propname, eUI_Item_Flag flag, std::optional< blender::StringRef > name, int icon)
void popover (const bContext *C, PanelType *pt, std::optional< blender::StringRef > name_opt, int icon)
void popover_group (bContext *C, int space_id, int region_id, const char *context, const char *category)
void prop_enum (PointerRNA *ptr, PropertyRNA *prop, int value, std::optional< blender::StringRefNull > name, int icon)
void prop_enum (PointerRNA *ptr, PropertyRNA *prop, const char *value, std::optional< blender::StringRefNull > name, int icon)
void prop_enum (PointerRNA *ptr, blender::StringRefNull propname, const char *value, std::optional< blender::StringRefNull > name, int icon)
void prop_menu_enum (PointerRNA *ptr, PropertyRNA *prop, std::optional< blender::StringRefNull > name, int icon)
void prop_tabs_enum (bContext *C, PointerRNA *ptr, PropertyRNA *prop, PointerRNA *ptr_highlight, PropertyRNA *prop_highlight, bool icon_only)
void props_enum (PointerRNA *ptr, blender::StringRefNull propname)
void prop_search (PointerRNA *ptr, PropertyRNA *prop, PointerRNA *searchptr, PropertyRNA *searchprop, PropertyRNA *item_searchpropname, std::optional< blender::StringRefNull > name, int icon, bool results_are_suggestions)
void prop_search (PointerRNA *ptr, blender::StringRefNull propname, PointerRNA *searchptr, blender::StringRefNull searchpropname, std::optional< blender::StringRefNull > name, int icon)
void prop_with_popover (PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRefNull > name, int icon, const char *panel_type)
void prop_with_menu (PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRefNull > name, int icon, const char *menu_type)
uiButbutton (blender::StringRef name, int icon, std::function< void(bContext &)> func, std::optional< blender::StringRef > tooltip=std::nullopt)
void separator (float factor=1.0f, LayoutSeparatorType type=LayoutSeparatorType::Auto)
void separator_spacer ()
Public Member Functions inherited from uiItem
 uiItem (const uiItem &)=default
virtual ~uiItem ()=default
 uiItem (blender::ui::ItemType type)
blender::ui::ItemType type () const
bool fixed_size () const
void fixed_size_set (bool fixed_size)
Public Member Functions inherited from blender::NonCopyable
 NonCopyable (const NonCopyable &other)=delete
NonCopyableoperator= (const NonCopyable &other)=delete
 NonCopyable ()=default
 NonCopyable (NonCopyable &&other)=default
NonCopyableoperator= (NonCopyable &&other)=default
Public Member Functions inherited from blender::NonMovable
 NonMovable (NonMovable &&other)=delete
NonMovableoperator= (NonMovable &&other)=delete
 NonMovable ()=default
 NonMovable (const NonMovable &other)=default
NonMovableoperator= (const NonMovable &other)=default

Public Attributes

int x_ = 0
int y_ = 0
int w_ = 0
int h_ = 0
short space_ = 0

Protected Attributes

uiLayoutRootroot_ = nullptr
bContextStorecontext_ = nullptr
uiLayoutparent_ = nullptr
std::string heading_
blender::Vector< uiItem * > items_
uiLayoutchild_items_layout_ = nullptr
float scale_ [2] = {0.0f, 0.0f}
bool align_ = false
bool active_ = false
bool active_default_ = false
bool activate_init_ = false
bool enabled_ = false
bool redalert_ = false
bool variable_size_ = false
blender::ui::LayoutAlign alignment_ = {}
blender::ui::EmbossType emboss_ = {}
float units_ [2] = {0.0f, 0.0f}
float search_weight_ = 0.0f
Protected Attributes inherited from uiItem
blender::ui::ItemInternalFlag flag_ = {}
blender::ui::ItemType type_ = {}

Friends

struct blender::ui::LayoutInternal

Layout

uiBlockblock () const
void context_copy (const bContextStore *context)
const PointerRNAcontext_ptr_get (const blender::StringRef name, const StructRNA *type) const
void context_ptr_set (blender::StringRef name, const PointerRNA *ptr)
std::optional< blender::StringRefNullcontext_string_get (const blender::StringRef name) const
void context_string_set (blender::StringRef name, blender::StringRef value)
std::optional< int64_tcontext_int_get (const blender::StringRef name) const
void context_int_set (blender::StringRef name, int64_t value)
void context_set_from_but (const uiBut *but)
blender::wm::OpCallContext operator_context () const
void operator_context_set (blender::wm::OpCallContext opcontext)
void estimate ()
void resolve ()

Layout Items

blender::ui::EmbossType emboss () const
void emboss_set (blender::ui::EmbossType emboss)
Panelroot_panel () const
bool use_property_split () const
void use_property_split_set (bool value)
bool use_property_decorate () const
void use_property_decorate_set (bool is_sep)
uiLayoutabsolute (bool align)
uiBlockabsolute_block ()
uiLayoutbox ()
uiLayoutcolumn (bool align)
uiLayoutcolumn (bool align, blender::StringRef heading)
uiLayoutrow (bool align)
uiLayoutrow (bool align, blender::StringRef heading)
uiLayoutcolumn_flow (int number, bool align)
uiLayoutgrid_flow (bool row_major, int columns_len, bool even_columns, bool even_rows, bool align)
uiLayoutlist_box (uiList *ui_list, PointerRNA *actptr, PropertyRNA *actprop)
uiLayoutmenu_pie ()
uiLayoutoverlap ()
PanelLayout panel_prop (const bContext *C, PointerRNA *open_prop_owner, blender::StringRefNull open_prop_name)
uiLayoutpanel_prop (const bContext *C, PointerRNA *open_prop_owner, blender::StringRefNull open_prop_name, blender::StringRef label)
PanelLayout panel_prop_with_bool_header (const bContext *C, PointerRNA *open_prop_owner, blender::StringRefNull open_prop_name, PointerRNA *bool_prop_owner, blender::StringRefNull bool_prop_name, std::optional< blender::StringRef > label)
PanelLayout panel (const bContext *C, blender::StringRef idname, bool default_closed)
uiLayoutpanel (const bContext *C, blender::StringRef idname, bool default_closed, blender::StringRef label)
uiLayoutsplit (float percentage, bool align)
virtual void estimate_impl ()
virtual void resolve_impl ()

Detailed Description

NOTE: uiLayout properties should be considered private outside interface_layout.cc, incoming refactors would remove public access and add public read/write function methods. Meanwhile keep using uiLayout* functions to read/write this properties.

Definition at line 102 of file UI_interface_layout.hh.

Constructor & Destructor Documentation

◆ uiLayout()

Member Function Documentation

◆ absolute()

◆ absolute_block()

◆ activate_init()

bool uiLayout::activate_init ( ) const
inlinenodiscard

Definition at line 727 of file UI_interface_layout.hh.

References activate_init_.

Referenced by activate_init_set(), and prop().

◆ activate_init_set()

void uiLayout::activate_init_set ( bool activate_init)
inline

When set to true, the next button added in the layout will be activated on first display. Only for popups dialogs and only the first button in the popup with this flag will be activated.

Definition at line 731 of file UI_interface_layout.hh.

References activate_init(), and activate_init_.

◆ active()

bool uiLayout::active ( ) const
inlinenodiscard

Definition at line 709 of file UI_interface_layout.hh.

References active_.

Referenced by active_set(), curvemap_buttons_layout(), op_enum(), and op_enum_items().

◆ active_default()

bool uiLayout::active_default ( ) const
inlinenodiscard

Definition at line 718 of file UI_interface_layout.hh.

References active_default_.

Referenced by active_default_set(), and uiItemFullO_ptr_ex().

◆ active_default_set()

void uiLayout::active_default_set ( bool active_default)
inline

When set to true the next operator button added in the layout will be highlighted as default action when pressing return, in popup dialogs this overrides default confirmation buttons.

Definition at line 722 of file UI_interface_layout.hh.

References active_default(), and active_default_.

Referenced by file_panel_execution_execute_button().

◆ active_set()

void uiLayout::active_set ( bool active)
inline

Sets the active state of the layout and its items. When false the layout and its buttons are grayed out, user can still interact with them but generally they will not have an active use.

Definition at line 713 of file UI_interface_layout.hh.

References active(), and active_.

Referenced by advanced_panel_draw(), advanced_panel_draw(), blender::ui::block_layout(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ed::object::shapekey::ShapeKeyItem::build_row(), blender::ed::spreadsheet::CurvesViewItem::build_row(), blender::ed::spreadsheet::GreasePencilViewItem::build_row(), blender::ed::spreadsheet::InstancesViewItem::build_row(), blender::ed::spreadsheet::MeshViewItem::build_row(), blender::ed::spreadsheet::PointCloudViewItem::build_row(), blender::ed::spreadsheet::VolumeGridsViewItem::build_row(), blender::ui::bonecollections::BoneCollectionItem::build_row(), blender::ui::TreeViewLayoutBuilder::build_row(), clamp_panel_draw(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_common_bake_settings(), blender::nodes::draw_interface_panel_as_panel(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::draw_named_attributes_panel(), blender::ui::nodes::draw_node_inputs_recursive(), blender::nodes::draw_property_for_socket(), blender::modifier::greasepencil::draw_vertex_group_settings(), 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(), blender::intersection_panel_draw(), limits_panel_draw(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_properties(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::ed::space_node::node_texture_buts_proc(), blender::ed::space_node::node_update_basis_buttons(), blender::ed::space_node::node_update_basis_from_declaration(), blender::ed::space_node::node_update_basis_socket(), 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(), path_panel_draw(), profile_panel_draw(), random_panel_draw(), shaderfx_panel_header(), 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_draw(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), template_keymap_item_properties(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), uiTemplateMarker(), uiTemplateRunningJobs(), uv_pack_islands_ui(), vert_vcol_panel_draw(), vertex_group_panel_draw(), vertex_panel_draw(), vertex_vgroup_panel_draw(), and wave_panel_draw().

◆ align()

bool uiLayout::align ( ) const
nodiscard

◆ alignment()

◆ alignment_set()

◆ block()

uiBlock * uiLayout::block ( ) const
nodiscard

Definition at line 5524 of file interface_layout.cc.

References root_.

Referenced by absolute(), absolute_block(), blender::nodes::add_attribute_search_button(), blender::ed::asset::shelf::add_catalog_tabs(), blender::nodes::add_layer_name_search_button(), blender::ed::asset::shelf::asset_shelf_header_draw(), 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(), column(), column_flow(), context_copy(), context_int_set(), context_ptr_set(), context_string_set(), create_title_button(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), decorator(), draw_constraint_header(), draw_matrix_template(), blender::ed::spreadsheet::draw_viewer_data_panel(), blender::ed::spreadsheet::draw_viewer_path_panel(), emboss(), 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(), format_unit_value(), graph_draw_driven_property_enabled_btn(), graph_draw_driver_settings_panel(), graph_panel_key_properties(), graph_panel_modifiers(), grid_flow(), knot_modes_menu(), blender::ui::LayoutInternal::layout_add_but(), menu(), menu_contents(), menu_item_enum_opname_menu(), menu_pie(), 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_geometry_add_attribute_search_button(), blender::ed::space_node::node_geometry_add_layer_search_button(), blender::ed::space_node::node_geometry_add_volume_grid_search_button(), op_enum(), op_enum_items(), op_menu_enum(), overlap(), panel_draw(), panel_prop(), progress_indicator(), prop(), prop_enum(), prop_search(), prop_tabs_enum(), prop_with_menu(), prop_with_popover(), props_enum(), resolve(), LayoutRadial::resolve_impl(), root_panel(), rotation_mode_menu_callback(), row(), separator(), separator_spacer(), shaderfx_panel_header(), split(), 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(), blender::ed::object::shapekey::template_tree(), ui_alert_create(), 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_item_array(), ui_item_disabled(), ui_item_menu(), ui_item_menu_hold(), ui_item_rna_size(), ui_layout_box(), UI_menutype_draw(), blender::ed::space_node::ui_node_draw_input(), 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(), ui_text_icon_width_ex(), uiblock_layer_pass_buttons(), uiItem_simple(), uiItemFullO_ptr_ex(), uiItemL_respect_property_split(), uiLayoutListItemAddPadding(), uiTemplateBoneCollectionTree(), uiTemplateCollectionExporters(), uiTemplateColorPicker(), uiTemplateComponentMenu(), uiTemplateConstraintHeader(), uiTemplateCryptoPicker(), uiTemplateCurveMapping(), uiTemplateCurveProfile(), uiTemplateFileSelectPath(), uiTemplateGreasePencilLayerTree(), uiTemplateImage(), uiTemplateKeymapItemProperties(), uiTemplateLayers(), uiTemplateLightLinkingCollection(), uiTemplateMarker(), uiTemplateMenuSearch(), uiTemplateMovieClip(), uiTemplateNodeLink(), uiTemplateNodeSocket(), uiTemplateNodeTreeInterface(), uiTemplateOperatorRedoProperties(), uiTemplateOperatorSearch(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateRecentFiles(), uiTemplateReportsBanner(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), uiTemplateTextureShow(), uiTemplateTextureUser(), v3d_object_dimension_buts(), view3d_panel_curve_data(), view3d_panel_transform(), and wm_block_dialog_create().

◆ box()

uiLayout & uiLayout::box ( )

Add a new box sub-layout, items placed in this sub-layout are added vertically one under each other in a column and are surrounded by a box.

Definition at line 4985 of file interface_layout.cc.

References Roundbox, ui_layout_box(), and uiLayout().

Referenced by blender::ui::TreeViewLayoutBuilder::build_from_tree(), draw_matrix_template(), and template_keymap_item_properties().

◆ button()

uiBut * uiLayout::button ( blender::StringRef name,
int icon,
std::function< void(bContext &)> func,
std::optional< blender::StringRef > tooltip = std::nullopt )

Simple button executing func on click.

Definition at line 3242 of file interface_layout.cc.

References But, name, UI_but_func_set(), and uiItem_simple().

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

◆ column() [1/2]

uiLayout & uiLayout::column ( bool align)

Add a new column sub-layout, items placed in this sub-layout are added vertically one under each other in a column.

Definition at line 4898 of file interface_layout.cc.

References align(), block(), blender::ui::block_layout_set_current(), blender::ui::LayoutInternal::init_from_parent(), root_, space_, and uiLayout().

Referenced by advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_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(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), blender::seq::colorBalance_panel_draw(), column(), component_menu(), blender::composition_panel_draw(), constant_offset_draw(), constraint_ops_extra_draw(), cycles_panel_draw(), data_panel_draw(), decorator(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_bake_panel(), blender::nodes::node_geo_viewer_cc::draw_color(), blender::nodes::draw_common_bake_settings(), draw_export_properties(), draw_fill_tile(), blender::nodes::socket_items::ui::draw_items_list_with_operators(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::seq::draw_mask_input_type_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), draw_matrix_template(), blender::ed::asset::draw_menu_for_catalog(), blender::ed::asset::draw_node_menu_for_catalog(), blender::nodes::node_geo_viewer_cc::draw_vector(), 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(), blender::nodes::node_composite_file_output_cc::format_layout(), 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(), knot_modes_menu(), 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_animdata(), 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_composit_buts_cryptomatte(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_fn_input_rotation_cc::node_declare(), blender::nodes::node_fn_input_vector_cc::node_declare(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_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(), blender::ed::space_node::node_tree_interface_draw(), 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(), prop(), props_enum(), relative_offset_draw(), blender::ed::curves::select_ends_ui(), blender::ed::vse::sequencer_add_draw(), blender::ed::curves::set_attribute_ui(), blender::ed::pointcloud::set_attribute_ui(), blender::ed::object::shade_auto_smooth_ui(), shading_panel_draw(), solver_options_panel_draw(), blender::seq::sound_equalizermodifier_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(), blender::seq::tonemapmodifier_panel_draw(), ui_alert_create(), 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::geometry::ui_template_node_operator_asset_menu_items(), uiDefAutoButsRNA(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiTemplateCacheFileLayers(), uiTemplateCollectionExporters(), uiTemplateColormanagedViewSettings(), uiTemplateColorPicker(), uiTemplateHistogram(), uiTemplateImage(), uiTemplateImageInfo(), uiTemplateImageSettings(), uiTemplateImageStereo3d(), uiTemplateLayers(), uiTemplateMarker(), uiTemplateMovieClip(), uiTemplateMovieclipInformation(), uiTemplatePalette(), uiTemplatePreview(), uiTemplateTrack(), uiTemplateVectorscope(), uiTemplateViewsFormat(), uiTemplateWaveform(), unwrap_draw(), uv_panel_draw(), v3d_editarmature_buts(), v3d_editmetaball_buts(), v3d_posearmature_buts(), vertex_group_panel_draw(), blender::vgroup_panel_draw(), view3d_panel_curve_data(), view3d_panel_transform(), view3d_panel_vgroup(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_open_mainfile_ui(), and wm_stereo3d_set_draw().

◆ column() [2/2]

uiLayout & uiLayout::column ( bool align,
blender::StringRef heading )

Add a new column sub-layout, items placed in this sub-layout are added vertically one under each other in a column.

Parameters
headingHeading label to set to the first child element added in the sub-layout through uiLayout::prop. When property split is used, this heading label is set in the split label column when there is no label defined.

Definition at line 4910 of file interface_layout.cc.

References align(), column(), heading(), heading_, and uiLayout().

◆ column_flow()

uiLayout & uiLayout::column_flow ( int number,
bool align )

Add a new column flow sub-layout, items placed in this sub-layout would be evenly distributed in columns.

Parameters
numberthe number of columns in which items are distributed.

Definition at line 4917 of file interface_layout.cc.

References align(), block(), blender::ui::block_layout_set_current(), blender::ui::LayoutInternal::init_from_parent(), uiLayoutItemFlow::number, root_, space_, and uiLayout().

Referenced by template_keymap_item_properties().

◆ context()

const bContextStore * uiLayout::context ( ) const
nodiscard

◆ context_copy()

void uiLayout::context_copy ( const bContextStore * context)

◆ context_int_get()

std::optional< int64_t > uiLayout::context_int_get ( const blender::StringRef name) const
nodiscard

Definition at line 5724 of file interface_layout.cc.

References context_, CTX_store_int_lookup(), and name.

◆ context_int_set()

void uiLayout::context_int_set ( blender::StringRef name,
int64_t value )

Definition at line 5732 of file interface_layout.cc.

References block(), context_, CTX_store_add(), and name.

◆ context_ptr_get()

const PointerRNA * uiLayout::context_ptr_get ( const blender::StringRef name,
const StructRNA * type ) const
nodiscard

◆ context_ptr_set()

◆ context_set_from_but()

void uiLayout::context_set_from_but ( const uiBut * but)

◆ context_store()

bContextStore * uiLayout::context_store ( ) const
inlinenodiscard

Definition at line 746 of file UI_interface_layout.hh.

References context_.

Referenced by set_layout_context_from_button(), and UI_panel_context_pointer_set().

◆ context_string_get()

std::optional< blender::StringRefNull > uiLayout::context_string_get ( const blender::StringRef name) const
nodiscard

Definition at line 5709 of file interface_layout.cc.

References context_, CTX_store_string_lookup(), and name.

◆ context_string_set()

◆ decorator() [1/2]

◆ decorator() [2/2]

void uiLayout::decorator ( PointerRNA * ptr,
std::optional< blender::StringRefNull > propname,
int index )

Insert a decorator item for a button with the same property as prop. To force inserting a blank dummy element, nullptr can be passed for ptr or std::nullopt for propname.

Definition at line 3016 of file interface_layout.cc.

References decorator(), prop(), ptr, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, and ui_item_disabled().

◆ emboss()

blender::ui::EmbossType uiLayout::emboss ( ) const
nodiscard

Definition at line 5094 of file interface_layout.cc.

References block(), emboss_, and blender::ui::Undefined.

Referenced by emboss_set().

◆ emboss_or_undefined()

blender::ui::EmbossType uiLayout::emboss_or_undefined ( ) const
nodiscard

Definition at line 6215 of file interface_layout.cc.

References emboss_.

Referenced by uiItemFullO_ptr_ex().

◆ emboss_set()

◆ enabled()

bool uiLayout::enabled ( ) const
inlinenodiscard

Definition at line 751 of file UI_interface_layout.hh.

References enabled_.

Referenced by enabled_set().

◆ enabled_set()

void uiLayout::enabled_set ( bool enabled)
inline

Sets the enabled state of the layout and its items. When false the layout and its buttons are grayed out, user can't interaction with them, only buttons tooltips are available on hovering.

Definition at line 755 of file UI_interface_layout.hh.

References enabled(), and enabled_.

Referenced by armature_parent_clear_invoke(), armature_parent_set_invoke(), blender::ui::block_layout(), blender::chaining_panel_draw(), constraint_ops_extra_draw(), blender::edge_types_panel_draw(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), gpencil_shaderfx_ops_extra_draw(), hud_panel_operator_redo_draw(), blender::intersection_panel_draw(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), move_to_collection_menu_create(), nla_panel_animated_strip_time(), nla_panel_evaluation(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::ed::space_node::node_update_basis_buttons(), blender::ed::space_node::node_update_basis_from_declaration(), blender::ed::space_node::node_update_basis_socket(), blender::occlusion_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::panel_draw(), panel_draw(), prop(), shape_panel_draw(), subdivisions_panel_draw(), ui_popup_context_menu_for_button(), uiTemplateImage(), uiTemplateImageSettings(), undo_history_draw_menu(), v3d_object_dimension_buts(), blender::vgroup_panel_draw(), view3d_panel_vgroup(), and wm_block_create_redo().

◆ estimate()

◆ estimate_impl()

void uiLayout::estimate_impl ( )
protectedvirtual

◆ grid_flow()

uiLayout & uiLayout::grid_flow ( bool row_major,
int columns_len,
bool even_columns,
bool even_rows,
bool align )

Add a new grid flow sub-layout, items placed in this sub-layout would be distributed in a grid.

Parameters
row_majorWhen true items are distributed by rows, otherwise items are distributed by columns.
columns_lenWhen positive is the fixed number of columns to show, when 0 its automatic defined, when negative its an automatic stepped number of columns/rows to show (e.g. when row_major is true -3 will automatically show (1,2,3,6,9,...) columns, or when row_major is false -3 will automatically show (3,6,9,...) rows).
even_columnsAll columns will have the same width.
even_rowsAll rows will have the same height.

Definition at line 4930 of file interface_layout.cc.

References align(), block(), blender::ui::block_layout_set_current(), uiLayoutItemGridFlow::columns_len, uiLayoutItemGridFlow::even_columns, uiLayoutItemGridFlow::even_rows, blender::ui::LayoutInternal::init_from_parent(), root_, row_major, uiLayoutItemGridFlow::row_major, space_, and uiLayout().

Referenced by blender::seq::colorBalance_panel_draw(), blender::seq::sound_equalizermodifier_draw(), and ui_template_list_layout_draw().

◆ heading()

blender::StringRef uiLayout::heading ( ) const
nodiscard

Definition at line 6195 of file interface_layout.cc.

References heading_.

Referenced by column(), row(), and ui_layout_heading_label_add().

◆ heading_reset()

void uiLayout::heading_reset ( )

Definition at line 6199 of file interface_layout.cc.

References heading_.

Referenced by ui_layout_heading_label_add().

◆ items()

◆ label()

void uiLayout::label ( blender::StringRef name,
int icon )

Adds a label item that will display text and/or icon in the layout.

Definition at line 3188 of file interface_layout.cc.

References name, and uiItem_simple().

Referenced by blender::nodes::add_attribute_search_or_value_buttons(), blender::ui::BasicTreeViewItem::add_label(), blender::nodes::add_layer_name_search_button(), block_create__close_file_dialog(), block_create_save_file_overwrite_dialog(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ed::spreadsheet::BundleItem::build_row(), blender::ed::spreadsheet::ClosureInputOutputItem::build_row(), blender::ed::spreadsheet::CurvesDomainViewItem::build_row(), blender::ed::spreadsheet::CurvesViewItem::build_row(), blender::ed::spreadsheet::EvaluteClosureViewerPathItem::build_row(), blender::ed::spreadsheet::ForeachElementViewerPathItem::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::GroupNodeViewerPathItem::build_row(), blender::ed::spreadsheet::IDViewerPathItem::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::ModifierViewerPathItem::build_row(), blender::ed::spreadsheet::PointCloudViewItem::build_row(), blender::ed::spreadsheet::PointsViewItem::build_row(), blender::ed::spreadsheet::RepeatViewerPathItem::build_row(), blender::ed::spreadsheet::RootGeometryViewItem::build_row(), blender::ed::spreadsheet::SimulationViewerPathPathItem::build_row(), blender::ed::spreadsheet::ViewerNodeItem::build_row(), blender::ed::spreadsheet::ViewerNodeViewerPathItem::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(), blender::nodes::node_geo_viewer_cc::draw_bool(), draw_constraint_header(), blender::ed::spreadsheet::draw_context_panel(), blender::ed::spreadsheet::draw_context_panel_without_context(), draw_export_controls(), blender::nodes::node_geo_viewer_cc::draw_int(), blender::nodes::draw_interface_panel_as_panel(), draw_matrix_template(), blender::nodes::draw_named_attributes_panel(), blender::ui::nodes::draw_node_inputs_recursive(), blender::ed::space_node::draw_node_socket_name_editable(), blender::nodes::draw_property_for_output_socket(), blender::nodes::draw_property_for_socket(), blender::nodes::node_geo_viewer_cc::draw_string(), blender::nodes::draw_warnings(), driver_dvar_invalid_name_query_cb(), 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(), menu_add_shortcut(), menu_change_shortcut(), metadata_panel_draw_field(), modifier_error_message_draw(), nla_panel_animdata(), nla_panel_stripname(), blender::ed::space_node::node_buts_image_user(), blender::nodes::node_composite_convert_color_space_cc::node_composit_buts_convert_colorspace(), blender::nodes::node_composite_denoise_cc::node_composit_buts_denoise(), blender::nodes::node_composite_convert_to_display_cc::node_draw_buttons(), 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(), op_enum_items(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::nodes::node_composite_file_output_cc::output_path_layout(), panel(), 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_prop(), panel_prop_with_bool_header(), recent_files_menu_draw(), blender::ed::object::root_catalogs_draw(), blender::ed::space_node::root_catalogs_draw(), screen_user_menu_draw(), blender::ed::vse::sequencer_add_scene_draw(), shaderfx_panel_end(), shaderfx_panel_header(), blender::seq::sound_equalizermodifier_draw(), 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_alert_create(), 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_layout_heading_label_add(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_draw_recursive(), blender::ed::space_node::ui_node_menu_column(), ui_paneltype_draw_impl(), UI_popup_menu_reports(), blender::ed::space_node::ui_template_node_link_menu(), ui_template_palette_menu(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateEventFromKeymapItem(), uiTemplateInputStatus(), uiTemplateInputStatus3DView(), uiTemplateInputStatusAzone(), uiTemplateInputStatusBorder(), uiTemplateInputStatusHeader(), 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().

◆ list_box()

uiLayout & uiLayout::list_box ( uiList * ui_list,
PointerRNA * actptr,
PropertyRNA * actprop )

◆ local_direction()

blender::ui::LayoutDirection uiLayout::local_direction ( ) const
nodiscard

◆ menu() [1/2]

void uiLayout::menu ( blender::StringRef menuname,
std::optional< blender::StringRef > name,
int icon )

Adds a menu item, which is a button that when active will display a menu. If menu fails to poll with WM_menutype_poll it will not be added into the layout.

Definition at line 2934 of file interface_layout.cc.

References menu(), name, RNA_warning, and WM_menutype_find().

◆ menu() [2/2]

◆ menu_contents()

void uiLayout::menu_contents ( blender::StringRef menuname)

◆ menu_fn()

void uiLayout::menu_fn ( blender::StringRefNull name,
int icon,
uiMenuCreateFunc func,
void * arg )

Adds a menu item, which is a button that when active will display a menu.

Parameters
nameLabel to show in the menu button.
funcFunction that generates the menu layout.
argPointer to data used as last argument in func.

Definition at line 3362 of file interface_layout.cc.

References name, and ui_item_menu().

Referenced by draw_constraint_header(), modifier_panel_header(), move_to_collection_menu_create(), screen_context_menu_invoke(), shaderfx_panel_header(), ui_popup_context_menu_for_button(), and workspace_add_invoke().

◆ menu_fn_argN_free()

void uiLayout::menu_fn_argN_free ( blender::StringRefNull name,
int icon,
uiMenuCreateFunc func,
void * argN )

Adds a menu item, which is a button that when active will display a menu.

Parameters
nameLabel to show in the menu button.
funcFunction that generates the menu layout.
argNPointer to data used as last argument in func, it will be freed with the menu button.

Definition at line 3371 of file interface_layout.cc.

References name, and ui_item_menu().

Referenced by workspace_add_invoke().

◆ menu_pie()

uiLayout & uiLayout::menu_pie ( )

Add a pie menu layout, buttons are arranged around a center. Only one pie menu per layout root can be added, if it's already initialized it will be returned instead of adding a new one.

Definition at line 4961 of file interface_layout.cc.

References block(), blender::ui::block_layout_set_current(), blender::ui::LayoutInternal::init_from_parent(), blender::ui::PieMenu, root_, ui_item_local_sublayout(), uiItem::uiItem(), and uiLayout().

Referenced by op_enum_items(), ui_item_enum_expand_exec(), and ui_pie_menu_level_invoke().

◆ op() [1/4]

PointerRNA uiLayout::op ( blender::StringRefNull opname,
std::optional< blender::StringRef > name,
int icon )

Adds a operator item, places a button in the layout to call the operator.

Parameters
opnameOperator id name.
nameText to show in the layout.
Returns
Operator pointer to write properties, might be PointerRNA_NULL if operator does not exists.

Definition at line 1743 of file interface_layout.cc.

References name, op(), root_, and UI_ITEM_NONE.

◆ op() [2/4]

PointerRNA uiLayout::op ( blender::StringRefNull opname,
std::optional< blender::StringRef > name,
int icon,
blender::wm::OpCallContext context,
eUI_Item_Flag flag )

Adds a operator item, places a button in the layout to call the operator.

Parameters
opnameOperator id name.
nameText to show in the layout.
contextOperator call context for WM_operator_name_call.
Returns
Operator pointer to write properties, might be PointerRNA_NULL if operator does not exists.

Definition at line 1507 of file interface_layout.cc.

References blender::StringRefNull::c_str(), context(), flag, name, op(), ot, UI_OPERATOR_ERROR_RET, and WM_operatortype_find().

◆ op() [3/4]

PointerRNA uiLayout::op ( wmOperatorType * ot,
std::optional< blender::StringRef > name,
int icon )

Adds a operator item, places a button in the layout to call the operator.

Parameters
otOperator to add.
nameText to show in the layout.
Returns
Operator pointer to write properties.

Definition at line 1738 of file interface_layout.cc.

References name, op(), ot, root_, and UI_ITEM_NONE.

◆ op() [4/4]

PointerRNA uiLayout::op ( wmOperatorType * ot,
std::optional< blender::StringRef > name,
int icon,
blender::wm::OpCallContext context,
eUI_Item_Flag flag )

Adds a operator item, places a button in the layout to call the operator.

Parameters
otOperator to add.
nameText to show in the layout.
contextOperator call context for WM_operator_name_call.
Returns
Operator pointer to write properties.

Definition at line 1483 of file interface_layout.cc.

References context(), flag, name, ot, ptr, and uiItemFullO_ptr_ex().

Referenced by armature_parent_clear_invoke(), armature_parent_set_invoke(), blender::ed::asset_browser::AssetCatalogTreeViewItem::build_context_menu(), buttons_panel_context_draw(), blender::ed::geometry::catalog_assets_draw(), blender::ed::object::catalog_assets_draw(), blender::ed::geometry::catalog_assets_draw_unassigned(), blender::ed::object::collection_exporter_menu_draw(), blender::ed::object::collection_hide_menu_draw(), colorband_tools_fn(), constraint_ops_extra_draw(), blender::nodes::draw_bake_button_row(), draw_constraint_header(), blender::ed::spreadsheet::draw_context_panel(), draw_export_controls(), blender::nodes::draw_geometry_nodes_modifier_ui(), blender::nodes::socket_items::ui::draw_items_list_with_operators(), ED_buttons_navbar_menu(), ED_screens_region_flip_menu_create(), file_os_operations_menu_item(), 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(), insert_key_menu_invoke(), blender::ed::asset::shelf::library_selector_draw(), menu_add_item_for_move_assign_unassign(), modifier_ops_extra_draw(), blender::seq::modifier_panel_header(), modifier_panel_header(), move_to_collection_menu_create(), blender::ed::object::move_to_collection_menu_draw(), blender::ed::object::move_to_collection_menu_draw(), nla_panel_actclip(), nla_panel_modifiers(), blender::ed::space_node::node_catalog_assets_draw(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy_ex(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_geo_index_switch_cc::node_declare(), blender::nodes::node_geo_menu_switch_cc::node_declare(), blender::ed::space_node::node_group_separate_invoke(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_separate_bundle_cc::node_layout_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::ed::space_node::node_unassigned_assets_draw(), op(), op(), op(), op_enum_items(), override_idtemplate_menu_draw(), blender::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(), blender::ed::object::pose_ik_add_invoke(), recent_files_menu_draw(), repeat_history_invoke(), screen_area_menu_items(), screen_area_options_invoke(), screen_area_touch_menu_create(), screen_context_menu_invoke(), screen_user_menu_draw(), blender::ed::object::select_grouped_collection(), blender::ed::vse::sequencer_add_catalog_assets_draw(), blender::ed::vse::sequencer_add_scene_draw(), blender::ed::vse::sequencer_add_unassigned_assets_draw(), shaderfx_panel_header(), shape_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), blender::ed::spreadsheet::spreadsheet_row_filters_layout(), subdivisions_panel_draw(), template_operator_property_buts_draw_single(), text_resolve_conflict_invoke(), ui_but_menu_add_path_operators(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_button(), ui_template_palette_menu(), uiTemplateCacheFile(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateMovieClip(), uiTemplateOperatorRedoProperties(), uiTemplateRecentFiles(), uiTemplateStatusInfo(), blender::ed::object::unassigned_assets_draw(), undo_history_draw_menu(), unpack_menu(), uv_mark_seam_invoke(), view3d_panel_vgroup(), weight_sample_group_invoke(), wm_block_splash_create(), wm_drop_import_file_invoke(), workspace_add_invoke(), and workspace_append_button().

◆ op_enum() [1/2]

void uiLayout::op_enum ( blender::StringRefNull opname,
blender::StringRefNull propname )

Expands and sets each enum property value as an operator button.

Parameters
propnameName of the operator's enum property.

Definition at line 1733 of file interface_layout.cc.

References op_enum(), root_, and UI_ITEM_NONE.

◆ op_enum() [2/2]

◆ op_enum_items()

void uiLayout::op_enum_items ( wmOperatorType * ot,
const PointerRNA & ptr,
PropertyRNA * prop,
IDProperty * properties,
blender::wm::OpCallContext context,
eUI_Item_Flag flag,
const EnumPropertyItem * item_array,
int totitem,
int active = -1 )

◆ op_menu_enum() [1/2]

PointerRNA uiLayout::op_menu_enum ( const bContext * C,
blender::StringRefNull opname,
blender::StringRefNull propname,
blender::StringRefNull name,
int icon )

Adds a op_enum menu.

Returns
Operator pointer to write extra properties to set when menu buttons are displayed, might be PointerRNA_NULL if operator does not exist.

Definition at line 3493 of file interface_layout.cc.

References C, blender::StringRefNull::c_str(), name, op_menu_enum(), ot, PointerRNA_NULL, RNA_warning, ui_item_disabled(), UI_OPERATOR_ERROR_RET, and WM_operatortype_find().

◆ op_menu_enum() [2/2]

◆ op_menu_hold()

PointerRNA uiLayout::op_menu_hold ( wmOperatorType * ot,
std::optional< blender::StringRef > name,
int icon,
blender::wm::OpCallContext context,
eUI_Item_Flag flag,
const char * menu_id )

Adds a operator item, places a button in the layout to call the operator, if the button is held down, a menu will be displayed instead.

Parameters
otOperator to add.
nameText to show in the layout.
contextOperator call context for WM_operator_name_call.
menu_idmenu to show on held down.
Returns
Operator pointer to write properties, might be PointerRNA_NULL if operator does not exists.

Definition at line 1494 of file interface_layout.cc.

References BLI_strdup(), context(), flag, name, ot, ptr, UI_but_func_hold_set(), ui_item_menu_hold(), and uiItemFullO_ptr_ex().

◆ operator_context()

blender::wm::OpCallContext uiLayout::operator_context ( ) const
nodiscard

◆ operator_context_set()

◆ overlap()

◆ panel() [1/2]

PanelLayout uiLayout::panel ( const bContext * C,
blender::StringRef idname,
bool default_closed )

Variant of panel_prop that automatically stores the open-close-state in the root panel. When a dynamic number of panels is required, it's recommended to use panel_prop instead of passing in generated id names.

Parameters
idnameString that identifies the open-close-state in the root panel.

Definition at line 4859 of file interface_layout.cc.

References BKE_panel_layout_panel_state_ensure(), BLI_assert, C, panel_prop(), RNA_pointer_create_discrete(), root_panel(), and state.

Referenced by blender::nodes::node_geo_bake_cc::draw_bake_items(), blender::ed::spreadsheet::draw_context_panel(), blender::ed::spreadsheet::draw_context_panel_content(), blender::nodes::draw_data_blocks(), blender::ui::nodes::draw_node_inputs_recursive(), blender::nodes::node_geo_simulation_cc::draw_simulation_state(), blender::nodes::node_composite_file_output_cc::item_layout(), blender::nodes::node_composite_file_output_cc::node_layout_ex(), blender::nodes::node_fn_format_string_cc::node_layout_ex(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_cc::node_layout_ex(), blender::nodes::node_geo_field_to_grid_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_separate_bundle_cc::node_layout_ex(), blender::nodes::node_geo_viewer_cc::node_layout_ex(), blender::ed::space_node::node_tree_interface_draw(), panel(), popover(), uiLayoutItemPanelBody::resolve_impl(), uiLayoutItemPanelHeader::resolve_impl(), blender::ed::spreadsheet::spreadsheet_data_set_panel_draw(), and blender::ed::space_node::ui_node_draw_recursive().

◆ panel() [2/2]

uiLayout * uiLayout::panel ( const bContext * C,
blender::StringRef idname,
bool default_closed,
blender::StringRef label )

Variant of panel 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 4871 of file interface_layout.cc.

References PanelLayout::body, C, PanelLayout::header, label(), panel(), and uiLayout().

◆ panel_prop() [1/2]

PanelLayout uiLayout::panel_prop ( const bContext * C,
PointerRNA * open_prop_owner,
blender::StringRefNull 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 4789 of file interface_layout.cc.

References block(), blender::ui::block_layout_set_current(), PanelLayout::body, C, blender::StringRefNull::c_str(), CTX_wm_region(), ARegion::flag, PanelLayout::header, blender::ui::LayoutInternal::init_from_parent(), Label, uiLayoutItemPanelHeader::open_prop_name, uiLayoutItemPanelHeader::open_prop_owner, RGN_FLAG_SEARCH_FILTER_ACTIVE, RNA_boolean_get(), root_, row(), space_, ui_text_icon_width(), UI_UNIT_Y, uiDefIconTextBut(), uiLayout(), and width().

Referenced by blender::seq::brightcontrast_panel_draw(), blender::seq::colorBalance_panel_draw(), blender::seq::compositor_modifier_panel_draw(), blender::seq::curves_panel_draw(), blender::nodes::draw_geometry_nodes_modifier_ui(), blender::nodes::draw_interface_panel_as_panel(), blender::nodes::draw_manage_panel(), blender::nodes::draw_warnings(), blender::seq::hue_correct_panel_draw(), panel(), blender::panel_draw(), panel_draw(), panel_prop(), panel_prop_with_bool_header(), blender::seq::tonemapmodifier_panel_draw(), uiTemplateCollectionExporters(), and blender::seq::whiteBalance_panel_draw().

◆ panel_prop() [2/2]

uiLayout * uiLayout::panel_prop ( const bContext * C,
PointerRNA * open_prop_owner,
blender::StringRefNull open_prop_name,
blender::StringRef label )

Variant of panel_prop 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 4848 of file interface_layout.cc.

References PanelLayout::body, C, PanelLayout::header, label(), panel_prop(), and uiLayout().

◆ panel_prop_with_bool_header()

PanelLayout uiLayout::panel_prop_with_bool_header ( const bContext * C,
PointerRNA * open_prop_owner,
blender::StringRefNull open_prop_name,
PointerRNA * bool_prop_owner,
blender::StringRefNull bool_prop_name,
std::optional< blender::StringRef > label )

◆ parent()

uiLayout * uiLayout::parent ( ) const
nodiscard

Definition at line 6191 of file interface_layout.cc.

References parent_, and uiLayout().

Referenced by ui_layout_heading_find().

◆ popover() [1/2]

void uiLayout::popover ( const bContext * C,
blender::StringRef panel_type,
std::optional< blender::StringRef > name_opt,
int icon )

References Auto, C, context(), flag, name, prop(), ptr, and uiItem::type().

◆ popover() [2/2]

◆ popover_group()

void uiLayout::popover_group ( bContext * C,
int space_id,
int region_id,
const char * context,
const char * category )

◆ progress_indicator()

void uiLayout::progress_indicator ( const char * text,
float factor,
blender::ui::ButProgressType progress_type )

◆ prop() [1/2]

void uiLayout::prop ( PointerRNA * ptr,
blender::StringRefNull propname,
eUI_Item_Flag flag,
std::optional< blender::StringRef > name,
int icon )

Adds a RNA property item, and exposes it into the layout.

Definition at line 2398 of file interface_layout.cc.

References blender::StringRefNull::c_str(), flag, name, prop(), ptr, RNA_NO_INDEX, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, and ui_item_disabled().

◆ prop() [2/2]

void uiLayout::prop ( PointerRNA * ptr,
PropertyRNA * prop,
int index,
int value,
eUI_Item_Flag flag,
std::optional< blender::StringRef > name_opt,
int icon,
std::optional< blender::StringRef > placeholder = std::nullopt )

Adds a RNA property item, and exposes it into the layout.

Parameters
ptrRNA pointer to the struct owner of prop.
propThe property in ptr to add.
indexWhen prop is a array property, indicates what entry to expose through the layout, RNA_NO_INDEX (-1) means all.

Definition at line 1931 of file interface_layout.cc.

References activate_init(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, block(), blender::ui::block_layout_set_current(), Checkbox, CheckboxN, column(), CTX_data_main(), decorator(), uiBut::drawflag, ED_id_rename(), ELEM, uiBut::emboss, emboss_, enabled_set(), flag, uiItem::flag_, blender::ui::Horizontal, i, uiBut::icon, IconToggle, IconToggleN, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), Label, len, local_direction(), max_ii(), blender::ui::Menu, name, blender::ui::None, blender::ui::NoneOrStatus, nullptr, Num, NumSlider, blender::ui::PieMenu, blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last(), uiButNumber::precision, uiButNumberSlider::precision, prop(), PROP_BOOLEAN, PROP_ENUM, PROP_ENUM_FLAG, PROP_FLOAT, PROP_ICONS_CONSECUTIVE, PROP_INT, PROP_POINTER, PROP_STRING, PROP_STRING_SEARCH_SUGGESTION, blender::ui::PropDecorateNoPad, ptr, red_alert(), blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), 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_editable(), 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, root_, Row, row(), space_, split(), uiButNumber::step_size, uiButNumberSlider::step_size, str, uiBut::str, Text, Toggle, uiBut::type, uiItem::type(), UI_BLOCK_LIST_ITEM, ui_block_new_button_group(), 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_LEFT, UI_BUT_TEXT_RIGHT, ui_def_but_icon_clear(), ui_item_array(), ui_item_enum_expand(), ui_item_name_add_colon(), UI_ITEM_PROP_SEP_DIVIDE, blender::ui::LayoutInternal::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_MAX_NAME_STR, UI_UNIT_Y, uiDefAutoButR(), uiDefBut(), uiDefButR_prop(), uiDefIconButR_prop(), uiDefIconTextButR_prop(), uiLayout(), use_property_decorate(), use_property_split(), and w().

Referenced by blender::nodes::add_attribute_search_button(), blender::nodes::add_attribute_search_or_value_buttons(), blender::nodes::add_layer_name_search_button(), 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::seq::brightcontrast_panel_draw(), blender::ed::object::shapekey::ShapeKeyItem::build_row(), blender::ui::bonecollections::BoneCollectionItem::build_row(), cache_file_layer_item(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), blender::seq::colorBalance_panel_draw(), colorband_buttons_layout(), component_menu(), blender::composition_panel_draw(), constant_offset_header_draw(), CurveProfile_buttons_layout(), data_panel_draw(), decorator(), decorator(), blender::nodes::draw_bake_data_block_list_item(), blender::nodes::draw_common_bake_settings(), draw_constraint_header(), blender::ed::spreadsheet::draw_context_panel_content(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_exporter_item(), blender::nodes::draw_geometry_nodes_operator_redo_ui(), blender::ed::space_node::draw_gizmo_pin_icon(), blender::nodes::socket_items::ui::draw_item_in_list(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::seq::draw_mask_input_type_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::ed::space_node::draw_node_socket_name_editable(), blender::nodes::draw_property_for_socket(), blender::modifier::greasepencil::draw_vertex_group_settings(), ED_buttons_visible_tabs_menu(), 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_header_draw(), fmodifier_influence_draw(), fmodifier_panel_header(), fn_generator_panel_draw(), blender::nodes::node_composite_file_output_cc::format_layout(), 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_driverVar__contextProp(), graph_panel_driverVar__transChan(), graph_panel_driverVar_fallback(), blender::ed::greasepencil::grease_pencil_convert_curve_type_ui(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), blender::ed::greasepencil::grease_pencil_set_corner_type_ui(), blender::ed::greasepencil::grease_pencil_simplify_ui(), blender::intersection_panel_draw(), blender::nodes::node_composite_file_output_cc::item_layout(), 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(), blender::seq::modifier_panel_header(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animated_strip_time(), 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_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_texture(), blender::ed::space_node::node_composit_buts_combsep_color(), blender::nodes::node_composite_convert_color_space_cc::node_composit_buts_convert_colorspace(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_fn_input_bool_cc::node_declare(), blender::nodes::node_fn_input_int_cc::node_declare(), blender::nodes::node_fn_input_rotation_cc::node_declare(), blender::nodes::node_fn_input_vector_cc::node_declare(), blender::nodes::node_shader_bsdf_principled_cc::node_declare(), blender::nodes::node_shader_volume_coefficients_cc::node_declare(), blender::nodes::node_composite_convert_to_display_cc::node_draw_buttons(), blender::nodes::node_composite_file_output_cc::node_layout(), blender::nodes::node_composite_relative_to_pixel_cc::node_layout(), 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_bit_math_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_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_string_to_value_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_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_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_on_faces_cc::node_layout(), blender::nodes::node_geo_duplicate_elements_cc::node_layout(), blender::nodes::node_geo_enable_output_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_field_average_cc::node_layout(), blender::nodes::node_geo_field_min_and_max_cc::node_layout(), blender::nodes::node_geo_field_to_grid_cc::node_layout(), blender::nodes::node_geo_field_variance_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_grease_pencil_set_depth_mode::node_layout(), blender::nodes::node_geo_grid_advect_cc::node_layout(), blender::nodes::node_geo_grid_info_cc::node_layout(), blender::nodes::node_geo_grid_prune_cc::node_layout(), blender::nodes::node_geo_grid_voxelize_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_named_attribute_cc::node_layout(), blender::nodes::node_geo_list_cc::node_layout(), blender::nodes::node_geo_list_get_item_cc::node_layout(), blender::nodes::node_geo_list_length_cc::node_layout(), blender::nodes::node_geo_menu_switch_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_curve_cc::node_layout(), blender::nodes::node_geo_mesh_to_points_cc::node_layout(), blender::nodes::node_geo_object_info_cc::node_layout(), blender::nodes::node_geo_proximity_cc::node_layout(), blender::nodes::node_geo_raycast_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_grease_pencil_color_cc::node_layout(), blender::nodes::node_geo_set_grid_background::node_layout(), blender::nodes::node_geo_set_grid_transform::node_layout(), blender::nodes::node_geo_set_mesh_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_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_viewer_cc::node_layout(), blender::nodes::node_geo_warning_cc::node_layout(), blender::nodes::node_composite_file_output_cc::node_layout_ex(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_curve_resample_cc::node_layout_ex(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_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_input_normal_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_separate_bundle_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::nodes::node_shader_bsdf_glass_cc::node_shader_buts_glass(), 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::nodes::node_shader_radial_tiling_cc::node_shader_buts_radial_tiling(), 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_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_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_combsep_color(), blender::ed::space_node::node_texture_buts_output(), blender::ed::space_node::node_texture_buts_proc(), blender::ed::space_node::node_tree_interface_draw(), noise_panel_draw(), blender::ed::object::object_convert_ui(), object_offset_header_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), op_enum(), op_enum_items(), 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_prop_with_bool_header(), path_panel_draw(), path_panel_draw_header(), popover(), blender::ed::asset::shelf::popover_panel_draw(), position_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), prop(), prop(), prop_enum(), prop_enum(), prop_enum(), prop_menu_enum(), prop_search(), prop_search(), prop_tabs_enum(), prop_with_menu(), prop_with_popover(), props_enum(), random_panel_draw(), random_panel_header_draw(), relative_offset_header_draw(), restrictions_panel_draw(), screen_user_menu_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_random_ui(), blender::ed::pointcloud::select_random_ui(), blender::ed::sculpt_paint::select_random::select_random_ui(), blender::ed::vse::sequencer_add_draw(), blender::ed::vse::sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::pointcloud::set_attribute_ui(), blender::nodes::node_sh_mix_cc::sh_node_mix_layout(), blender::nodes::node_shader_value_cc::sh_node_value_declare(), 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::space_node::std_node_socket_draw(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), symmetry_panel_header_draw(), template_keymap_item_properties(), texture_paint_add_texture_paint_slot_ui(), tile_add_draw(), time_remapping_panel_draw(), transform_panel_draw(), blender::ed::space_node::ui_node_draw_input(), blender::ed::space_node::ui_node_draw_recursive(), ui_popup_context_menu_for_panel(), uilist_draw_filter_default(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateCacheFile(), uiTemplateCacheFileTimeSettings(), uiTemplateCacheFileVelocity(), uiTemplateColorspaceSettings(), uiTemplateImage(), uiTemplateImageFormatViews(), uiTemplateImageSettings(), uiTemplateMovieClip(), uiTemplatePaintModeSelection(), uiTemplatePathBuilder(), uiTemplatePreview(), uv_pack_islands_ui(), 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(), blender::seq::whiteBalance_panel_draw(), wm_clear_recent_files_ui(), and wm_open_mainfile_ui().

◆ prop_enum() [1/3]

void uiLayout::prop_enum ( PointerRNA * ptr,
blender::StringRefNull propname,
const char * value,
std::optional< blender::StringRefNull > name,
int icon )

Add a enum property value item. This button acts like a radio button that are used to chose a single enum value from a set of the enum property value items.

Definition at line 2539 of file interface_layout.cc.

References blender::StringRefNull::c_str(), name, prop(), prop_enum(), ptr, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, ui_item_disabled(), and UNLIKELY.

◆ prop_enum() [2/3]

void uiLayout::prop_enum ( PointerRNA * ptr,
PropertyRNA * prop,
const char * value,
std::optional< blender::StringRefNull > name,
int icon )

◆ prop_enum() [3/3]

void uiLayout::prop_enum ( PointerRNA * ptr,
PropertyRNA * prop,
int value,
std::optional< blender::StringRefNull > name,
int icon )

Add a enum property value item. This button acts like a radio button that are used to chose a single enum value from a set of the enum property value items.

Definition at line 2474 of file interface_layout.cc.

References blender::StringRefNull::c_str(), name, prop(), PROP_ENUM, ptr, RNA_ENUM_VALUE, RNA_property_identifier(), RNA_property_type(), RNA_struct_identifier(), RNA_warning, ui_item_disabled(), and UI_ITEM_NONE.

Referenced by prop_enum().

◆ prop_menu_enum()

void uiLayout::prop_menu_enum ( PointerRNA * ptr,
PropertyRNA * prop,
std::optional< blender::StringRefNull > name,
int icon )

◆ prop_search() [1/2]

void uiLayout::prop_search ( PointerRNA * ptr,
blender::StringRefNull propname,
PointerRNA * searchptr,
blender::StringRefNull searchpropname,
std::optional< blender::StringRefNull > name,
int icon )

Adds a RNA enum/pointer/string/ property item, and exposes it into the layout. Button input would suggest values from the search property collection, input must match a suggested value.

Parameters
searchpropCollection property in searchptr from where to take input values.

Definition at line 2796 of file interface_layout.cc.

References blender::StringRefNull::c_str(), name, prop(), prop_search(), ptr, RNA_struct_find_property(), RNA_struct_identifier(), RNA_warning, and PointerRNA::type.

◆ prop_search() [2/2]

void uiLayout::prop_search ( PointerRNA * ptr,
PropertyRNA * prop,
PointerRNA * searchptr,
PropertyRNA * searchprop,
PropertyRNA * item_searchpropname,
std::optional< blender::StringRefNull > name,
int icon,
bool results_are_suggestions )

Adds a RNA enum/pointer/string/ property item, and exposes it into the layout. Button input would suggest values from the search property collection.

Parameters
searchpropCollection property in searchptr from where to take input values.
results_are_suggestionsAllow inputs that not match any suggested value.
item_searchpropnameThe name of the string property in the collection items to use for searching (if unset, code will use RNA_struc.

Definition at line 2733 of file interface_layout.cc.

References block(), ELEM, name, prop(), PROP_COLLECTION, PROP_ENUM, PROP_POINTER, PROP_STRING, ptr, RNA_property_identifier(), RNA_property_pointer_type(), RNA_property_type(), RNA_property_ui_name(), RNA_struct_identifier(), RNA_struct_ui_icon(), RNA_warning, PointerRNA::type, uiItem::type(), ui_block_new_button_group(), ui_but_add_search(), ui_item_name_add_colon(), ui_item_rna_size(), ui_item_with_label(), UI_MAX_NAME_STR, UI_UNIT_X, use_property_split(), and w().

Referenced by blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::draw_property_for_socket(), blender::modifier::greasepencil::draw_vertex_group_settings(), edbm_blend_from_shape_ui(), modifier_vgroup_ui(), 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_uvmap_cc::node_shader_buts_uvmap(), blender::nodes::node_shader_vertex_color_cc::node_shader_buts_vertex_color(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), prop_search(), and weightvg_ui_common().

◆ prop_tabs_enum()

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

Expands enum property value items as tabs buttons.

Definition at line 3546 of file interface_layout.cc.

References block(), blender::ui::block_layout_set_current(), C, prop(), ptr, ui_item_enum_expand_tabs(), and UI_UNIT_Y.

◆ prop_with_menu()

void uiLayout::prop_with_menu ( PointerRNA * ptr,
PropertyRNA * prop,
int index,
int value,
eUI_Item_Flag flag,
std::optional< blender::StringRefNull > name,
int icon,
const char * menu_type )

◆ prop_with_popover()

void uiLayout::prop_with_popover ( PointerRNA * ptr,
PropertyRNA * prop,
int index,
int value,
eUI_Item_Flag flag,
std::optional< blender::StringRefNull > name,
int icon,
const char * panel_type )

◆ props_enum()

◆ red_alert()

bool uiLayout::red_alert ( ) const
inlinenodiscard

Definition at line 760 of file UI_interface_layout.hh.

References redalert_.

Referenced by prop(), red_alert_set(), uiItem_simple(), and uiItemFullO_ptr_ex().

◆ red_alert_set()

void uiLayout::red_alert_set ( bool red_alert)
inline

When set to true new items added in the layout are highlighted with the error state color TH_REDALERT.

Definition at line 764 of file UI_interface_layout.hh.

References red_alert(), and redalert_.

Referenced by draw_constraint_header(), graph_panel_driverVar__singleProp(), modifier_panel_header(), and shaderfx_panel_header().

◆ resolve()

◆ resolve_impl()

◆ root()

◆ root_panel()

◆ row() [1/2]

uiLayout & uiLayout::row ( bool align)

Add a new row sub-layout, items placed in this sub-layout are added horizontally next to each other in row.

Definition at line 4777 of file interface_layout.cc.

References align(), block(), blender::ui::block_layout_set_current(), blender::ui::LayoutInternal::init_from_parent(), root_, space_, and uiLayout().

Referenced by blender::nodes::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::GridViewLayoutBuilder::build_from_view(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ed::object::shapekey::ShapeKeyItem::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(), 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(), draw_constraint_header(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_export_controls(), draw_exporter_item(), blender::nodes::socket_items::ui::draw_item_in_list(), blender::nodes::socket_items::ui::draw_items_list_with_operators(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), draw_matrix_template(), blender::ui::nodes::draw_node_input(), blender::nodes::draw_property_for_socket(), 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_execution_buttons_draw(), file_panel_execution_cancel_button(), file_panel_execution_execute_button(), fmodifier_influence_draw(), fmodifier_panel_header(), 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::ed::asset::shelf::library_selector_draw(), metadata_panel_draw_field(), mix_mode_panel_draw(), modifier_error_message_draw(), blender::seq::modifier_panel_header(), modifier_panel_header(), modifier_vgroup_ui(), move_to_collection_menu_create(), nla_panel_actclip(), nla_panel_animdata(), nla_panel_modifiers(), nla_panel_properties(), nla_panel_stripname(), blender::ed::space_node::node_composit_buts_cryptomatte(), 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_tree_interface_draw(), 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(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_prop(), popover(), blender::ed::asset::shelf::popover_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), prop(), uiLayoutItemGridFlow::resolve_impl(), restrictions_panel_draw(), row(), blender::ed::sculpt_paint::filter::sculpt_mesh_ui_exec(), blender::segment_list_item_draw(), blender::ed::vse::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(), stepped_panel_draw(), subdivisions_panel_draw(), 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(), blender::ui::LayoutInternal::ui_item_prop_split_layout_hack(), ui_item_with_label(), blender::ed::space_node::ui_node_draw_input(), ui_paneltype_draw_impl(), ui_template_id(), ui_template_list_layout_draw(), ui_template_palette_menu(), uiblock_layer_pass_buttons(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiLayoutListItemAddPadding(), uilist_draw_filter_default(), uiTemplateAction(), uiTemplateAnyID(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateCacheFileTimeSettings(), uiTemplateCollectionExporters(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateInputStatus(), uiTemplateLayers(), uiTemplateMovieClip(), uiTemplateNodeInputs(), uiTemplatePaintModeSelection(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), undo_history_draw_menu(), uv_pack_islands_ui(), vertex_group_panel_draw(), view3d_panel_curve_data(), view3d_panel_vgroup(), wm_block_about_create(), WM_window_modal_keymap_status_draw(), and workspace_add_menu().

◆ row() [2/2]

uiLayout & uiLayout::row ( bool align,
blender::StringRef heading )

Add a new row sub-layout, items placed in this sub-layout are added horizontally next to each other in row.

Parameters
headingHeading label to set to the first child element added in the sub-layout through uiLayout::prop. When property split is used, this heading label is set in the split label column when there is no label defined.

Definition at line 4891 of file interface_layout.cc.

References align(), heading(), heading_, row(), and uiLayout().

◆ scale_x()

float uiLayout::scale_x ( ) const
inlinenodiscard

Definition at line 778 of file UI_interface_layout.hh.

References scale_.

Referenced by estimate(), and ui_text_icon_width_ex().

◆ scale_x_set()

void uiLayout::scale_x_set ( float scale)
inline

◆ scale_y()

float uiLayout::scale_y ( ) const
inlinenodiscard

Definition at line 787 of file UI_interface_layout.hh.

References scale_.

Referenced by estimate().

◆ scale_y_set()

◆ search_weight()

float uiLayout::search_weight ( ) const
inlinenodiscard

Definition at line 769 of file UI_interface_layout.hh.

References search_weight_.

◆ search_weight_set()

void uiLayout::search_weight_set ( float weight)
inline

Definition at line 773 of file UI_interface_layout.hh.

References search_weight_.

◆ separator()

void uiLayout::separator ( float factor = 1.0f,
LayoutSeparatorType type = LayoutSeparatorType::Auto )

Adds a separator item, that adds empty space between items.

Definition at line 3252 of file interface_layout.cc.

References Auto, block(), blender::ui::block_layout_set_current(), uiButSeparatorLine::is_vertical, Line, Sepr, SeprLine, uiItem::type(), UI_block_can_add_separator(), ui_block_is_menu(), ui_block_is_pie_menu(), UI_SCALE_FAC, UI_UNIT_Y, uiDefBut(), and w_.

Referenced by blender::ed::asset::shelf::add_catalog_tabs(), blender::ed::asset::shelf::asset_shelf_header_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_save_file_overwrite_dialog(), 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(), 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_overwrite_detailed_info_show(), 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(), blender::seq::modifier_panel_header(), modifier_panel_header(), move_to_collection_menu_create(), blender::ed::object::move_to_collection_menu_draw(), blender::ed::object::move_to_collection_menu_draw(), nla_panel_animdata(), nla_panel_properties(), blender::ed::space_node::node_catalog_assets_draw(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), blender::ed::space_node::node_update_basis_from_declaration(), op_enum_items(), blender::ed::outliner::outliner_operator_menu(), 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(), preferences_extension_repo_add_ui(), recent_files_menu_draw(), blender::ed::object::root_catalogs_draw(), blender::ed::space_node::root_catalogs_draw(), screen_area_menu_items(), screen_area_options_invoke(), screen_area_touch_menu_create(), screen_user_menu_draw(), blender::ed::vse::sequencer_add_catalog_assets_draw(), blender::ed::vse::sequencer_add_draw(), blender::ed::vse::sequencer_add_scene_draw(), blender::ed::vse::sequencer_split_ui(), shaderfx_panel_header(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), subdivisions_panel_draw(), template_keymap_item_properties(), ui_alert_create(), 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(), uiTemplateColorPicker(), uiTemplateEventFromKeymapItem(), uiTemplateImage(), uiTemplateInputStatus(), uiTemplateInputStatus3DView(), uiTemplateInputStatusAzone(), uiTemplateInputStatusBorder(), uiTemplateInputStatusHeader(), uiTemplateStatusBarModalItem(), uiTemplateStatusInfo(), blender::ed::object::unassigned_assets_draw(), uv_pack_islands_ui(), wm_block_about_create(), wm_block_create_redo(), wm_block_dialog_create(), wm_block_insert_unicode_create(), wm_block_splash_create(), wm_clear_recent_files_ui(), workspace_add_invoke(), and workspace_add_menu().

◆ separator_spacer()

void uiLayout::separator_spacer ( )

◆ split()

uiLayout & uiLayout::split ( float percentage,
bool align )

◆ ui_units_x()

float uiLayout::ui_units_x ( ) const
inlinenodiscard

◆ ui_units_x_set()

◆ ui_units_y()

float uiLayout::ui_units_y ( ) const
inlinenodiscard

Definition at line 805 of file UI_interface_layout.hh.

References units_.

Referenced by estimate().

◆ ui_units_y_set()

void uiLayout::ui_units_y_set ( float height)
inline

Sets a fixed height size for this layout.

Definition at line 809 of file UI_interface_layout.hh.

References units_.

◆ use_property_decorate()

bool uiLayout::use_property_decorate ( ) const
nodiscard

Definition at line 5079 of file interface_layout.cc.

References uiItem::flag_.

Referenced by prop(), ui_item_with_label(), and uiItemPropertySplitWrapperCreate().

◆ use_property_decorate_set()

void uiLayout::use_property_decorate_set ( bool is_sep)

Sets when to add an extra button to insert keyframes next to new property buttons added in the layout.

Definition at line 5084 of file interface_layout.cc.

References uiItem::flag_, and SET_FLAG_FROM_TEST.

Referenced by blender::nodes::add_attribute_search_or_value_buttons(), blender::nodes::add_layer_name_search_button(), blender::ui::block_layout(), blender::ed::object::shapekey::ShapeKeyItem::build_row(), blender::ui::greasepencil::LayerGroupViewItem::build_row(), blender::ui::greasepencil::LayerViewItem::build_row(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_common_bake_settings(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_fill_tile(), blender::nodes::draw_geometry_nodes_modifier_ui(), blender::nodes::draw_geometry_nodes_operator_redo_ui(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), blender::nodes::draw_property_for_socket(), 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(), blender::nodes::node_composite_file_output_cc::format_layout(), 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::greasepencil::grease_pencil_convert_curve_type_ui(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), blender::ed::greasepencil::grease_pencil_set_corner_type_ui(), blender::ed::greasepencil::grease_pencil_simplify_ui(), image_new_draw(), image_save_as_draw(), blender::nodes::node_composite_file_output_cc::item_layout(), 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_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_enable_output_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_grid_info_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_set_grid_background::node_layout(), blender::nodes::node_geo_set_grid_transform::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_warning_cc::node_layout(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_separate_bundle_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::ed::space_node::node_tree_interface_draw(), 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::vse::sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::pointcloud::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_recursive(), uiTemplateCacheFileTimeSettings(), uiTemplateImage(), unwrap_draw(), uv_pack_islands_ui(), wm_clear_recent_files_ui(), and wm_stereo3d_set_draw().

◆ use_property_split()

bool uiLayout::use_property_split ( ) const
nodiscard

◆ use_property_split_set()

void uiLayout::use_property_split_set ( bool value)

Sets when to split property's label into a separate button when adding new property buttons.

Definition at line 5074 of file interface_layout.cc.

References uiItem::flag_, and SET_FLAG_FROM_TEST.

Referenced by blender::nodes::add_attribute_search_or_value_buttons(), advanced_panel_draw(), advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), blur_panel_draw(), blur_panel_draw(), blender::seq::brightcontrast_panel_draw(), caps_panel_draw(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::seq::colorBalance_panel_draw(), blender::composition_panel_draw(), blender::seq::compositor_modifier_panel_draw(), constant_offset_draw(), CurveProfile_buttons_layout(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_common_bake_settings(), blender::modifier::greasepencil::draw_custom_curve_settings(), draw_fill_tile(), blender::nodes::draw_geometry_nodes_modifier_ui(), blender::nodes::draw_geometry_nodes_operator_redo_ui(), blender::modifier::greasepencil::draw_layer_filter_settings(), blender::seq::draw_mask_input_type_settings(), blender::modifier::greasepencil::draw_material_filter_settings(), 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(), blender::nodes::node_composite_file_output_cc::format_layout(), 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::greasepencil::grease_pencil_convert_curve_type_ui(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), blender::ed::greasepencil::grease_pencil_reproject_ui(), blender::ed::greasepencil::grease_pencil_set_corner_type_ui(), blender::ed::greasepencil::grease_pencil_simplify_ui(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), blender::nodes::node_composite_file_output_cc::item_layout(), 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_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_enable_output_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_grid_info_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_set_grid_background::node_layout(), blender::nodes::node_geo_set_grid_transform::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_warning_cc::node_layout(), blender::nodes::node_geo_closure_cc::node_layout_ex(), blender::nodes::node_geo_combine_bundle_cc::node_layout_ex(), blender::nodes::node_geo_evaluate_closure_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_separate_bundle_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::ed::space_node::node_tree_interface_draw(), 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(), path_panel_draw(), position_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), random_panel_draw(), relative_offset_draw(), restrictions_panel_draw(), blender::ed::geometry::run_node_group_ui(), screenshot_draw(), blender::ed::curves::select_ends_ui(), blender::ed::vse::sequencer_split_ui(), blender::ed::curves::set_attribute_ui(), blender::ed::pointcloud::set_attribute_ui(), blender::ed::object::shade_auto_smooth_ui(), shading_panel_draw(), solver_options_panel_draw(), blender::seq::sound_equalizermodifier_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(), blender::seq::tonemapmodifier_panel_draw(), transform_panel_draw(), blender::ui::LayoutInternal::ui_item_prop_split_layout_hack(), blender::ed::space_node::ui_node_draw_node(), blender::ed::space_node::ui_node_draw_recursive(), uiTemplateCacheFile(), 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(), view3d_panel_curve_data(), wave_panel_draw(), weightvg_ui_common(), blender::seq::whiteBalance_panel_draw(), wm_clear_recent_files_ui(), and wm_stereo3d_set_draw().

◆ variable_size()

bool uiLayout::variable_size ( ) const
nodiscard

Definition at line 6211 of file interface_layout.cc.

References variable_size_.

Referenced by ui_layout_variable_size().

◆ width()

◆ blender::ui::LayoutInternal

friend struct blender::ui::LayoutInternal
friend

Definition at line 690 of file UI_interface_layout.hh.

References uiLayout().

Member Data Documentation

◆ activate_init_

bool uiLayout::activate_init_ = false
protected

Definition at line 123 of file UI_interface_layout.hh.

Referenced by activate_init(), and activate_init_set().

◆ active_

bool uiLayout::active_ = false
protected

◆ active_default_

bool uiLayout::active_default_ = false
protected

Definition at line 122 of file UI_interface_layout.hh.

Referenced by active_default(), and active_default_set().

◆ align_

bool uiLayout::align_ = false
protected

Definition at line 120 of file UI_interface_layout.hh.

Referenced by align(), and blender::ui::LayoutInternal::init_from_parent().

◆ alignment_

blender::ui::LayoutAlign uiLayout::alignment_ = {}
protected

Definition at line 128 of file UI_interface_layout.hh.

Referenced by alignment(), and alignment_set().

◆ child_items_layout_

◆ context_

◆ emboss_

◆ enabled_

bool uiLayout::enabled_ = false
protected

◆ h_

◆ heading_

std::string uiLayout::heading_
protected

Definition at line 112 of file UI_interface_layout.hh.

Referenced by column(), heading(), heading_reset(), and row().

◆ items_

◆ parent_

uiLayout* uiLayout::parent_ = nullptr
protected

◆ redalert_

bool uiLayout::redalert_ = false
protected

◆ root_

◆ scale_

float uiLayout::scale_[2] = {0.0f, 0.0f}
protected

Definition at line 119 of file UI_interface_layout.hh.

Referenced by scale_x(), scale_x_set(), scale_y(), and scale_y_set().

◆ search_weight_

float uiLayout::search_weight_ = 0.0f
protected

Is copied to uiButs created in this layout.

Definition at line 133 of file UI_interface_layout.hh.

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

◆ space_

◆ units_

float uiLayout::units_[2] = {0.0f, 0.0f}
protected

for fixed width or height to avoid UI size changes

Definition at line 131 of file UI_interface_layout.hh.

Referenced by ui_units_x(), ui_units_x_set(), ui_units_y(), and ui_units_y_set().

◆ variable_size_

bool uiLayout::variable_size_ = false
protected

For layouts inside grid-flow, they and their items shall never have a fixed maximal size.

Definition at line 127 of file UI_interface_layout.hh.

Referenced by blender::ui::LayoutInternal::init_from_parent(), and variable_size().

◆ w_

◆ x_

◆ y_


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