r4769 - in developers/charlie: . Tests Tests/Evas
charlie at docs.openmoko.org
charlie at docs.openmoko.org
Fri Nov 7 10:09:19 CET 2008
Author: charlie
Date: 2008-11-07 10:09:18 +0100 (Fri, 07 Nov 2008)
New Revision: 4769
Added:
developers/charlie/Tests/
developers/charlie/Tests/Evas/
developers/charlie/Tests/Evas/DejaVuSans-Bold.ttf
developers/charlie/Tests/Evas/test.edc
developers/charlie/Tests/Evas/test.edj
developers/charlie/Tests/Evas/test.py
Log:
Added Evas test script
Added: developers/charlie/Tests/Evas/DejaVuSans-Bold.ttf
===================================================================
(Binary files differ)
Property changes on: developers/charlie/Tests/Evas/DejaVuSans-Bold.ttf
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: developers/charlie/Tests/Evas/test.edc
===================================================================
--- developers/charlie/Tests/Evas/test.edc (rev 0)
+++ developers/charlie/Tests/Evas/test.edc 2008-11-07 09:09:18 UTC (rev 4769)
@@ -0,0 +1,130 @@
+
+fonts {
+ font: "DejaVuSans-Bold.ttf" "Sans";
+}
+
+styles {
+ style {
+ name: "char_style";
+ base: "font=Sans font_size=36 color=#fff wrap=char outline_color=#000 style=soft_outline tabstops=60";
+ tag: "br" " \n";
+ tag: "tab" " \t";
+ }
+}
+
+collections {
+ group {
+ name: "test";
+ parts {
+ part {
+ name: "background";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 255;
+ }
+ }
+
+
+ part {
+ name: "main-menu";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.1 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.9 0.9;
+ offset: 0 0;
+ }
+ }
+ }
+ }
+ }
+
+
+ group {
+ name: "label";
+ min: 440 80;
+ max: 440 80;
+ parts {
+ part {
+ name: "label";
+ type: TEXT;
+ description {
+ fixed: 1 1;
+ text {
+ align: 0.0 0.5;
+ min: 1 1;
+ size: 48;
+ text: "Hello";
+ font: "Sans";
+ }
+ rel1 {
+ relative: 0.1 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.9 0.9;
+ offset: 0 0;
+ }
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ }
+ }
+
+ group {
+ name: "button";
+ min: 440 80;
+ max: 440 80;
+ parts {
+ part {
+ name: "rect";
+ type: RECT;
+ description {
+ rel1 {
+ relative: 0.1 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.9 0.9;
+ offset: 0 0;
+ }
+ state: "default" 0.0;
+ color: 255 0 0 128;
+ }
+ }
+ }
+ }
+
+
+ group {
+ name: "frame";
+ min: 440 80;
+// max: 440 80;
+ parts {
+ part {
+ name: "rect";
+ type: RECT;
+ description {
+ rel1 {
+ relative: 0.1 0.1;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 0.9 0.9;
+ offset: 0 0;
+ }
+ state: "default" 0.0;
+ color: 255 0 0 255;
+ }
+ }
+ }
+ }
+}
+
+
Added: developers/charlie/Tests/Evas/test.edj
===================================================================
(Binary files differ)
Property changes on: developers/charlie/Tests/Evas/test.edj
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: developers/charlie/Tests/Evas/test.py
===================================================================
--- developers/charlie/Tests/Evas/test.py (rev 0)
+++ developers/charlie/Tests/Evas/test.py 2008-11-07 09:09:18 UTC (rev 4769)
@@ -0,0 +1,138 @@
+
+import e_dbus
+import evas
+import evas.decorators
+import edje
+import edje.decorators
+import ecore
+import ecore.evas
+import etk
+
+class Widget(object):
+ def __init__(self, parent, **kargs):
+ self.parent = parent
+ self.children = []
+ if parent is not None:
+ parent.add(self)
+ self.show()
+ def add(self, child):
+ self.etk_obj.add(child.etk_obj)
+ self.children.append(child)
+ def get_evas(self):
+ return self.parent.get_evas()
+ def show(self):
+ self.etk_obj.show_all()
+
+
+class Window(Widget):
+ def __init__(self, parent, **kargs):
+ self.etk_obj = etk.VBox()
+ super(Window, self).__init__(parent, **kargs)
+ def add(self, child):
+ self.etk_obj.append(child.etk_obj, etk.VBox.START, etk.VBox.NONE, 0)
+
+
+class Screen(Widget):
+ def __init__(self):
+ self.etk_window = ecore.evas.SoftwareX11(w=640, h=480)
+ self.edje = edje.Edje(self.etk_window.evas, file='test.edj', group="test")
+ self.edje.size = self.etk_window.evas.size
+ self.etk_window.data["edje"] = self.edje
+ self.etk_obj = etk.Embed(self.etk_window.evas)
+ Widget.__init__(self, None)
+
+ def get_evas(self):
+ return self.etk_window.evas
+
+ def show(self):
+ self.edje.part_swallow("main-menu", self.etk_obj.object)
+ edje.frametime_set(1.0/30)
+ self.edje.show()
+ self.etk_window.show()
+ super(Screen, self).show()
+
+class Frame(Widget):
+ def __init__(self, parent, **kargs):
+ self.etk_obj = etk.Canvas()
+ edje_obj = edje.Edje(parent.get_evas(), file='test.edj', group="frame")
+ self.etk_obj.object_add(edje_obj)
+ super(Frame, self).__init__(parent, **kargs)
+ edje_obj.show()
+
+class Box(Widget):
+ def __init__(self, parent, axis=0, **kargs):
+ self.etk_obj = etk.VBox()
+ super(Box, self).__init__(parent, **kargs)
+ def add(self, child):
+ self.etk_obj.append(child.etk_obj, etk.VBox.START, etk.VBox.NONE, 0)
+
+class Scrolled(Widget):
+ def __init__(self, parent, **kargs):
+ self.etk_obj = etk.ScrolledView()
+ super(Scrolled, self).__init__(parent, **kargs)
+ def add(self, child):
+ self.etk_obj.add_with_viewport(child.etk_obj)
+
+class Button(Widget):
+ def __init__(self, parent, **kargs):
+ self.etk_obj = etk.Canvas()
+ edje_obj = edje.Edje(parent.get_evas(), file='test.edj', group="button")
+ self.etk_obj.object_add(edje_obj)
+ super(Button, self).__init__(parent, **kargs)
+ edje_obj.show()
+
+class Label(Widget):
+ def __init__(self, parent, text, **kargs):
+ self.etk_obj = etk.Canvas()
+ self.edje_obj = edje.Edje(parent.get_evas(), file='test.edj', group="label")
+ self.edje_obj.part_text_set("label", text)
+ self.etk_obj.object_add(self.edje_obj)
+ super(Label, self).__init__(parent, **kargs)
+ self.edje_obj.show()
+
+ def __get_text(self):
+ return self.edje_obj.part_text_get("label")
+ def __set_text(self, value):
+ self.edje_obj.part_text_set("label", value)
+ text = property(__get_text, __set_text)
+
+class Spring(Widget):
+ def __init__(self, parent, **kargs):
+ self.etk_obj = etk.HSeparator()
+ super(Spring, self).__init__(parent, **kargs)
+
+
+
+class Gui(object):
+ def __init__(self):
+ print "init gui"
+
+ screen = Screen()
+ window = Window(screen)
+
+ frame = Frame(window)
+
+# vbox = Box(window)
+# Label(vbox, "hello")
+# Spring(vbox)
+# Label(vbox, "hello")
+
+
+# scrolled = Scrolled(screen)
+# window.etk_obj.size_request_set(10,10)
+#
+# vbox = Box(scrolled)
+#
+# for i in range(10):
+# b = Button(vbox)
+# l = Label(b, "hello %d" % i)
+
+ # screen.show()
+
+
+ def run(self):
+ ecore.main_loop_begin()
+
+gui = Gui()
+gui.run()
+
More information about the commitlog
mailing list