blender/release/ui/space_time.py
William Reynish 3eed35ada1 Adjusted spacing of header items.
Made toggle buttons less wide, with less extra space around them
Made number widgets wider to allow larger numbers, such as the current frame field in the timeline.
2009-08-23 22:22:58 +00:00

125 lines
3.5 KiB
Python

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
rd = context.scene.render_data
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="")
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')
layout.itemR(rd, "sync_audio", text="", toggle=True, icon='ICON_SPEAKER')
layout.itemS()
row = layout.row(align=True)
row.itemR(tools, "enable_auto_key", text="", toggle=True, icon='ICON_REC')
sub = row.row()
sub.active = tools.enable_auto_key
sub.itemR(tools, "autokey_mode", text="")
if screen.animation_playing and tools.enable_auto_key:
subsub = row.row()
subsub.itemR(tools, "record_with_nla", toggle=True)
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):
__space_type__ = 'TIMELINE'
__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):
__space_type__ = 'TIMELINE'
__label__ = "Frame"
def draw(self, context):
layout = self.layout
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")
class TIME_MT_playback(bpy.types.Menu):
__space_type__ = 'TIMELINE'
__label__ = "Playback"
def draw(self, context):
layout = self.layout
st = context.space_data
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.itemS()
layout.itemR(st, "continue_physics")
bpy.types.register(TIME_HT_header)
bpy.types.register(TIME_MT_view)
bpy.types.register(TIME_MT_frame)
bpy.types.register(TIME_MT_playback)