Package elisa :: Package plugins :: Package good :: Package pigment :: Module pigment_transition
[hide private]
[frames] | no frames]

Source Code for Module elisa.plugins.good.pigment.pigment_transition

 1  # -*- coding: utf-8 -*- 
 2  # Elisa - Home multimedia server 
 3  # Copyright (C) 2006-2008 Fluendo Embedded S.L. (www.fluendo.com). 
 4  # All rights reserved. 
 5  # 
 6  # This file is available under one of two license agreements. 
 7  # 
 8  # This file is licensed under the GPL version 2. 
 9  # See "LICENSE.GPL" in the root of this distribution including a special 
10  # exception to use Elisa with Fluendo's plugins. 
11  # 
12  # The GPL part of Elisa is also available under a commercial licensing 
13  # agreement from Fluendo. 
14  # See "LICENSE.Elisa" in the root directory of this distribution package 
15  # for details on that license. 
16   
17   
18  __maintainer__ = 'Florian Boucault <florian@fluendo.com>' 
19   
20   
21  from elisa.base_components.transition import Transition 
22   
23  from pgm.timing import implicit 
24   
25   
26 -class PigmentTransition(Transition):
27 """ 28 Provides Pigment specific facilities to write transitions such as a 29 wrapper that animates implicitly the view to which the transition is 30 applied. 31 32 @ivar implicit: wrapper that animates implicitly the view 33 @type implicit: L{pgm.timing.implicit.AnimatedObject} 34 """ 35 36 # FIXME: activate when all Pigment based views will inherit from 37 # PigmentView 38 # supported_views = ("pigment:pigment_view",) 39
40 - def __init__(self):
41 Transition.__init__(self) 42 self.implicit = None
43
44 - def apply(self, view, end_callback=None):
45 Transition.apply(self, view, end_callback) 46 47 widget = view.context_handle 48 self.implicit = implicit.AnimatedObject(widget)
49
50 - def stop(self):
51 if self.implicit != None and self.implicit.is_animated(): 52 self.implicit.stop_animations() 53 Transition.stop(self)
54