[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21571] branches/blender2.5/blender/source /blender: 2.5 - Scrollbars are now shown when a list of panels can' t fit in view

Joshua Leung aligorith at gmail.com
Tue Jul 14 12:59:22 CEST 2009


Revision: 21571
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21571
Author:   aligorith
Date:     2009-07-14 12:59:21 +0200 (Tue, 14 Jul 2009)

Log Message:
-----------
2.5 - Scrollbars are now shown when a list of panels can't fit in view

Notes:
- These may be taking up a bit too much room in some situations. Perhaps an option to turn these on/off is needed?
- I've added a quick hack in area.c -> ED_region_panels_init() to set the flags to make scrollbars show up in regions whose View2D data has already been initialised. This is primarily aimed at the Buttons Window in the 2.5 defaults file, which seems to have been saved in 2.5 or so
- The expand icons on either end of the scrollers don't really seem to be necessary? (or not working yet)

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/editors/interface/view2d.c
    branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
    branches/blender2.5/blender/source/blender/editors/screen/area.c

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-07-14 08:37:02 UTC (rev 21570)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-07-14 10:59:21 UTC (rev 21571)
@@ -5839,6 +5839,8 @@
 			{
 				SpaceButs *sbuts= (SpaceButs *)sl;
 				memcpy(&ar->v2d, &sbuts->v2d, sizeof(View2D));
+				
+				ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); 
 				break;
 			}
 			case SPACE_FILE:

Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/view2d.c	2009-07-14 08:37:02 UTC (rev 21570)
+++ branches/blender2.5/blender/source/blender/editors/interface/view2d.c	2009-07-14 10:59:21 UTC (rev 21571)
@@ -262,6 +262,8 @@
 				v2d->align= (V2D_ALIGN_NO_NEG_X|V2D_ALIGN_NO_POS_Y);
 				v2d->keeptot= V2D_KEEPTOT_BOUNDS;
 				
+				v2d->scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM);
+				
 				v2d->tot.xmin= 0.0f;
 				v2d->tot.xmax= winx;
 				
@@ -270,10 +272,10 @@
 				
 				v2d->cur.xmin= 0.0f;
 				v2d->cur.xmax= winx*style->panelzoom;
-
+				
 				v2d->cur.ymax= 0.0f;
 				v2d->cur.ymin= -winy*style->panelzoom;
-
+				
 				v2d->cur.ymax= 0.0f;
 				v2d->cur.ymin= -winy*style->panelzoom;
 			}

Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c	2009-07-14 08:37:02 UTC (rev 21570)
+++ branches/blender2.5/blender/source/blender/editors/interface/view2d_ops.c	2009-07-14 10:59:21 UTC (rev 21571)
@@ -1404,5 +1404,6 @@
 	WM_keymap_add_item(keymap, "VIEW2D_OT_zoom_out", PADMINUS, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_zoom_in", PADPLUSKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_reset", HOMEKEY, KM_PRESS, 0, 0);
+	WM_keymap_add_item(keymap, "VIEW2D_OT_scroller_activate", LEFTMOUSE, KM_PRESS, 0, 0);
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/screen/area.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-07-14 08:37:02 UTC (rev 21570)
+++ branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-07-14 10:59:21 UTC (rev 21571)
@@ -1116,6 +1116,7 @@
 	PanelType *pt;
 	Panel *panel;
 	View2D *v2d= &ar->v2d;
+	View2DScrollers *scrollers;
 	float col[3];
 	int xco, yco, x, y, miny=0, w, em, header, triangle, open;
 
@@ -1242,12 +1243,20 @@
 	
 	/* restore view matrix */
 	UI_view2d_view_restore(C);
+	
+	/* scrollers */
+	scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY);
+	UI_view2d_scrollers_draw(C, v2d, scrollers);
+	UI_view2d_scrollers_free(scrollers);
 }
 
 void ED_region_panels_init(wmWindowManager *wm, ARegion *ar)
 {
 	ListBase *keymap;
-
+	
+	// XXX quick hack for files saved with 2.5 already (i.e. the builtin defaults file)
+	ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM); 
+	
 	UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_PANELS_UI, ar->winx, ar->winy);
 
 	keymap= WM_keymap_listbase(wm, "View2D Buttons List", 0, 0);





More information about the Bf-blender-cvs mailing list