Blender  V3.3
Classes | Functions
interface_template_list.cc File Reference
#include <cstdlib>
#include <cstring>
#include "BLI_fnmatch.h"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_screen.h"
#include "BLT_translation.h"
#include "ED_asset.h"
#include "ED_screen.h"
#include "MEM_guardedalloc.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "UI_interface.h"
#include "UI_view2d.h"
#include "WM_api.h"
#include "interface_intern.h"

Go to the source code of this file.

Classes

struct  TemplateListInputData
 
struct  _uilist_item
 
struct  TemplateListItems
 
struct  TemplateListLayoutDrawData
 
struct  TemplateListVisualInfo
 
struct  StringCmp
 

Functions

static void uilist_draw_item_default (struct uiList *ui_list, struct bContext *UNUSED(C), struct uiLayout *layout, struct PointerRNA *UNUSED(dataptr), struct PointerRNA *itemptr, int icon, struct PointerRNA *UNUSED(active_dataptr), const char *UNUSED(active_propname), int UNUSED(index), int UNUSED(flt_flag))
 
static void uilist_draw_filter_default (struct uiList *ui_list, struct bContext *UNUSED(C), struct uiLayout *layout)
 
static int cmpstringp (const void *p1, const void *p2)
 
static void uilist_filter_items_default (struct uiList *ui_list, struct bContext *UNUSED(C), struct PointerRNA *dataptr, const char *propname)
 
static void uilist_free_dyn_data (uiList *ui_list)
 
static bool ui_template_list_data_retrieve (const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, TemplateListInputData *r_input_data, uiListType **r_list_type)
 
static void ui_template_list_collect_items (PointerRNA *list_ptr, PropertyRNA *list_prop, uiListDyn *dyn_data, int filter_exclude, bool order_reverse, int activei, TemplateListItems *r_items)
 
static void ui_template_list_collect_display_items (bContext *C, uiList *ui_list, TemplateListInputData *input_data, const uiListFilterItemsFunc filter_items_fn, TemplateListItems *r_items)
 
static void ui_template_list_free_items (TemplateListItems *items)
 
static void uilist_prepare (uiList *ui_list, const TemplateListItems *items, const TemplateListLayoutDrawData *layout_data, TemplateListVisualInfo *r_visual_info)
 
static void uilist_resize_update_cb (bContext *C, void *arg1, void *UNUSED(arg2))
 
static voiduilist_item_use_dynamic_tooltip (PointerRNA *itemptr, const char *propname)
 
static char * uilist_item_tooltip_func (bContext *UNUSED(C), void *argN, const char *tip)
 
static uiListui_list_ensure (bContext *C, uiListType *ui_list_type, const char *list_id, int layout_type, bool sort_reverse, bool sort_lock)
 
static void ui_template_list_layout_draw (bContext *C, uiList *ui_list, uiLayout *layout, TemplateListInputData *input_data, TemplateListItems *items, const TemplateListLayoutDrawData *layout_data, const enum uiTemplateListFlags flags)
 
uiListuiTemplateList_ex (uiLayout *layout, bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags, void *customdata)
 
void uiTemplateList (uiLayout *layout, bContext *C, const char *listtype_name, const char *list_id, PointerRNA *dataptr, const char *propname, PointerRNA *active_dataptr, const char *active_propname, const char *item_dyntip_propname, int rows, int maxrows, int layout_type, int columns, enum uiTemplateListFlags flags)
 
PointerRNAUI_list_custom_activate_operator_set (uiList *ui_list, const char *opname, bool create_properties)
 
PointerRNAUI_list_custom_drag_operator_set (uiList *ui_list, const char *opname, bool create_properties)
 
List-types Registration
void ED_uilisttypes_ui ()
 

Function Documentation

◆ cmpstringp()

static int cmpstringp ( const void p1,
const void p2 
)
static

Definition at line 156 of file interface_template_list.cc.

References BLI_strcasecmp().

Referenced by uilist_filter_items_default().

◆ ED_uilisttypes_ui()

void ED_uilisttypes_ui ( void  )

◆ UI_list_custom_activate_operator_set()

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

◆ UI_list_custom_drag_operator_set()

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

◆ ui_list_ensure()

static uiList* ui_list_ensure ( bContext C,
uiListType ui_list_type,
const char *  list_id,
int  layout_type,
bool  sort_reverse,
bool  sort_lock 
)
static

◆ ui_template_list_collect_display_items()

static void ui_template_list_collect_display_items ( bContext C,
uiList ui_list,
TemplateListInputData input_data,
const uiListFilterItemsFunc  filter_items_fn,
TemplateListItems r_items 
)
static

◆ ui_template_list_collect_items()

static void ui_template_list_collect_items ( PointerRNA list_ptr,
PropertyRNA list_prop,
uiListDyn dyn_data,
int  filter_exclude,
bool  order_reverse,
int  activei,
TemplateListItems r_items 
)
static

◆ ui_template_list_data_retrieve()

static bool ui_template_list_data_retrieve ( const char *  listtype_name,
const char *  list_id,
PointerRNA dataptr,
const char *  propname,
PointerRNA active_dataptr,
const char *  active_propname,
const char *  item_dyntip_propname,
TemplateListInputData r_input_data,
uiListType **  r_list_type 
)
static

◆ ui_template_list_free_items()

static void ui_template_list_free_items ( TemplateListItems items)
static

Definition at line 488 of file interface_template_list.cc.

References TemplateListItems::item_vec, and MEM_freeN.

Referenced by uiTemplateList_ex().

◆ ui_template_list_layout_draw()

static void ui_template_list_layout_draw ( bContext C,
uiList ui_list,
uiLayout layout,
TemplateListInputData input_data,
TemplateListItems items,
const TemplateListLayoutDrawData layout_data,
const enum uiTemplateListFlags  flags 
)
static

Definition at line 659 of file interface_template_list.cc.

References TemplateListInputData::active_dataptr, TemplateListItems::active_item_idx, TemplateListInputData::activeprop, BLI_snprintf(), C, col, TemplateListLayoutDrawData::columns, uiBut::context, PointerRNA::data, TemplateListInputData::dataptr, TemplateListLayoutDrawData::draw_filter, TemplateListLayoutDrawData::draw_item, uiList::dyn_data, TemplateListVisualInfo::end_idx, uiList::filter_flag, _uilist_item::flt_flag, uiListDyn::height, _uilist_item::item, TemplateListInputData::item_dyntip_propname, TemplateListItems::item_vec, uiListDyn::items_shown, uiList::layout_type, uiList::list_grip, uiList::list_scroll, MAX2, MEM_freeN, _uilist_item::org_idx, TemplateListInputData::prop, uiListDyn::resize, uiListDyn::resize_prev, RNA_property_identifier(), RNA_property_pointer_type(), RNA_struct_ui_icon(), TemplateListVisualInfo::start_idx, TIP_, TemplateListItems::tot_items, UI_block_emboss_set(), UI_block_flag_disable(), UI_block_flag_enable(), UI_BLOCK_LIST_ITEM, UI_BTYPE_GRIP, UI_BTYPE_LISTROW, UI_BTYPE_NUM, UI_BTYPE_SCROLL, UI_BTYPE_SEPR, UI_BTYPE_TOGGLE, UI_BUT_DISABLED, UI_but_drawflag_enable(), UI_but_flag_disable(), UI_but_flag_enable(), UI_but_func_set(), UI_but_func_tooltip_set(), UI_BUT_NO_TOOLTIP, UI_BUT_UNDO, UI_EMBOSS, UI_EMBOSS_NONE, UI_icon_from_rnaptr(), ui_layout_list_set_labels_active(), UI_preview_tile_size_x(), UI_preview_tile_size_y(), UI_preview_tile_size_y_no_label(), UI_TEMPLATE_LIST_NO_FILTER_OPTIONS, UI_TEMPLATE_LIST_NO_GRIP, UI_TEMPLATE_LIST_NO_NAMES, UI_UNIT_X, UI_UNIT_Y, uiDefBut(), uiDefButI(), uiDefButR_prop(), uiDefIconButBitI(), uiDefIconButI(), uiDefIconTextButR_prop(), uiItemL(), uiLayoutColumn(), uiLayoutGetBlock(), uiLayoutGetContextStore(), uiLayoutGetWidth(), uiLayoutGridFlow(), uiLayoutListBox(), uiLayoutOverlap(), uiLayoutRow(), uilist_item_tooltip_func(), uilist_item_use_dynamic_tooltip(), uilist_prepare(), uilist_resize_update_cb(), UILST_FLT_SHOW, UILST_LAYOUT_BIG_PREVIEW_GRID, UILST_LAYOUT_COMPACT, UILST_LAYOUT_DEFAULT, UILST_LAYOUT_GRID, V2D_SCROLL_WIDTH, uiListDyn::visual_height, and TemplateListVisualInfo::visual_items.

Referenced by uiTemplateList_ex().

◆ uilist_draw_filter_default()

static void uilist_draw_filter_default ( struct uiList ui_list,
struct bContext UNUSEDC,
struct uiLayout layout 
)
static

◆ uilist_draw_item_default()

static void uilist_draw_item_default ( struct uiList ui_list,
struct bContext UNUSEDC,
struct uiLayout layout,
struct PointerRNA UNUSEDdataptr,
struct PointerRNA itemptr,
int  icon,
struct PointerRNA UNUSEDactive_dataptr,
const char *  UNUSEDactive_propname,
int   UNUSEDindex,
int   UNUSEDflt_flag 
)
static

◆ uilist_filter_items_default()

static void uilist_filter_items_default ( struct uiList ui_list,
struct bContext UNUSEDC,
struct PointerRNA dataptr,
const char *  propname 
)
static

◆ uilist_free_dyn_data()

static void uilist_free_dyn_data ( uiList ui_list)
static

◆ uilist_item_tooltip_func()

static char* uilist_item_tooltip_func ( bContext UNUSEDC,
void argN,
const char *  tip 
)
static

Definition at line 595 of file interface_template_list.cc.

References BLI_sprintfN().

Referenced by ui_template_list_layout_draw().

◆ uilist_item_use_dynamic_tooltip()

static void* uilist_item_use_dynamic_tooltip ( PointerRNA itemptr,
const char *  propname 
)
static

◆ uilist_prepare()

static void uilist_prepare ( uiList ui_list,
const TemplateListItems items,
const TemplateListLayoutDrawData layout_data,
TemplateListVisualInfo r_visual_info 
)
static

◆ uilist_resize_update_cb()

static void uilist_resize_update_cb ( bContext C,
void arg1,
void UNUSEDarg2 
)
static

◆ uiTemplateList()

void uiTemplateList ( uiLayout layout,
bContext C,
const char *  listtype_name,
const char *  list_id,
PointerRNA dataptr,
const char *  propname,
PointerRNA active_dataptr,
const char *  active_propname,
const char *  item_dyntip_propname,
int  rows,
int  maxrows,
int  layout_type,
int  columns,
enum uiTemplateListFlags  flags 
)

◆ uiTemplateList_ex()

uiList* uiTemplateList_ex ( uiLayout layout,
bContext C,
const char *  listtype_name,
const char *  list_id,
PointerRNA dataptr,
const char *  propname,
PointerRNA active_dataptr,
const char *  active_propname,
const char *  item_dyntip_propname,
int  rows,
int  maxrows,
int  layout_type,
int  columns,
enum uiTemplateListFlags  flags,
void customdata 
)