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
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/space_buttons/space_buttons.c')
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c79
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);
}