|
Blender V5.0
|
#include <functional>#include <memory>#include "BLI_function_ref.hh"#include "BLI_string_ref.hh"#include "BLI_vector.hh"#include "UI_resources.hh"#include "UI_interface_c.hh"Go to the source code of this file.
Classes | |
| struct | blender::ui::ContextPathItem |
| struct | blender::ui::DragInfo |
| class | blender::ui::DropTargetInterface |
| class | uiListNameFilter |
Namespaces | |
| namespace | blender |
| namespace | blender::nodes |
| namespace | blender::nodes::geo_eval_log |
| namespace | blender::ui |
Typedefs | |
| using | uiListItemFilterFn |
| using | uiListItemGetNameFn |
Enumerations | |
| enum class | blender::ui::DropBehavior { blender::ui::Reorder , blender::ui::Insert , blender::ui::ReorderAndInsert } |
| enum class | blender::ui::DropLocation { blender::ui::Into , blender::ui::Before , blender::ui::After } |
| enum | eUIListFilterResult { UI_LIST_ITEM_NEVER_SHOW , UI_LIST_ITEM_FILTER_MATCHES , UI_LIST_ITEM_FILTER_MISMATCHES } |
| using uiListItemFilterFn |
Definition at line 258 of file UI_interface.hh.
| using uiListItemGetNameFn |
Definition at line 260 of file UI_interface.hh.
| enum eUIListFilterResult |
| Enumerator | |
|---|---|
| UI_LIST_ITEM_NEVER_SHOW | Never show this item, even when filter results are inverted (UILST_FLT_EXCLUDE). |
| UI_LIST_ITEM_FILTER_MATCHES | Show this item, unless filter results are inverted (UILST_FLT_EXCLUDE). |
| UI_LIST_ITEM_FILTER_MISMATCHES | Don't show this item, unless filter results are inverted (UILST_FLT_EXCLUDE). |
Definition at line 227 of file UI_interface.hh.
| void * but_func_argN_copy | ( | const void * | argN | ) |
Template generating a copying callback matching the uiButArgNCopy signature, for data created with #MEM_new.
Definition at line 58 of file UI_interface.hh.
References T.
Referenced by colorband_buttons_layout(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), uiLayout::op_menu_enum(), uiLayout::prop_menu_enum(), template_ID(), template_id_def_new_but(), template_ID_tabs(), template_search_add_button_searchmenu(), template_texture_user_menu(), uiTemplateComponentMenu(), uiTemplateIconView(), and uiTemplateImage().
| void but_func_argN_free | ( | void * | argN | ) |
Template generating a freeing callback matching the uiButArgNFree signature, for data created with #MEM_new.
Definition at line 49 of file UI_interface.hh.
References T.
Referenced by colorband_buttons_layout(), curvemap_buttons_layout(), CurveProfile_buttons_layout(), uiLayout::op_menu_enum(), uiLayout::prop_menu_enum(), template_ID(), template_id_def_new_but(), template_ID_tabs(), template_search_add_button_searchmenu(), template_texture_user_menu(), uiTemplateComponentMenu(), uiTemplateIconView(), and uiTemplateImage().
| void UI_alert | ( | bContext * | C, |
| blender::StringRef | title, | ||
| blender::StringRef | message, | ||
| eAlertIcon | icon, | ||
| bool | compact ) |
Definition at line 1128 of file interface_region_popup.cc.
References C, data, ui_alert_cancel(), ui_alert_create(), ui_alert_ok(), and UI_popup_block_ex().
Referenced by wm_test_foreign_file_warning(), and wm_test_gpu_backend_fallback().
| blender::ui::AbstractGridView * UI_block_add_view | ( | uiBlock & | block, |
| blender::StringRef | idname, | ||
| std::unique_ptr< blender::ui::AbstractGridView > | grid_view ) |
Override this for all available view types.
| idname | Used for restoring persistent state of this view, potentially written to files. Must not be longer than BKE_ST_MAXNAME (including 0 terminator). |
Definition at line 67 of file interface_view.cc.
References ui_block_add_view_impl().
Referenced by blender::ed::asset::shelf::build_asset_view(), blender::ed::asset::shelf::catalog_selector_panel_draw(), blender::ed::asset::shelf::catalog_tree_draw(), blender::ed::spreadsheet::draw_viewer_data_panel(), blender::ed::spreadsheet::draw_viewer_path_panel(), blender::ed::asset_browser::file_create_asset_catalog_tree_view_in_layout(), blender::ed::spreadsheet::spreadsheet_data_set_panel_draw(), blender::ed::object::shapekey::template_tree(), uiTemplateBoneCollectionTree(), uiTemplateGreasePencilLayerTree(), uiTemplateLightLinkingCollection(), and uiTemplateNodeTreeInterface().
| blender::ui::AbstractTreeView * UI_block_add_view | ( | uiBlock & | block, |
| blender::StringRef | idname, | ||
| std::unique_ptr< blender::ui::AbstractTreeView > | tree_view ) |
Definition at line 74 of file interface_view.cc.
References ui_block_add_view_impl().
Definition at line 6364 of file interface.cc.
References uiBut::pushed_state_func, and ui_but_update().
Referenced by blender::ed::asset::shelf::add_catalog_tabs(), and blender::ed::space_node::node_draw_panels().
Definition at line 6296 of file interface.cc.
References uiBut::apply_func.
Referenced by blender::ed::asset::shelf::add_catalog_tabs(), add_preset_button(), ANIM_channel_draw_widgets(), block_create__close_file_dialog(), block_create_autorun_warning(), blender::ed::asset::shelf::AssetCatalogSelectorTree::Item::build_row(), uiLayout::button(), colorband_buttons_layout(), colorband_tools_fn(), curve_profile_presets_fn(), curve_profile_tools_fn(), curvemap_buttons_layout(), curvemap_clipping_func(), curvemap_tools_func(), CurveProfile_buttons_layout(), uiLayout::decorator(), envelope_panel_draw(), graph_draw_driver_settings_panel(), graph_panel_key_properties(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_collapsed(), blender::ed::space_node::node_draw_panels(), blender::ed::outliner::outliner_draw_mode_column_toggle(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_draw_userbuts(), save_file_overwrite_cancel_button(), save_file_overwrite_confirm_button(), save_file_overwrite_saveas_button(), template_operator_property_buts_draw_single(), ui_alert_create(), ui_block_colorpicker(), ui_colorpicker_circle(), ui_colorpicker_square(), ui_imageuser_slot_menu(), ui_item_array(), ui_item_enum_expand_elem_exec(), ui_item_with_label(), UI_popup_block_template_confirm(), ui_popup_context_menu_for_button(), ui_template_list_layout_draw(), uiTemplateKeymapItemProperties(), uiTemplateLayers(), uiTemplateTextureShow(), view3d_panel_vgroup(), wm_block_dialog_create(), wm_block_file_close_cancel_button(), wm_block_file_close_discard_button(), wm_block_file_close_save_button(), wm_block_insert_unicode_create(), and wm_block_splash_create().
| void UI_list_filter_and_sort_items | ( | uiList * | ui_list, |
| const bContext * | C, | ||
| uiListItemFilterFn | item_filter_fn, | ||
| PointerRNA * | dataptr, | ||
| const char * | propname, | ||
| uiListItemGetNameFn | get_name_fn = nullptr ) |
Helper to apply custom filtering to UI lists not defined in Python. Custom filtering for Python UI lists has own code. This is also used as the default filtering if no uiListType::filter_items callback is set.
Filters list items using item_filter_fn and sorts the result. Also handles alphabetical sorting (UILST_FLT_SORT_ALPHA), and result inverting (UILST_FLT_EXCLUDE) if enabled, so the callback doesn't have to do this (unlike the filter function in Python).
Call this from a uiListType::filter_items callback with any #item_filter_fn. uiListNameFilter can be used to apply the default name based filtering.
| get_name_fn | In some cases the name cannot be retrieved via RNA. This function can be set to provide the name still. |
Definition at line 202 of file interface_template_list.cc.
References BLI_strdup(), cmpstringp(), uiList::dyn_data, uiList::filter_flag, uiList::filter_sort_flag, i, uiListDyn::items_filter_flags, uiListDyn::items_filter_neworder, uiListDyn::items_len, uiListDyn::items_shown, len, MEM_calloc_arrayN(), MEM_freeN(), MEM_malloc_arrayN(), name, StringCmp::org_idx, RNA_PROP_BEGIN, RNA_PROP_END, RNA_property_collection_length(), RNA_struct_find_property(), RNA_struct_name_get_alloc(), STRNCPY(), UI_LIST_ITEM_FILTER_MATCHES, UI_LIST_ITEM_NEVER_SHOW, UILST_FLT_EXCLUDE, UILST_FLT_ITEM, UILST_FLT_ITEM_NEVER_SHOW, UILST_FLT_SORT_ALPHA, and UILST_FLT_SORT_LOCK.
Referenced by uilist_filter_items_default().