diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-05 12:09:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-05 12:09:25 +0300 |
commit | 95736683a96d33a8a7220788502250fa9e109132 (patch) | |
tree | 5969ed8914b836b80141772620ec639d6199cd71 /source | |
parent | 16f49f81dd115ff5323a88309acff194be12609d (diff) |
UI: length now scales proportionally w/ multi-but
Use for object dimensions.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 7 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_buttons.c | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 1d8e452ba45..91b9ba03fa2 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -1141,11 +1141,14 @@ static void ui_multibut_states_create(uiBut *but_active, uiHandleButtonData *dat /* edit buttons proportionally to eachother * note: if we mix buttons which are proportional and others which are not, * this may work a bit strangely */ - if (but_active->rnaprop) { - if ((data->origvalue != 0.0) && (RNA_property_flag(but_active->rnaprop) & PROP_PROPORTIONAL)) { + if ((but_active->rnaprop && (RNA_property_flag(but_active->rnaprop) & PROP_PROPORTIONAL)) || + ELEM(but->unit_type, PROP_UNIT_LENGTH)) + { + if (data->origvalue != 0.0) { data->multi_data.is_proportional = true; } } + } static void ui_multibut_states_apply(bContext *C, uiHandleButtonData *data, uiBlock *block) diff --git a/source/blender/editors/space_view3d/view3d_buttons.c b/source/blender/editors/space_view3d/view3d_buttons.c index d68ef5c3fbd..87bbb347bd0 100644 --- a/source/blender/editors/space_view3d/view3d_buttons.c +++ b/source/blender/editors/space_view3d/view3d_buttons.c @@ -793,9 +793,12 @@ static void v3d_object_dimension_buts(bContext *C, uiLayout *layout, View3D *v3d UI_block_align_begin(block); const float lim = 10000; for (int i = 0; i < 3; i++) { + uiBut *but; char text[3] = {'X' + i, ':', '\0'}; - uiDefButF(block, UI_BTYPE_NUM, B_TRANSFORM_PANEL_DIMS, text, 0, yi -= buth, butw, buth, - &(tfp->ob_dims[i]), 0.0f, lim, 10, 3, ""); + but = uiDefButF( + block, UI_BTYPE_NUM, B_TRANSFORM_PANEL_DIMS, text, 0, yi -= buth, butw, buth, + &(tfp->ob_dims[i]), 0.0f, lim, 10, 3, ""); + UI_but_unit_type_set(but, PROP_UNIT_LENGTH); } UI_block_align_end(block); } |