Sourcecode in SkinMgr/objectFunctions.js:
1: function getCustomSkins() {
2: var coll = [];
3: // object to store the already added skin keys
4: // used to avoid duplicate skins in the list
5: var keys = {};
6:
7: // private method to add a custom skin
8: var addSkins = function(mgr) {
9: var size = mgr.custom.size();
10: for (var i=0;i<size;i++) {
11: var s = mgr.custom.get(i);
12: var key = s.proto + ":" + s.name;
13: if (!keys[key]) {
14: keys[key] = s;
15: coll.push(s);
16: }
17: }
18: }
19: var handler = this._parent;
20: while (handler) {
21: addSkins(handler.skins);
22: handler = handler.parent;
23: }
24: return coll;
25: }
|