Blender V4.5
uiLayout Struct Reference

#include <UI_interface_layout.hh>

Inherits uiItem.

Inherited by uiLayoutItemBx, uiLayoutItemFlow, uiLayoutItemGridFlow, uiLayoutItemPanelBody, uiLayoutItemPanelHeader, uiLayoutItemRoot, and uiLayoutItemSplit.

Public Member Functions

Layout Items
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::StringRefNull > 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)
Button Items
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_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, wmOperatorCallContext 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, wmOperatorCallContext context, eUI_Item_Flag flag)
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 separator (float factor=1.0f, LayoutSeparatorType type=LayoutSeparatorType::Auto)
Public Member Functions inherited from uiItem
 uiItem ()=default
 uiItem (const uiItem &)=default
virtual ~uiItem ()=default

Public Attributes

uiLayoutRootroot_
bContextStorecontext_
uiLayoutparent_
blender::Vector< uiItem * > items_
char heading_ [UI_MAX_NAME_STR]
uiLayoutchild_items_layout_
int x_
int y_
int w_
int h_
float scale_ [2]
short space_
bool align_
bool active_
bool active_default_
bool activate_init_
bool enabled_
bool redalert_
bool keepaspect_
bool variable_size_
char alignment_
blender::ui::EmbossType emboss_
float units_ [2]
float search_weight_
Public Attributes inherited from uiItem
blender::ui::ItemType type_
blender::ui::ItemInternalFlag flag_

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 75 of file UI_interface_layout.hh.

Member Function Documentation

◆ absolute()

uiLayout & uiLayout::absolute ( bool align)

◆ absolute_block()

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

References UI_BTYPE_ROUNDBOX, and ui_layout_box().

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

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

References root_, space_, uiItem::type_, UI_block_layout_set_current(), and ui_litem_init_from_parent().

Referenced by advanced_panel_draw(), axis_mapping_panel_draw(), blender::bake_panel_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_gpu_backend_fallback(), block_create_opengl_usage_warning(), block_create_save_file_overwrite_dialog(), blur_panel_draw(), blur_panel_draw(), blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::GridViewLayoutBuilder::build_from_view(), blender::ui::TreeViewLayoutBuilder::build_row(), caps_panel_draw(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), column(), component_menu(), blender::composition_panel_draw(), constant_offset_draw(), constraint_ops_extra_draw(), cycles_panel_draw(), data_panel_draw(), blender::nodes::draw_bake_button_row(), blender::nodes::draw_bake_panel(), 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::modifier::greasepencil::draw_material_filter_settings(), blender::ed::asset::draw_menu_for_catalog(), blender::modifier::greasepencil::draw_vertex_group_settings(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_decimate_ui(), edge_data_panel_draw(), blender::edge_types_panel_draw(), envelope_panel_draw(), file_overwrite_detailed_info_show(), file_panel_asset_catalog_buttons_draw(), fmodifier_frame_range_draw(), fn_generator_panel_draw(), generate_panel_draw(), generator_panel_draw(), gpencil_shaderfx_ops_extra_draw(), graph_draw_driver_settings_panel(), graph_panel_cursor(), graph_panel_cursor_header(), graph_panel_driverVar__contextProp(), graph_panel_driverVar__locDiff(), graph_panel_driverVar__rotDiff(), graph_panel_driverVar__singleProp(), graph_panel_driverVar__transChan(), graph_panel_key_properties(), graph_panel_properties(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_ui(), hud_panel_operator_redo_draw(), image_new_draw(), image_save_as_draw(), blender::intersection_panel_draw(), layers_panel_draw(), limits_panel_draw(), blender::material_mask_panel_draw(), materials_panel_draw(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), nla_panel_actclip(), nla_panel_animated_influence_header(), nla_panel_animated_strip_time_header(), nla_panel_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::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), 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_double_edge_mask_cc::node_composit_buts_double_edge_mask(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_keyingscreen_cc::node_composit_buts_keyingscreen(), blender::nodes::node_composite_map_range_cc::node_composit_buts_map_range(), blender::nodes::node_composite_map_value_cc::node_composit_buts_map_value(), blender::nodes::node_composite_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(), 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(), relative_offset_draw(), blender::ed::curves::select_ends_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::ed::space_node::std_node_socket_draw(), blender::ed::space_node::std_node_socket_interface_draw(), stepped_panel_draw(), symmetry_panel_draw(), template_add_button_search_menu(), template_operator_property_buts_draw_single(), texture_paint_add_texture_paint_slot_ui(), texture_panel_draw(), texture_panel_draw(), tile_add_draw(), time_panel_draw(), ui_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(), uiItemDecoratorR_prop(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiTemplateAssetView(), 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_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 4940 of file interface_layout.cc.

References column(), and ui_layout_heading_set().

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

References align_, uiLayoutItemFlow::number, root_, space_, uiItem::type_, UI_block_layout_set_current(), and ui_litem_init_from_parent().

Referenced by template_keymap_item_properties().

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

References align_, uiLayoutItemGridFlow::columns_len, uiLayoutItemGridFlow::even_columns, uiLayoutItemGridFlow::even_rows, root_, row_major, uiLayoutItemGridFlow::row_major, space_, uiItem::type_, UI_block_layout_set_current(), and ui_litem_init_from_parent().

Referenced by ui_template_list_layout_draw().

◆ label()

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

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

Definition at line 3179 of file interface_layout.cc.

References uiItemL_().

Referenced by blender::nodes::add_attribute_search_or_value_buttons(), blender::ui::BasicTreeViewItem::add_label(), blender::nodes::add_layer_name_search_button(), blender::ed::space_node::add_root_catalogs_draw(), block_create__close_file_dialog(), block_create_opengl_usage_warning(), block_create_save_file_overwrite_dialog(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), blender::ed::spreadsheet::CurvesDomainViewItem::build_row(), blender::ed::spreadsheet::CurvesViewItem::build_row(), blender::ed::spreadsheet::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::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::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), blender::nodes::node_composite_glare_cc::cmp_node_glare_declare(), blender::ed::object::collection_exporter_menu_draw(), blender::composition_panel_draw(), draw_constraint_header(), blender::ed::spreadsheet::draw_context_panel(), blender::ed::spreadsheet::draw_context_panel_without_context(), draw_export_controls(), blender::nodes::draw_interface_panel_content(), 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::draw_warnings(), driver_dvar_invalid_name_query_cb(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), blender::edge_types_panel_draw(), blender::face_mark_panel_draw(), blender::face_mark_panel_draw_header(), file_overwrite_detailed_info_show(), fmodifier_panel_header(), generator_panel_draw(), graph_draw_driven_property_panel(), graph_draw_driver_settings_panel(), graph_panel_drivers_popover(), graph_panel_key_properties(), 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_channel_matte_cc::node_composit_buts_channel_matte(), 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_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_geo_simulation_cc::node_layout_ex(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), blender::nodes::node_shader_vertex_color_cc::node_shader_buts_vertex_color(), blender::ed::space_node::node_socket_button_label(), blender::ed::space_node::node_socket_undefined_draw(), blender::ed::space_node::node_socket_undefined_interface_draw(), blender::occlusion_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), 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(), screen_user_menu_draw(), shaderfx_panel_end(), shaderfx_panel_header(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw(), blender::ed::spreadsheet::spreadsheet_filter_panel_draw_header(), blender::ed::spreadsheet::spreadsheet_footer_region_draw(), blender::ed::space_node::std_node_socket_draw(), blender::ui::template_breadcrumbs(), template_keymap_item_properties(), template_operator_property_buts_draw_single(), template_texture_user_menu(), ui_def_but_rna__menu(), ui_def_but_rna__menu_type(), ui_def_but_rna__panel_type(), ui_item_enum_expand_exec(), ui_item_menu_hold(), ui_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(), uiItemsEnumR(), uiItemsFullEnumO_items(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateCacheFileProcedural(), 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 )

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

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

◆ menu() [2/2]

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

References ui_item_menu().

Referenced by draw_constraint_header(), modifier_panel_header(), move_to_collection_menu_create(), blender::ed::object::move_to_collection_menus_items(), 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 3362 of file interface_layout.cc.

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

References root_, uiItem::type_, UI_block_layout_set_current(), ui_item_local_sublayout(), UI_LAYOUT_PIEMENU, ui_litem_init_from_parent(), and uiItem::uiItem().

Referenced by ui_item_enum_expand_exec(), UI_pie_menu_invoke_from_operator_enum(), UI_pie_menu_invoke_from_rna_enum(), ui_pie_menu_level_invoke(), and uiItemsFullEnumO_items().

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

References op(), root_, and UI_ITEM_NONE.

◆ op() [2/4]

PointerRNA uiLayout::op ( blender::StringRefNull opname,
std::optional< blender::StringRef > name,
int icon,
wmOperatorCallContext 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 1382 of file interface_layout.cc.

References blender::StringRefNull::c_str(), flag, 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 1743 of file interface_layout.cc.

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

◆ op() [4/4]

PointerRNA uiLayout::op ( wmOperatorType * ot,
std::optional< blender::StringRef > name,
int icon,
wmOperatorCallContext 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 1358 of file interface_layout.cc.

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

Referenced by 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(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), 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(), modifier_panel_header(), blender::ed::object::move_to_collection_menu_create(), move_to_collection_menu_create(), blender::ed::object::move_to_collection_menus_items(), nla_panel_actclip(), nla_panel_modifiers(), blender::ed::space_node::node_add_catalog_assets_draw(), blender::ed::space_node::node_add_unassigned_assets_draw(), blender::ed::space_node::node_composit_buts_cryptomatte_legacy_ex(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::nodes::node_geo_index_switch_cc::node_layout_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), op(), op(), op(), 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_context_menu_invoke(), screen_user_menu_draw(), blender::ed::object::select_grouped_collection(), 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(), ui_but_menu_add_path_operators(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_button(), uiItemEnumO_ptr(), uiItemEnumO_string(), uiItemEnumO_value(), uiItemsFullEnumO_items(), uiTemplateAssetView(), 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().

◆ overlap()

uiLayout & uiLayout::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 4888 of file interface_layout.cc.

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

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_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_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(), panel(), 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 4900 of file interface_layout.cc.

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

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

References PanelLayout::body, C, blender::StringRefNull::c_str(), CTX_wm_region(), ARegion::flag, PanelLayout::header, uiLayoutItemPanelHeader::open_prop_name, uiLayoutItemPanelHeader::open_prop_owner, RGN_FLAG_SEARCH_FILTER_ACTIVE, RNA_boolean_get(), root_, row(), space_, STRNCPY(), uiItem::type_, UI_block_layout_set_current(), UI_BTYPE_LABEL, ui_litem_init_from_parent(), ui_text_icon_width(), UI_UNIT_Y, uiDefIconTextBut(), uiLayoutGetBlock(), and uiLayoutSetUnitsY().

Referenced by blender::nodes::draw_geometry_nodes_modifier_ui(), blender::nodes::draw_interface_panel_content(), blender::nodes::draw_manage_panel(), blender::nodes::draw_warnings(), panel(), blender::panel_draw(), panel_draw(), panel_prop(), panel_prop_with_bool_header(), and uiTemplateCollectionExporters().

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

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

◆ 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::StringRefNull > label )

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

References blender::StringRefNull::c_str(), flag, 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 1933 of file interface_layout.cc.

References activate_init_, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, uiBlock::buttons, column(), CTX_data_main(), uiBut::drawflag, ED_id_rename(), ELEM, uiBut::emboss, emboss_, uiBlock::evil_C, uiBlock::first_but(), flag, uiBlock::flag, uiItem::flag_, i, uiBut::icon, blender::StringRefBase::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), Vector< T, InlineBufferCapacity, Allocator >::last(), uiBlock::last_but(), len, max_ii(), uiBlock::next_but(), blender::ui::None, blender::ui::NoneOrStatus, nullptr, blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last(), 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, ptr, redalert_, 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_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(), space_, split(), uiButNumber::step_size, uiButNumberSlider::step_size, str, uiBut::str, uiBut::type, UI_block_layout_set_current(), UI_BLOCK_LIST_ITEM, ui_block_new_button_group(), UI_BTYPE_CHECKBOX, UI_BTYPE_CHECKBOX_N, UI_BTYPE_ICON_TOGGLE, UI_BTYPE_ICON_TOGGLE_N, UI_BTYPE_LABEL, UI_BTYPE_NUM, UI_BTYPE_NUM_SLIDER, UI_BTYPE_ROW, UI_BTYPE_TEXT, UI_BTYPE_TOGGLE, UI_BUT2_FORCE_SEMI_MODAL_ACTIVE, UI_BUT_ACTIVATE_ON_INIT, ui_but_add_search(), ui_but_change_type(), UI_BUT_CHECKBOX_INVERT, UI_but_flag2_enable(), UI_but_flag_enable(), UI_but_func_rename_full_set(), UI_BUT_LIST_ITEM, UI_but_placeholder_set(), UI_BUT_REDALERT, UI_BUT_TEXT_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, ui_item_prop_split_layout_hack(), UI_ITEM_R_CHECKBOX_INVERT, UI_ITEM_R_COMPACT, UI_ITEM_R_EXPAND, UI_ITEM_R_FORCE_BLANK_DECORATE, UI_ITEM_R_ICON_NEVER, UI_ITEM_R_ICON_ONLY, UI_ITEM_R_NO_BG, UI_ITEM_R_SLIDER, UI_ITEM_R_SPLIT_EMPTY_NAME, UI_ITEM_R_TEXT_BUT_FORCE_SEMI_MODAL_ACTIVE, UI_ITEM_R_TOGGLE, ui_item_rna_is_expand(), ui_item_rna_size(), ui_item_with_label(), ui_layout_heading_find(), ui_layout_heading_label_add(), UI_LAYOUT_HORIZONTAL, UI_LAYOUT_MENU, UI_LAYOUT_PIEMENU, UI_MAX_NAME_STR, UI_UNIT_Y, uiDefAutoButR(), uiDefBut(), uiDefButR_prop(), uiDefIconButR_prop(), uiDefIconTextButR_prop(), uiItemDecoratorR_prop(), uiLayoutGetLocalDir(), 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::ui::bonecollections::BoneCollectionItem::build_row(), cache_file_layer_item(), blender::chaining_panel_draw(), clamp_panel_draw(), blender::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), blender::nodes::node_composite_colorbalance_cc::cmp_node_colorbalance_declare(), blender::nodes::node_composite_glare_cc::cmp_node_glare_declare(), blender::nodes::node_composite_keying_cc::cmp_node_keying_declare(), blender::nodes::node_composite_mask_cc::cmp_node_mask_declare(), blender::nodes::node_composite_planetrackdeform_cc::cmp_node_planetrackdeform_declare(), blender::nodes::node_composite_value_cc::cmp_node_value_declare(), colorband_buttons_layout(), component_menu(), blender::composition_panel_draw(), constant_offset_header_draw(), CurveProfile_buttons_layout(), data_panel_draw(), 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::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(), 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_simplify_ui(), blender::intersection_panel_draw(), blender::ed::asset::shelf::library_selector_draw(), limits_panel_draw(), blender::ed::sculpt_paint::mask::mask_from_boundary_ui(), blender::ed::sculpt_paint::mask::mask_from_cavity_ui(), blender::material_mask_panel_draw(), blender::material_mask_panel_draw_header(), materials_panel_draw(), menu_add_shortcut(), menu_change_shortcut(), blender::ed::mesh::set_attribute::mesh_set_attribute_ui(), mix_mode_panel_draw(), modifier_grease_pencil_curve_header_draw(), modifier_ops_extra_draw(), modifier_panel_header(), modifier_vgroup_ui(), nla_panel_actclip(), nla_panel_animated_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::nodes::node_composite_blur_cc::node_composit_buts_blur(), blender::nodes::node_composite_boxmask_cc::node_composit_buts_boxmask(), blender::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::ed::space_node::node_composit_buts_combsep_color(), blender::nodes::node_composite_convert_color_space_cc::node_composit_buts_convert_colorspace(), blender::nodes::node_composite_cornerpin_cc::node_composit_buts_cornerpin(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::nodes::node_composite_defocus_cc::node_composit_buts_defocus(), blender::nodes::node_composite_denoise_cc::node_composit_buts_denoise(), blender::nodes::node_composite_dilate_cc::node_composit_buts_dilateerode(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_ellipsemask_cc::node_composit_buts_ellipsemask(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_filter_cc::node_composit_buts_filter(), blender::nodes::node_composite_kuwahara_cc::node_composit_buts_kuwahara(), blender::nodes::node_composite_lensdist_cc::node_composit_buts_lensdist(), blender::nodes::node_composite_map_uv_cc::node_composit_buts_map_uv(), blender::nodes::node_composite_map_value_cc::node_composit_buts_map_value(), blender::nodes::node_composite_moviedistortion_cc::node_composit_buts_moviedistortion(), blender::nodes::node_composite_premulkey_cc::node_composit_buts_premulkey(), blender::nodes::node_composite_rotate_cc::node_composit_buts_rotate(), blender::nodes::node_composite_scale_cc::node_composit_buts_scale(), blender::nodes::node_composite_setalpha_cc::node_composit_buts_set_alpha(), blender::nodes::node_composite_split_cc::node_composit_buts_split(), blender::nodes::node_composite_stabilize2d_cc::node_composit_buts_stabilize2d(), blender::nodes::node_composite_tonemap_cc::node_composit_buts_tonemap(), blender::nodes::node_composite_trackpos_cc::node_composit_buts_trackpos(), blender::nodes::node_composite_transform_cc::node_composit_buts_transform(), blender::nodes::node_composite_translate_cc::node_composit_buts_translate(), blender::nodes::node_composite_levels_cc::node_composit_buts_view_levels(), blender::nodes::node_composite_render_layer_cc::node_composit_buts_viewlayers(), blender::ed::space_node::node_composit_buts_ycc(), 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_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_match_string_cc::node_layout(), blender::nodes::node_fn_random_value_cc::node_layout(), blender::nodes::node_fn_rotate_euler_cc::node_layout(), blender::nodes::node_fn_rotate_rotation_cc::node_layout(), blender::nodes::node_fn_separate_color_cc::node_layout(), blender::nodes::node_fn_value_to_string_cc::node_layout(), blender::nodes::node_geo_accumulate_field_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout(), blender::nodes::node_geo_attribute_domain_size_cc::node_layout(), blender::nodes::node_geo_attribute_statistic_cc::node_layout(), blender::nodes::node_geo_bake_cc::node_layout(), blender::nodes::node_geo_blur_attribute_cc::node_layout(), blender::nodes::node_geo_boolean_cc::node_layout(), blender::nodes::node_geo_collection_info_cc::node_layout(), blender::nodes::node_geo_curve_fill_cc::node_layout(), blender::nodes::node_geo_curve_fillet_cc::node_layout(), blender::nodes::node_geo_curve_handle_type_selection_cc::node_layout(), blender::nodes::node_geo_curve_primitive_arc_cc::node_layout(), blender::nodes::node_geo_curve_primitive_bezier_segment_cc::node_layout(), blender::nodes::node_geo_curve_primitive_circle_cc::node_layout(), blender::nodes::node_geo_curve_primitive_line_cc::node_layout(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_layout(), blender::nodes::node_geo_curve_resample_cc::node_layout(), blender::nodes::node_geo_curve_sample_cc::node_layout(), blender::nodes::node_geo_curve_set_handle_type_cc::node_layout(), blender::nodes::node_geo_curve_spline_type_cc::node_layout(), blender::nodes::node_geo_curve_to_points_cc::node_layout(), blender::nodes::node_geo_curve_trim_cc::node_layout(), blender::nodes::node_geo_delete_geometry_cc::node_layout(), blender::nodes::node_geo_distribute_points_in_grid_cc::node_layout(), blender::nodes::node_geo_distribute_points_in_volume_cc::node_layout(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout(), blender::nodes::node_geo_duplicate_elements_cc::node_layout(), blender::nodes::node_geo_evaluate_at_index_cc::node_layout(), blender::nodes::node_geo_evaluate_on_domain_cc::node_layout(), blender::nodes::node_geo_extrude_mesh_cc::node_layout(), blender::nodes::node_geo_field_average_cc::node_layout(), blender::nodes::node_geo_field_min_and_max_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_info_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_menu_switch_cc::node_layout(), blender::nodes::node_geo_merge_by_distance_cc::node_layout(), blender::nodes::node_geo_merge_layers_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_circle_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cone_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_layout(), blender::nodes::node_geo_mesh_primitive_line_cc::node_layout(), blender::nodes::node_geo_mesh_to_curve_cc::node_layout(), blender::nodes::node_geo_mesh_to_points_cc::node_layout(), blender::nodes::node_geo_mesh_to_volume_cc::node_layout(), blender::nodes::node_geo_object_info_cc::node_layout(), blender::nodes::node_geo_points_to_volume_cc::node_layout(), blender::nodes::node_geo_proximity_cc::node_layout(), blender::nodes::node_geo_raycast_cc::node_layout(), blender::nodes::node_geo_remove_attribute_cc::node_layout(), blender::nodes::node_geo_sample_grid_cc::node_layout(), blender::nodes::node_geo_sample_grid_index_cc::node_layout(), blender::nodes::node_geo_sample_index_cc::node_layout(), blender::nodes::node_geo_sample_nearest_cc::node_layout(), blender::nodes::node_geo_sample_nearest_surface_cc::node_layout(), blender::nodes::node_geo_sample_uv_surface_cc::node_layout(), blender::nodes::node_geo_scale_elements_cc::node_layout(), blender::nodes::node_geo_sdf_grid_boolean_cc::node_layout(), blender::nodes::node_geo_separate_geometry_cc::node_layout(), blender::nodes::node_geo_set_curve_handles_cc::node_layout(), blender::nodes::node_geo_set_curve_normal_cc::node_layout(), blender::nodes::node_geo_set_grease_pencil_color_cc::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_subdivision_surface_cc::node_layout(), blender::nodes::node_geo_switch_cc::node_layout(), blender::nodes::node_geo_tool_active_element_cc::node_layout(), blender::nodes::node_geo_tool_set_selection_cc::node_layout(), blender::nodes::node_geo_transform_geometry_cc::node_layout(), blender::nodes::node_geo_triangulate_cc::node_layout(), blender::nodes::node_geo_uv_unwrap_cc::node_layout(), blender::nodes::node_geo_viewer_cc::node_layout(), blender::nodes::node_geo_volume_to_mesh_cc::node_layout(), blender::nodes::node_geo_warning_cc::node_layout(), blender::nodes::node_geo_attribute_capture_cc::node_layout_ex(), blender::nodes::node_geo_bake_cc::node_layout_ex(), blender::nodes::node_geo_curve_resample_cc::node_layout_ex(), blender::nodes::node_geo_distribute_points_on_faces_cc::node_layout_ex(), blender::nodes::node_geo_foreach_geometry_element_cc::node_layout_ex(), blender::nodes::node_geo_gizmo_transform_cc::node_layout_ex(), blender::nodes::node_geo_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_viewer_cc::node_layout_ex(), blender::nodes::node_shader_ambient_occlusion_cc::node_shader_buts_ambient_occlusion(), blender::nodes::node_shader_attribute_cc::node_shader_buts_attribute(), blender::nodes::node_shader_bevel_cc::node_shader_buts_bevel(), blender::nodes::node_shader_bump_cc::node_shader_buts_bump(), blender::nodes::node_shader_clamp_cc::node_shader_buts_clamp(), blender::ed::space_node::node_shader_buts_displacement(), blender::ed::space_node::node_shader_buts_glossy(), blender::nodes::node_shader_bsdf_glossy_cc::node_shader_buts_glossy(), blender::nodes::node_shader_bsdf_hair_cc::node_shader_buts_hair(), blender::nodes::node_shader_ies_light_cc::node_shader_buts_ies(), blender::nodes::node_shader_map_range_cc::node_shader_buts_map_range(), blender::nodes::node_shader_mapping_cc::node_shader_buts_mapping(), blender::nodes::node_shader_bsdf_metallic_cc::node_shader_buts_metallic(), blender::nodes::node_shader_normal_map_cc::node_shader_buts_normal_map(), blender::nodes::node_shader_output_aov_cc::node_shader_buts_output_aov(), blender::nodes::node_shader_bsdf_hair_principled_cc::node_shader_buts_principled_hair(), blender::ed::space_node::node_shader_buts_scatter(), blender::nodes::node_shader_volume_scatter_cc::node_shader_buts_scatter(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), blender::nodes::node_shader_bsdf_sheen_cc::node_shader_buts_sheen(), blender::nodes::node_shader_subsurface_scattering_cc::node_shader_buts_subsurface(), blender::nodes::node_shader_tangent_cc::node_shader_buts_tangent(), blender::nodes::node_shader_tex_coord_cc::node_shader_buts_tex_coord(), blender::ed::space_node::node_shader_buts_tex_environment(), blender::ed::space_node::node_shader_buts_tex_environment_ex(), blender::nodes::node_shader_tex_gabor_cc::node_shader_buts_tex_gabor(), blender::nodes::node_shader_tex_gradient_cc::node_shader_buts_tex_gradient(), blender::ed::space_node::node_shader_buts_tex_image(), blender::nodes::node_shader_tex_magic_cc::node_shader_buts_tex_magic(), blender::nodes::node_shader_tex_noise_cc::node_shader_buts_tex_noise(), blender::nodes::node_shader_tex_pointdensity_cc::node_shader_buts_tex_pointdensity(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), blender::nodes::node_shader_tex_voronoi_cc::node_shader_buts_tex_voronoi(), blender::nodes::node_shader_tex_wave_cc::node_shader_buts_tex_wave(), blender::nodes::node_shader_bsdf_toon_cc::node_shader_buts_toon(), blender::nodes::node_shader_uv_along_stroke_cc::node_shader_buts_uvalongstroke(), blender::nodes::node_shader_uvmap_cc::node_shader_buts_uvmap(), blender::nodes::node_shader_vector_math_cc::node_shader_buts_vect_math(), blender::nodes::node_shader_vector_transform_cc::node_shader_buts_vect_transform(), blender::nodes::node_shader_vector_rotate_cc::node_shader_buts_vector_rotate(), blender::nodes::node_shader_vertex_color_cc::node_shader_buts_vertex_color(), blender::nodes::node_shader_tex_white_noise_cc::node_shader_buts_white_noise(), blender::nodes::node_shader_wireframe_cc::node_shader_buts_wireframe(), blender::ed::space_node::node_texture_buts_combsep_color(), blender::ed::space_node::node_texture_buts_output(), blender::ed::space_node::node_texture_buts_proc(), noise_panel_draw(), blender::ed::object::object_convert_ui(), object_offset_header_draw(), blender::occlusion_panel_draw(), offset_panel_draw(), blender::options_light_reference_draw(), blender::options_panel_draw(), blender::ed::outliner::outliner_orphans_purge_ui(), blender::panel_draw(), blender::panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_draw(), panel_prop_with_bool_header(), path_panel_draw(), path_panel_draw_header(), blender::ed::asset::shelf::popover_panel_draw(), position_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), prop(), prop(), 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_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_pie_menu_invoke_from_rna_enum(), ui_popup_context_menu_for_panel(), uiItemEnumR_prop(), uiItemEnumR_string_prop(), uiItemFullR_with_menu(), uiItemFullR_with_popover(), uilist_draw_filter_default(), uilist_draw_item_default(), uiTemplateAnyID(), uiTemplateAssetView(), uiTemplateCacheFile(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateCacheFileVelocity(), uiTemplateColorspaceSettings(), uiTemplateImage(), uiTemplateImageFormatViews(), 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(), wm_clear_recent_files_ui(), and wm_open_mainfile_ui().

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

References root_, space_, uiItem::type_, UI_block_layout_set_current(), and ui_litem_init_from_parent().

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::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::nodes::node_composite_color_spill_cc::cmp_node_color_spill_declare(), 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(), 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(), 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::nodes::node_composite_channel_matte_cc::node_composit_buts_channel_matte(), blender::ed::space_node::node_composit_buts_cryptomatte(), blender::nodes::node_composite_distance_matte_cc::node_composit_buts_distance_matte(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_composite_split_cc::node_composit_buts_split(), blender::ed::space_node::node_file_output_socket_draw(), blender::nodes::node_shader_ies_light_cc::node_shader_buts_ies(), blender::nodes::node_shader_script_cc::node_shader_buts_script(), blender::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(), blender::ed::asset::shelf::popover_panel_draw(), preferences_extension_repo_add_ui(), profile_panel_draw(), prop(), 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(), 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(), uiItemPopoverPanel_ptr(), uiItemPropertySplitWrapperCreate(), uiItemsAlertBox(), uiLayoutListItemAddPadding(), uilist_draw_filter_default(), uiTemplateAction(), uiTemplateAnyID(), uiTemplateCacheFile(), uiTemplateCacheFileLayers(), uiTemplateCacheFileProcedural(), uiTemplateCacheFileTimeSettings(), uiTemplateCollectionExporters(), uiTemplateEditModeSelection(), uiTemplateImage(), uiTemplateInputStatus(), uiTemplateLayers(), uiTemplateMovieClip(), uiTemplatePaintModeSelection(), uiTemplatePathBuilder(), uiTemplatePreview(), uiTemplateRunningJobs(), uiTemplateStatusInfo(), undo_history_draw_menu(), uv_pack_islands_ui(), vertex_group_panel_draw(), 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 4920 of file interface_layout.cc.

References row(), and ui_layout_heading_set().

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

References Auto, uiButSeparatorLine::is_vertical, Line, root_, UI_block_can_add_separator(), ui_block_is_menu(), ui_block_is_pie_menu(), UI_block_layout_set_current(), UI_BTYPE_SEPR, UI_BTYPE_SEPR_LINE, UI_SCALE_FAC, UI_UNIT_Y, uiDefBut(), and w_.

Referenced by blender::ed::asset::shelf::add_catalog_tabs(), blender::ed::space_node::add_root_catalogs_draw(), blender::ed::asset::shelf::asset_shelf_header_draw(), block_create__close_file_dialog(), block_create_autorun_warning(), block_create_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(), blender::ed::sculpt_paint::dyntopo::dyntopo_warning_popup(), ED_region_header_layout(), ED_screens_footer_tools_menu_create(), ED_screens_header_tools_menu_create(), edbm_bevel_ui(), edbm_intersect_boolean_ui(), edbm_intersect_ui(), file_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(), modifier_panel_header(), blender::ed::object::move_to_collection_menu_create(), move_to_collection_menu_create(), nla_panel_animdata(), nla_panel_properties(), blender::ed::space_node::node_add_catalog_assets_draw(), blender::nodes::node_composite_file_output_cc::node_composit_buts_file_output_ex(), blender::nodes::node_shader_script_cc::node_shader_buts_script_ex(), blender::ed::space_node::node_update_basis_from_declaration(), 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(), screen_area_menu_items(), screen_area_options_invoke(), screen_user_menu_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_def_but_rna__menu(), ui_imageuser_layer_menu(), ui_imageuser_pass_menu(), ui_imageuser_slot_menu(), ui_imageuser_view_menu_multiview(), ui_imageuser_view_menu_rr(), ui_item_enum_expand_exec(), blender::ed::space_node::ui_node_draw_input(), ui_paneltype_draw_impl(), ui_popup_context_menu_for_button(), UI_popup_menu_reports(), blender::ed::object::ui_template_modifier_asset_menu_items(), uiItemsEnumR(), uiItemsFullEnumO_items(), uiTemplateColorPicker(), 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().

◆ split()

Member Data Documentation

◆ activate_init_

bool uiLayout::activate_init_

Definition at line 93 of file UI_interface_layout.hh.

Referenced by prop(), uiLayoutGetActivateInit(), and uiLayoutSetActivateInit().

◆ active_

bool uiLayout::active_

◆ active_default_

bool uiLayout::active_default_

◆ align_

◆ alignment_

◆ child_items_layout_

uiLayout* uiLayout::child_items_layout_

Sub layout to add child items, if not the layout itself.

Definition at line 85 of file UI_interface_layout.hh.

Referenced by ui_item_prop_split_layout_hack(), ui_layout_add_but(), ui_layout_find_button_item(), ui_layout_remove_but(), and ui_litem_init_from_parent().

◆ context_

◆ emboss_

◆ enabled_

bool uiLayout::enabled_

◆ h_

◆ heading_

char uiLayout::heading_[UI_MAX_NAME_STR]

Definition at line 82 of file UI_interface_layout.hh.

Referenced by ui_layout_heading_label_add(), and ui_layout_heading_set().

◆ items_

◆ keepaspect_

bool uiLayout::keepaspect_

Definition at line 96 of file UI_interface_layout.hh.

Referenced by uiLayoutGetKeepAspect(), and uiLayoutSetKeepAspect().

◆ parent_

uiLayout* uiLayout::parent_

Definition at line 79 of file UI_interface_layout.hh.

Referenced by ui_layout_heading_find(), and ui_litem_init_from_parent().

◆ redalert_

bool uiLayout::redalert_

◆ root_

uiLayoutRoot* uiLayout::root_

Definition at line 77 of file UI_interface_layout.hh.

Referenced by absolute(), column(), column_flow(), grid_flow(), menu(), menu_item_enum_opname_menu(), menu_pie(), op(), op(), overlap(), panel_prop(), prop(), row(), separator(), split(), UI_block_layout(), ui_item_array(), ui_item_disabled(), ui_item_enum_expand_exec(), ui_item_layout(), ui_item_menu(), ui_item_menu_hold(), ui_item_rna_size(), ui_layout_box(), ui_layout_end(), ui_layout_is_radial(), ui_layout_vary_direction(), ui_litem_estimate_box(), ui_litem_estimate_column_flow(), ui_litem_estimate_grid_flow(), ui_litem_init_from_parent(), ui_litem_layout_box(), ui_litem_layout_column_flow(), ui_litem_layout_grid_flow(), ui_litem_layout_panel_body(), ui_litem_layout_panel_header(), ui_litem_layout_radial(), ui_litem_layout_root(), ui_menu_enumpropname(), ui_text_icon_width_ex(), uiItemDecoratorR_prop(), uiItemEnumO_ptr(), uiItemEnumO_string(), uiItemEnumO_value(), uiItemEnumR_string_prop(), uiItemFullO_ptr_ex(), uiItemFullR_with_menu(), uiItemFullR_with_popover(), uiItemL_(), uiItemMContents(), uiItemMenuEnumFullO_ptr(), uiItemMenuEnumR_prop(), uiItemPopoverPanel_ptr(), uiItemProgressIndicator(), uiItemsEnumO(), uiItemsEnumR(), uiItemsFullEnumO(), uiItemsFullEnumO_items(), uiItemSpacer(), uiItemTabsEnumR_prop(), uiLayoutContextCopy(), uiLayoutGetBlock(), uiLayoutGetEmboss(), uiLayoutGetOperatorContext(), uiLayoutGetRootPanel(), uiLayoutSetContextInt(), uiLayoutSetContextPointer(), uiLayoutSetContextString(), uiLayoutSetFunc(), and uiLayoutSetOperatorContext().

◆ scale_

◆ search_weight_

float uiLayout::search_weight_

Is copied to uiButs created in this layout.

Definition at line 104 of file UI_interface_layout.hh.

Referenced by ui_layout_add_but(), uiLayoutGetSearchWeight(), and uiLayoutSetSearchWeight().

◆ space_

◆ units_

float uiLayout::units_[2]

for fixed width or height to avoid UI size changes

Definition at line 102 of file UI_interface_layout.hh.

Referenced by ui_item_estimate(), uiLayoutGetUnitsX(), uiLayoutGetUnitsY(), uiLayoutSetUnitsX(), and uiLayoutSetUnitsY().

◆ variable_size_

bool uiLayout::variable_size_

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

Definition at line 98 of file UI_interface_layout.hh.

Referenced by ui_layout_variable_size(), and ui_litem_init_from_parent().

◆ w_

◆ x_

◆ y_


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