2.5 - Patches + Cleanups
* Some of the patches in patch #19034 - by Wolfgang W. (bender) - outliner.patch - a small fix to make the outliner draw the last line of the list, if the list is bigger than the window. - scroll.patch - enables vertical scrolling in the buttons window in horizontal mode. Necessary if a panel is opened that is higher than the buttons window. * Also, fixed some messy comments in drivers code
This commit is contained in:
parent
1e6efcc965
commit
0e40abf642
@ -151,33 +151,33 @@ short ANIM_add_driver (ID *id, const char rna_path[], int array_index, short fla
|
||||
/* create F-Curve with Driver */
|
||||
fcu= verify_driver_fcurve(id, rna_path, array_index, 1);
|
||||
|
||||
if(fcu && fcu->driver) {
|
||||
if (fcu && fcu->driver) {
|
||||
fcu->driver->type= type;
|
||||
|
||||
|
||||
/* fill in current value for python */
|
||||
if(type == DRIVER_TYPE_PYTHON) {
|
||||
if (type == DRIVER_TYPE_PYTHON) {
|
||||
PropertyType proptype= RNA_property_type(prop);
|
||||
int array= RNA_property_array_length(&ptr, prop);
|
||||
char *expression= fcu->driver->expression;
|
||||
int val, maxlen= sizeof(fcu->driver->expression);
|
||||
float fval;
|
||||
|
||||
if(proptype == PROP_BOOLEAN) {
|
||||
|
||||
if (proptype == PROP_BOOLEAN) {
|
||||
if(!array) val= RNA_property_boolean_get(&ptr, prop);
|
||||
else val= RNA_property_boolean_get_index(&ptr, prop, array_index);
|
||||
|
||||
|
||||
BLI_strncpy(expression, (val)? "True": "False", maxlen);
|
||||
}
|
||||
else if(proptype == PROP_INT) {
|
||||
if(!array) val= RNA_property_int_get(&ptr, prop);
|
||||
else if (proptype == PROP_INT) {
|
||||
if (!array) val= RNA_property_int_get(&ptr, prop);
|
||||
else val= RNA_property_int_get_index(&ptr, prop, array_index);
|
||||
|
||||
|
||||
BLI_snprintf(expression, maxlen, "%d", val);
|
||||
}
|
||||
else if(proptype == PROP_FLOAT) {
|
||||
if(!array) fval= RNA_property_float_get(&ptr, prop);
|
||||
else if (proptype == PROP_FLOAT) {
|
||||
if (!array) fval= RNA_property_float_get(&ptr, prop);
|
||||
else fval= RNA_property_float_get_index(&ptr, prop, array_index);
|
||||
|
||||
|
||||
BLI_snprintf(expression, maxlen, "%.3f", fval);
|
||||
}
|
||||
|
||||
@ -232,7 +232,7 @@ static int add_driver_button_exec (bContext *C, wmOperator *op)
|
||||
short success= 0;
|
||||
int a, index, length, all= RNA_boolean_get(op->ptr, "all");
|
||||
|
||||
/* try to insert keyframe using property retrieved from UI */
|
||||
/* try to create driver using property retrieved from UI */
|
||||
memset(&ptr, 0, sizeof(PointerRNA));
|
||||
uiAnimContextProperty(C, &ptr, &prop, &index);
|
||||
|
||||
@ -294,7 +294,7 @@ static int remove_driver_button_exec (bContext *C, wmOperator *op)
|
||||
short success= 0;
|
||||
int a, index, length, all= RNA_boolean_get(op->ptr, "all");
|
||||
|
||||
/* try to insert keyframe using property retrieved from UI */
|
||||
/* try to find driver using property retrieved from UI */
|
||||
memset(&ptr, 0, sizeof(PointerRNA));
|
||||
uiAnimContextProperty(C, &ptr, &prop, &index);
|
||||
|
||||
|
@ -1248,6 +1248,7 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
|
||||
|
||||
/* before setting the view */
|
||||
if(vertical) {
|
||||
/* only allow scrolling in vertical direction */
|
||||
v2d->keepofs |= V2D_LOCKOFS_X|V2D_KEEPOFS_Y;
|
||||
v2d->keepofs &= ~(V2D_LOCKOFS_Y|V2D_KEEPOFS_X);
|
||||
|
||||
@ -1258,8 +1259,12 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
|
||||
y= -y;
|
||||
}
|
||||
else {
|
||||
v2d->keepofs |= V2D_LOCKOFS_Y|V2D_KEEPOFS_X;
|
||||
v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_KEEPOFS_Y);
|
||||
/* for now, allow scrolling in both directions (since layouts are optimised for vertical,
|
||||
* they often don't fit in horizontal layout)
|
||||
*/
|
||||
v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_LOCKOFS_Y|V2D_KEEPOFS_X|V2D_KEEPOFS_Y);
|
||||
//v2d->keepofs |= V2D_LOCKOFS_Y|V2D_KEEPOFS_X;
|
||||
//v2d->keepofs &= ~(V2D_LOCKOFS_X|V2D_KEEPOFS_Y);
|
||||
|
||||
// don't jump back when panels close or hide
|
||||
if(!newcontext)
|
||||
|
@ -5288,6 +5288,9 @@ void draw_outliner(const bContext *C)
|
||||
sizex += OL_TOGW*3;
|
||||
}
|
||||
|
||||
/* tweak to display last line (when list bigger than window) */
|
||||
sizey += V2D_SCROLL_HEIGHT;
|
||||
|
||||
/* update size of tot-rect (extents of data/viewable area) */
|
||||
UI_view2d_totRect_set(v2d, sizex, sizey);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user