2.5
[blender.git] / source / blender / editors / space_ipo / ipo_header.c
index 4f5ebfbae2b6807909d0692bb3646970c411848f..bf088cb700e11254241f44a9442bd9f852a19695 100644 (file)
@@ -38,7 +38,7 @@
 
 #include "BLI_blenlib.h"
 
-#include "BKE_global.h"
+#include "BKE_context.h"
 #include "BKE_screen.h"
 
 #include "ED_screen.h"
@@ -66,7 +66,7 @@ static void do_viewmenu(bContext *C, void *arg, int event)
 
 static uiBlock *dummy_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_unused)
 {
-       ScrArea *curarea= C->area;
+       ScrArea *curarea= CTX_wm_area(C);
        uiBlock *block;
        short yco= 0, menuwidth=120;
        
@@ -90,58 +90,23 @@ static uiBlock *dummy_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg
        return block;
 }
 
-#define B_NEWSPACE             100
-
 static void do_ipo_buttons(bContext *C, void *arg, int event)
 {
        switch(event) {
-               case B_NEWSPACE:
-                       ED_newspace(C->area, C->area->butspacetype);
-                       WM_event_add_notifier(C, WM_NOTE_SCREEN_CHANGED, 0, NULL);
-                       break;
-               }
+       }
 }
 
 
 void ipo_header_buttons(const bContext *C, ARegion *ar)
 {
-       ScrArea *sa= C->area;
+       ScrArea *sa= CTX_wm_area(C);
        uiBlock *block;
        int xco, yco= 3;
        
        block= uiBeginBlock(C, ar, "header buttons", UI_EMBOSS, UI_HELV);
        uiBlockSetHandleFunc(block, do_ipo_buttons, NULL);
        
-       if(ED_screen_area_active(C)) uiBlockSetCol(block, TH_HEADER);
-       else uiBlockSetCol(block, TH_HEADERDESEL);
-
-       xco = 8;
-       
-       uiDefIconTextButC(block, ICONTEXTROW,B_NEWSPACE, ICON_VIEW3D, 
-                                         windowtype_pup(), xco, yco, XIC+10, YIC, 
-                                         &(C->area->butspacetype), 1.0, SPACEICONMAX, 0, 0, 
-                                         "Displays Current Window Type. "
-                                         "Click for menu of available types.");
-       
-       xco += XIC + 14;
-       
-       uiBlockSetEmboss(block, UI_EMBOSSN);
-       if (sa->flag & HEADER_NO_PULLDOWN) {
-               uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0, 
-                                                ICON_DISCLOSURE_TRI_RIGHT,
-                                                xco,yco,XIC,YIC-2,
-                                                &(sa->flag), 0, 0, 0, 0, 
-                                                "Show pulldown menus");
-       }
-       else {
-               uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0, 
-                                                ICON_DISCLOSURE_TRI_DOWN,
-                                                xco,yco,XIC,YIC-2,
-                                                &(sa->flag), 0, 0, 0, 0, 
-                                                "Hide pulldown menus");
-       }
-       uiBlockSetEmboss(block, UI_EMBOSS);
-       xco+=XIC;
+       xco= ED_area_header_standardbuttons(C, block, yco);
        
        if((sa->flag & HEADER_NO_PULLDOWN)==0) {
                int xmax;
@@ -150,14 +115,14 @@ void ipo_header_buttons(const bContext *C, ARegion *ar)
                uiBlockSetEmboss(block, UI_EMBOSSP);
                
                xmax= GetButStringLength("View");
-               uiDefPulldownBut(block, dummy_viewmenu, C->area
+               uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C)
                                                 "View", xco, yco-2, xmax-3, 24, "");
        }
        
        uiBlockSetEmboss(block, UI_EMBOSS);
 
        /* always as last  */
-       sa->headbutlen= xco+XIC+80; // +80 because the last button is not an icon
+       UI_view2d_totRect_set(&ar->v2d, xco+XIC+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
        
        uiEndBlock(C, block);
        uiDrawBlock(block);