23struct GeometryAttributeInfo;
39class AbstractViewItem;
51 MEM_delete(
static_cast<T *
>(argN));
60 return MEM_new<T>(__func__, *
static_cast<const T *
>(argN));
65class AbstractGridView;
66class AbstractTreeView;
67class DropTargetInterface;
84 const BIFIconID icon_override = ICON_NONE);
89 bool can_create_attribute,
164 virtual bool can_drop(
const wmDrag &drag,
const char **r_disabled_hint)
const = 0;
240 char *filter_ =
nullptr;
271 const char *propname,
280 std::unique_ptr<blender::ui::AbstractGridView> grid_view);
284 std::unique_ptr<blender::ui::AbstractTreeView> tree_view);
void UI_but_func_set(uiBut *but, std::function< void(bContext &)> func)
void * but_func_argN_copy(const void *argN)
blender::ui::AbstractGridView * UI_block_add_view(uiBlock &block, blender::StringRef idname, std::unique_ptr< blender::ui::AbstractGridView > grid_view)
@ UI_LIST_ITEM_FILTER_MISMATCHES
@ UI_LIST_ITEM_NEVER_SHOW
@ UI_LIST_ITEM_FILTER_MATCHES
void but_func_argN_free(void *argN)
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)
void UI_but_func_pushed_state_set(uiBut *but, std::function< bool(const uiBut &)> func)
virtual bool on_drop(bContext *C, const DragInfo &drag) const =0
virtual bool can_drop(const wmDrag &drag, const char **r_disabled_hint) const =0
virtual ~DropTargetInterface()=default
virtual std::string drop_tooltip(const DragInfo &drag) const =0
virtual std::optional< DropLocation > choose_drop_location(const ARegion ®ion, const wmEvent &event) const
DropTargetInterface()=default
uiListNameFilter(uiList &list)
eUIListFilterResult operator()(const PointerRNA &itemptr, blender::StringRefNull name, int index)
bool asset_shelf_popover_invoke(bContext &C, blender::StringRef asset_shelf_idname, ReportList &reports)
void template_breadcrumbs(uiLayout &layout, Span< ContextPathItem > context_path)
bool drop_target_apply_drop(bContext &C, const ARegion ®ion, const wmEvent &event, const DropTargetInterface &drop_target, const ListBase &drags)
void attribute_search_add_items(StringRefNull str, bool can_create_attribute, Span< const nodes::geo_eval_log::GeometryAttributeInfo * > infos, uiSearchItems *items, bool is_first)
std::string drop_target_tooltip(const ARegion ®ion, const DropTargetInterface &drop_target, const wmDrag &drag, const wmEvent &event)
std::unique_ptr< DropTargetInterface > region_views_find_drop_target_at(const ARegion *region, const int xy[2])
void context_path_add_generic(Vector< ContextPathItem > &path, StructRNA &rna_type, void *ptr, const BIFIconID icon_override=ICON_NONE)
int icon_indicator_number
DragInfo(const wmDrag &drag, const wmEvent &event, DropLocation drop_location)
const DropLocation drop_location