Revert "File.js"
[app.Builder.js] / XObjectBase / GtkClutterActor.js
index e3017fd..3698558 100644 (file)
@@ -9,36 +9,53 @@ GtkClutter = imports.gi.GtkClutter;
 // listener is added on show..
 // we should really add a hock to destroy it..
 
-GtkClutterActor = {
-    
-    onConstruct : function() {
+
+GtkClutterActor = XObject.define(
+    function(cfg) {
+        XObject.call(this, cfg);
         if (!this.items.length) {
             XObject.fatal("Actor does not have any children");
             return;
         }
-        this.items[0].pack = false;
         
-    },
+        this.items[0].pack = false;
+    }, 
+    XObject,
+    {
     
-    init : function() {
-        print ("Actor init");
-        if (!this.items.length) {
-            print ("Actor does not have any children");
-            return;
-        }
-        var child = this.items[0];
-        child.init();
-        child.cfg.pack = false;
-        child.parent = this;
-        //var contents = new Gtk.Button({ label: 'test' }); 
-        
-       // print(JSON.stringify(this.items));
-        child.el.show();
+        pack : function(parent, item)
+        {
+            
+            if (XObject.type(parent.xtype) == 'GtkClutterWindow') {
+                var st = parent.el.get_stage();
+                st.add_actor(this.el);
+                return;
+            }
+            XObject.fatal("do not know how to pack actor into " +  XObject.type(parent.xtype));
+            
+        },
         
-        this.el = new GtkClutter.Actor.with_contents (  child.el) ;
+       
         
-        XObject.prototype.init.call(this);
-        this.el.show_all();
+        init : function() {
+            print ("Actor init");
+            if (!this.items.length) {
+                print ("Actor does not have any children");
+                return;
+            }
+            var child = this.items[0];
+            child.init();
+            child.pack = false;
+            child.parent = this;
+            //var contents = new Gtk.Button({ label: 'test' }); 
+            
+           // print(JSON.stringify(this.items));
+            child.el.show();
+            
+            this.el = new GtkClutter.Actor.with_contents (  child.el) ;
+            
+            XObject.prototype.init.call(this);
+            this.el.show_all();
+        }
     }
-
-}; 
\ No newline at end of file
+); 
\ No newline at end of file