Blender  V3.3
graph_utils.c File Reference
#include <float.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "DNA_anim_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BKE_context.h"
#include "BKE_fcurve.h"
#include "BKE_screen.h"
#include "ED_anim_api.h"
#include "ED_screen.h"
#include "UI_interface.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "graph_intern.h"

Go to the source code of this file.

Functions

Set Up Drivers Editor
void ED_drivers_editor_init (bContext *C, ScrArea *area)
 
Active F-Curve
bAnimListElemget_active_fcurve_channel (bAnimContext *ac)
 
Operator Polling Callbacks
bool graphop_visible_keyframes_poll (bContext *C)
 
bool graphop_editable_keyframes_poll (bContext *C)
 
bool graphop_active_fcurve_poll (bContext *C)
 
bool graphop_active_editable_fcurve_ctx_poll (bContext *C)
 
bool graphop_selected_fcurve_poll (bContext *C)
 

Function Documentation

◆ ED_drivers_editor_init()

void ED_drivers_editor_init ( struct bContext C,
struct ScrArea area 
)

Set up UI configuration for Drivers Editor (drivers editor window) and RNA (mode switching).

Note
Currently called from window-manager.

Definition at line 38 of file graph_utils.c.

References blender::compositor::area(), BKE_area_find_region_type(), C, View2D::cur, ED_region_visibility_change_update(), SpaceGraph::mode, RGN_FLAG_HIDDEN, RGN_TYPE_UI, RGN_TYPE_WINDOW, SIPO_MODE_DRIVERS, View2D::tot, UI_panel_category_active_set(), ARegion::v2d, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

Referenced by drivers_editor_show_exec().

◆ get_active_fcurve_channel()

bAnimListElem* get_active_fcurve_channel ( struct bAnimContext ac)

Find 'active' F-Curve. It must be editable, since that's the purpose of these buttons (subject to change). We return the 'wrapper' since it contains valuable context info (about hierarchy), which will need to be freed when the caller is done with it.

Note
curve-visible flag isn't included, otherwise selecting a curve via list to edit is too cumbersome.

Definition at line 81 of file graph_utils.c.

References ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMFILTER_ACTIVE, ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, ANIMFILTER_FOREDIT, BLI_remlink(), bAnimContext::data, bAnimContext::datatype, filter(), ListBase::first, and NULL.

Referenced by graph_fmodifier_copy_exec(), graph_panel_context(), graphkeys_click_insert_exec(), graphkeys_deselectall_exec(), and graphop_active_fcurve_poll().

◆ graphop_active_editable_fcurve_ctx_poll()

bool graphop_active_editable_fcurve_ctx_poll ( struct bContext C)

Has active F-Curve in the context that's editable.

Definition at line 262 of file graph_utils.c.

References C, CTX_data_pointer_get_type(), PointerRNA::data, NULL, and ptr.

Referenced by GRAPH_OT_driver_variables_copy(), and GRAPH_OT_driver_variables_paste().

◆ graphop_active_fcurve_poll()

bool graphop_active_fcurve_poll ( struct bContext C)

◆ graphop_editable_keyframes_poll()

bool graphop_editable_keyframes_poll ( struct bContext C)

◆ graphop_selected_fcurve_poll()

bool graphop_selected_fcurve_poll ( struct bContext C)

◆ graphop_visible_keyframes_poll()

bool graphop_visible_keyframes_poll ( struct bContext C)