diff options
author | Thomas Dinges <blender@dingto.org> | 2009-08-13 20:59:52 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2009-08-13 20:59:52 +0400 |
commit | e8d9e0823ee73e3c3fdd596fd3945abec40d21c1 (patch) | |
tree | fa500f5fba9d473e8fb6fb07e48dd124b17ddee0 | |
parent | 94d359c9bcadf81666e83eb91ace588dc9cc9589 (diff) |
2.5 Timeline:
WIP Commit, still uncommented.
* Adeed some RNA properties for Playback.
* Start of Python File.
-rw-r--r-- | release/ui/space_time.py | 79 | ||||
-rw-r--r-- | source/blender/editors/space_time/space_time.c | 12 | ||||
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_space.c | 47 |
4 files changed, 136 insertions, 3 deletions
diff --git a/release/ui/space_time.py b/release/ui/space_time.py new file mode 100644 index 00000000000..b13f212e278 --- /dev/null +++ b/release/ui/space_time.py @@ -0,0 +1,79 @@ + +import bpy + +class TIME_HT_header(bpy.types.Header): + __space_type__ = "TIMELINE" + + def draw(self, context): + layout = self.layout + + st = context.space_data + scene = context.scene + + layout.template_header() + + if context.area.show_menus: + row = layout.row() + #row.itemM("TIME_MT_view") + #row.itemM("TIME_MT_frame") + #row.itemM("TIME_MT_playback") + + layout.itemR(scene, "use_preview_range", text="PR", toggle=True) + + layout.itemS() + + row = layout.row(align=True) + if not scene.use_preview_range: + row.itemR(scene, "start_frame", text="Start") + row.itemR(scene, "end_frame", text="End") + else: + row.itemR(scene, "preview_range_start_frame", text="Start") + row.itemR(scene, "preview_range_end_frame", text="End") + + layout.itemS() + layout.itemR(scene, "current_frame") + + layout.itemS() + + # XXX: Pause Button + row = layout.row(align=True) + row.itemO("screen.frame_jump", text="", icon='ICON_REW') + row.itemO("screen.keyframe_jump", text="", icon='ICON_PREV_KEYFRAME') + row.item_booleanO("screen.animation_play", "reverse", True, text="", icon='ICON_PLAY_REVERSE') + row.itemO("screen.animation_play", text="", icon='ICON_PLAY') + row.item_booleanO("screen.keyframe_jump", "next", True, text="", icon='ICON_NEXT_KEYFRAME') + row.item_booleanO("screen.frame_jump", "end", True, text="", icon='ICON_FF') + +""" +class TIME_MT_view(bpy.types.Menu): + __space_type__ = "TEXT_EDITOR" + __label__ = "View" + + def draw(self, context): + layout = self.layout + + st = context.space_data + +class TIME_MT_frame(bpy.types.Menu): + __space_type__ = "TEXT_EDITOR" + __label__ = "Frame" + + def draw(self, context): + layout = self.layout + + st = context.space_data + +class TIME_MT_playback(bpy.types.Menu): + __space_type__ = "TEXT_EDITOR" + __label__ = "Playback" + + def draw(self, context): + layout = self.layout + + st = context.space_data +""" + +bpy.types.register(TIME_HT_header) +#bpy.types.register(TIME_MT_view) +#bpy.types.register(TIME_MT_frame) +#bpy.types.register(TIME_MT_playback) diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c index 8445f1b47e7..77ad832e4e9 100644 --- a/source/blender/editors/space_time/space_time.c +++ b/source/blender/editors/space_time/space_time.c @@ -270,14 +270,23 @@ static void time_main_area_listener(ARegion *ar, wmNotifier *wmn) /* ************************ header time area region *********************** */ +//#define PY_HEADER /* add handlers, stuff you only do once or on area/region changes */ static void time_header_area_init(wmWindowManager *wm, ARegion *ar) { +#ifdef PY_HEADER + ED_region_header_init(ar); +#else UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, ar->winy); +#endif } static void time_header_area_draw(const bContext *C, ARegion *ar) { +#ifdef PY_HEADER + ED_region_header(C, ar); +#else + float col[3]; /* clear */ @@ -293,7 +302,8 @@ static void time_header_area_draw(const bContext *C, ARegion *ar) UI_view2d_view_ortho(C, &ar->v2d); time_header_buttons(C, ar); - +#endif + /* restore view matrix? */ UI_view2d_view_restore(C); } diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 8bbd5308e28..7dd7e3714a4 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -393,6 +393,7 @@ extern StructRNA RNA_SpaceFileBrowser; extern StructRNA RNA_SpaceGraphEditor; extern StructRNA RNA_SpaceImageEditor; extern StructRNA RNA_SpaceNLA; +extern StructRNA RNA_SpaceTimeline; extern StructRNA RNA_SpaceOutliner; extern StructRNA RNA_SpaceSequenceEditor; extern StructRNA RNA_SpaceTextEditor; diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index 1d9fac9cbb2..620816d3de6 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -118,10 +118,10 @@ static StructRNA* rna_Space_refine(struct PointerRNA *ptr) case SPACE_NLA: return &RNA_SpaceNLA; /*case SPACE_SCRIPT: - return &RNA_SpaceScriptsWindow; + return &RNA_SpaceScriptsWindow;*/ case SPACE_TIME: return &RNA_SpaceTimeline; - case SPACE_NODE: + /*case SPACE_NODE: return &RNA_SpaceNodeEditor; case SPACE_LOGIC: return &RNA_SpaceLogicEditor;*/ @@ -1104,6 +1104,48 @@ static void rna_def_space_nla(BlenderRNA *brna) // TODO... autosnap, dopesheet? } +static void rna_def_space_time(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "SpaceTimeline", "Space"); + RNA_def_struct_sdna(srna, "SpaceTime"); + RNA_def_struct_ui_text(srna, "Space Timeline Editor", "Timeline editor space data."); + + /* Define Anim Playback Areas */ + + prop= RNA_def_property(srna, "play_top_left", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_REGION); + RNA_def_property_ui_text(prop, "Top-Left 3D Window", ""); + + prop= RNA_def_property(srna, "play_all_3d", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ALL_3D_WIN); + RNA_def_property_ui_text(prop, "All 3D Windows", ""); + + prop= RNA_def_property(srna, "play_anim", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ALL_ANIM_WIN); + RNA_def_property_ui_text(prop, "Animation Windows", ""); + + prop= RNA_def_property(srna, "play_buttons", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ALL_BUTS_WIN); + RNA_def_property_ui_text(prop, "Buttons Windows", ""); + + prop= RNA_def_property(srna, "play_image", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ALL_IMAGE_WIN); + RNA_def_property_ui_text(prop, "Image Windows", ""); + + prop= RNA_def_property(srna, "play_sequencer", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_SEQ); + RNA_def_property_ui_text(prop, "Sequencer Windows", ""); + + /* Other options */ + + prop= RNA_def_property(srna, "continue_physics", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_CONTINUE_PHYSICS); + RNA_def_property_ui_text(prop, "Continue Physics", "During playblack, continue physics simulations regardless of the frame number"); +} + static void rna_def_console_line(BlenderRNA *brna) { StructRNA *srna; @@ -1332,6 +1374,7 @@ void RNA_def_space(BlenderRNA *brna) rna_def_space_dopesheet(brna); rna_def_space_graph(brna); rna_def_space_nla(brna); + rna_def_space_time(brna); rna_def_space_console(brna); rna_def_console_line(brna); } |