Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/addons/bubblemessage.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/bubblemessage.py')
-rw-r--r--addons/bubblemessage.py27
1 files changed, 9 insertions, 18 deletions
diff --git a/addons/bubblemessage.py b/addons/bubblemessage.py
index 53387bf..4e37274 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