Builder/Provider/File/Roo.js
authorAlan Knowles <alan@akbkhome.com>
Wed, 4 May 2011 09:16:14 +0000 (17:16 +0800)
committerAlan Knowles <alan@akbkhome.com>
Wed, 4 May 2011 09:16:14 +0000 (17:16 +0800)
Builder/Provider/File/Roo.js [deleted file]

diff --git a/Builder/Provider/File/Roo.js b/Builder/Provider/File/Roo.js
deleted file mode 100644 (file)
index 3c84d6e..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-//<Script type="text/javascript">
-
-Gio = imports.gi.Gio;
-console = imports.console;
-XObject = imports.XObject.XObject;
-
-  
-//----------------------- our roo verison
-Base = imports.Builder.Provider.File.Base.Base;
-Gio = imports.gi.Gio;
-File = imports.File.File;
-
-//JSDOC =  imports['JSDOC.js'];
-//----------------------- our roo verison
-
-var rid = 0;
-
-Roo = XObject.define(
-    function(cfg) {
-        
-        // id ,
-        //"name":"Edit Module Details",
-        // items : 
-        //"btype":"FORM", // was to be components...
-        //"app":"Builder",
-        //"module":"Pman.Tab.BuilderTop2"
-        //console.dump(cfg);
-        
-        if (!cfg.name || !cfg.fullname ) {
-            cfg.name = cfg.path.split('/').pop().replace(/\.bjs$/, '');
-            //cfg.fullname = (cfg.parent && cfg.parent.length ? (cfg.parent + '.') : '' ) + cfg.name;
-            cfg.fullname = cfg.name;
-        }
-        
-        
-        this.items = false;
-        if (cfg.json) {
-            var jstr =  JSON.parse(cfg.json);
-            this.items = [ jstr ];
-            //console.log(cfg.items.length);
-            delete cfg.json; // not needed!
-        }
-        this.cn = [];
-         /*
-        var p = cfg.items && cfg.items.length && cfg.items[0].parent ? cfg.items[0].parent : false;
-        
-        // ensure real data is set...
-        Roo.apply(this, {
-            name : cfg.module,
-            parent : p,
-            title : cfg.name,
-            project : cfg.app
-            
-        });
-        
-        this.cn = [];
-        */
-        Roo.superclass.constructor.call(this, cfg);
-
-        
-        // super?!?!
-        this.id = 'roo-file-' + (rid++);
-        // various loader methods..
-    },
-    Base,
-    {
-        doubleStringProps : [ 
-            'title',
-            'legend',
-            'loadingText',
-            'emptyText',
-            'qtip',
-            'value',
-            'text'
-        ],
-        modOrder : '001', /// sequence id that this uses.
-        region : 'center',
-        parent : '',
-        title : '', // the title on displayed when loading.
-        disable : '', // use a function to that returns false to disable this..
-        permname: '', /// permission name
-        
-        setNSID : function(id)
-        {
-            
-            this.items[0]['|module'] = id;
-       
-            
-        },
-        
-        
-        getType: function() {
-            return 'Roo';
-        },
-        
-      
-        loadItems : function(cb)
-        {
-            console.log("load Items!");
-            if (this.items !== false) {
-                return false;
-            }
-            var file = Gio.file_new_for_path(this.path);
-            
-            var _this = this;                        
-            file.read_async(0, null, function(source,result) {
-                var stream = source.read_finish(result)
-                var dstream = new Gio.DataInputStream.c_new(stream);
-                
-                var src = dstream.read_until("")
-                
-                var cfg = JSON.parse(src);
-                print("loaded data");
-                console.dump(cfg);
-                _this.modOrder = cfg.modOrder || '001';
-                _this.name = cfg.name.replace(/\.bjs/, ''); // BC!
-                _this.parent =  cfg.parent;
-                _this.permname =  cfg.permname || '';
-                _this.title =  cfg.title;
-                _this.items = cfg.items || []; 
-                
-                _this.fixItems(_this, false);
-                
-                
-                
-                cb();
-                /*
-                var tstream =  new JSDOC.TextStream(src);
-                var tr = new  JSDOC.TokenReader( {
-                    keepWhite : true,
-                    keepComments : true
-                });
-                var toks = tr.tokenize(tstream);
-                var ts = new JSDOC.Collapse(toks);
-                //console.dump(ts.tokens);
-                var rd = new JSDOC.RooFile(ts.tokens);
-                try {
-                    rd.parse();
-                } catch (e) {
-                    console.log(e);
-                    _this.items = [ src ];
-                    cb();
-                    return;
-                }
-                 
-                console.dump(rd.cfg);
-                //!!??? have we got engouth!
-                // try parsing self..
-                _this.items = [ rd.cfg ];
-                cb();
-                */
-                
-            });
-            
-            
-            
-        },
-        /**
-         * old code had broken xtypes and used arrays differently,
-         * this code should try and clean it up..
-         * 
-         * 
-         */
-        fixItems : function(node, fixthis)
-        {
-            if (fixthis) {
-                // fix xtype.
-                var fn = this.guessName(node);
-                //print("guessname got " + fn);
-                if (fn) {
-                    var bits = fn.split('.');
-                    node.xtype = bits.pop();
-                    node['|xns'] = bits.join('.');
-                    
-                }
-                // fix array???
-                 
-                
-            }
-            if (!node.items || !node.items.length) {
-                return;
-            }
-            var _this = this;
-            var aitems = [];
-            var nitems = [];
-            node.items.forEach(function(i) {
-                
-                
-                
-                _this.fixItems(i, true);
-                if (i.xtype == 'Array') {
-                    aitems.push(i);
-                    return;
-                }    
-                nitems.push(i);
-            });
-            node.items = nitems; 
-            
-            if (!aitems.length) {
-                return;
-            }
-            
-            aitems.forEach(function(i) {
-                
-                if (!i.items || !i.items.length) {
-                    return;
-                }
-                var prop = i['*prop'] + '[]';
-                // colModel to cm?
-                i.items.forEach(function(c) {
-                    c['*prop']  = prop;
-                    node.items.push(c);
-                    
-                });
-                
-                
-            });
-            
-            
-            // array handling.. 
-            
-            
-            
-            
-            
-        },
-        
-        save : function()
-        {
-            Base.prototype.save.call(this);
-            // now write the js file..
-            var js = this.path.replace(/\.bjs$/, '.js');
-            var d = new Date();
-            var js_src = this.toSource();
-            print("TO SOURCE in " + ((new Date()) - d) + "ms");
-            File.write(js, js_src);
-            
-            
-            
-        },
-         /**
-         * convert xtype for munged output..
-         * 
-         */
-        mungeXtype : function(xtype, els)
-        {
-            var bits = xtype.split('.');
-            // assume it has lenght!
-            
-            els.push("xtype: '"+ bits.pop()+"'");
-            els.push('xns: '+ bits.join('.'));
-        },
-        
-        /**
-         * This needs to use some options on the project
-         * to determine how the file is output..
-         * 
-         * At present we are hard coding it..
-         * 
-         * 
-         */
-        toSource: function()
-        {
-            // dump the file tree back out to a string.
-            
-            // we have 2 types = dialogs and components
-            // 
-            var top = this.guessName(this.items[0]);
-            if (!top) {
-                return false;
-            }
-            if (top.match(/Dialog/)) {
-                return this.toSourceDialog();
-            }
-            return this.toSourceLayout();
-            
-            /*
-            eventually support 'classes??'
-             return this.toSourceStdClass();
-            */
-              
-        },
-       
-        outputHeader : function()
-        {
-            return [
-                "//<script type=\"text/javascript\">",
-                "",
-                "// Auto generated file - created by app.Builder.js- do not edit directly (at present!)",
-                ""
-            ].join("\n");
-            
-       
-        },
-        // a standard dialog module.
-        // fixme - this could be alot neater..
-        toSourceDialog : function() 
-        {
-            var items = JSON.parse(JSON.stringify(this.items[0]));
-            var o = this.mungeToString(items, false, '            ');   
-            return [
-                this.outputHeader(),
-                this.name + " = {",
-                "",
-                "    dialog : false,",
-                "    callback:  false,",
-                "",   
-                "    show : function(data, cb)",
-                "    {",
-                "        if (!this.dialog) {",
-                "            this.create();",
-                "        }",
-                "",
-                "        this.callback = cb;",
-                "        this.data = data;",
-                "        this.dialog.show(this.data._el);",
-                "        if (this.form) {",
-                "           this.form.reset();",
-                "           this.form.setValues(data);",
-                "           this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });",
-                "        }",
-                "",   
-                "    },",
-                "",
-                "    create : function()",
-                "    {",
-                "        var _this = this;",
-                "        this.dialog = Roo.factory(" + o +  ");",
-                "    }",
-                "};",
-                ""
-                
-             ].join("\n");
-             
-             
-             
-        },
-        // a layout compoent 
-        toSourceLayout : function() 
-        {
-            var items = JSON.parse(JSON.stringify(this.items[0]));
-            var o = this.mungeToString(items, false, '            ');   
-             
-            var modkey = this.modOrder + '-' + this.name.replace('/[^A-Z]+/ig', '-');
-            
-            
-            if (this.name.match(/^Pman/)) {
-                    
-                
-                // old BC way we did things..
-                return [
-                    this.outputHeader(),
-                    "",
-                    "",
-                    "// register the module first",
-                    "Pman.on('beforeload', function()",
-                    "{",
-                    "    Pman.register({",
-                    "        modKey : '" +modkey+"',",
-                    "        module : " + this.name + ",",
-                    "        region : '" + this.region   +"',",
-                    "        parent : " + (this.parent ||  'false') + ",",
-                    "        name : " + JSON.stringify(this.title  || "unnamed module") + ",",
-                    "        disabled : " + (this.disabled || 'false') +", ",
-                    "        permname: '" + (this.permname|| '') +"' ",
-                    "    });",
-                    "});",
-                    "",
-                    
-                    this.name  +  " = new Roo.util.Observable({",
-                    "",
-                    "    panel : false,",
-                    "    disabled : false,",
-                    "    parentLayout:  false,",
-                    "",
-                    "    add : function(parentLayout, region)",
-                    "    {",
-                    "",
-                    "        var _this = this;", // standard avaialbe..
-                    "        this.parentLayout = parentLayout;",
-                    "",
-                    "        this.panel = parentLayout.addxtype(" + o +  ");",
-                    "        this.layout = this.panel.layout;",
-                    "",
-                    "    }",
-                    "});",
-                    ""
-                     
-                    
-                 ].join("\n");
-            }
-            
-        
-            return [
-                this.outputHeader(),
-                
-                this.name  +  " = new Roo.XComponent({",
-                "    order    : '" +modkey+"',",
-                "    region   : '" + this.region   +"',",
-                "    parent   : "+ (this.parent ?  "'" + this.parent + "'" :  'false') + ",",
-                "    name     : " + JSON.stringify(this.title  || "unnamed module") + ",",
-                "    disabled : " + (this.disabled || 'false') +", ",
-                "    tree : function()",
-                "    {",
-                "        var _this = this;", // bc
-                "        var MODULE = this;", /// this looks like a better name.
-                "        return " + o + ';',
-                "    }",
-                "});",
-                ""
-                 
-             ].join("\n");
-            
-        },
-            
-        guessName : function(ar) // turns the object into full name.
-        {
-             // eg. xns: Roo, xtype: XXX -> Roo.xxx
-            if (!ar) {
-                return false;
-            }
-            var ret = [];
-            ret.push(typeof( ar['|xns'] ) == 'undefined' ? 'Roo' : ar['|xns'] );
-            
-            
-            
-            if (typeof( ar['xtype'] ) == 'undefined' || !ar['xtype'].length) {
-                return false;
-            }
-            var xtype = ar['xtype'] + '';
-            if (xtype[0] == '*') { // prefixes????
-                xtype  = xtype.substring(1);
-            }
-            if (xtype.match(/^Roo/)) {
-                // already starts with roo...
-                ret = [];
-            }
-            ret.push(xtype);
-            var str =  ret.join('.');
-            
-            
-            
-            var pm = imports.Builder.Provider.ProjectManager.ProjectManager;
-            return pm.getPalete('Roo').guessName(ret.join('.'));
-            
-                            
-                                 
-        },
-        /*
-        getTree : function( o ) {
-            
-            
-            
-        }
-        */
-         getHelpUrl : function(cls)
-        {
-            return 'http://www.akbkhome.com/roojs1/docs/symbols/' + cls + '.html';
-        }
-        
-});
\ No newline at end of file