105 ®ion->
v2d, event->
mval[0], event->
mval[1], &view_mval[0], &view_mval[1]);
108 space_outliner, &space_outliner->
tree, view_mval[1]);
111 bool is_over_icon =
false;
114 space_outliner, hovered_te, view_mval[0],
NULL, &is_over_icon);
117 bool changed =
false;
142 ot->
name =
"Update Highlight";
143 ot->
idname =
"OUTLINER_OT_highlight_update";
144 ot->
description =
"Update the item highlight based on the current mouse position";
200 ®ion->
v2d, event->
mval[0], event->
mval[1], &view_mval[0], &view_mval[1]);
211 if (te->
xs ==
data->x_location) {
243 ®ion->
v2d, event->
mval[0], event->
mval[1], &view_mval[0], &view_mval[1]);
264 toggle_data->
open = open;
280 ot->
idname =
"OUTLINER_OT_item_openclose";
281 ot->
description =
"Toggle whether item under cursor is enabled or closed";
302 bool add_textbut =
false;
377 if (!active_element) {
382 return active_element;
416 int ytop = (te->
ys + (size_y / 2));
417 int delta_y = ytop - v2d->
cur.
ymax;
428 ot->
idname =
"OUTLINER_OT_item_rename";
442 "Rename the active item, rather than the one the mouse is over");
472 "Cannot delete id '%s', indirectly used data-blocks need at least one user",
480 reports,
RPT_WARNING,
"Cannot delete currently visible workspace id '%s'",
id->
name);
509 if (te->
idcode != 0 && tselem->
id) {
513 "Cannot delete indirectly linked library '%s'",
556 ot->
name =
"Delete Data-Block";
557 ot->
idname =
"OUTLINER_OT_id_delete";
585 if (space_outliner ==
NULL) {
589 if (!(old_id && new_id && (old_id != new_id) && (
GS(old_id->
name) ==
GS(new_id->
name)))) {
592 "Invalid old/new ID pair ('%s' / '%s')",
593 old_id ? old_id->
name :
"Invalid ID",
594 new_id ? new_id->
name :
"Invalid ID");
601 "Old ID '%s' is linked from a library, indirect usages of this data-block will "
633 printf(
"found id %s (%p)!\n", tselem->
id->
name, tselem->
id);
679 for (;
id;
id =
id->
next) {
681 item_tmp.
value = i++;
696 ot->
name =
"Outliner ID Data Remap";
697 ot->
idname =
"OUTLINER_OT_id_remap";
719 "New ID to remap all selected IDs' users to");
801 ot->
name =
"Outliner ID Data Copy";
803 ot->
description =
"Selected data-blocks are copied to the clipboard";
827 if (num_pasted == 0) {
842 ot->
name =
"Outliner ID Data Paste";
843 ot->
idname =
"OUTLINER_OT_id_paste";
844 ot->
description =
"Data-blocks from the clipboard are pasted";
879 printf(
"%s, %s\n", tselem->
id->
name,
lib->filepath_abs);
906 if (((
Library *)tselem->
id)->parent && !reload) {
909 "Cannot relocate indirectly linked library '%s'",
954 ot->
name =
"Relocate Library";
955 ot->
idname =
"OUTLINER_OT_lib_relocate";
1010 ot->
name =
"Reload Library";
1011 ot->
idname =
"OUTLINER_OT_lib_reload";
1042 int level = curlevel;
1057 if (tselem->
flag & flag) {
1075 bool changed =
false;
1079 bool has_flag = (tselem->
flag & flag);
1082 tselem->
flag &= ~flag;
1086 else if (!has_flag) {
1087 tselem->
flag |= flag;
1098 bool changed =
false;
1102 tselem->
flag ^= flag;
1135 ot->
name =
"Expand/Collapse All";
1136 ot->
idname =
"OUTLINER_OT_expanded_toggle";
1187 ot->
name =
"Toggle Selected";
1188 ot->
idname =
"OUTLINER_OT_select_all";
1315 if (active_element) {
1329 int ytop = (active_element->
ys + (size_y / 2));
1330 int delta_y = ytop - v2d->
cur.
ymax;
1346 ot->
name =
"Show Active";
1347 ot->
idname =
"OUTLINER_OT_show_active";
1349 "Open up the tree and adjust the view so that the active object is shown centered";
1386 ot->
name =
"Scroll Page";
1387 ot->
idname =
"OUTLINER_OT_scroll_page";
1414 for (te = lb->
first; te; te = te->
next) {
1420 if ((te != prev) && (*prevFound)) {
1432 tes = outliner_find_name(space_outliner, &te->
subtree, name, flags, prev, prevFound);
1442 static void outliner_find_panel(
1449 int ytop, xdelta, prevFound = 0;
1456 if (again && last_find) {
1462 te = outliner_find_name(space_outliner, &space_outliner->
tree, name, flags, last_find, &prevFound);
1466 te = outliner_find_name(space_outliner, &space_outliner->
tree, name, flags, last_find, &prevFound);
1535 if (curlevel <= level) {
1540 if (curlevel >= level) {
1581 ot->
name =
"Show/Hide One Level";
1582 ot->
idname =
"OUTLINER_OT_show_one_level";
1583 ot->
description =
"Expand/collapse all entries by one level";
1675 ot->
name =
"Show Hierarchy";
1676 ot->
idname =
"OUTLINER_OT_show_hierarchy";
1677 ot->
description =
"Open all object entries and close all others";
1715 short *
UNUSED(groupmode))
1723 char *newpath =
NULL;
1750 for (ld = hierarchy.
first; ld; ld = ld->
next) {
1769 char buf[128], *name;
1774 nextptr = &temnext->
rnaptr;
1790 if (temsub == temnext) {
1837 *array_index = te->
index;
1886 int array_index = 0;
1908 arraylen = array_index;
1912 if (arraylen == array_index) {
1917 for (; array_index < arraylen; array_index++) {
1956 if (space_outliner ==
NULL) {
1973 ot->
idname =
"OUTLINER_OT_drivers_add_selected";
1974 ot->
name =
"Add Drivers for Selected";
1996 if (space_outliner ==
NULL) {
2013 ot->
idname =
"OUTLINER_OT_drivers_delete_selected";
2014 ot->
name =
"Delete Drivers for Selected";
2015 ot->
description =
"Delete drivers assigned to selected items";
2081 int array_index = 0;
2147 if (space_outliner ==
NULL) {
2163 ot->
idname =
"OUTLINER_OT_keyingset_add_selected";
2164 ot->
name =
"Keying Set Add Selected";
2165 ot->
description =
"Add selected items (blue-gray rows) to active Keying Set";
2188 if (space_outliner ==
NULL) {
2205 ot->
idname =
"OUTLINER_OT_keyingset_remove_selected";
2206 ot->
name =
"Keying Set Remove Selected";
2207 ot->
description =
"Remove selected items (blue-gray rows) from active Keying Set";
2246 bmain,
LIB_TAG_DOIT, do_local_ids, do_linked_ids, do_recursive_cleanup, num_tagged);
2257 bool is_first =
true;
2259 if (num_tagged[i] != 0) {
2296 bmain,
LIB_TAG_DOIT, do_local_ids, do_linked_ids, do_recursive_cleanup, num_tagged);
2328 ot->
idname =
"OUTLINER_OT_orphans_purge";
2330 ot->
description =
"Clear all orphaned data-blocks without any users from the file";
2347 "Local Data-blocks",
2348 "Include unused local data-blocks into deletion");
2352 "Linked Data-blocks",
2353 "Include unused linked data-blocks into deletion");
2359 "Recursively check for indirectly unused data-blocks, ensuring that no orphaned "
2360 "data-blocks remain after execution");
typedef float(TangentPoint)[2]
struct KS_Path * BKE_keyingset_add_path(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, short flag, short groupmode)
struct KeyingSet * BKE_keyingset_add(struct ListBase *list, const char idname[], const char name[], short flag, short keyingflag)
struct KS_Path * BKE_keyingset_find_path(struct KeyingSet *ks, struct ID *id, const char group_name[], const char rna_path[], int array_index, int group_mode)
void BKE_keyingset_free_path(struct KeyingSet *ks, struct KS_Path *ksp)
const char * BKE_tempdir_base(void)
bool BKE_copybuffer_save(struct Main *bmain_src, const char *filename, struct ReportList *reports)
int BKE_copybuffer_paste(struct bContext *C, const char *libname, const short flag, struct ReportList *reports, const uint64_t id_types_mask)
void BKE_copybuffer_begin(struct Main *bmain_src)
void BKE_copybuffer_tag_ID(struct ID *id)
struct ScrArea * CTX_wm_area(const bContext *C)
struct Scene * CTX_data_scene(const bContext *C)
struct SpaceOutliner * CTX_wm_space_outliner(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct EditBone * CTX_data_active_bone(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct bPoseChannel * CTX_data_active_pose_bone(const bContext *C)
const char * BKE_idtype_idcode_to_name_plural(const short idcode)
short BKE_idtype_idcode_from_index(const int index)
void BKE_main_lib_objects_recalc_all(struct Main *bmain)
void BKE_id_delete(struct Main *bmain, void *idv) ATTR_NONNULL()
size_t BKE_id_multi_tagged_delete(struct Main *bmain) ATTR_NONNULL()
bool BKE_library_ID_is_indirectly_used(struct Main *bmain, void *idv)
void BKE_lib_query_unused_ids_tag(struct Main *bmain, const int tag, const bool do_local_ids, const bool do_linked_ids, const bool do_tag_recursive, int *r_num_tagged)
void void BKE_libblock_remap(struct Main *bmain, void *old_idv, void *new_idv, const short remap_flags) ATTR_NONNULL(1
@ ID_REMAP_SKIP_NEVER_NULL_USAGE
@ ID_REMAP_SKIP_INDIRECT_USAGE
struct ListBase * which_libbase(struct Main *bmain, short type)
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BKE_reportf(ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_workspace_id_tag_all_visible(struct Main *bmain, int tag) ATTR_NONNULL()
A dynamically sized string ADT.
DynStr * BLI_dynstr_new(void) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_dynstr_free(DynStr *ds) ATTR_NONNULL()
void BLI_dynstr_appendf(DynStr *__restrict ds, const char *__restrict format,...) ATTR_PRINTF_FORMAT(2
char * BLI_dynstr_get_cstring(DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_append(DynStr *__restrict ds, const char *cstr) ATTR_NONNULL()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_join_dirfile(char *__restrict dst, const size_t maxlen, const char *__restrict dir, const char *__restrict file) ATTR_NONNULL()
void BLI_split_dirfile(const char *string, char *dir, char *file, const size_t dirlen, const size_t filelen)
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
BLI_INLINE float BLI_rctf_size_y(const struct rctf *rct)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
#define UNUSED_VARS_NDEBUG(...)
#define BLT_I18NCONTEXT_ID_ID
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
ID and Library types, which are fundamental for sdna.
#define ID_IS_LINKED(_id)
#define ID_REAL_USERS(id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
Object groups, one object can be in many groups at once.
Object is a sort of wrapper for general info.
@ TSE_VIEW_COLLECTION_BASE
@ TSE_LIBRARY_OVERRIDE_BASE
@ TSE_SCENE_COLLECTION_BASE
#define OBACT(_view_layer)
@ RPT_ERROR_INVALID_INPUT
@ CREATEDRIVER_WITH_DEFAULT_DVAR
void ED_outliner_select_sync_from_outliner(struct bContext *C, struct SpaceOutliner *space_outliner)
void ED_region_tag_redraw_no_rebuild(struct ARegion *region)
bool ED_operator_outliner_active(struct bContext *C)
void ED_region_tag_redraw(struct ARegion *region)
int ED_screen_area_active(const struct bContext *C)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
void GPU_materials_free(struct Main *bmain)
Read Guarded memory(de)allocation.
void UI_view2d_region_to_view(const struct View2D *v2d, float x, float y, float *r_view_x, float *r_view_y) ATTR_NONNULL()
bool ANIM_remove_driver(ReportList *UNUSED(reports), ID *id, const char rna_path[], int array_index, short UNUSED(flag))
int ANIM_add_driver(ReportList *reports, ID *id, const char rna_path[], int array_index, short flag, int type)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void add(GHash *messages, MemArena *memarena, const Message *msg)
static void area(int d1, int d2, int e1, int e2, float weights[2])
Collection * outliner_collection_from_tree_element(const TreeElement *te)
bool outliner_is_collection_tree_element(const TreeElement *te)
static KeyingSet * verify_active_keyingset(Scene *scene, short add)
void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
static int outliner_open_back(TreeElement *te)
void OUTLINER_OT_show_active(wmOperatorType *ot)
static int outliner_item_rename(bContext *C, wmOperator *op, const wmEvent *event)
static const EnumPropertyItem * outliner_id_itemf(bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
static int outliner_one_level_exec(bContext *C, wmOperator *op)
void OUTLINER_OT_lib_reload(wmOperatorType *ot)
static void tree_element_show_hierarchy(Scene *scene, SpaceOutliner *space_outliner, ListBase *lb)
static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
void id_remap_fn(bContext *C, ReportList *UNUSED(reports), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem, void *UNUSED(user_data))
void OUTLINER_OT_orphans_purge(wmOperatorType *ot)
static int outliner_count_levels(ListBase *lb, const int curlevel)
void OUTLINER_OT_id_remap(wmOperatorType *ot)
static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
static int outliner_lib_reload_invoke(bContext *C, wmOperator *op, const wmEvent *event)
bool outliner_flag_flip(ListBase *lb, short flag)
static void outliner_openclose_level(ListBase *lb, int curlevel, int level, int open)
static int outliner_lib_relocate_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
static void tree_element_to_path(TreeElement *te, TreeStoreElem *tselem, ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
void OUTLINER_OT_lib_relocate(wmOperatorType *ot)
static void do_item_rename(ARegion *region, TreeElement *te, TreeStoreElem *tselem, ReportList *reports)
void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
static int outliner_id_paste_exec(bContext *C, wmOperator *op)
static int outliner_item_openclose_invoke(bContext *C, wmOperator *op, const wmEvent *event)
void OUTLINER_OT_id_paste(wmOperatorType *ot)
static TreeElement * outliner_show_active_get_element(bContext *C, SpaceOutliner *space_outliner, ViewLayer *view_layer)
void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
static int outliner_lib_relocate_invoke_do(bContext *C, ReportList *reports, TreeElement *te, const float mval[2], const bool reload)
static void do_outliner_keyingset_editop(SpaceOutliner *space_outliner, KeyingSet *ks, ListBase *tree, short mode)
static int outliner_highlight_update(bContext *C, wmOperator *UNUSED(op), const wmEvent *event)
static int outliner_item_openclose_modal(bContext *C, wmOperator *op, const wmEvent *event)
static bool ed_operator_outliner_id_orphans_active(bContext *C)
struct OpenCloseData OpenCloseData
void OUTLINER_OT_item_rename(wmOperatorType *ot)
void OUTLINER_OT_scroll_page(wmOperatorType *ot)
void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
static int outliner_id_delete_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int subtree_has_objects(ListBase *lb)
@ DRIVERS_EDITMODE_REMOVE
static void outliner_set_coordinates_element_recursive(SpaceOutliner *space_outliner, TreeElement *te, int startx, int *starty)
void OUTLINER_OT_highlight_update(wmOperatorType *ot)
static bool outliner_id_remap_find_tree_element(bContext *C, wmOperator *op, ListBase *tree, const float y)
void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
static void id_delete(bContext *C, ReportList *reports, TreeElement *te, TreeStoreElem *tselem)
void outliner_set_coordinates(ARegion *region, SpaceOutliner *space_outliner)
@ KEYINGSET_EDITMODE_REMOVE
int outliner_flag_is_any_test(ListBase *lb, short flag, const int curlevel)
static int lib_relocate(bContext *C, TreeElement *te, TreeStoreElem *tselem, wmOperatorType *ot, const bool reload)
void OUTLINER_OT_show_one_level(wmOperatorType *ot)
static int outliner_id_remap_exec(bContext *C, wmOperator *op)
void OUTLINER_OT_id_delete(wmOperatorType *ot)
static int outliner_orphans_purge_exec(bContext *C, wmOperator *op)
static int outliner_id_copy_exec(bContext *C, wmOperator *op)
static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
void OUTLINER_OT_select_all(wmOperatorType *ot)
void lib_reload_fn(bContext *C, ReportList *UNUSED(reports), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem, void *UNUSED(user_data))
void OUTLINER_OT_item_openclose(wmOperatorType *ot)
static int outliner_id_delete_invoke_do(bContext *C, ReportList *reports, TreeElement *te, const float mval[2])
static void do_outliner_drivers_editop(SpaceOutliner *space_outliner, ListBase *tree, ReportList *reports, short mode)
void id_delete_fn(bContext *C, ReportList *reports, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem, void *UNUSED(user_data))
void item_rename_fn(bContext *C, ReportList *reports, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem, void *UNUSED(user_data))
static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
static int outliner_id_copy_tag(SpaceOutliner *space_outliner, ListBase *tree)
void outliner_item_openclose(SpaceOutliner *space_outliner, TreeElement *te, bool open, bool toggle_all)
void lib_relocate_fn(bContext *C, ReportList *UNUSED(reports), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem, void *UNUSED(user_data))
static int outliner_id_remap_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static TreeElement * outliner_item_rename_find_active(const SpaceOutliner *space_outliner, ReportList *reports)
static bool ed_operator_outliner_datablocks_active(bContext *C)
static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
static int outliner_orphans_purge_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
bool outliner_flag_set(ListBase *lb, short flag, short set)
static void outliner_show_active(SpaceOutliner *space_outliner, ARegion *region, TreeElement *te, ID *id)
static TreeElement * outliner_item_rename_find_hovered(const SpaceOutliner *space_outliner, ARegion *region, const wmEvent *event)
void OUTLINER_OT_id_copy(wmOperatorType *ot)
static int outliner_select_all_exec(bContext *C, wmOperator *op)
TreeElement * outliner_find_editbone(ListBase *lb, const struct EditBone *ebone)
TreeElement * outliner_find_posechannel(ListBase *lb, const struct bPoseChannel *pchan)
TreeElement * outliner_find_element_with_flag(const ListBase *lb, short flag)
bool outliner_item_is_co_within_close_toggle(const TreeElement *te, float view_co_x)
bool outliner_item_is_co_over_name(const TreeElement *te, float view_co_x)
void outliner_scroll_view(struct SpaceOutliner *space_outliner, struct ARegion *region, int delta_y)
void outliner_cleanup_tree(struct SpaceOutliner *space_outliner)
TreeElement * outliner_find_item_at_y(const SpaceOutliner *space_outliner, const ListBase *tree, float view_co_y)
TreeElement * outliner_find_id(struct SpaceOutliner *space_outliner, ListBase *lb, const struct ID *id)
TreeElement * outliner_find_tse(struct SpaceOutliner *space_outliner, const TreeStoreElem *tse)
#define TSELEM_OPEN(telm, sv)
TreeElement * outliner_find_item_at_x_in_row(const SpaceOutliner *space_outliner, TreeElement *parent_te, float view_co_x, bool *r_is_merged_icon, bool *r_is_over_icon)
void outliner_tag_redraw_avoid_rebuild_on_open_change(const struct SpaceOutliner *space_outliner, struct ARegion *region)
static bool outliner_filter_has_name(TreeElement *te, const char *name, int flags)
const EnumPropertyItem rna_enum_id_type_items[]
bool RNA_property_array_check(PropertyRNA *prop)
bool RNA_property_animateable(PointerRNA *ptr, PropertyRNA *prop)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
bool RNA_struct_is_ID(const StructRNA *type)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
bool RNA_property_is_set(PointerRNA *ptr, PropertyRNA *prop)
PropertyType RNA_property_type(PropertyRNA *prop)
void RNA_int_set(PointerRNA *ptr, const char *name, int value)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
char * RNA_path_append(const char *path, PointerRNA *UNUSED(ptr), PropertyRNA *prop, int intkey, const char *strkey)
void RNA_enum_set_identifier(bContext *C, PointerRNA *ptr, const char *name, const char *id)
int RNA_int_get(PointerRNA *ptr, const char *name)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_enum_funcs_runtime(PropertyRNA *prop, EnumPropertyGetFunc getfunc, EnumPropertySetFunc setfunc, EnumPropertyItemFunc itemfunc)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_enum_item_add(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item)
void RNA_def_property_translation_context(PropertyRNA *prop, const char *context)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
const EnumPropertyItem DummyRNA_NULL_items[]
TreeStoreElem * prev_tselem
struct TreeStoreElem search_tse
struct TreeElement * parent
TreeStoreElem * store_elem
struct TreeElement * next
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_main_add_notifier(unsigned int type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, short context, PointerRNA *properties)
void WM_operator_properties_select_all(wmOperatorType *ot)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
int WM_operator_confirm_message(bContext *C, wmOperator *op, const char *message)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
int WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width)
void WM_operator_properties_free(PointerRNA *ptr)