diff options
Diffstat (limited to 'source/blender/editors/space_buttons/space_buttons.c')
-rw-r--r-- | source/blender/editors/space_buttons/space_buttons.c | 79 |
1 files changed, 45 insertions, 34 deletions
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 3205fea2a15..bae318ff454 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -158,41 +158,51 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar) { /* draw entirely, view changes should be handled here */ SpaceButs *sbuts= (SpaceButs*)CTX_wm_space_data(C); - View2D *v2d= &ar->v2d; - float col[3], fac; - int align= 0; - - /* clear and setup matrix */ - UI_GetThemeColor3fv(TH_BACK, col); - glClearColor(col[0], col[1], col[2], 0.0); - glClear(GL_COLOR_BUFFER_BIT); - - UI_view2d_view_ortho(C, v2d); - /* swapbuffers indicator */ - fac= BLI_frand(); - glColor3f(fac, fac, fac); - glRecti(20, v2d->cur.ymin+2, 30, v2d->cur.ymin+12); - - /* panels */ - if(sbuts->mainb == CONTEXT_SCENE) - buttons_scene(C, ar); - else if(sbuts->mainb == CONTEXT_OBJECT) - buttons_object(C, ar); - else - drawnewstuff(); - - if(sbuts->align) - if(sbuts->re_align || sbuts->mainbo!=sbuts->mainb || sbuts->tabo!=sbuts->tab[sbuts->mainb]) - align= 1; + if(sbuts->mainb == CONTEXT_OBJECT) { + int tab= sbuts->tab[CONTEXT_OBJECT]; + int vertical= (sbuts->align == 2); - uiDrawPanels(C, 1); // XXX align); - uiMatchPanelsView2d(ar); - - /* reset view matrix */ - UI_view2d_view_restore(C); - - /* scrollers? */ + if(tab == TAB_OBJECT_OBJECT) + uiRegionPanelLayout(C, ar, vertical, "object"); + } + else { + View2D *v2d= &ar->v2d; + float col[3], fac; + //int align= 0; + + /* clear and setup matrix */ + UI_GetThemeColor3fv(TH_BACK, col); + glClearColor(col[0], col[1], col[2], 0.0); + glClear(GL_COLOR_BUFFER_BIT); + + UI_view2d_view_ortho(C, v2d); + + /* swapbuffers indicator */ + fac= BLI_frand(); + glColor3f(fac, fac, fac); + glRecti(20, v2d->cur.ymin+2, 30, v2d->cur.ymin+12); + + /* panels */ + if(sbuts->mainb == CONTEXT_SCENE) + buttons_scene(C, ar); + else + drawnewstuff(); + +#if 0 + if(sbuts->align) + if(sbuts->re_align || sbuts->mainbo!=sbuts->mainb || sbuts->tabo!=sbuts->tab[sbuts->mainb]) + align= 1; +#endif + + uiDrawPanels(C, 1); // XXX align); + uiMatchPanelsView2d(ar); + + /* reset view matrix */ + UI_view2d_view_restore(C); + + /* scrollers? */ + } } void buttons_operatortypes(void) @@ -271,6 +281,8 @@ void ED_spacetype_buttons(void) art->listener= buttons_area_listener; art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES; + buttons_object_register(art); + BLI_addhead(&st->regiontypes, art); /* regions: header */ @@ -295,7 +307,6 @@ void ED_spacetype_buttons(void) BLI_addhead(&st->regiontypes, art); - BKE_spacetype_register(st); } |