File: animated_GIF.py

package info (click to toggle)
python-traitsui 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 13,292 kB
  • sloc: python: 39,867; makefile: 120; sh: 5
file content (59 lines) | stat: -rw-r--r-- 1,412 bytes parent folder | download | duplicates (2)
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()