Sfoglia il codice sorgente

add Number>>negated; some JQuery effects and manipulation bindings

Laurent Laffont 13 anni fa
parent
commit
469942586f
11 ha cambiato i file con 286 aggiunte e 4 eliminazioni
  1. 0 0
      js/IDE.js
  2. 77 0
      js/JQuery.deploy.js
  3. 105 0
      js/JQuery.js
  4. 14 4
      js/Kernel-Tests.deploy.js
  5. 18 0
      js/Kernel-Tests.js
  6. 11 0
      js/Kernel.deploy.js
  7. 15 0
      js/Kernel.js
  8. 0 0
      st/IDE.st
  9. 31 0
      st/JQuery.st
  10. 10 0
      st/Kernel-Tests.st
  11. 5 0
      st/Kernel.st

+ 0 - 0
js/IDE.js


+ 77 - 0
js/JQuery.deploy.js

@@ -495,6 +495,83 @@ return self;}
 }),
 smalltalk.JQuery);
 
+smalltalk.addMethod(
+'_fadeIn',
+smalltalk.method({
+selector: 'fadeIn',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["fadeIn"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_slideDown',
+smalltalk.method({
+selector: 'slideDown',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["slideDown"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeInSlow',
+smalltalk.method({
+selector: 'fadeInSlow',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["fadeIn", "slow"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeOut',
+smalltalk.method({
+selector: 'fadeOut',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["fadeOut"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeOutSlow',
+smalltalk.method({
+selector: 'fadeOutSlow',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["fadeOut", "slow"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_slideUp',
+smalltalk.method({
+selector: 'slideUp',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["slideUp"]);
+return self;}
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_onLoadDo_',
+smalltalk.method({
+selector: 'onLoadDo:',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["load", aBlock]);
+return self;}
+}),
+smalltalk.JQuery);
+
 
 smalltalk.addMethod(
 '_fromString_',

+ 105 - 0
js/JQuery.js

@@ -675,6 +675,111 @@ referencedClasses: []
 }),
 smalltalk.JQuery);
 
+smalltalk.addMethod(
+'_fadeIn',
+smalltalk.method({
+selector: 'fadeIn',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["fadeIn"]);
+return self;},
+source: unescape('fadeIn%0A%20%20%20%20self%20call%3A%20%27fadeIn%27'),
+messageSends: ["call:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_slideDown',
+smalltalk.method({
+selector: 'slideDown',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["slideDown"]);
+return self;},
+source: unescape('slideDown%0A%20%20%20%20self%20call%3A%20%27slideDown%27'),
+messageSends: ["call:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeInSlow',
+smalltalk.method({
+selector: 'fadeInSlow',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["fadeIn", "slow"]);
+return self;},
+source: unescape('fadeInSlow%0A%20%20%20%20self%20call%3A%20%27fadeIn%27%20withArgument%3A%20%27slow%27'),
+messageSends: ["call:withArgument:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeOut',
+smalltalk.method({
+selector: 'fadeOut',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["fadeOut"]);
+return self;},
+source: unescape('fadeOut%0A%20%20%20%20self%20call%3A%20%27fadeOut%27'),
+messageSends: ["call:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_fadeOutSlow',
+smalltalk.method({
+selector: 'fadeOutSlow',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["fadeOut", "slow"]);
+return self;},
+source: unescape('fadeOutSlow%0A%20%20%20%20self%20call%3A%20%27fadeOut%27%20withArgument%3A%20%27slow%27'),
+messageSends: ["call:withArgument:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_slideUp',
+smalltalk.method({
+selector: 'slideUp',
+category: 'effects',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_call_", ["slideUp"]);
+return self;},
+source: unescape('slideUp%0A%20%20%20%20self%20call%3A%20%27slideUp%27'),
+messageSends: ["call:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
+smalltalk.addMethod(
+'_onLoadDo_',
+smalltalk.method({
+selector: 'onLoadDo:',
+category: 'events',
+fn: function (aBlock){
+var self=this;
+smalltalk.send(self, "_call_withArgument_", ["load", aBlock]);
+return self;},
+source: unescape('onLoadDo%3A%20aBlock%0A%09%22Bind%20an%20event%20handler%20to%20the%20%27load%27%20JavaScript%20event.%22%0A%09self%20call%3A%20%27load%27%20withArgument%3A%20aBlock'),
+messageSends: ["call:withArgument:"],
+referencedClasses: []
+}),
+smalltalk.JQuery);
+
 
 smalltalk.addMethod(
 '_fromString_',

+ 14 - 4
js/Kernel-Tests.deploy.js

@@ -7,7 +7,6 @@ fn: function (){
 var self=this;
 smalltalk.send(self, "_assert_equals_", [unescape("hello%2Cworld"), smalltalk.send(unescape("%2C"), "_join_", [["hello", "world"]])]);
 return self;}
-]
 }),
 smalltalk.StringTest);
 
@@ -19,7 +18,6 @@ fn: function (){
 var self=this;
 smalltalk.send(self, "_assert_equals_", ["hello world", smalltalk.send(smalltalk.String, "_streamContents_", [(function(aStream){return (function($rec){smalltalk.send($rec, "_nextPutAll_", ["hello"]);smalltalk.send($rec, "_space", []);return smalltalk.send($rec, "_nextPutAll_", ["world"]);})(aStream);})])]);
 return self;}
-]
 }),
 smalltalk.StringTest);
 
@@ -32,7 +30,6 @@ var self=this;
 smalltalk.send(self, "_assert_", [smalltalk.send("jtalk", "_includesSubString_", ["alk"])]);
 smalltalk.send(self, "_deny_", [smalltalk.send("jtalk", "_includesSubString_", ["zork"])]);
 return self;}
-]
 }),
 smalltalk.StringTest);
 
@@ -47,9 +44,22 @@ fn: function (){
 var self=this;
 smalltalk.send(self, "_assert_equals_", [unescape("a%20Dictionary%28%27firstname%27%20-%3E%20%27James%27%20%2C%20%27lastname%27%20-%3E%20%27Bond%27%29"), (function($rec){smalltalk.send($rec, "_at_put_", ["firstname", "James"]);smalltalk.send($rec, "_at_put_", ["lastname", "Bond"]);return smalltalk.send($rec, "_printString", []);})(smalltalk.send(smalltalk.Dictionary, "_new", []))]);
 return self;}
-]
 }),
 smalltalk.DictionaryTest);
 
 
 
+smalltalk.addClass('NumberTest', smalltalk.TestCase, [], 'Kernel-Tests');
+smalltalk.addMethod(
+'_testNegated',
+smalltalk.method({
+selector: 'testNegated',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_assert_equals_", [(($receiver = smalltalk.send((3), "_negated", [])).klass === smalltalk.Number) ? $receiver +(4) : smalltalk.send($receiver, "__plus", [(4)]), (1)]);
+return self;}
+}),
+smalltalk.NumberTest);
+
+
+

+ 18 - 0
js/Kernel-Tests.js

@@ -65,3 +65,21 @@ smalltalk.DictionaryTest);
 
 
 
+smalltalk.addClass('NumberTest', smalltalk.TestCase, [], 'Kernel-Tests');
+smalltalk.addMethod(
+'_testNegated',
+smalltalk.method({
+selector: 'testNegated',
+category: 'tests',
+fn: function (){
+var self=this;
+smalltalk.send(self, "_assert_equals_", [(($receiver = smalltalk.send((3), "_negated", [])).klass === smalltalk.Number) ? $receiver +(4) : smalltalk.send($receiver, "__plus", [(4)]), (1)]);
+return self;},
+source: unescape('testNegated%0A%09self%20assert%3A%20%283%20negated%20+%204%29%20equals%3A%201'),
+messageSends: ["assert:equals:", unescape("+"), "negated"],
+referencedClasses: []
+}),
+smalltalk.NumberTest);
+
+
+

+ 11 - 0
js/Kernel.deploy.js

@@ -1465,6 +1465,17 @@ return self;}
 }),
 smalltalk.Number);
 
+smalltalk.addMethod(
+'_negated',
+smalltalk.method({
+selector: 'negated',
+fn: function (){
+var self=this;
+return (0) - self;
+return self;}
+}),
+smalltalk.Number);
+
 
 smalltalk.addMethod(
 '_pi',

+ 15 - 0
js/Kernel.js

@@ -1969,6 +1969,21 @@ referencedClasses: []
 }),
 smalltalk.Number);
 
+smalltalk.addMethod(
+'_negated',
+smalltalk.method({
+selector: 'negated',
+category: 'arithmetic',
+fn: function (){
+var self=this;
+return (0) - self;
+return self;},
+source: unescape('negated%0A%09%22Answer%20a%20Number%20that%20is%20the%20negation%20of%20the%20receiver.%22%0A%09%5E%200%20-%20self'),
+messageSends: [unescape("-")],
+referencedClasses: []
+}),
+smalltalk.Number);
+
 
 smalltalk.addMethod(
 '_pi',

+ 0 - 0
st/IDE.st


+ 31 - 0
st/JQuery.st

@@ -161,6 +161,32 @@ scrollTop: anInteger
     self call: 'scrollTop' withArgument: anInteger
 ! !
 
+!JQuery methodsFor: 'effects'!
+
+fadeIn
+    self call: 'fadeIn'
+!
+
+slideDown
+    self call: 'slideDown'
+!
+
+fadeInSlow
+    self call: 'fadeIn' withArgument: 'slow'
+!
+
+fadeOut
+    self call: 'fadeOut'
+!
+
+fadeOutSlow
+    self call: 'fadeOut' withArgument: 'slow'
+!
+
+slideUp
+    self call: 'slideUp'
+! !
+
 !JQuery methodsFor: 'enumerating'!
 
 do: aBlock
@@ -193,6 +219,11 @@ on: anEventString do: aBlock
 removeEvents: aString
     "Unbind all handlers attached to the event aString"
     self call: 'unbind' withArgument: aString
+!
+
+onLoadDo: aBlock
+	"Bind an event handler to the 'load' JavaScript event."
+	self call: 'load' withArgument: aBlock
 ! !
 
 !JQuery methodsFor: 'initialization'!

+ 10 - 0
st/Kernel-Tests.st

@@ -36,3 +36,13 @@ testPrintString
                         	printString)
 ! !
 
+TestCase subclass: #NumberTest
+	instanceVariableNames: ''
+	category: 'Kernel-Tests'!
+
+!NumberTest methodsFor: 'tests'!
+
+testNegated
+	self assert: (3 negated + 4) equals: 1
+! !
+

+ 5 - 0
st/Kernel.st

@@ -567,6 +567,11 @@ min: aNumber
 
 modulo: aNumber
 	<return self % aNumber>
+!
+
+negated
+	"Answer a Number that is the negation of the receiver."
+	^ 0 - self
 ! !
 
 !Number methodsFor: 'comparing'!