Browse Source

Adds PlatformInterface >> prompt:default:

Nicolas Petton 10 years ago
parent
commit
870a159aae
4 changed files with 74 additions and 0 deletions
  1. 42 0
      src/Kernel-Infrastructure.js
  2. 10 0
      src/Kernel-Infrastructure.st
  3. 18 0
      src/Web.js
  4. 4 0
      src/Web.st

+ 42 - 0
src/Kernel-Infrastructure.js

@@ -209,6 +209,25 @@ referencedClasses: ["PlatformInterface"]
 }),
 globals.InterfacingObject);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "prompt:default:",
+protocol: 'actions',
+fn: function (aString,defaultString){
+var self=this;
+function $PlatformInterface(){return globals.PlatformInterface||(typeof PlatformInterface=="undefined"?nil:PlatformInterface)}
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st($PlatformInterface())._prompt_default_(aString,defaultString);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},globals.InterfacingObject)})},
+args: ["aString", "defaultString"],
+source: "prompt: aString default: defaultString\x0a\x09^ PlatformInterface prompt: aString default: defaultString",
+messageSends: ["prompt:default:"],
+referencedClasses: ["PlatformInterface"]
+}),
+globals.InterfacingObject);
+
 
 
 smalltalk.addClass('Environment', globals.InterfacingObject, [], 'Kernel-Infrastructure');
@@ -2328,6 +2347,29 @@ referencedClasses: []
 }),
 globals.PlatformInterface.klass);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "prompt:default:",
+protocol: 'actions',
+fn: function (aString,defaultString){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $2,$1,$receiver;
+$2=self["@worker"];
+if(($receiver = $2) == nil || $receiver == null){
+$1=self._error_("prompt: not available");
+} else {
+$1=_st(self["@worker"])._prompt_default_(aString,defaultString);
+};
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},globals.PlatformInterface.klass)})},
+args: ["aString", "defaultString"],
+source: "prompt: aString default: defaultString\x0a\x09^ worker\x0a\x09\x09ifNotNil: [ worker prompt: aString default: defaultString ]\x0a\x09\x09ifNil: [ self error: 'prompt: not available' ]",
+messageSends: ["ifNotNil:ifNil:", "prompt:default:", "error:"],
+referencedClasses: []
+}),
+globals.PlatformInterface.klass);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "setWorker:",

+ 10 - 0
src/Kernel-Infrastructure.st

@@ -74,6 +74,10 @@ confirm: aString
 
 prompt: aString
 	^ PlatformInterface prompt: aString
+!
+
+prompt: aString default: defaultString
+	^ PlatformInterface prompt: aString default: defaultString
 ! !
 
 InterfacingObject subclass: #Environment
@@ -858,6 +862,12 @@ prompt: aString
 	^ worker
 		ifNotNil: [ worker prompt: aString ]
 		ifNil: [ self error: 'prompt: not available' ]
+!
+
+prompt: aString default: defaultString
+	^ worker
+		ifNotNil: [ worker prompt: aString default: defaultString ]
+		ifNil: [ self error: 'prompt: not available' ]
 ! !
 
 !PlatformInterface class methodsFor: 'initialization'!

+ 18 - 0
src/Web.js

@@ -92,6 +92,24 @@ referencedClasses: []
 }),
 globals.BrowserInterface);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "prompt:default:",
+protocol: 'actions',
+fn: function (aString,defaultString){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st(window)._prompt_default_(aString,defaultString);
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"prompt:default:",{aString:aString,defaultString:defaultString},globals.BrowserInterface)})},
+args: ["aString", "defaultString"],
+source: "prompt: aString default: defaultString\x0a\x09^ window prompt: aString default: defaultString",
+messageSends: ["prompt:default:"],
+referencedClasses: []
+}),
+globals.BrowserInterface);
+
 
 
 smalltalk.addClass('HTMLCanvas', globals.Object, ['root'], 'Web');

+ 4 - 0
src/Web.st

@@ -33,6 +33,10 @@ confirm: aString
 
 prompt: aString
 	^ window prompt: aString
+!
+
+prompt: aString default: defaultString
+	^ window prompt: aString default: defaultString
 ! !
 
 !BrowserInterface methodsFor: 'testing'!