Merging r58475 through r58700 from trunk into soc-2013-depsgraph_mt
[blender.git] / source / blender / editors / space_sequencer / sequencer_buttons.c
index aeedafa999246b072ed4df91a7472b58cd8e9c72..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 int sequencer_grease_pencil_panel_poll(const bContext *C, PanelType *UNUSED(pt))
+{
+       SpaceSeq *sseq = CTX_wm_space_seq(C);
+
+       /* don't show the gpencil if we are not showing the image */
+       return ED_space_sequencer_check_show_imbuf(sseq);
+}
+
+void sequencer_buttons_register(ARegionType *art)
+{
+       PanelType *pt;
+       
+       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);
@@ -67,7 +93,7 @@ void SEQUENCER_OT_properties(wmOperatorType *ot)
        ot->idname = "SEQUENCER_OT_properties";
        ot->description = "Open sequencer properties panel";
        
-       ot->exec = sequencer_properties;
+       ot->exec = sequencer_properties_toggle_exec;
        ot->poll = ED_operator_sequencer_active;
        
        /* flags */