Intial import
[gnome.introspection-doc-generator] / JSDOC / Introspect / Signal.js
1 //<script type="text/javascript">
2 //Gtk = imports.gi.Gtk;
3 GI      = imports.gi.GIRepository;
4 GLib    = imports.gi.GLib;
5 xml     = imports.libxml;
6 //GObject = imports.gi.GObject;
7
8 console = imports['console.js'].console;
9 JSDOC   = imports['JSDOC.js'].JSDOC;
10 Roo     = imports['Roo.js'].Roo;
11
12 Introspect = imports['JSDOC/Introspect.js'].Introspect;
13 Basic = imports['JSDOC/Introspect/Basic.js'].Basic;
14
15
16
17 Signal = function(sig, memberOf, saveto, keylist) {
18
19     this.propertyType  = 'Signal';
20     
21     var params = this.argsToArrays(sig);
22     // add a reference to self...
23     params.unshift({
24         name : 'self',
25         type : memberOf.alias,
26         direction : 'in',
27         be_null :  false
28             
29     });
30     var n_original  = GI.base_info_get_name(sig);
31     
32     Roo.apply(this,{
33         name : n_original.replace(/-/g,'_'),
34         params : params,
35         memberOf : memberOf.alias,
36         exceptions : [],
37         returns :   [ { type :  this.typeToName(GI.callable_info_get_return_type(sig)) } ],
38         desc : Introspect.doc(memberOf.alias + '.' + n_original)
39     });
40     memberOf[saveto].push(this);
41     keylist.push(this.name);
42     
43     var addedto = [ memberOf.alias ]; // do not add to self...
44    
45     for(var i =1; i < params.length;i++) {
46         var ty = params[i].type;
47         if (typeof(ty) != 'string' || ty.indexOf('.') < 0) {
48             continue;
49         }
50         if (addedto.indexOf(ty) > -1) {
51             continue;
52         }
53         
54         
55         
56         Introspect.references[ty] = Introspect.references[ty] || [];
57         Introspect.references[ty].push(this);
58         addedto.push(ty);
59     }
60     
61     
62     
63     
64     
65 }
66 Roo.extend(Signal,Basic);
67
68
69