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:
authorTon Roosendaal <ton@blender.org>2009-06-08 14:38:28 +0400
committerTon Roosendaal <ton@blender.org>2009-06-08 14:38:28 +0400
commit559ab6a835f1445c1877f1418a8b35cfcc9fb751 (patch)
tree2607b471f212ce858427e35aed63e68ad003bc89 /source/blender/editors/space_sequencer
parentca6a8a233b653e4545427b00fe265566da924522 (diff)
2.5
Sequencer: added Nkey + UI region, with two empty panels to fill!
Diffstat (limited to 'source/blender/editors/space_sequencer')
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h10
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c3
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c74
3 files changed, 87 insertions, 0 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index df6a848696f..6f34aac0080 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -37,9 +37,14 @@ struct Sequence;
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_vectorscope_view_from_ibuf(struct ImBuf * ibuf);
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 */
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index b131061782a..600ef87e1b3 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -99,6 +99,7 @@ void sequencer_operatortypes(void)
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 @@ void sequencer_keymap(wmWindowManager *wm)
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);
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index 76273f24441..855bb49cb03 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -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 @@ static SpaceLink *sequencer_new(const bContext *C)
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 @@ static void sequencer_main_area_listener(ARegion *ar, wmNotifier *wmn)
}
}
+/* *********************** 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 @@ void ED_spacetype_sequencer(void)
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;