diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-13 09:49:11 +0000 |
commit | e44a7e37b6c7b5961adaffc62b9042b8d442938e (patch) | |
tree | 95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/collections/Stack.js | |
parent | a62b9742ee5e28bcec6872d88f50f25b820914f6 (diff) | |
download | semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2 |
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/collections/Stack.js')
-rw-r--r-- | includes/js/dojox/collections/Stack.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/includes/js/dojox/collections/Stack.js b/includes/js/dojox/collections/Stack.js new file mode 100644 index 0000000..999bbef --- /dev/null +++ b/includes/js/dojox/collections/Stack.js @@ -0,0 +1,72 @@ +if(!dojo._hasResource["dojox.collections.Stack"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. +dojo._hasResource["dojox.collections.Stack"] = true; +dojo.provide("dojox.collections.Stack"); +dojo.require("dojox.collections._base"); + +dojox.collections.Stack=function(/* array? */arr){ + // summary + // returns an object of type dojox.collections.Stack + var q=[]; + if (arr) q=q.concat(arr); + this.count=q.length; + this.clear=function(){ + // summary + // Clear the internal array and reset the count + q=[]; + this.count=q.length; + }; + this.clone=function(){ + // summary + // Create and return a clone of this Stack + return new dojox.collections.Stack(q); + }; + this.contains=function(/* object */o){ + // summary + // check to see if the stack contains object o + for (var i=0; i<q.length; i++){ + if (q[i] == o){ + return true; // bool + } + } + return false; // bool + }; + this.copyTo=function(/* array */ arr, /* int */ i){ + // summary + // copy the stack into array arr at index i + arr.splice(i,0,q); + }; + this.forEach=function(/* function */ fn, /* object? */ scope){ + // summary + // functional iterator, following the mozilla spec. + dojo.forEach(q, fn, scope); + }; + this.getIterator=function(){ + // summary + // get an iterator for this collection + return new dojox.collections.Iterator(q); // dojox.collections.Iterator + }; + this.peek=function(){ + // summary + // Return the next item without altering the stack itself. + return q[(q.length-1)]; // object + }; + this.pop=function(){ + // summary + // pop and return the next item on the stack + var r=q.pop(); + this.count=q.length; + return r; // object + }; + this.push=function(/* object */ o){ + // summary + // Push object o onto the stack + this.count=q.push(o); + }; + this.toArray=function(){ + // summary + // create and return an array based on the internal collection + return [].concat(q); // array + }; +} + +} |