Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/expose.py
diff options
context:
space:
mode:
Diffstat (limited to 'expose.py')
-rwxr-xr-xexpose.py74
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)