Copie depuis le svn du cri à l'état :
[Plinn.git] / events.py
1 # -*- coding: utf-8 -*-
2 #######################################################################################
3 # Plinn - http://plinn.org #
4 # Copyright © 2009 Benoît PIN <benoit.pin@ensmp.fr> #
5 # #
6 # This program is free software; you can redistribute it and/or #
7 # modify it under the terms of the GNU General Public License #
8 # as published by the Free Software Foundation; either version 2 #
9 # of the License, or (at your option) any later version. #
10 # #
11 # This program is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program; if not, write to the Free Software #
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #
19 #######################################################################################
20 """
21 Plinn event definitions.
22
23 $Id: events.py 1480 2009-03-19 19:15:52Z pin $
24 $URL: http://svn.cri.ensmp.fr/svn/Plinn/branches/CMF-2.1/events.py $
25 """
26
27 from zope.interface import implements
28 from zope.component.interfaces import ObjectEvent
29 from interfaces import IObjectPositionModified,\
30 IZopeShutdownEvent
31
32
33 class ObjectPositionModified(ObjectEvent) :
34 implements(IObjectPositionModified)
35
36 def __init__(self, object, parent, position) :
37 super(ObjectPositionModified, self).__init__(object)
38 self.parent = parent
39 self.position = position
40
41 class ZopeShutdownEvent(ObjectEvent) :
42 "Zope is shutting down gracefully"
43 implements(IZopeShutdownEvent)
44
45 def __init__(self, object, phase, time) :
46 self.object = object
47 self.phase = phase
48 self.time = time
49 self.__veto = False
50
51 def setVeto(self) :
52 self.__veto = True
53
54 @property
55 def veto(self) :
56 return self.__veto