Blender
V3.3
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_animsys.h"
#include "BKE_context.h"
#include "BKE_fcurve.h"
#include "BKE_fcurve_driver.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_nla.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "ED_keyframing.h"
#include "UI_interface.h"
#include "RNA_access.h"
#include "RNA_path.h"
#include "WM_api.h"
#include "WM_types.h"
#include "interface_intern.h"
Go to the source code of this file.
Functions | |
static FCurve * | ui_but_get_fcurve (uiBut *but, AnimData **adt, bAction **action, bool *r_driven, bool *r_special) |
void | ui_but_anim_flag (uiBut *but, const AnimationEvalContext *anim_eval_context) |
static uiBut * | ui_but_anim_decorate_find_attached_button (uiButDecorator *but_decorate) |
void | ui_but_anim_decorate_update_from_flag (uiButDecorator *decorator_but) |
bool | ui_but_anim_expression_get (uiBut *but, char *str, size_t maxlen) |
bool | ui_but_anim_expression_set (uiBut *but, const char *str) |
bool | ui_but_anim_expression_create (uiBut *but, const char *str) |
void | ui_but_anim_autokey (bContext *C, uiBut *but, Scene *scene, float cfra) |
void | ui_but_anim_copy_driver (bContext *C) |
void | ui_but_anim_paste_driver (bContext *C) |
void | ui_but_anim_decorate_cb (bContext *C, void *arg_but, void *UNUSED(arg_dummy)) |
Definition at line 295 of file interface_anim.c.
References C, ED_autokeyframe_property(), uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, and scene.
Referenced by ui_apply_but_autokey().
Definition at line 300 of file interface_anim.c.
References C, NULL, WM_OP_INVOKE_DEFAULT, and WM_operator_name_call().
Definition at line 312 of file interface_anim.c.
References uiBut::active, uiButDecorator::but, C, CTX_wm_manager(), uiBut::flag, NULL, wmWindowManager::op_undo_depth, ot, RNA_boolean_set(), uiBut::rnaindex, SWAP, ui_but_anim_decorate_find_attached_button(), UI_BUT_ANIMATED_KEY, UI_BUT_DRIVEN, WM_OP_INVOKE_DEFAULT, WM_operator_name_call_ptr(), WM_operator_properties_create_ptr(), WM_operator_properties_free(), and WM_operatortype_find().
Referenced by uiItemDecoratorR_prop().
|
static |
Definition at line 110 of file interface_anim.c.
References BLI_assert, uiBut::block, uiButDecorator::but, uiBlock::buttons, PointerRNA::data, LISTBASE_CIRCULAR_BACKWARD_BEGIN, LISTBASE_CIRCULAR_BACKWARD_END, NULL, uiBut::prev, uiButDecorator::rnaindex, uiButDecorator::rnapoin, uiButDecorator::rnaprop, UI_but_is_decorator, and ui_but_rna_equals_ex().
Referenced by ui_but_anim_decorate_cb(), and ui_but_anim_decorate_update_from_flag().
void ui_but_anim_decorate_update_from_flag | ( | uiButDecorator * | decorator_but | ) |
Definition at line 131 of file interface_anim.c.
References uiButDecorator::but, PointerRNA::data, uiBut::flag, uiBut::icon, RNA_property_identifier(), RNA_struct_identifier(), uiButDecorator::rnapoin, uiButDecorator::rnaprop, PointerRNA::type, ui_but_anim_decorate_find_attached_button(), UI_BUT_ANIMATED, UI_BUT_ANIMATED_KEY, UI_BUT_DISABLED, UI_BUT_DRIVEN, UI_BUT_INACTIVE, and UI_BUT_OVERRIDDEN.
Referenced by UI_block_end_ex(), and UI_context_update_anim_flag().
Create new expression for button (i.e. a "scripted driver"), if it can be created.
Definition at line 227 of file interface_anim.c.
References BKE_driver_invalidate_expression(), BLI_strncpy_utf8(), uiBut::block, C, CTX_data_main(), PointerRNA::data, DEG_relations_tag_update(), FCurve::driver, DRIVER_FCURVE_KEYFRAMES, DRIVER_TYPE_PYTHON, ELEM, uiBlock::evil_C, ChannelDriver::expression, G, G_DEBUG, GS, id, ID_MA, ID_TE, MEM_freeN, ID::name, NC_ANIMATION, ND_KEYFRAME, NULL, PointerRNA::owner_id, RNA_path_from_ID_to_property(), RNA_property_array_check(), uiBut::rnaindex, uiBut::rnapoin, uiBut::rnaprop, str, ChannelDriver::type, verify_driver_fcurve(), and WM_event_add_notifier().
Referenced by ui_but_string_set().
str can be NULL to only perform check if but has an expression at all.
Definition at line 170 of file interface_anim.c.
References BLI_strncpy(), FCurve::driver, DRIVER_TYPE_PYTHON, ChannelDriver::expression, NULL, str, ChannelDriver::type, and ui_but_get_fcurve().
Referenced by ui_but_string_get_ex(), ui_textedit_begin(), and ui_tooltip_data_from_button_or_extra_icon().
Definition at line 192 of file interface_anim.c.
References BKE_driver_invalidate_expression(), BLI_strncpy_utf8(), uiBut::block, C, CTX_data_main(), DEG_relations_tag_update(), FCurve::driver, DRIVER_FLAG_INVALID, DRIVER_TYPE_PYTHON, uiBlock::evil_C, ChannelDriver::expression, FCURVE_DISABLED, ChannelDriver::flag, FCurve::flag, NC_ANIMATION, ND_KEYFRAME, NULL, str, ChannelDriver::type, ui_but_get_fcurve(), and WM_event_add_notifier().
Referenced by ui_but_string_set().
void ui_but_anim_flag | ( | uiBut * | but, |
const AnimationEvalContext * | anim_eval_context | ||
) |
Definition at line 56 of file interface_anim.c.
References BKE_animsys_eval_context_construct_at(), BKE_fcurve_is_empty(), BKE_nla_tweakedit_remap(), uiBut::drawflag, AnimationEvalContext::eval_time, fcurve_frame_has_keyframe(), fcurve_is_changed(), ListBase::first, uiBut::flag, AnimData::nla_tracks, NLATIME_CONVERT_UNMAP, NULL, uiBut::rnapoin, uiBut::rnaprop, UI_BUT_ANIMATED, UI_BUT_ANIMATED_CHANGED, UI_BUT_ANIMATED_KEY, UI_BUT_DRIVEN, and ui_but_get_fcurve().
Referenced by UI_block_end_ex(), and UI_context_update_anim_flag().
Definition at line 306 of file interface_anim.c.
References C, NULL, WM_OP_INVOKE_DEFAULT, and WM_operator_name_call().
|
static |
Definition at line 45 of file interface_anim.c.
References BKE_fcurve_find_by_rna_context_ui(), uiBut::block, uiBlock::evil_C, uiBut::rnaindex, uiBut::rnapoin, and uiBut::rnaprop.
Referenced by ui_but_anim_expression_get(), ui_but_anim_expression_set(), and ui_but_anim_flag().