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