diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-19 22:05:00 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-19 22:05:00 (GMT) |
commit | 11a1925c2d2d00fc42f4d8dd3b45c36aee09ae56 (patch) | |
tree | 2f8013dfadfac4a88d4f21f6e70b8a428243e14c /sugar/chat/sketchpad | |
parent | 2a2903d1fb05e4c237b619deb9eebfb8fca7bc75 (diff) |
Write a toolbox and partially integrate it with the chat.
Diffstat (limited to 'sugar/chat/sketchpad')
-rw-r--r-- | sugar/chat/sketchpad/Toolbox.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/sugar/chat/sketchpad/Toolbox.py b/sugar/chat/sketchpad/Toolbox.py new file mode 100644 index 0000000..d49e863 --- /dev/null +++ b/sugar/chat/sketchpad/Toolbox.py @@ -0,0 +1,49 @@ +import pygtk +pygtk.require('2.0') +import gtk +import gobject + +class Toolbox(gtk.VBox): + __gsignals__ = { + 'tool-selected': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + ([gobject.TYPE_STRING])) + } + + def __init__(self): + gtk.VBox.__init__(self) + + self._tool_hbox = gtk.HBox() + + self._add_tool('FreeHand', 'freehand') + self._add_tool('Text', 'text') + + self.pack_start(self._tool_hbox) + self._tool_hbox.show() + + self._color_hbox = gtk.HBox() + + self._add_color([0, 0, 0]) + self._add_color([1, 0, 0]) + self._add_color([0, 1, 0]) + self._add_color([0, 0, 1]) + + self.pack_start(self._color_hbox) + self._color_hbox.show() + + def _add_tool(self, label, tool_id): + tool = gtk.Button(label) + tool.connect('clicked', self.__tool_clicked_cb, tool_id) + self._tool_hbox.pack_start(tool, False) + tool.show() + + def _add_color(self, rgb): + color = gtk.Button('Color') + color.connect('clicked', self.__color_clicked_cb, rgb) + self._color_hbox.pack_start(color, False) + color.show() + + def __tool_clicked_cb(self, button, tool_id): + self.emit("tool-selected", tool_id) + + def __color_clicked_cb(self, button, rgb): + pass |