X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=tools%2Fbuild_gtk_tree.js;h=ee5d726e6861a0e3f9bdb186836ce19d64ddc3fb;hp=9e58dbd358ca756a70b80527e6211c649fac4e03;hb=88f4b73dc86b76d988d349da3594db6d83d21050;hpb=ba35c43ecc867d9777db1379c07b813a95a6b645 diff --git a/tools/build_gtk_tree.js b/tools/build_gtk_tree.js index 9e58dbd35..ee5d726e6 100644 --- a/tools/build_gtk_tree.js +++ b/tools/build_gtk_tree.js @@ -133,9 +133,13 @@ function BuildLists () { if (m.memberOf == 'Gtk.Buildable') { return; } - if (m.name =='add_mnemonic_label') { + //"Gtk.Widget:add_accelerator", + //"Gtk.Widget:add_device_events" + + if (m.name.match(/^(add_mnemonic_label|add_accelerator|add_device_events)$/)) { return; } + // in theory you can not add a window to anything.. ??? //if ('Gtk.Window' == addable_type || methods[addable_type].extendsClasses.indexOf('Gtk.Window') > -1) { // return; @@ -332,31 +336,49 @@ right: } var nusage = {}; - + var usage_left = {}; for(var par in usage) { // see if the parent can be added to something. if (!canTop(par)) { continue; } - + var duped = false; for(var dupe in usage) { - if (usage[par].join(',') == usage[dupe].join(',')) { - usage_left[par] = dupe; + if (par != dupe + && typeof(nusage[dupe]) != 'undefined' + && usage[par].join(',') == usage[dupe].join(',')) { + duped = true; + + if (typeof(usage_left[dupe]) == 'undefined') { + usage_left[dupe] = []; + } + //print(par+ ' is a dupe of ' + dupe); + usage_left[dupe].pushUnique(par); + break; } } - if (typeof(usage_left[par])) { - continue; - } + if (duped) { + continue; + } nusage[par] = usage[par]; } - - print(JSON.stringify(nusage,null,4)); - - print(JSON.stringify(methods['Gtk.Switch'],null,4)); + usage = nusage; + //print(JSON.stringify(nusage,null,4)); Seed.exit(); + print(JSON.stringify(methods['Gtk.TextView'],null,4)); - - + var str = []; + for(var par in usage) { + str.push('left'); + str.push(' ' + par); + if (typeof(usage_left[par]) != 'undefined') { + usage_left[par].forEach(function(d) { str.push(' ' + d);}); + } + str.push('right'); + usage[par].forEach(function(d) { str.push(' ' + d);}); + str.push(''); + } + print(str.join("\n")); //print(JSON.stringify(implementations ,null,4)); /* methods is