X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=tools%2Fbuild_gtk_tree.js;h=d5179e07181f8fa85746d47bd4f4dd224b443b32;hb=67434ed3d36a71140908f569063a74dfae9aede0;hp=0906a831924820c8aab20d3ca6e6c199fad1e4b4;hpb=80aa6a7e30d58803e31c57091f7f9ca778ea17ce;p=app.Builder.js diff --git a/tools/build_gtk_tree.js b/tools/build_gtk_tree.js index 0906a8319..d5179e071 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; @@ -300,6 +304,9 @@ right: if (typeof(usage[par]) == 'undefined') { usage[par] = []; } + + verifyUsage(par,cls); + usage[par].pushUnique(cls); if (typeof(tops[cls]) == 'undefined') { tops[cls] = []; @@ -340,28 +347,30 @@ right: } var duped = false; for(var dupe in usage) { - if (usage[par].join(',') == usage[dupe].join(',') && - typeof(nusage[par]) != 'undefined') { + if (par != dupe + && typeof(nusage[dupe]) != 'undefined' + && usage[par].join(',') == usage[dupe].join(',')) { duped = true; - if (usage_left[dupe] == 'undefined') { + + if (typeof(usage_left[dupe]) == 'undefined') { usage_left[dupe] = []; } + //print(par+ ' is a dupe of ' + dupe); usage_left[dupe].pushUnique(par); break; } } - if (duped) { - continue; - } + if (duped) { + continue; + } nusage[par] = usage[par]; } - - p//rint(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 = ''; + var str = []; for(var par in usage) { str.push('left'); str.push(' ' + par);