From 621e43563f9c3b4166b13bdda36419d17f5eb658 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 14 Aug 2006 18:54:33 +0000 Subject: Get rid of the initial implementation of Diana design since that's no more the plan. --- diff --git a/examples/scene/activity1.png b/examples/scene/activity1.png deleted file mode 100644 index f8b4350..0000000 --- a/examples/scene/activity1.png +++ /dev/null Binary files differ diff --git a/examples/scene/activity2.png b/examples/scene/activity2.png deleted file mode 100644 index aaadc0f..0000000 --- a/examples/scene/activity2.png +++ /dev/null Binary files differ diff --git a/examples/scene/activity3.png b/examples/scene/activity3.png deleted file mode 100644 index 6f64515..0000000 --- a/examples/scene/activity3.png +++ /dev/null Binary files differ diff --git a/examples/scene/activity4.png b/examples/scene/activity4.png deleted file mode 100644 index c33e50c..0000000 --- a/examples/scene/activity4.png +++ /dev/null Binary files differ diff --git a/examples/scene/activity5.png b/examples/scene/activity5.png deleted file mode 100644 index 7f8c72a..0000000 --- a/examples/scene/activity5.png +++ /dev/null Binary files differ diff --git a/examples/scene/background.png b/examples/scene/background.png deleted file mode 100644 index 346b5dc..0000000 --- a/examples/scene/background.png +++ /dev/null Binary files differ diff --git a/examples/scene/scene.py b/examples/scene/scene.py deleted file mode 100755 index 4d5942d..0000000 --- a/examples/scene/scene.py +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/python -import math - -import pygtk -pygtk.require('2.0') -import gtk - -from sugar.scene.Stage import Stage -from sugar.scene.Group import Group -from sugar.scene.SceneView import SceneView -from sugar.scene.PixbufActor import PixbufActor -from sugar.scene.CircleLayout import CircleLayout -from sugar.scene.Timeline import Timeline - -def __next_frame_cb(timeline, frame_num, group): - angle = math.pi * 2 * frame_num / timeline.get_n_frames() - group.get_layout().set_angle(angle) - group.do_layout() - -def __completed_cb(timeline, group): - group.get_layout().set_angle(0) - group.do_layout() - -stage = Stage() - -pixbuf = gtk.gdk.pixbuf_new_from_file('background.png') -stage.add(PixbufActor(pixbuf)) - -icons_group = Group() -icons_group.set_position(100, 100) - -i = 1 -while i <= 5: - pixbuf = gtk.gdk.pixbuf_new_from_file('activity%d.png' % i) - icons_group.add(PixbufActor(pixbuf)) - i += 1 - -layout = CircleLayout(100) -icons_group.set_layout(layout) - -stage.add(icons_group) - -window = gtk.Window() -window.set_default_size(640, 480) - -view = SceneView(stage) -window.add(view) -view.show() - -button = gtk.Button('Hello') -view.put(button, 10, 10) -button.show() - -window.show() - -timeline = Timeline(stage, 200) -timeline.connect('next-frame', __next_frame_cb, icons_group) -timeline.connect('completed', __completed_cb, icons_group) -timeline.start() - -gtk.main() diff --git a/shell/HomeWindow2.py b/shell/HomeWindow2.py deleted file mode 100644 index e04afe8..0000000 --- a/shell/HomeWindow2.py +++ /dev/null @@ -1,80 +0,0 @@ -import gtk - -from sugar.scene.Stage import Stage -from sugar.scene.StageView import StageView -from sugar.scene.PixbufActor import PixbufActor -from sugar.scene.CircleLayout import CircleLayout -from sugar.scene.Group import Group -from sugar.activity import Activity -from sugar import env - -class ActivityLauncher(gtk.HButtonBox): - def __init__(self, shell): - gtk.HButtonBox.__init__(self) - - self._shell = shell - - for module in shell.get_registry().list_activities(): - if module.get_show_launcher(): - self._add_activity(module) - - def _add_activity(self, module): - button = gtk.Button(module.get_name()) - activity_id = module.get_id() - button.connect('clicked', self.__clicked_cb, activity_id) - self.pack_start(button) - button.show() - - def __clicked_cb(self, button, activity_id): - Activity.create(activity_id) - -class HomeScene(StageView): - def __init__(self, shell): - self._stage = self._create_stage() - StageView.__init__(self, self._stage) - self._shell = shell - - launcher = ActivityLauncher(shell) - self.put(launcher, 10, 440) - launcher.show() - - def _create_stage(self): - stage = Stage() - - background = env.get_data_file('home-background.png') - pixbuf = gtk.gdk.pixbuf_new_from_file(background) - stage.add(PixbufActor(pixbuf)) - - icons_group = Group() - icons_group.set_position(310, 80) - - pholder = env.get_data_file('activity-placeholder.png') - pholder_pixbuf = gtk.gdk.pixbuf_new_from_file(pholder) - - i = 0 - while i < 7: - icons_group.add(PixbufActor(pholder_pixbuf)) - i += 1 - - layout = CircleLayout(110) - icons_group.set_layout(layout) - - stage.add(icons_group) - - return stage - -class HomeWindow(gtk.Window): - def __init__(self, shell): - gtk.Window.__init__(self) - - self.connect('realize', self.__realize_cb) - - fixed = gtk.Fixed() - - scene = HomeScene(shell) - scene.set_size_request(640, 480) - self.add(scene) - scene.show() - - def __realize_cb(self, window): - self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DESKTOP) diff --git a/sugar/scene/Actor.py b/sugar/scene/Actor.py deleted file mode 100644 index a9fd644..0000000 --- a/sugar/scene/Actor.py +++ /dev/null @@ -1,55 +0,0 @@ -import gobject - -from sugar.scene.Transformation import Transformation - -class Actor(gobject.GObject): - __gsignals__ = { - 'changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ()) - } - - def __init__(self): - gobject.GObject.__init__(self) - - self._parent = None - self._x = 0 - self._y = 0 - self._width = -1 - self._height = -1 - self._transf = Transformation() - - def set_position(self, x, y): - self._x = x - self._y = y - self.notify_changed() - - def _get_parents(self): - parents = [] - parent = self._parent - while parent: - parents.insert(0, parent) - parent = parent._parent - return parents - - def _get_abs_position(self, x, y): - transf = None - parents = self._get_parents() - for actor in parents: - if transf: - transf = transf.compose(actor._transf) - else: - transf = actor._transf - return transf.get_position(x, y) - - def notify_changed(self): - if self._parent: - self._parent.notify_changed() - else: - self.emit('changed') - - def set_size(self, width, height): - self._width = width - self._height = height - self.notify_changed() - - def render(self, drawable): - pass diff --git a/sugar/scene/CircleLayout.py b/sugar/scene/CircleLayout.py deleted file mode 100644 index 545b997..0000000 --- a/sugar/scene/CircleLayout.py +++ /dev/null @@ -1,25 +0,0 @@ -import math - -from sugar.scene.LayoutManager import LayoutManager - -class CircleLayout(LayoutManager): - def __init__(self, radius): - LayoutManager.__init__(self) - - self._radius = radius - self._angle = 0 - - def set_angle(self, angle): - self._angle = angle - - def layout_group(self, group): - step = 2 * math.pi / len(group.get_actors()) - angle = self._angle - for actor in group.get_actors(): - self._update_position(actor, angle) - angle += step - - def _update_position(self, actor, angle): - x = math.cos(angle) * self._radius + self._radius - y = math.sin(angle) * self._radius + self._radius - actor.set_position(int(x + 0.5), int(y + 0.5)) diff --git a/sugar/scene/Group.py b/sugar/scene/Group.py deleted file mode 100644 index df77794..0000000 --- a/sugar/scene/Group.py +++ /dev/null @@ -1,39 +0,0 @@ -from sugar.scene.Actor import Actor - -class Group(Actor): - def __init__(self): - Actor.__init__(self) - - self._actors = [] - self._layout = None - - def set_position(self, x, y): - Actor.set_position(self, x, y) - self._transf.set_translation(x, y) - - def add(self, actor): - actor._parent = self - self._actors.append(actor) - self.do_layout() - - def remove(self, actor): - self._actors.remove(actor) - self.do_layout() - - def get_actors(self): - return self._actors - - def set_layout(self, layout): - self._layout = layout - self.do_layout() - - def get_layout(self): - return self._layout - - def do_layout(self): - if self._layout: - self._layout.layout_group(self) - - def render(self, drawable): - for actor in self._actors: - actor.render(drawable) diff --git a/sugar/scene/LayoutManager.py b/sugar/scene/LayoutManager.py deleted file mode 100644 index c7ada5a..0000000 --- a/sugar/scene/LayoutManager.py +++ /dev/null @@ -1,7 +0,0 @@ -class LayoutManager: - def __init__(self): - pass - - def layout_group(self, group): - pass - diff --git a/sugar/scene/PixbufActor.py b/sugar/scene/PixbufActor.py deleted file mode 100644 index 7c5d6c6..0000000 --- a/sugar/scene/PixbufActor.py +++ /dev/null @@ -1,14 +0,0 @@ -import gtk - -from sugar.scene.Actor import Actor - -class PixbufActor(Actor): - def __init__(self, pixbuf): - Actor.__init__(self) - - self._pixbuf = pixbuf - - def render(self, drawable): - (x, y) = self._get_abs_position(self._x, self._y) - gc = gtk.gdk.GC(drawable) - drawable.draw_pixbuf(gc, self._pixbuf, 0, 0, x, y) diff --git a/sugar/scene/SceneView.py b/sugar/scene/SceneView.py deleted file mode 100644 index c534325..0000000 --- a/sugar/scene/SceneView.py +++ /dev/null @@ -1,16 +0,0 @@ -import gtk - -class SceneView(gtk.Fixed): - def __init__(self, stage): - gtk.Fixed.__init__(self) - self.set_has_window(True) - self.connect('expose-event', self.__expose_cb) - - self._stage = stage - stage.connect('changed', self.__stage_changed_cb) - - def __expose_cb(self, widget, event): - self._stage.render(widget.window) - - def __stage_changed_cb(self, stage): - self.window.invalidate_rect(None, False) diff --git a/sugar/scene/Stage.py b/sugar/scene/Stage.py deleted file mode 100644 index e14a889..0000000 --- a/sugar/scene/Stage.py +++ /dev/null @@ -1,12 +0,0 @@ -from sugar.scene.Group import Group - -class Stage(Group): - def __init__(self): - Group.__init__(self) - self._fps = 50 - - def get_fps(self): - return self._fps - - def render(self, drawable): - Group.render(self, drawable) diff --git a/sugar/scene/StageView.py b/sugar/scene/StageView.py deleted file mode 100644 index ed4d424..0000000 --- a/sugar/scene/StageView.py +++ /dev/null @@ -1,22 +0,0 @@ -import gtk - -from sugar.scene.Stage import Stage - -class StageView(gtk.Fixed): - def __init__(self, stage): - gtk.Fixed.__init__(self) - self.set_has_window(True) - - self._stage = stage - self._stage.connect('changed', self.__stage_changed_cb) - self.connect('expose_event', self.__expose_cb) - - def __stage_changed_cb(self, stage): - if self.window: - self.window.invalidate_rect(None, False) - - def __expose_cb(self, widget, event): - self._stage.render(widget.window) - - def get_stage(self): - return self._stage diff --git a/sugar/scene/Timeline.py b/sugar/scene/Timeline.py deleted file mode 100644 index 5f1ac5f..0000000 --- a/sugar/scene/Timeline.py +++ /dev/null @@ -1,33 +0,0 @@ -import gobject - -class Timeline(gobject.GObject): - __gsignals__ = { - 'next-frame': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([int])), - 'completed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])) - } - - def __init__(self, stage, n_frames): - gobject.GObject.__init__(self) - - self._stage = stage - self._fps = stage.get_fps() - self._n_frames = n_frames - self._current_frame = 0 - - def start(self): - gobject.timeout_add(1000 / self._fps, self.__timeout_cb) - - def get_n_frames(self): - return self._n_frames - - def __timeout_cb(self): - self.emit('next-frame', self._current_frame) - - # FIXME skip frames if necessary - self._current_frame += 1 - - if self._current_frame < self._n_frames: - return True - else: - self.emit('completed') - return False diff --git a/sugar/scene/Transformation.py b/sugar/scene/Transformation.py deleted file mode 100644 index b5ab142..0000000 --- a/sugar/scene/Transformation.py +++ /dev/null @@ -1,21 +0,0 @@ -import copy - -class Transformation: - def __init__(self): - self._translation_x = 0 - self._translation_y = 0 - - def set_translation(self, x, y): - self._translation_x = x - self._translation_y = y - - def get_position(self, x, y): - translated_x = x + self._translation_x - translated_y = y + self._translation_y - return (translated_x, translated_y) - - def compose(self, transf): - composed = copy.copy(self) - composed._translation_x += transf._translation_x - composed._translation_y += transf._translation_y - return composed diff --git a/sugar/scene/__init__.py b/sugar/scene/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/sugar/scene/__init__.py +++ /dev/null -- cgit v0.9.1