JavaScriptEnvironment.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 24 Sep 2013 23:18:24 +0200
branchinitialV
changeset 1180 01c6be61f29c
parent 521 2479b00a29eb
child 716 753bf6548028
permissions -rw-r--r--
checkin from stx browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     1
"
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     2
 COPYRIGHT (c) 1998 by eXept Software AG
40
382a209e9150 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
     3
	      All Rights Reserved
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     4
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     5
 This software is furnished under a license and may be used
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     6
 only in accordance with the terms of that license and with the
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     8
 be provided or otherwise made available to, or used by, any
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
     9
 other person.  No title to or ownership of the software is
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    10
 hereby transferred.
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    11
"
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    12
"{ Package: 'stx:libjavascript' }"
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    13
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
Object subclass:#JavaScriptEnvironment
178
447d73ac248d nstance var _receiver makes problem with stc
Stefan Vogel <sv@exept.de>
parents: 89
diff changeset
    15
	instanceVariableNames:'_theReceiver _functions _variables _outerEnvironment
293
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
    16
		_isHTMLEnvironment _fallBackReceiver _outStream'
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	classVariableNames:''
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	poolDictionaries:''
47
684f35c49db2 category change
Claus Gittinger <cg@exept.de>
parents: 43
diff changeset
    19
	category:'Languages-JavaScript-Framework'
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    22
Object subclass:#AppletObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    23
	instanceVariableNames:'window element view'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    24
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    25
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    26
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    27
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    28
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    29
Object subclass:#AppletsObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    30
	instanceVariableNames:'window'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    31
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    32
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    33
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    34
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    35
194
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
    36
Smalltalk::Array variableSubclass:#Array
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    37
	instanceVariableNames:''
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    38
	classVariableNames:''
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    39
	poolDictionaries:''
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    40
	privateIn:JavaScriptEnvironment
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    41
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    42
189
a7988aa6b30e Allow stc compilation
Stefan Vogel <sv@exept.de>
parents: 187
diff changeset
    43
Timestamp subclass:#Date
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    44
	instanceVariableNames:''
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    45
	classVariableNames:''
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    46
	poolDictionaries:''
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    47
	privateIn:JavaScriptEnvironment
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    48
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
    49
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    50
Object subclass:#Document
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    51
	instanceVariableNames:'forms link anchor applets'
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    52
	classVariableNames:''
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    53
	poolDictionaries:''
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    54
	privateIn:JavaScriptEnvironment
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    55
!
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
    56
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    57
Object subclass:#DocumentObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    58
	instanceVariableNames:'images applets forms links anchors'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    59
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    60
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    61
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    62
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    63
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    64
Object subclass:#FormFieldObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    65
	instanceVariableNames:'window element widget'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    66
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    67
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    68
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    69
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    71
Object subclass:#FormObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    72
	instanceVariableNames:'window element'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    73
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    74
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    75
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    76
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    77
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    78
Object subclass:#FormsObject
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    79
	instanceVariableNames:'window'
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    80
	classVariableNames:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    81
	poolDictionaries:''
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    82
	privateIn:JavaScriptEnvironment
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    83
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    84
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    85
Object subclass:#HistoryObject
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    86
	instanceVariableNames:'historyItems window'
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    87
	classVariableNames:''
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    88
	poolDictionaries:''
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    89
	privateIn:JavaScriptEnvironment
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    90
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    91
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    92
Object subclass:#Math
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    93
	instanceVariableNames:''
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    94
	classVariableNames:''
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    95
	poolDictionaries:''
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    96
	privateIn:JavaScriptEnvironment
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    97
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
    98
194
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
    99
Smalltalk::String variableByteSubclass:#String
17
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   100
	instanceVariableNames:''
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   101
	classVariableNames:''
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   102
	poolDictionaries:''
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   103
	privateIn:JavaScriptEnvironment
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   104
!
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   105
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   106
Object subclass:#WindowObject
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   107
	instanceVariableNames:'view history location document frames'
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   108
	classVariableNames:''
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   109
	poolDictionaries:''
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   110
	privateIn:JavaScriptEnvironment
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   111
!
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   112
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   113
!JavaScriptEnvironment class methodsFor:'documentation'!
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   114
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   115
copyright
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   116
"
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   117
 COPYRIGHT (c) 1998 by eXept Software AG
40
382a209e9150 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
   118
	      All Rights Reserved
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   119
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   120
 This software is furnished under a license and may be used
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   121
 only in accordance with the terms of that license and with the
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   122
 inclusion of the above copyright notice.   This software may not
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   123
 be provided or otherwise made available to, or used by, any
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   124
 other person.  No title to or ownership of the software is
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   125
 hereby transferred.
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   126
"
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   127
! !
10
cd104909f31a special JavaString (different protocol)
Claus Gittinger <cg@exept.de>
parents: 4
diff changeset
   128
22
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   129
!JavaScriptEnvironment class methodsFor:'queries'!
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   130
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   131
scriptingNamespace
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   132
    "return a namespace, in which the scripts global variables
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   133
     are searched. Returning myself here, will make Math and Date
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   134
     visible (maybe more in the future)"
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   135
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   136
    ^ self
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   137
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   138
    "Created: / 17.5.1998 / 20:52:17 / cg"
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   139
! !
9e2526795b63 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 18
diff changeset
   140
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   141
!JavaScriptEnvironment methodsFor:'accessing'!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   142
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   143
_argVariables
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   144
    ^ nil
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   145
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   146
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   147
_beHTMLEnvironment
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   148
    _isHTMLEnvironment := true
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   149
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   150
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   151
_defineFunction:aFunction as:selector
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   152
    _functions isNil ifTrue:[
40
382a209e9150 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 38
diff changeset
   153
	_functions := IdentityDictionary new
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   154
    ].
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   155
    _functions at:selector put:aFunction
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   156
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   157
    "Created: / 17.5.1998 / 00:34:41 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   158
    "Modified: / 17.5.1998 / 21:28:13 / cg"
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   159
!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   160
399
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   161
_defineVariable:name value:initialValue
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   162
    _variables isNil ifTrue:[
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   163
        _variables := IdentityDictionary new.
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   164
    ].
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   165
    _variables at:name asSymbol put:initialValue.
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   166
!
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   167
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   168
_functions
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   169
    ^ _functions
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   170
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   171
    "Created: / 17.5.1998 / 00:02:36 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   172
    "Modified: / 17.5.1998 / 21:28:17 / cg"
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   173
!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   174
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   175
_functions:aDictionary
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   176
    _functions := aDictionary
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   177
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   178
    "Created: / 17.5.1998 / 00:02:43 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   179
    "Modified: / 17.5.1998 / 21:28:20 / cg"
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   180
!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   181
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   182
_isHTMLEnvironment
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   183
    ^ _isHTMLEnvironment ? false
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   184
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   185
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   186
_localVariables
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   187
    ^ _variables
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   188
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   189
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   190
_localVariables:aDictionary
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   191
    _variables := aDictionary
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   192
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   193
    "Created: / 17.5.1998 / 00:04:16 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   194
    "Modified: / 17.5.1998 / 21:28:33 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   195
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   196
293
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   197
_outStream
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   198
    ^ _outStream
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   199
!
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   200
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   201
_outStream:aStream
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   202
    _outStream := aStream
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   203
!
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   204
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   205
_outerEnvironment
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   206
    ^ _outerEnvironment
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   207
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   208
    "Created: / 17.5.1998 / 00:02:49 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   209
    "Modified: / 17.5.1998 / 21:28:23 / cg"
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   210
!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   211
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   212
_outerEnvironment:anEnvironment
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   213
    _outerEnvironment := anEnvironment
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   214
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   215
    "Created: / 17.5.1998 / 00:02:52 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   216
    "Modified: / 17.5.1998 / 21:28:27 / cg"
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   217
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   218
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   219
_topEnvironment
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   220
    ^ _outerEnvironment isNil ifTrue:self ifFalse:[_outerEnvironment _topEnvironment]
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   221
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   222
309
8136e5fc4254 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
   223
isReturnedFrom:something
8136e5fc4254 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
   224
    "/ isReturnedFrom := something.
8136e5fc4254 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
   225
!
8136e5fc4254 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 296
diff changeset
   226
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   227
receiver
178
447d73ac248d nstance var _receiver makes problem with stc
Stefan Vogel <sv@exept.de>
parents: 89
diff changeset
   228
    ^ _theReceiver ? self
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   229
! !
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   230
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   231
!JavaScriptEnvironment methodsFor:'builtin functions'!
17
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   232
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   233
alert:msg
446
cacd2dfdbfd4 changed: #alert:
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   234
    self warn:('JavaScript alert:\\' withCRs , msg)
17
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   235
446
cacd2dfdbfd4 changed: #alert:
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   236
    "Created: / 16-05-1998 / 23:47:12 / cg"
cacd2dfdbfd4 changed: #alert:
Claus Gittinger <cg@exept.de>
parents: 399
diff changeset
   237
    "Modified: / 19-05-2010 / 13:59:00 / cg"
25
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   238
!
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   239
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   240
confirm:msg
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   241
    ^ Dialog confirm:('JavaScript confirmation:\\' , msg) withCRs
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   242
b124d3c09259 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 23
diff changeset
   243
    "Created: / 17.5.1998 / 23:39:59 / cg"
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   244
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   245
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   246
js_alert:msg
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   247
    Dialog warn:('JavaScript alert:\\' , msg) withCRs
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   248
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   249
    "Created: / 16.5.1998 / 23:47:12 / cg"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   250
    "Modified: / 17.5.1998 / 23:40:10 / cg"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   251
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   252
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   253
js_confirm:msg
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   254
    ^ Dialog confirm:('JavaScript confirmation:\\' , msg) withCRs
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   255
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   256
    "Created: / 17.5.1998 / 23:39:59 / cg"
194
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   257
!
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   258
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   259
print:msg
293
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   260
    (_outStream ? Transcript) show:msg
194
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   261
!
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   262
c0b4d7acf598 print builtin functions
Claus Gittinger <cg@exept.de>
parents: 190
diff changeset
   263
println:msg
293
0a5ed85c2dde keep the outstream
Claus Gittinger <cg@exept.de>
parents: 291
diff changeset
   264
    (_outStream ? Transcript) showCR:msg
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   265
! !
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   266
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   267
!JavaScriptEnvironment methodsFor:'error handling'!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   268
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   269
doesNotUnderstand:aMessage
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   270
    |f|
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   271
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   272
    _functions notNil ifTrue:[
521
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   273
        f := _functions at:aMessage selector ifAbsent:nil.
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   274
        f notNil ifTrue:[
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   275
            "/ ^ f.
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   276
            ^ f valueWithReceiver:self arguments:(aMessage arguments)
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   277
        ]
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   278
    ].
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   279
    _fallBackReceiver notNil ifTrue:[
521
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   280
        ^ aMessage sendTo:_fallBackReceiver
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   281
    ].
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   282
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   283
    ^ super doesNotUnderstand:aMessage
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   284
521
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   285
    "Created: / 17-05-1998 / 00:48:43 / cg"
2479b00a29eb comment/format in: #doesNotUnderstand:
Claus Gittinger <cg@exept.de>
parents: 490
diff changeset
   286
    "Modified: / 06-12-2011 / 01:48:59 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   287
! !
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   288
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   289
!JavaScriptEnvironment methodsFor:'expression evaluation'!
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   290
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   291
_evaluateAction:aString with:aComponentName
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   292
    "invoked when some HTML-element (such as a button) with an ONCLICK
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   293
     action is pressed. This is supposed to parse the passed string as
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   294
     an expression in my language (i.e. javaScript) and invoke that
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   295
     function."
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   296
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   297
    ErrorSignal handle:[:ex |
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   298
	Transcript showCR:('error in script: ' , ex description).
80
b5643da6bda5 #errorSignal -> #description
Stefan Vogel <sv@exept.de>
parents: 70
diff changeset
   299
"/        self warn:'error in script: ' , ex description
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   300
	ex reject.
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   301
    ] do:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   302
	"/
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   303
	"/ here, we parse the string and evaluate it as an expression.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   304
	"/
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   305
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   306
	JavaScriptParser evaluate:aString receiver:self in:self.
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   307
    ].
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   308
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   309
    "Modified: / 17.5.1998 / 21:24:35 / cg"
200
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   310
!
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   311
201
13ba23644d81 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
   312
_readEvalFrom:inputStream to:outputStream errorTo:errorStream
200
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   313
    self _readEvalFrom:inputStream to:outputStream errorTo:errorStream print:false.
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   314
201
13ba23644d81 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 200
diff changeset
   315
    "Created: / 13-07-2006 / 12:25:29 / cg"
200
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   316
!
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   317
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   318
_readEvalFrom:inputStream to:outputStream errorTo:errorStream print:doPrint
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   319
    [true] whileTrue:[
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   320
        ErrorSignal handle:[:ex |
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   321
            errorStream showCR:('error in script: ' , ex description).
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   322
    "/        self warn:'error in script: ' , ex description
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   323
            ex reject.
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   324
        ] do:[
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   325
            |line result|
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   326
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   327
            "/
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   328
            "/ here, we parse the string and evaluate it as an expression.
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   329
            "/
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   330
            outputStream nextPutAll:'js>'.
204
3814c9ea1a9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
   331
            inputStream atEnd ifTrue:[^ self].
3814c9ea1a9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
   332
3814c9ea1a9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
   333
            result := JavaScriptParser evaluate:inputStream receiver:self in:self.
3814c9ea1a9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
   334
"/            line := inputStream nextLine.
3814c9ea1a9b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 201
diff changeset
   335
"/            result := JavaScriptParser evaluate:line receiver:self in:self.
200
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   336
            doPrint ifTrue:[
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   337
                outputStream nextPutAll:result printString; cr.
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   338
            ]
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   339
        ].
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   340
    ]
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   341
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   342
    "Created: / 13-07-2006 / 12:22:47 / cg"
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   343
!
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   344
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   345
_readEvalPrintFrom:inputStream to:outputStream errorTo:errorStream
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   346
    self _readEvalFrom:inputStream to:outputStream errorTo:errorStream print:true.
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   347
bfdb7d1521de *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 194
diff changeset
   348
    "Modified: / 13-07-2006 / 12:23:09 / cg"
357
4f24d6305341 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   349
!
4f24d6305341 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   350
4f24d6305341 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   351
exitWith:val
4f24d6305341 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   352
    ^ val
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   353
! !
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   354
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   355
!JavaScriptEnvironment methodsFor:'html-browser interaction'!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   356
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   357
_start
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   358
    |f|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   359
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   360
    "/ cannot do:
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   361
    "/      self perform:#js_start ifNotUnderstood:[].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   362
    "/ because the ifNotUnderstood-part does not handle delegated notUnderstood
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   363
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   364
    _functions notNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   365
	f := _functions at:#js_start ifAbsent:nil.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   366
	f notNil ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   367
	    f valueWithReceiver:self arguments:#()
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   368
	]
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   369
    ].
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   370
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   371
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   372
_stop
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   373
    |f|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   374
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   375
    "/ cannot do:
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   376
    "/      self perform:#js_stop ifNotUnderstood:[].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   377
    "/ because the ifNotUnderstood-part does not handle delegated notUnderstood
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   378
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   379
    _functions notNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   380
	f := _functions at:#js_stop ifAbsent:nil.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   381
	f notNil ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   382
	    f valueWithReceiver:self arguments:#()
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   383
	]
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   384
    ].
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   385
! !
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   386
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   387
!JavaScriptEnvironment methodsFor:'queries'!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   388
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   389
_isFunctionEnvironment
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   390
    ^ false
291
202bd7d1b03a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
   391
!
202bd7d1b03a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
   392
202bd7d1b03a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
   393
isInnerJavaScriptBlock
202bd7d1b03a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
   394
    ^ false
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   395
! !
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   396
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   397
!JavaScriptEnvironment methodsFor:'setup'!
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   398
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   399
_setupForWindow:aWindow
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   400
    |painter window history
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   401
     document formElements realForms formNames appletElements appletViews appletNames index|
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   402
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   403
    painter := aWindow painter.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   404
"/    painter notNil ifTrue:[
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   405
"/        formElements := painter forms.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   406
"/        index := 1.
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   407
"/        formNames :=
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   408
"/            formElements
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   409
"/                collect:[:aFormElement |
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   410
"/                            |nm|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   411
"/
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   412
"/                            nm := aFormElement nameString.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   413
"/                            nm isNil ifTrue:[
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   414
"/                                nm := 'form' , index printString
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   415
"/                            ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   416
"/                            index := index + 1.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   417
"/                            nm
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   418
"/                        ].
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   419
"/        realForms :=
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   420
"/            formElements
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   421
"/                collect:[:aFormElement |
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   422
"/                            |widgets widgetNames widgetViews|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   423
"/
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   424
"/                            widgets := aFormElement widgets select:[:wE | wE nameString notNil].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   425
"/                            widgetNames := widgets collect:[:aWidgetElement | |nm|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   426
"/                                                nm := aWidgetElement nameString.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   427
"/                                                nm
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   428
"/                                           ].
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   429
"/                            widgetViews := widgets collect:[:aWidgetElement | aWidgetElement view].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   430
"/                            Structure newWith:widgetNames values:widgetViews.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   431
"/                        ].
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   432
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   433
"/        appletElements := aWindow painter applets.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   434
"/        index := 1.
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   435
"/        appletNames :=
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   436
"/            appletElements
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   437
"/                collect:[:anAppletElement | |nm|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   438
"/
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   439
"/                            nm := anAppletElement nameString.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   440
"/                            nm isNil ifTrue:[
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   441
"/                                nm := 'form' , index printString
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   442
"/                            ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   443
"/                            index := index + 1.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   444
"/                            nm
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   445
"/                        ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   446
"/        appletViews := appletElements collect:[:anAppletElement | anAppletElement view].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   447
"/    ].
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   448
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   449
    document := DocumentObject new.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   450
    document forms:(FormsObject new window:aWindow).
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   451
    document applets:(AppletsObject new window:aWindow).
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   452
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   453
"/    formNames notNil ifTrue:[
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   454
"/        formNames := formNames , (formNames collect:[:nm | 'js_' , nm]).
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   455
"/        realForms := realForms , realForms.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   456
"/        document forms:(Structure newWith:formNames values:realForms).
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   457
"/    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   458
"/    appletNames notNil ifTrue:[
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   459
"/        appletNames := appletNames , (appletNames collect:[:nm | 'js_' , nm]).
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   460
"/        appletViews := appletViews , appletViews.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   461
"/        document applets:(Structure newWith:appletNames values:appletViews).
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   462
"/    ].
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   463
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
   464
    window := WindowObject new.
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   465
    window location:(aWindow currentURL).
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   466
    window document:document.
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   467
    window view:aWindow.
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   468
30
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   469
    history := HistoryObject new.
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   470
    history window:window.
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   471
    history historyItems:(aWindow history).
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   472
    "/ window history:(aWindow history).
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   473
    window history:history.
27d36560aa7b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 28
diff changeset
   474
399
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
   475
    self _defineVariable:#window value:((JavaScriptVariable name:#window) value:window). 
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   476
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   477
    _fallBackReceiver := window.
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   478
18
6c94b1a5504b checkin from browser
Claus Gittinger <cg@exept.de>
parents: 17
diff changeset
   479
    "Created: / 21.9.1996 / 12:44:55 / cg"
23
5f09beab29b2 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 22
diff changeset
   480
    "Modified: / 17.5.1998 / 21:35:19 / cg"
17
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   481
! !
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
   482
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   483
!JavaScriptEnvironment::AppletObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   484
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   485
window:windowArg element:elementArg view:viewArg
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   486
    "set instance variables (automatically generated)"
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   487
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   488
    window := windowArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   489
    element := elementArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   490
    view := viewArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   491
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   492
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   493
!JavaScriptEnvironment::AppletsObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   494
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   495
js_at:idx
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   496
    ^ self appletNamed:(idx + 1)
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   497
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   498
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   499
window:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   500
    window := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   501
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   502
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   503
!JavaScriptEnvironment::AppletsObject methodsFor:'cought accessors'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   504
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   505
appletNamed:anAppletNameOrIndex
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   506
    |appletElements index el|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   507
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   508
    appletElements := window applets.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   509
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   510
    anAppletNameOrIndex isNumber ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   511
	index := anAppletNameOrIndex.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   512
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   513
	index := appletElements findFirst:[:el | el nameString = anAppletNameOrIndex].
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   514
	index == 0 ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   515
	    Transcript show:'no applet named: '; showCR:anAppletNameOrIndex.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   516
	    self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   517
	    ^ nil
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   518
	].
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   519
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   520
    el := appletElements at:index ifAbsent:nil.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   521
    el isNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   522
	Transcript showCR:'bad applet index'.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   523
	self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   524
	^ nil
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   525
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   526
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   527
    ^ JavaScriptEnvironment::AppletObject new
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   528
	window:window
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   529
	element:el
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   530
	widget:(el view)
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   531
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   532
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   533
doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   534
    |sel nm applet|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   535
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   536
    sel := aMessage selector.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   537
    (sel startsWith:'js_') ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   538
	"/ JS-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   539
	nm := sel copyFrom:4.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   540
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   541
	"/ ST-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   542
	nm := sel
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   543
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   544
    (applet := self appletNamed:nm) notNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   545
	^ applet
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   546
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   547
    ^ super doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   548
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   549
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   550
!JavaScriptEnvironment::Array methodsFor:'accessing'!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   551
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   552
js_at:index
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   553
    "JS uses 0-based indexing"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   554
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   555
    ^ super at:index+1
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   556
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   557
    "Created: / 7.11.1998 / 12:17:34 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   558
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   559
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   560
js_at:index put:something
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   561
    "JS uses 0-based indexing"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   562
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   563
    ^ super at:index+1 put:something
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   564
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   565
    "Created: / 7.11.1998 / 12:17:47 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   566
! !
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   567
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   568
!JavaScriptEnvironment::Date methodsFor:'accessing'!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   569
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   570
js_getDate
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   571
    "get the day of month"
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   572
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   573
    ^ self day
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   574
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   575
    "Modified: / 16.5.1998 / 20:32:25 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   576
    "Created: / 16.5.1998 / 20:39:47 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   577
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   578
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   579
js_getDay
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   580
    "get the day of week"
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   581
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   582
    ^ self dayInWeek
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   583
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   584
    "Modified: / 16.5.1998 / 20:32:25 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   585
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   586
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   587
js_getHours
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   588
    ^ self hours
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   589
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   590
    "Created: / 16.5.1998 / 20:32:40 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   591
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   592
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   593
js_getMinutes
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   594
    ^ self minutes
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   595
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   596
    "Created: / 16.5.1998 / 20:32:57 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   597
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   598
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   599
js_getMonth
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   600
    ^ self month
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   601
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   602
    "Created: / 16.5.1998 / 20:31:57 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   603
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   604
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   605
js_getSeconds
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   606
    ^ self seconds
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   607
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   608
    "Created: / 16.5.1998 / 20:33:08 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   609
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   610
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   611
js_getTime
89
0ddbac4f5704 Rename AbsoluteTime to Timestamp
Stefan Vogel <sv@exept.de>
parents: 80
diff changeset
   612
    ^ (Timestamp day:1 month:1 year:1970 hour:0 minutes:0 seconds:0) millisecondDeltaFrom:self
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   613
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   614
    "Created: / 16.5.1998 / 20:32:57 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   615
    "Modified: / 16.5.1998 / 20:35:36 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   616
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   617
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   618
js_getTimezoneOffset
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   619
    ^ self utcOffset
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   620
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   621
    "Modified: / 16.5.1998 / 20:42:05 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   622
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   623
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   624
js_getYear
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   625
    ^ self year
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   626
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   627
    "Created: / 16.5.1998 / 20:31:32 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   628
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   629
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   630
js_setDay:newDay
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   631
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   632
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   633
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   634
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   635
        year:timeInfo year month:timeInfo month day:newDay
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   636
        hour:timeInfo hours minute:timeInfo minutes second:timeInfo seconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   637
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   638
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   639
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   640
        self now js_setDay:1
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   641
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   642
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   643
    "Modified: / 16.5.1998 / 20:39:24 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   644
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   645
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   646
js_setHour:newHour
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   647
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   648
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   649
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   650
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   651
        year:timeInfo year month:timeInfo month day:timeInfo day
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   652
        hour:newHour minute:timeInfo minutes second:timeInfo seconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   653
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   654
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   655
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   656
        self now js_setHour:0
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   657
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   658
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   659
    "Modified: / 16.5.1998 / 20:39:24 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   660
    "Created: / 16.5.1998 / 20:40:11 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   661
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   662
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   663
js_setMinutes:newMin
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   664
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   665
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   666
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   667
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   668
        year:timeInfo year month:timeInfo month day:timeInfo day
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   669
        hour:timeInfo hours minute:newMin second:timeInfo seconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   670
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   671
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   672
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   673
        self now js_setMinutes:0
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   674
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   675
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   676
    "Modified: / 16.5.1998 / 20:39:24 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   677
    "Created: / 16.5.1998 / 20:40:33 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   678
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   679
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   680
js_setMonth:newMonth
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   681
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   682
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   683
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   684
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   685
        year:timeInfo year month:newMonth day:timeInfo day
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   686
        hour:timeInfo hours minute:timeInfo minutes second:timeInfo seconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   687
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   688
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   689
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   690
        self now js_setMonth:7
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   691
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   692
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   693
    "Modified: / 16.5.1998 / 20:32:25 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   694
    "Created: / 16.5.1998 / 20:39:04 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   695
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   696
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   697
js_setSeconds:newSecs
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   698
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   699
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   700
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   701
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   702
        year:timeInfo year month:timeInfo month day:timeInfo day
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   703
        hour:timeInfo hours minute:timeInfo minutes second:newSecs
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   704
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   705
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   706
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   707
        self now js_setSeconds:0
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   708
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   709
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   710
    "Modified: / 16.5.1998 / 20:39:24 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   711
    "Created: / 16.5.1998 / 20:40:55 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   712
!
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   713
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   714
js_setYear:newYear
490
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   715
    |timeInfo|
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   716
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   717
    timeInfo := self timeInfo.    
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   718
    self 
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   719
        year:newYear month:timeInfo month day:timeInfo day
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   720
        hour:timeInfo hours minute:timeInfo minutes second:timeInfo seconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   721
        millisecond:timeInfo milliseconds
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   722
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   723
    "
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   724
        self now js_setYear:2000
3541b5bca0d5 Change Date
Stefan Vogel <sv@exept.de>
parents: 446
diff changeset
   725
    "
38
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   726
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   727
    "Modified: / 16.5.1998 / 20:38:39 / cg"
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   728
! !
d055d9ff4b71 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 30
diff changeset
   729
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   730
!JavaScriptEnvironment::DocumentObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   731
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   732
anchors
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   733
    ^ anchors
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   734
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   735
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   736
anchors:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   737
    anchors := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   738
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   739
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   740
applets
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   741
    ^ applets
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   742
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   743
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   744
applets:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   745
    applets := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   746
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   747
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   748
forms
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   749
    ^ forms
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   750
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   751
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   752
forms:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   753
    forms := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   754
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   755
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   756
images
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   757
    ^ images
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   758
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   759
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   760
images:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   761
    images := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   762
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   763
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   764
js_anchors
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   765
    ^ anchors
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   766
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   767
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   768
js_applets
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   769
    ^ applets
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   770
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   771
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   772
js_forms
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   773
    ^ forms
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   774
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   775
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   776
js_images
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   777
    ^ images
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   778
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   779
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   780
js_links
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   781
    ^ links
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   782
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   783
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   784
links
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   785
    ^ links
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   786
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   787
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   788
links:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   789
    links := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   790
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   791
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   792
!JavaScriptEnvironment::FormFieldObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   793
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   794
js_value
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   795
    "my fields value"
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   796
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   797
    ^ widget model value
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   798
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   799
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   800
js_value:newValue
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   801
    "change my fields value"
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   802
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   803
    ^ widget model value:newValue
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   804
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   805
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   806
value
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   807
    self halt.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   808
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   809
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   810
value:newValue
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   811
    self halt.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   812
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   813
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   814
window:windowArg element:elementArg widget:widgetArg
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   815
    "set instance variables (automatically generated)"
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   816
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   817
    window := windowArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   818
    element := elementArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   819
    widget := widgetArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   820
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   821
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   822
!JavaScriptEnvironment::FormObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   823
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   824
window:windowArg element:elementArg
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   825
    "set instance variables (automatically generated)"
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   826
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   827
    window := windowArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   828
    element := elementArg.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   829
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   830
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   831
!JavaScriptEnvironment::FormObject methodsFor:'cought accessors'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   832
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   833
doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   834
    |sel nm form|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   835
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   836
    sel := aMessage selector.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   837
    (sel startsWith:'js_') ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   838
	"/ JS-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   839
	nm := sel copyFrom:4.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   840
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   841
	"/ ST-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   842
	nm := sel
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   843
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   844
    (form := self fieldNamed:nm) notNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   845
	^ form
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   846
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   847
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   848
    ^ super doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   849
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   850
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   851
fieldNamed:aFieldNameOrIndex
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   852
    |fieldElements index el|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   853
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   854
    fieldElements := element widgets.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   855
    fieldElements isNil ifTrue:[^ nil].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   856
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   857
    aFieldNameOrIndex isNumber ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   858
	index := aFieldNameOrIndex.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   859
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   860
	index := fieldElements findFirst:[:el | el nameString = aFieldNameOrIndex].
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   861
	index == 0 ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   862
	    Transcript show:'no field named: '; showCR:aFieldNameOrIndex.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   863
	    self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   864
	    ^ nil
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   865
	].
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   866
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   867
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   868
    el := fieldElements at:index ifAbsent:nil.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   869
    el isNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   870
	Transcript showCR:'bad field index'.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   871
	self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   872
	^ nil
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   873
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   874
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   875
    ^ JavaScriptEnvironment::FormFieldObject new
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   876
	window:window
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   877
	element:el
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   878
	widget:(el view)
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   879
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   880
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   881
!JavaScriptEnvironment::FormsObject methodsFor:'accessing'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   882
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   883
js_at:idx
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   884
    ^ self formNamed:(idx + 1)
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   885
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   886
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   887
window:something
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   888
    window := something.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   889
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   890
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   891
!JavaScriptEnvironment::FormsObject methodsFor:'cought accessors'!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   892
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   893
doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   894
    |sel nm form|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   895
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   896
    sel := aMessage selector.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   897
    (sel startsWith:'js_') ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   898
	"/ JS-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   899
	nm := sel copyFrom:4.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   900
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   901
	"/ ST-access
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   902
	nm := sel
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   903
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   904
    (form := self formNamed:nm) notNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   905
	^ form
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   906
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   907
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   908
    ^ super doesNotUnderstand:aMessage
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   909
!
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   910
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   911
formNamed:aFormNameOrIndex
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   912
    |formElements index el|
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   913
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   914
    formElements := window forms.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   915
    formElements isNil ifTrue:[^ nil].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   916
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   917
    aFormNameOrIndex isNumber ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   918
	index := aFormNameOrIndex.
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   919
    ] ifFalse:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   920
	index := formElements findFirst:[:el | el nameString = aFormNameOrIndex].
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   921
	index == 0 ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   922
	    Transcript show:'no form named: '; showCR:aFormNameOrIndex.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   923
	    self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   924
	    ^ nil
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   925
	].
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   926
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   927
    el := formElements at:index ifAbsent:nil.
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   928
    el isNil ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   929
	Transcript showCR:'bad form index'.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   930
	self halt.
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   931
	^ nil
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   932
    ].
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   933
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   934
    ^ JavaScriptEnvironment::FormObject new
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   935
	window:window
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
   936
	element:el
70
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   937
! !
989df1bbef87 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
   938
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   939
!JavaScriptEnvironment::HistoryObject methodsFor:'accessing'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   940
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   941
historyItems
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   942
    "return the value of the instance variable 'historyItems' (automatically generated)"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   943
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   944
    ^ historyItems
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   945
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   946
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   947
historyItems:something
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   948
    "set the value of the instance variable 'historyItems' (automatically generated)"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   949
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   950
    historyItems := something.
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   951
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   952
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   953
window
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   954
    "return the value of the instance variable 'window' (automatically generated)"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   955
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   956
    ^ window
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   957
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   958
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   959
window:something
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   960
    "set the value of the instance variable 'window' (automatically generated)"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   961
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   962
    window := something.
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   963
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   964
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   965
!JavaScriptEnvironment::HistoryObject methodsFor:'actions'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   966
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   967
back
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   968
    window view menu_back
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   969
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   970
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   971
js_back
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   972
    window view menu_back
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   973
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
   974
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   975
!JavaScriptEnvironment::Math class methodsFor:'constants'!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   976
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   977
js_E
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   978
    ^ 2.7182818284590452354
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   979
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   980
    "Modified: / 16.5.1998 / 17:05:49 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   981
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   982
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   983
js_LN10
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   984
    "lng e10"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   985
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   986
    ^ 2.30258509299404568402
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   987
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   988
    "Created: / 16.5.1998 / 17:06:21 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   989
    "Modified: / 16.5.1998 / 17:08:43 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   990
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   991
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   992
js_LN2
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   993
    "lng e2"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   994
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   995
    ^ 0.69314718055994530942
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   996
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   997
    "Created: / 16.5.1998 / 17:06:02 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   998
    "Modified: / 16.5.1998 / 17:08:46 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   999
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1000
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1001
js_LOG10E
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1002
    "log e10"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1003
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1004
    ^ 0.43429448190325182765
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1005
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1006
    "Created: / 16.5.1998 / 17:06:40 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1007
    "Modified: / 16.5.1998 / 17:08:26 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1008
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1009
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1010
js_LOG2E
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1011
    "log e2"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1012
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1013
    ^ 1.4426950408889634074
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1014
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1015
    "Created: / 16.5.1998 / 17:06:33 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1016
    "Modified: / 16.5.1998 / 17:08:36 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1017
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1018
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1019
js_PI
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1020
    "pi"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1021
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1022
    ^ 3.14159265358979323846
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1023
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1024
    "Created: / 16.5.1998 / 17:06:49 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1025
    "Modified: / 16.5.1998 / 17:08:55 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1026
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1027
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1028
js_SQRT1_2
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1029
    "1/sqrt(2)"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1030
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1031
    ^ 0.70710678118654752440
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1032
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1033
    "Modified: / 16.5.1998 / 17:07:55 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1034
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1035
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1036
js_SQRT2
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1037
    "sqrt(2)"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1038
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1039
    ^ 1.41421356237309504880
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1040
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1041
    "Created: / 16.5.1998 / 17:07:00 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1042
    "Modified: / 16.5.1998 / 17:09:07 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1043
! !
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1044
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1045
!JavaScriptEnvironment::Math class methodsFor:'misc functions'!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1046
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1047
js_abs:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1048
    ^ aFloat abs
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1049
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1050
    "Created: / 16.5.1998 / 17:09:28 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1051
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1052
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1053
js_exp:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1054
    ^ aFloat exp
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1055
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1056
    "Created: / 16.5.1998 / 17:09:54 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1057
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1058
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1059
js_round:aFloat
17
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
  1060
    ^ aFloat rounded
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
  1061
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
  1062
    "Created: / 16.5.1998 / 20:29:51 / cg"
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
  1063
!
070052419841 much more
Claus Gittinger <cg@exept.de>
parents: 14
diff changeset
  1064
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1065
js_sqrt:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1066
    ^ aFloat sqrt
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1067
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1068
    "Created: / 16.5.1998 / 17:10:03 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1069
! !
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1070
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1071
!JavaScriptEnvironment::Math class methodsFor:'trigonometric functions'!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1072
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1073
js_acos:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1074
    ^ aFloat arcCos
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1075
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1076
    "Created: / 16.5.1998 / 17:09:37 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1077
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1078
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1079
js_asin:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1080
    ^ aFloat arcSin
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1081
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1082
    "Created: / 16.5.1998 / 17:09:43 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1083
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1084
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1085
js_atan:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1086
    ^ aFloat arcTan
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1087
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1088
    "Created: / 16.5.1998 / 17:04:13 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1089
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1090
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1091
js_cos:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1092
    ^ aFloat cos
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1093
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1094
    "Created: / 16.5.1998 / 17:04:01 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1095
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1096
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1097
js_sin:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1098
    ^ aFloat sin
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1099
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1100
    "Created: / 16.5.1998 / 17:03:58 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1101
!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1102
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1103
js_tan:aFloat
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1104
    ^ aFloat tan
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1105
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1106
    "Created: / 16.5.1998 / 17:04:03 / cg"
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1107
! !
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1108
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1109
!JavaScriptEnvironment::String methodsFor:'accessing'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1110
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1111
js_at:index
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1112
    "JS returns chars as strings and uses 0-based indexing"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1113
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1114
    |newJS|
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1115
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1116
    newJS := self class basicNew:1.
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1117
    newJS at:1 put:(self at:index+1).
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1118
    ^ newJS
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1119
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1120
    "Created: / 16.5.1998 / 20:04:36 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1121
    "Modified: / 16.5.1998 / 20:26:45 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1122
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1123
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1124
js_at:index put:aCharacterOrString
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1125
    "JS returns chars as strings and uses 0-based indexing"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1126
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1127
    aCharacterOrString isString ifTrue:[
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1128
	aCharacterOrString size == 1 ifTrue:[
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1129
	    self at:index+1 put:(aCharacterOrString at:1).
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1130
	    ^ aCharacterOrString
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1131
	]
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1132
    ].
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1133
    ^ self at:index+1 put:aCharacterOrString
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1134
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1135
    "Created: / 16.5.1998 / 20:04:41 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1136
    "Modified: / 16.5.1998 / 20:26:56 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1137
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1138
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1139
js_charAt:index
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1140
    " JS returns chars as strings and uses 0-based indexing"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1141
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1142
    |newJS|
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1143
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1144
    newJS := self class basicNew:1.
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1145
    newJS at:1 put:(self at:index+1).
187
0462f889eeef *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 178
diff changeset
  1146
    ^ newJS
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1147
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1148
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1149
js_substring:idx1 _:idx2
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1150
    ^ self copyFrom:idx1+1 to:idx2+1
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1151
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1152
    "Created: / 16.5.1998 / 20:27:59 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1153
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1154
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1155
!JavaScriptEnvironment::String methodsFor:'concatenation'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1156
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1157
js_plus: aString         "/ thats #+
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1158
    ^ self , aString printString
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1159
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1160
    "Created: / 16.5.1998 / 18:47:08 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1161
    "Modified: / 16.5.1998 / 19:01:42 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1162
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1163
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1164
!JavaScriptEnvironment::String methodsFor:'conversion'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1165
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1166
js_toLowerCase
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1167
    ^ self asLowercase
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1168
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1169
    "Created: / 16.5.1998 / 19:03:43 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1170
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1171
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1172
js_toUpperCase
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1173
    ^ self asUppercase
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1174
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1175
    "Created: / 16.5.1998 / 19:03:20 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1176
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1177
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1178
!JavaScriptEnvironment::String methodsFor:'queries'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1179
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1180
js_length
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1181
    ^ self size
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1182
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1183
    "Created: / 16.5.1998 / 19:06:17 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1184
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1185
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1186
!JavaScriptEnvironment::String methodsFor:'searching'!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1187
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1188
js_indexOf:searchString
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1189
    ^ (self indexOfSubCollection:searchString) - 1 "/ JS indexing is 0-based
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1190
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1191
    "Created: / 16.5.1998 / 19:04:13 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1192
    "Modified: / 16.5.1998 / 20:24:08 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1193
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1194
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1195
js_indexOf:searchString _:startIndex
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1196
    ^ (self indexOfSubCollection:searchString startingAt:startIndex+1) - 1 "/ JS indexing is 0-based
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1197
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1198
    "Created: / 16.5.1998 / 19:04:22 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1199
    "Modified: / 16.5.1998 / 20:25:10 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1200
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1201
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1202
js_lastIndexOf:searchString
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1203
    ^ (self lastIndexOfSubCollection:searchString) - 1 "/ JS indexing is 0-based
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1204
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1205
    "Modified: / 16.5.1998 / 19:20:19 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1206
    "Created: / 16.5.1998 / 20:23:38 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1207
!
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1208
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1209
js_lastIndexOf:searchString _:startIndex
43
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1210
    ^ (self lastIndexOfSubCollection:searchString startingAt:startIndex+1) - 1 "/ JS indexing is 0-based
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1211
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1212
    "Created: / 16.5.1998 / 20:23:52 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1213
    "Modified: / 16.5.1998 / 20:25:16 / cg"
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1214
! !
5e9076004460 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 40
diff changeset
  1215
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1216
!JavaScriptEnvironment::WindowObject methodsFor:'accessing'!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1217
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1218
document
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1219
    "return the value of the instance variable 'document' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1220
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1221
    ^ document
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1222
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1223
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1224
document:something
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1225
    "set the value of the instance variable 'document' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1226
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1227
    document := something.
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1228
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1229
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1230
frames
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1231
    "return the value of the instance variable 'frames' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1232
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1233
    ^ frames
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1234
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1235
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1236
frames:something
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1237
    "set the value of the instance variable 'frames' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1238
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1239
    frames := something.
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1240
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1241
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1242
history
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1243
    "return the value of the instance variable 'history' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1244
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1245
    ^ history
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1246
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1247
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1248
history:something
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1249
    "set the value of the instance variable 'history' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1250
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1251
    history := something.
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1252
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1253
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1254
js_document
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1255
    "return the value of the instance variable 'document' (automatically generated)"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1256
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1257
    ^ document
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1258
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1259
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1260
js_frames
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1261
    "return the value of the instance variable 'frames' (automatically generated)"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1262
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1263
    ^ frames
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1264
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1265
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1266
js_history
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1267
    "return the value of the instance variable 'history' (automatically generated)"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1268
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1269
    ^ history
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1270
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1271
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1272
js_location
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1273
    "return the value of the instance variable 'location' (automatically generated)"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1274
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1275
    ^ location
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1276
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1277
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1278
js_view
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1279
    "return the value of the instance variable 'view' (automatically generated)"
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1280
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1281
    ^ view
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1282
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1283
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1284
location
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1285
    "return the value of the instance variable 'location' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1286
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1287
    ^ location
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1288
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1289
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1290
location:something
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1291
    "set the value of the instance variable 'location' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1292
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1293
    location := something.
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1294
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1295
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1296
view
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1297
    "return the value of the instance variable 'view' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1298
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1299
    ^ view
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1300
!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1301
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1302
view:something
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1303
    "set the value of the instance variable 'view' (automatically generated)"
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1304
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1305
    view := something.
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1306
! !
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1307
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1308
!JavaScriptEnvironment::WindowObject methodsFor:'information'!
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1309
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1310
info:aMessage
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1311
    view showInfo:aMessage
67
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1312
!
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1313
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1314
js_info:aMessage
058fd3dad518 js-plain vs. js-in-html handling
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
  1315
    view showInfo:aMessage
62
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1316
! !
ed478b08cbd3 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 47
diff changeset
  1317
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1318
!JavaScriptEnvironment class methodsFor:'documentation'!
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1319
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1320
version
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1321
    ^ '$Header$'
399
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
  1322
!
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
  1323
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
  1324
version_CVS
6e33555add0c added: #_defineVariable:value:
Michael Beyl <mb@exept.de>
parents: 357
diff changeset
  1325
    ^ '$Header$'
4
68a2dc018e62 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
  1326
! !