[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20726] branches/blender2.5/blender/source /blender/editors/space_sequencer: 2.5

Ton Roosendaal ton at blender.org
Mon Jun 8 12:38:28 CEST 2009


Revision: 20726
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20726
Author:   ton
Date:     2009-06-08 12:38:28 +0200 (Mon, 08 Jun 2009)

Log Message:
-----------
2.5

Sequencer: added Nkey + UI region, with two empty panels to fill!

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h
    branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
    branches/blender2.5/blender/source/blender/editors/space_sequencer/space_sequencer.c

Modified: branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h	2009-06-08 10:00:14 UTC (rev 20725)
+++ branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h	2009-06-08 10:38:28 UTC (rev 20726)
@@ -37,9 +37,14 @@
 struct bContext;
 struct rctf;
 struct SpaceSeq;
+struct ScrArea;
 struct ARegion;
+struct ARegionType;
 struct Scene;
 
+/* space_sequencer.c */
+struct ARegion *sequencer_has_buttons_region(struct ScrArea *sa);
+
 /* sequencer_header.c */
 void sequencer_header_buttons(const struct bContext *C, struct ARegion *ar);
 
@@ -140,5 +145,10 @@
 struct ImBuf *make_zebra_view_from_ibuf(struct ImBuf * ibuf, float perc);
 struct ImBuf *make_histogram_view_from_ibuf(struct ImBuf * ibuf);
 
+/* sequencer_buttons.c */
+
+void SEQUENCER_OT_properties(struct wmOperatorType *ot);
+void sequencer_buttons_register(struct ARegionType *art);
+
 #endif /* ED_SEQUENCER_INTERN_H */
 

Modified: branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c	2009-06-08 10:00:14 UTC (rev 20725)
+++ branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c	2009-06-08 10:38:28 UTC (rev 20726)
@@ -99,6 +99,7 @@
 	WM_operatortype_append(SEQUENCER_OT_sound_strip_add);
 	WM_operatortype_append(SEQUENCER_OT_image_strip_add);
 	WM_operatortype_append(SEQUENCER_OT_effect_strip_add);
+	WM_operatortype_append(SEQUENCER_OT_properties);
 }
 
 
@@ -107,6 +108,8 @@
 	ListBase *keymap= WM_keymap_listbase(wm, "Sequencer", SPACE_SEQ, 0);
 	wmKeymapItem *kmi;
 	
+	WM_keymap_add_item(keymap, "SEQUENCER_OT_properties", NKEY, KM_PRESS, 0, 0);
+	
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "SEQUENCER_OT_select_invert", IKEY, KM_PRESS, KM_CTRL, 0);
 	

Modified: branches/blender2.5/blender/source/blender/editors/space_sequencer/space_sequencer.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_sequencer/space_sequencer.c	2009-06-08 10:00:14 UTC (rev 20725)
+++ branches/blender2.5/blender/source/blender/editors/space_sequencer/space_sequencer.c	2009-06-08 10:38:28 UTC (rev 20726)
@@ -61,6 +61,36 @@
 
 #include "sequencer_intern.h"	// own include
 
+/* ******************** manage regions ********************* */
+
+ARegion *sequencer_has_buttons_region(ScrArea *sa)
+{
+	ARegion *ar, *arnew;
+	
+	for(ar= sa->regionbase.first; ar; ar= ar->next)
+		if(ar->regiontype==RGN_TYPE_UI)
+			return ar;
+	
+	/* add subdiv level; after header */
+	for(ar= sa->regionbase.first; ar; ar= ar->next)
+		if(ar->regiontype==RGN_TYPE_HEADER)
+			break;
+	
+	/* is error! */
+	if(ar==NULL) return NULL;
+	
+	arnew= MEM_callocN(sizeof(ARegion), "buttons for sequencer");
+	
+	BLI_insertlinkafter(&sa->regionbase, ar, arnew);
+	arnew->regiontype= RGN_TYPE_UI;
+	arnew->alignment= RGN_ALIGN_RIGHT;
+	
+	arnew->flag = RGN_FLAG_HIDDEN;
+	
+	return arnew;
+}
+
+
 /* ******************** default callbacks for sequencer space ***************** */
 
 static SpaceLink *sequencer_new(const bContext *C)
@@ -82,6 +112,14 @@
 	ar->regiontype= RGN_TYPE_HEADER;
 	ar->alignment= RGN_ALIGN_BOTTOM;
 	
+	/* buttons/list view */
+	ar= MEM_callocN(sizeof(ARegion), "buttons for sequencer");
+	
+	BLI_addtail(&sseq->regionbase, ar);
+	ar->regiontype= RGN_TYPE_UI;
+	ar->alignment= RGN_ALIGN_RIGHT;
+	ar->flag = RGN_FLAG_HIDDEN;
+	
 	/* main area */
 	ar= MEM_callocN(sizeof(ARegion), "main area for sequencer");
 	
@@ -201,6 +239,30 @@
 	}
 }
 
+/* *********************** buttons region ************************ */
+
+/* add handlers, stuff you only do once or on area/region changes */
+static void sequencer_buttons_area_init(wmWindowManager *wm, ARegion *ar)
+{
+	
+	ED_region_panels_init(wm, ar);
+	
+}
+
+static void sequencer_buttons_area_draw(const bContext *C, ARegion *ar)
+{
+	ED_region_panels(C, ar, 1, NULL);
+}
+
+static void sequencer_buttons_area_listener(ARegion *ar, wmNotifier *wmn)
+{
+	/* context changes */
+	switch(wmn->category) {
+		
+	}
+}
+/* ************************************* */
+
 /* only called once, from space/spacetypes.c */
 void ED_spacetype_sequencer(void)
 {
@@ -226,6 +288,18 @@
 
 	BLI_addhead(&st->regiontypes, art);
 	
+	/* regions: listview/buttons */
+	art= MEM_callocN(sizeof(ARegionType), "spacetype sequencer region");
+	art->regionid = RGN_TYPE_UI;
+	art->minsizex= 220; // XXX
+	art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_FRAMES;
+	art->listener= sequencer_buttons_area_listener;
+	art->init= sequencer_buttons_area_init;
+	art->draw= sequencer_buttons_area_draw;
+	BLI_addhead(&st->regiontypes, art);
+	
+	sequencer_buttons_register(art);
+
 	/* regions: header */
 	art= MEM_callocN(sizeof(ARegionType), "spacetype sequencer region");
 	art->regionid = RGN_TYPE_HEADER;





More information about the Bf-blender-cvs mailing list