diff options
Diffstat (limited to 'expose.py')
-rwxr-xr-x | expose.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/expose.py b/expose.py new file mode 100755 index 0000000..2a0af2b --- /dev/null +++ b/expose.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# present.py +# +# Copyright 2012 S. Daniel Francis <francis@sugarlabs.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 3 of the License. +# +# 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 Street, Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +import gtk +from sugar import mime +from sugar.activity import activity +from sugar.activity.widgets import ActivityToolbarButton +from sugar.activity.widgets import StopButton +from sugar.graphics.objectchooser import ObjectChooser +from slides import SlidesNotebook +from toolbars import PresentToolbarBox +from images import Image +from images import ImagesGalery + + +class ExposeActivity(activity.Activity): + def __init__(self, handle): + activity.Activity.__init__(self, handle) + activity_button = ActivityToolbarButton(self) + stop_button = StopButton(self) + toolbarbox = PresentToolbarBox(activity_button, stop_button) + toolbarbox.connect('new-slide', self._append_slide) + toolbarbox.image_toolbar.connect('insert-picture', self.load_picture) + toolbarbox.show() + self.set_toolbar_box(toolbarbox) + self.images_galery = ImagesGalery() + self.images_galery.show() + self.set_tray(self.images_galery, gtk.POS_RIGHT) + self.slides = SlidesNotebook() + self.slides.cover.connect("get-image-from-galery", + self.images_galery.image_request) + #self.slides.cover.top_image_editor.connect("load-toolbar", + # toolbarbox.load_image_toolbar) + self.set_canvas(self.slides) + self.slides.show_all() + self.show() + + def read_file(self, path): + pass + + def write_file(self, path): + pass + + def _append_slide(self, widget): + self.slides.append_slide() + + def load_picture(self, widget): + chooser = ObjectChooser(parent=self, + what_filter=mime.GENERIC_TYPE_IMAGE) + result = chooser.run() + if result == gtk.RESPONSE_ACCEPT: + jobject = chooser.get_selected_object() + image = Image() + image.set_from_file(jobject.get_file_path()) + self.images_galery.append_image(image) |