Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/scene/StageView.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar/scene/StageView.py')
-rw-r--r--sugar/scene/StageView.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/sugar/scene/StageView.py b/sugar/scene/StageView.py
new file mode 100644
index 0000000..ed4d424
--- /dev/null
+++ b/sugar/scene/StageView.py
@@ -0,0 +1,22 @@
+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