1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
# Copyright (c) 2007, Enthought, Inc.
# License: BSD Style.
"""
This demo shows you how to use animated GIF files in a traits user interface.
"""
from os.path import join, dirname, abspath
from traits.api import HasTraits, File, Bool
from traitsui.api import View, VGroup, HGroup, Item, EnumEditor
from traitsui.wx.animated_gif_editor import AnimatedGIFEditor
# Some sample animated GIF files:
base_path = join(dirname(__file__), 'images')
files = [
abspath(join(base_path, 'logo_64x64.gif')),
abspath(join(base_path, 'logo_48x48.gif')),
abspath(join(base_path, 'logo_32x32.gif'))
]
class AnimatedGIFDemo(HasTraits):
# The animated GIF file to display:
gif_file = File(files[0])
# Is the animation playing or not?
playing = Bool(True)
# The traits view:
view = View(
VGroup(
HGroup(
Item('gif_file',
editor=AnimatedGIFEditor(playing='playing'),
show_label=False),
Item('playing'),
),
'_',
Item('gif_file',
label='GIF File',
editor=EnumEditor(values=files)
)
),
title='Animated GIF Demo',
buttons=['OK']
)
# Create the demo:
demo = AnimatedGIFDemo()
# Run the demo (if invoked from the command line):
if __name__ == '__main__':
demo.configure_traits()
|