Merging r58475 through r58700 from trunk into soc-2013-depsgraph_mt
[blender.git] / source / blender / editors / space_sequencer / sequencer_buttons.c
index 9aefdea9fb0fc91396ce9dc964250b5af14a63cb..36589984c785bdb827c0c94248fa13252dcb90c2 100644 (file)
@@ -25,8 +25,6 @@
  *  \ingroup spseq
  */
 
-
-
 #include <string.h>
 #include <stdio.h>
 
 #include "BLI_blenlib.h"
 #include "BLI_utildefines.h"
 
+#include "BLF_translation.h"
+
 #include "BKE_context.h"
 #include "BKE_screen.h"
 
 #include "ED_screen.h"
+#include "ED_gpencil.h"
+#include "ED_sequencer.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
 
 #include "sequencer_intern.h"
 
+/* **************************** buttons ********************************* */
 
-static void do_sequencer_panel_events(bContext *UNUSED(C), void *UNUSED(arg), int UNUSED(event))
-{
-
-}
-
-
-static void sequencer_panel_view_properties(const bContext *UNUSED(C), Panel *pa)
+static int sequencer_grease_pencil_panel_poll(const bContext *C, PanelType *UNUSED(pt))
 {
-       uiBlock *block;
+       SpaceSeq *sseq = CTX_wm_space_seq(C);
 
-       block= uiLayoutAbsoluteBlock(pa->layout);
-       uiBlockSetHandleFunc(block, do_sequencer_panel_events, NULL);
-       
+       /* don't show the gpencil if we are not showing the image */
+       return ED_space_sequencer_check_show_imbuf(sseq);
 }
 
-
-static void sequencer_panel_properties(const bContext *UNUSED(C), Panel *pa)
-{
-       uiBlock *block;
-       
-       block= uiLayoutAbsoluteBlock(pa->layout);
-       uiBlockSetHandleFunc(block, do_sequencer_panel_events, NULL);
-
-}      
-
 void sequencer_buttons_register(ARegionType *art)
 {
        PanelType *pt;
-
-       pt= MEM_callocN(sizeof(PanelType), "spacetype sequencer strip properties");
-       strcpy(pt->idname, "SEQUENCER_PT_properties");
-       strcpy(pt->label, "Strip Properties");
-       pt->draw= sequencer_panel_properties;
-       BLI_addtail(&art->paneltypes, pt);
-
-       pt= MEM_callocN(sizeof(PanelType), "spacetype sequencer view properties");
-       strcpy(pt->idname, "SEQUENCER_PT_view_properties");
-       strcpy(pt->label, "View Properties");
-       pt->draw= sequencer_panel_view_properties;
+       
+       pt = MEM_callocN(sizeof(PanelType), "spacetype sequencer panel gpencil");
+       strcpy(pt->idname, "SEQUENCER_PT_gpencil");
+       strcpy(pt->label, N_("Grease Pencil"));
+       strcpy(pt->translation_context, BLF_I18NCONTEXT_DEFAULT_BPYRNA);
+       pt->draw_header = gpencil_panel_standard_header;
+       pt->draw = gpencil_panel_standard;
+       pt->poll = sequencer_grease_pencil_panel_poll;
        BLI_addtail(&art->paneltypes, pt);
-
 }
 
 /* **************** operator to open/close properties view ************* */
 
-static int sequencer_properties(bContext *C, wmOperator *UNUSED(op))
+static int sequencer_properties_toggle_exec(bContext *C, wmOperator *UNUSED(op))
 {
-       ScrArea *sa= CTX_wm_area(C);
-       ARegion *ar= sequencer_has_buttons_region(sa);
+       ScrArea *sa = CTX_wm_area(C);
+       ARegion *ar = sequencer_has_buttons_region(sa);
        
-       if(ar)
+       if (ar)
                ED_region_toggle_hidden(C, ar);
 
        return OPERATOR_FINISHED;
@@ -107,14 +89,14 @@ static int sequencer_properties(bContext *C, wmOperator *UNUSED(op))
 
 void SEQUENCER_OT_properties(wmOperatorType *ot)
 {
-       ot->name= "Properties";
-       ot->idname= "SEQUENCER_OT_properties";
-       ot->description= "Open sequencer properties panel";
+       ot->name = "Properties";
+       ot->idname = "SEQUENCER_OT_properties";
+       ot->description = "Open sequencer properties panel";
        
-       ot->exec= sequencer_properties;
-       ot->poll= ED_operator_sequencer_active;
+       ot->exec = sequencer_properties_toggle_exec;
+       ot->poll = ED_operator_sequencer_active;
        
        /* flags */
-       ot->flag= 0;
+       ot->flag = 0;
 }