diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-12-28 09:17:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-12-28 09:21:29 +0300 |
commit | 641d4e2b7fc4fd563c3c2dd880c8c412dd35ce9a (patch) | |
tree | 6ec890d6f2aa558e1ada6cf6df94d121b9759134 /source/blender/blenkernel | |
parent | 12874c703cb4fe28600e2533309b3f855b226635 (diff) |
Cleanup: use BLI_libblock prefix for id functions
- test_idbutton -> BLI_libblock_ensure_unique_name (not only used from UI)
- BKE_rename_id -> BKE_libblock_rename (always pass valid main)
also rename:
- name_uiprefix_id -> BKE_id_uiprefix
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_library.h | 24 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 26 |
2 files changed, 23 insertions, 27 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 336928575af..7af126faa6a 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -57,6 +57,16 @@ void *BKE_libblock_copy_nolib(struct ID *id, const bool do_action) ATTR_NONNULL( void *BKE_libblock_copy(struct ID *id) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); void BKE_libblock_copy_data(struct ID *id, const struct ID *id_from, const bool do_action); void BKE_libblock_relink(struct ID *id); +void BKE_libblock_rename(struct Main *bmain, struct ID *id, const char *name) ATTR_NONNULL(); +void BLI_libblock_ensure_unique_name(struct Main *bmain, const char *name) ATTR_NONNULL(); + +void BKE_libblock_free(struct Main *bmain, void *idv) ATTR_NONNULL(); +void BKE_libblock_free_ex(struct Main *bmain, void *idv, bool do_id_user) ATTR_NONNULL(); +void BKE_libblock_free_us(struct Main *bmain, void *idv) ATTR_NONNULL(); +void BKE_libblock_free_data(struct Main *bmain, struct ID *id) ATTR_NONNULL(); + +struct ID *BKE_libblock_find_name_ex(struct Main *bmain, const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); +struct ID *BKE_libblock_find_name(const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); void BKE_id_lib_local_paths(struct Main *bmain, struct Library *lib, struct ID *id); void id_lib_extern(struct ID *id); @@ -81,12 +91,6 @@ struct ListBase *which_libbase(struct Main *mainlib, short type); #define MAX_LIBARRAY 34 int set_listbasepointers(struct Main *main, struct ListBase *lb[MAX_LIBARRAY]); -void BKE_libblock_free(struct Main *bmain, void *idv); -void BKE_libblock_free_ex(struct Main *bmain, void *idv, bool do_id_user); -void BKE_libblock_free_us(struct Main *bmain, void *idv); -void BKE_libblock_free_data(struct Main *bmain, struct ID *id); - - /* Main API */ struct Main *BKE_main_new(void); void BKE_main_free(struct Main *mainvar); @@ -109,15 +113,11 @@ void BKE_main_id_clear_newpoins(struct Main *bmain); void BKE_main_lib_objects_recalc_all(struct Main *bmain); -void BKE_rename_id(struct Main *bmain, struct ID *id, const char *name); -void name_uiprefix_id(char *name, const struct ID *id); -void test_idbutton(char *name); +/* (MAX_ID_NAME - 2) + 3 */ +void BKE_id_ui_prefix(char name[66 + 1], const struct ID *id); void BKE_library_make_local(struct Main *bmain, struct Library *lib, bool untagged_only); -struct ID *BKE_libblock_find_name_ex(struct Main *bmain, const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); -struct ID *BKE_libblock_find_name(const short type, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); - typedef void (*BKE_library_free_window_manager_cb)(struct bContext *, struct wmWindowManager *); typedef void (*BKE_library_free_notifier_reference_cb)(const void *); typedef void (*BKE_library_free_editor_id_reference_cb)(const struct ID *); diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 39feb4065eb..bfee7c10400 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -1809,21 +1809,23 @@ void BKE_library_make_local(Main *bmain, Library *lib, bool untagged_only) } } - -void test_idbutton(char *name) +/** + * Use after setting the ID's name + * When name exists: call 'new_id' + */ +void BLI_libblock_ensure_unique_name(Main *bmain, const char *name) { - /* called from buttons: when name already exists: call new_id */ ListBase *lb; ID *idtest; - - lb = which_libbase(G.main, GS(name)); + + lb = which_libbase(bmain, GS(name)); if (lb == NULL) return; /* search for id */ idtest = BLI_findstring(lb, name + 2, offsetof(ID, name) + 2); - if (idtest && !new_id(lb, idtest, name + 2)) { + if (idtest && !new_id(lb, idtest, idtest->name + 2)) { id_sort_by_name(lb, idtest); } } @@ -1831,15 +1833,9 @@ void test_idbutton(char *name) /** * Sets the name of a block to name, suitably adjusted for uniqueness. */ -void BKE_rename_id(Main *bmain, ID *id, const char *name) +void BKE_libblock_rename(Main *bmain, ID *id, const char *name) { - ListBase *lb; - - if (!bmain) - bmain = G.main; - - lb = which_libbase(bmain, GS(id->name)); - + ListBase *lb = which_libbase(bmain, GS(id->name)); new_id(lb, id, name); } @@ -1847,7 +1843,7 @@ void BKE_rename_id(Main *bmain, ID *id, const char *name) * Returns in name the name of the block, with a 3-character prefix prepended * indicating whether it comes from a library, has a fake user, or no users. */ -void name_uiprefix_id(char *name, const ID *id) +void BKE_id_ui_prefix(char name[MAX_ID_NAME + 1], const ID *id) { name[0] = id->lib ? (ID_MISSING(id) ? 'M' : 'L') : ' '; name[1] = (id->flag & LIB_FAKEUSER) ? 'F' : ((id->us == 0) ? '0' : ' '); |