Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
path: root/addons/bubblemessage.py
diff options
authorVincent Vinet <vince.vinet@gmail.com>2009-12-04 05:06:49 (GMT)
committer Vincent Vinet <vince.vinet@gmail.com>2009-12-06 04:06:40 (GMT)
commit8acd9095e8f32ee20a6c4cd105d12a133fa9f346 (patch)
treeec24b60f26bde5eaf92c8bb8495deb733ab2cb69 /addons/bubblemessage.py
parent3550e7a3feac8726e4747457e14932e6010b397b (diff)
Add Event Sources:event_sources
- Add source property in Action and EventFilter - Change TPropContainer contructor to accept keyword arguments and set properties that were given - Change every single TPropContainer subclass constructor to accept kwargs and pass them on to super init - Add a "null" option for TStringProperty Use Event Sources: - Make the probe require a source property to install or subscribe - Have ProbeProxy install and subscribe return a prefixed address - Make update, uninstall and unsubsribe extract the prefix from the address - Have the TutorialRunner set a source on actions/events before installing/subscribing instead of setting current activity on ProbeManager Test Event Sources: - Change the tests according to the new constructors and behaviors
Diffstat (limited to 'addons/bubblemessage.py')
1 files changed, 9 insertions, 18 deletions
diff --git a/addons/bubblemessage.py b/addons/bubblemessage.py
index 7e91d00..accc79f 100644
--- a/addons/bubblemessage.py
+++ b/addons/bubblemessage.py
@@ -25,42 +25,33 @@ class BubbleMessage(Action):
# Do the same for the tail position
tail_pos = TArrayProperty((0,0), 2, 2)
- def __init__(self, message=None, position=None, speaker=None, tail_pos=None):
+ def __init__(self, **kwargs):
Shows a dialog with a given text, at the given position on the screen.
+ Accepted keyword args:
@param message A string to display to the user
@param position A list of the form [x, y]
@param speaker treeish representation of the speaking widget
@param tail_pos The position of the tail of the bubble; useful to point to
specific elements of the interface
- Action.__init__(self)
- if position:
- self.position = position
- if tail_pos:
- self.tail_pos = tail_pos
- if message:
- self.message = message
+ super(BubbleMessage, self).__init__(**kwargs)
self.overlay = None
self._bubble = None
self._speaker = None
- def do(self, **kwargs):
+ def do(self, activity=None, **kwargs):
Show the dialog
- # get or inject overlayer
- self.overlay = ObjectStore().activity._overlayer
- # FIXME: subwindows, are left to overlap this. This behaviour is
- # undesirable. subwindows (i.e. child of top level windows) should be
- # handled either by rendering over them, or by finding different way to
- # draw the overlay.
+ if activity is None:
+ raise TypeError("Missing argument activity")
+ # get overlayer
+ self.overlay = activity._overlayer
- if not self.overlay:
- self.overlay = ObjectStore().activity._overlayer
if not self._bubble:
x, y = self.position
# TODO: tails are relative to tailpos. They should be relative to