diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-11-06 14:09:04 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-11-06 14:09:04 +0300 |
commit | 5a12b7d159371709580cf8fb07fd10d3c3bfdff3 (patch) | |
tree | 8117e163207324afce4a6856f67ee61bb1c2eb47 /source/blender/editors | |
parent | d4fe2595f7c350c90feba61ba8d520850648b06f (diff) |
Driver Scripting:
Added RNA functions for adding and removing Driver Targets. Unfortunately, I couldn't do this by simply adding callbacks for the add/remove of the collection, as I've had to add to extra RNA functions to do that.
Example usage - driving Lamp Distance with Cube LocZ:
myOb= bpy.data.objects["Lamp"]
myOb.driver_add("data.distance")
# drivers is list of F-Curves that have driver data
drivers= myOb.animation_data.drivers
distDriver= drivers[0].driver
dtar= distDriver.add_target("ctrl1")
dtar.id_type= 'OBJECT'
dtar.id= bpy.data.objects["Cube"]
dtar.rna_path= "location"
dtar.array_index= 2
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_graph/graph_buttons.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/editors/space_graph/graph_buttons.c b/source/blender/editors/space_graph/graph_buttons.c index e2eb40b1137..b5d69934ad5 100644 --- a/source/blender/editors/space_graph/graph_buttons.c +++ b/source/blender/editors/space_graph/graph_buttons.c @@ -259,7 +259,7 @@ static void driver_delete_var_cb (bContext *C, void *driver_v, void *dtar_v) ChannelDriver *driver= (ChannelDriver *)driver_v; DriverTarget *dtar= (DriverTarget *)dtar_v; - /* add a new var */ + /* remove the active target */ driver_free_target(driver, dtar); } @@ -341,7 +341,7 @@ static void graph_panel_drivers(const bContext *C, Panel *pa) /* add driver target variables */ col= uiLayoutColumn(pa->layout, 0); block= uiLayoutGetBlock(col); - but= uiDefBut(block, BUT, B_IPO_DEPCHANGE, "Add Variable", 0, 0, 10*UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "Add a new target variable for this Driver"); + but= uiDefBut(block, BUT, B_IPO_DEPCHANGE, "Add Target", 0, 0, 10*UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "Add a new target variable for this Driver"); uiButSetFunc(but, driver_add_var_cb, driver, NULL); /* loop over targets, drawing them */ |