diff options
author | Charlie <charlie@tutorius-dev.(none)> | 2009-10-25 01:18:10 (GMT) |
---|---|---|
committer | Charlie <charlie@tutorius-dev.(none)> | 2009-10-25 01:18:10 (GMT) |
commit | 48ba2db44bb2054222cad3aca3e027e24c51c090 (patch) | |
tree | 13a25552db428a3a97e22e09f7936c4a988f11cf /addons/typetextaction.py | |
parent | 2b4eaea8f46e846799595b3c7015f77c6156532b (diff) | |
parent | aa4868af13437f4718e8ce7972b79b496d296068 (diff) |
Merge branch 'demo' into activity
Diffstat (limited to 'addons/typetextaction.py')
-rw-r--r-- | addons/typetextaction.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/addons/typetextaction.py b/addons/typetextaction.py new file mode 100644 index 0000000..fee66e5 --- /dev/null +++ b/addons/typetextaction.py @@ -0,0 +1,57 @@ +# Copyright (C) 2009, Tutorius.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +from sugar.tutorius.actions import * +from sugar.tutorius import gtkutils + +class TypeTextAction(Action): + """ + Simulate a user typing text in a widget + Work on any widget that implements a insert_text method + + @param widget The treehish representation of the widget + @param text the text that is typed + """ + widget = TStringProperty("") + text = TStringProperty("") + + def __init__(self, widget, text): + Action.__init__(self) + + self.widget = widget + self.text = text + + def do(self, **kwargs): + """ + Type the text + """ + widget = gtkutils.find_widget(ObjectStore().activity, self.widget) + if hasattr(widget, "insert_text"): + widget.insert_text(self.text, -1) + + def undo(self): + """ + no undo + """ + pass + +__action__ = { + 'name' : 'TypeTextAction', + 'display_name' : 'Type text', + 'icon' : 'format-justify-center', + 'class' : TypeTextAction, + 'mandatory_props' : ['widgetUAM', 'text'] +} |