Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-07-14 14:59:21 +0400
committerJoshua Leung <aligorith@gmail.com>2009-07-14 14:59:21 +0400
commit047c9e0e4e02e61019f7e0e141933cc0d3416633 (patch)
treee6eddfc788ad651871a4ac755c6c09f7b426628f /source
parent0bfc98706ef93f90bd74b195b98c36c7dcea94dd (diff)
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)
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenloader/intern/readfile.c2
-rw-r--r--source/blender/editors/interface/view2d.c6
-rw-r--r--source/blender/editors/interface/view2d_ops.c1
-rw-r--r--source/blender/editors/screen/area.c11
4 files changed, 17 insertions, 3 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 06092cc97d4..12d95888c0e 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5839,6 +5839,8 @@ static void area_add_window_regions(ScrArea *sa, SpaceLink *sl, ListBase *lb)
{
SpaceButs *sbuts= (SpaceButs *)sl;
memcpy(&ar->v2d, &sbuts->v2d, sizeof(View2D));
+
+ ar->v2d.scroll |= (V2D_SCROLL_RIGHT|V2D_SCROLL_BOTTOM);
break;
}
case SPACE_FILE:
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index 6df7b1c8e28..2f92901c8f5 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -262,6 +262,8 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
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 @@ void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
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;
}
diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c
index 14872f05f8a..c6688aea5c5 100644
--- a/source/blender/editors/interface/view2d_ops.c
+++ b/source/blender/editors/interface/view2d_ops.c
@@ -1404,5 +1404,6 @@ void UI_view2d_keymap(wmWindowManager *wm)
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);
}
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 69af4fbb45d..e923a3bde61 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -1116,6 +1116,7 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
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 @@ void ED_region_panels(const bContext *C, ARegion *ar, int vertical, char *contex
/* 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);