From 408ba429e6aa392f769aac4a442a7a06c1740326 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 29 Jul 2009 22:57:53 +0000 Subject: 2.5: Buttons View * When resizing the window, the top position is now preserved, instead of the center position. * Fix zoom level not being preserved in various cases, when changing both with and height. This replaces some earlier code which did this at screen level but wasn't very reliable. * Different tabs now each preserve their own scroll. * When switching between tabs, it now scrolls to show as many buttons as possible, instead of possibly showing empty space. There is a trade-off here between doing that keeping the buttons in the same place, no ideal solution exists I think. * Change zooming in/out to be symmetric, for example doing numpad + then - did not give the original zoom level back. * Added some calls to avoid hanging tooltips when manipulating the view. Internals: * Added V2D_KEEPOFS_X and V2D_KEEPOFS_Y to keep the top/bottom rather than the center. * Renamed V2D_KEEPZOOM to V2D_LIMITZOOM (seems more appropriate), and make V2D_KEEPZOOM preserve the zoom level. --- .../blender/editors/space_buttons/space_buttons.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'source/blender/editors/space_buttons/space_buttons.c') diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 0f57152cef6..71f8642afd4 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -155,27 +155,27 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar) buttons_context_compute(C, sbuts); if(sbuts->mainb == BCONTEXT_SCENE) - ED_region_panels(C, ar, vertical, "scene"); + ED_region_panels(C, ar, vertical, "scene", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_WORLD) - ED_region_panels(C, ar, vertical, "world"); + ED_region_panels(C, ar, vertical, "world", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_OBJECT) - ED_region_panels(C, ar, vertical, "object"); + ED_region_panels(C, ar, vertical, "object", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_DATA) - ED_region_panels(C, ar, vertical, "data"); + ED_region_panels(C, ar, vertical, "data", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_MATERIAL) - ED_region_panels(C, ar, vertical, "material"); + ED_region_panels(C, ar, vertical, "material", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_TEXTURE) - ED_region_panels(C, ar, vertical, "texture"); + ED_region_panels(C, ar, vertical, "texture", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_PARTICLE) - ED_region_panels(C, ar, vertical, "particle"); + ED_region_panels(C, ar, vertical, "particle", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_PHYSICS) - ED_region_panels(C, ar, vertical, "physics"); + ED_region_panels(C, ar, vertical, "physics", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_BONE) - ED_region_panels(C, ar, vertical, "bone"); + ED_region_panels(C, ar, vertical, "bone", sbuts->mainb); else if(sbuts->mainb == BCONTEXT_MODIFIER) - ED_region_panels(C, ar, vertical, "modifier"); + ED_region_panels(C, ar, vertical, "modifier", sbuts->mainb); else if (sbuts->mainb == BCONTEXT_CONSTRAINT) - ED_region_panels(C, ar, vertical, "constraint"); + ED_region_panels(C, ar, vertical, "constraint", sbuts->mainb); sbuts->re_align= 0; sbuts->mainbo= sbuts->mainb; -- cgit v1.2.3