blender/release/scripts/ui/space_time.py
Campbell Barton 41c0236aaa GPL2 header from firebird (without disclaimer), notice theres no copyright attributed and only the GPLv2 (without the v2 or later clause).
Contributors list isnt used much in our C code so probably its easier if people just use svn blame for this.

Can change if this isnt acceptable but I guessed people didnt care so much since most scripts had no header.
2009-10-31 20:16:59 +00:00

153 lines
4.8 KiB
Python

# This software is distributable under the terms of the GNU
# General Public License (GPL) v2, the text of which can be found at
# http://www.gnu.org/copyleft/gpl.html. Installing, importing or otherwise
# using this module constitutes acceptance of the terms of this License.
import bpy
class TIME_HT_header(bpy.types.Header):
bl_space_type = 'TIMELINE'
def draw(self, context):
layout = self.layout
st = context.space_data
scene = context.scene
tools = context.tool_settings
screen = context.screen
row = layout.row(align=True)
row.template_header()
if context.area.show_menus:
sub = row.row(align=True)
sub.itemM("TIME_MT_view")
sub.itemM("TIME_MT_frame")
sub.itemM("TIME_MT_playback")
layout.itemR(scene, "use_preview_range", text="PR")
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.itemR(scene, "current_frame", text="")
layout.itemS()
row = layout.row(align=True)
row.item_booleanO("screen.frame_jump", "end", False, text="", icon='ICON_REW')
row.item_booleanO("screen.keyframe_jump", "next", False, text="", icon='ICON_PREV_KEYFRAME')
if not screen.animation_playing:
row.item_booleanO("screen.animation_play", "reverse", True, text="", icon='ICON_PLAY_REVERSE')
row.itemO("screen.animation_play", text="", icon='ICON_PLAY')
else:
sub = row.row()
sub.scale_x = 2.0
sub.itemO("screen.animation_play", text="", icon='ICON_PAUSE')
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')
row = layout.row(align=True)
row.itemR(tools, "enable_auto_key", text="", toggle=True, icon='ICON_REC')
if screen.animation_playing and tools.enable_auto_key:
subsub = row.row()
subsub.itemR(tools, "record_with_nla", toggle=True)
layout.itemR(scene, "sync_audio", text="", toggle=True, icon='ICON_SPEAKER')
layout.itemS()
row = layout.row(align=True)
row.item_pointerR(scene, "active_keying_set", scene, "keying_sets", text="")
row.itemO("anim.insert_keyframe", text="", icon='ICON_KEY_HLT')
row.itemO("anim.delete_keyframe", text="", icon='ICON_KEY_DEHLT')
class TIME_MT_view(bpy.types.Menu):
bl_label = "View"
def draw(self, context):
layout = self.layout
st = context.space_data
layout.itemO("anim.time_toggle")
layout.itemS()
layout.itemR(st, "only_selected")
class TIME_MT_frame(bpy.types.Menu):
bl_label = "Frame"
def draw(self, context):
layout = self.layout
tools = context.tool_settings
layout.itemO("marker.add", text="Add Marker")
layout.itemO("marker.duplicate", text="Duplicate Marker")
layout.itemO("marker.move", text="Grab/Move Marker")
layout.itemO("marker.delete", text="Delete Marker")
layout.itemL(text="ToDo: Name Marker")
layout.itemS()
layout.itemO("time.start_frame_set")
layout.itemO("time.end_frame_set")
layout.itemS()
sub = layout.row()
#sub.active = tools.enable_auto_key
sub.itemM("TIME_MT_autokey")
class TIME_MT_playback(bpy.types.Menu):
bl_label = "Playback"
def draw(self, context):
layout = self.layout
st = context.space_data
scene = context.scene
layout.itemR(st, "play_top_left")
layout.itemR(st, "play_all_3d")
layout.itemR(st, "play_anim")
layout.itemR(st, "play_buttons")
layout.itemR(st, "play_image")
layout.itemR(st, "play_sequencer")
layout.itemR(st, "play_nodes")
layout.itemS()
layout.itemR(st, "continue_physics")
layout.itemS()
layout.itemR(scene, "sync_audio", icon='ICON_SPEAKER')
layout.itemR(scene, "mute_audio")
layout.itemR(scene, "scrub_audio")
class TIME_MT_autokey(bpy.types.Menu):
bl_label = "Auto-Keyframing Mode"
def draw(self, context):
layout = self.layout
tools = context.tool_settings
layout.active = tools.enable_auto_key
layout.item_enumR(tools, "autokey_mode", 'ADD_REPLACE_KEYS')
layout.item_enumR(tools, "autokey_mode", 'REPLACE_KEYS')
bpy.types.register(TIME_HT_header)
bpy.types.register(TIME_MT_view)
bpy.types.register(TIME_MT_frame)
bpy.types.register(TIME_MT_autokey)
bpy.types.register(TIME_MT_playback)