90 const int target_index = but->rnaindex;
98 if (target_path && dst_path) {
140 switch (event->
val) {
146 const bool is_undo = ddr->
is_undo;
200 ot->
name =
"Eyedropper Driver";
201 ot->
idname =
"UI_OT_eyedropper_driver";
202 ot->
description =
"Pick a property to use as a driver target";
220 "Method used to match target and driven properties");
struct ARegion * CTX_wm_region(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
void UI_context_active_but_clear(struct bContext *C, struct wmWindow *win, struct ARegion *region)
uiBut * UI_context_active_but_prop_get(const struct bContext *C, struct PointerRNA *r_ptr, struct PropertyRNA **r_prop, int *r_index)
void UI_context_update_anim_flag(const struct bContext *C)
bool UI_but_flag_is_set(uiBut *but, int flag)
EnumPropertyItem prop_driver_create_mapping_types[]
int ANIM_add_driver_with_target(ReportList *reports, ID *dst_id, const char dst_path[], int dst_index, ID *src_id, const char src_path[], int src_index, short flag, int driver_type, short mapping_type)
Main Driver Management API calls.
static int driverdropper_exec(bContext *C, wmOperator *op)
struct DriverDropper DriverDropper
static void driverdropper_sample(bContext *C, wmOperator *op, const wmEvent *event)
static void driverdropper_cancel(bContext *C, wmOperator *op)
static bool driverdropper_init(bContext *C, wmOperator *op)
void UI_OT_eyedropper_driver(wmOperatorType *ot)
static void driverdropper_exit(bContext *C, wmOperator *op)
static bool driverdropper_poll(bContext *C)
static int driverdropper_modal(bContext *C, wmOperator *op, const wmEvent *event)
static int driverdropper_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
uiBut * eyedropper_get_property_button_under_mouse(bContext *C, const wmEvent *event)
@ EYE_MODAL_SAMPLE_CONFIRM
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
char * RNA_path_from_ID_to_property(const PointerRNA *ptr, PropertyRNA *prop)
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
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
void WM_cursor_modal_set(wmWindow *win, int val)
void WM_cursor_modal_restore(wmWindow *win)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)