Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
867fdfb6
Commit
867fdfb6
authored
May 09, 2019
by
Christoffer Ackelman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Web: Minor cleanup.
parent
121334c9
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
837 additions
and
937 deletions
+837
-937
java/jsw/co/src/cli.ts
java/jsw/co/src/cli.ts
+12
-14
java/jsw/co/src/gdh.ts
java/jsw/co/src/gdh.ts
+27
-48
java/jsw/co/src/plow.ts
java/jsw/co/src/plow.ts
+66
-99
java/jsw/co/src/pwr.ts
java/jsw/co/src/pwr.ts
+8
-2
java/jsw/ev/src/ev.html
java/jsw/ev/src/ev.html
+53
-29
java/jsw/ev/src/ev.ts
java/jsw/ev/src/ev.ts
+116
-119
java/jsw/flow/src/flow.html
java/jsw/flow/src/flow.html
+26
-18
java/jsw/flow/src/flow.ts
java/jsw/flow/src/flow.ts
+189
-292
java/jsw/ge/src/ge.html
java/jsw/ge/src/ge.html
+62
-62
java/jsw/ge/src/ge_appl.ts
java/jsw/ge/src/ge_appl.ts
+1
-0
java/jsw/ge/src/ge_dyn.ts
java/jsw/ge/src/ge_dyn.ts
+19
-18
java/jsw/ge/src/ge_graph.ts
java/jsw/ge/src/ge_graph.ts
+9
-3
java/jsw/opwind/src/crypt.ts
java/jsw/opwind/src/crypt.ts
+5
-5
java/jsw/opwind/src/opwind.html
java/jsw/opwind/src/opwind.html
+21
-20
java/jsw/opwind/src/opwind.ts
java/jsw/opwind/src/opwind.ts
+57
-61
java/jsw/opwind/src/opwind_menu.html
java/jsw/opwind/src/opwind_menu.html
+26
-27
java/jsw/xtt/src/xtt.html
java/jsw/xtt/src/xtt.html
+41
-25
java/jsw/xtt/src/xtt.ts
java/jsw/xtt/src/xtt.ts
+99
-95
No files found.
java/jsw/co/src/cli.ts
View file @
867fdfb6
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
class
CliTable
{
class
CliTable
{
command
:
string
;
command
:
string
;
qualifier
:
Array
<
string
>
;
qualifier
:
Array
<
string
>
;
constructor
(
command
,
qualifier
)
{
constructor
(
command
,
qualifier
)
{
this
.
command
=
command
;
this
.
command
=
command
;
this
.
qualifier
=
qualifier
;
this
.
qualifier
=
qualifier
;
...
@@ -32,19 +33,16 @@ enum State {
...
@@ -32,19 +33,16 @@ enum State {
}
}
class
Cli
{
class
Cli
{
verb
:
Array
;
verb
:
Array
=
new
Array
(
CliC
.
VERB_VECT_SIZE
)
;
qualifier
:
Array
;
qualifier
:
Array
=
new
Array
(
30
)
;
qualValue
:
Array
;
qualValue
:
Array
=
new
Array
(
30
)
;
status
:
number
;
status
:
number
;
cliTableIndex
:
number
;
cliTableIndex
:
number
;
cliQualifierIndex
:
Array
;
cliQualifierIndex
:
Array
=
new
Array
(
30
)
;
configuredVerbs
:
number
;
configuredVerbs
:
number
;
cliTable
:
Array
<
CliTable
>
;
cliTable
:
Array
<
CliTable
>
;
constructor
(
cliTable
)
{
constructor
(
cliTable
)
{
this
.
verb
=
new
Array
(
CliC
.
VERB_VECT_SIZE
);
this
.
qualifier
=
new
Array
(
30
);
this
.
qualValue
=
new
Array
(
30
);
this
.
cliQualifierIndex
=
new
Array
(
30
);
this
.
cliTable
=
cliTable
;
this
.
cliTable
=
cliTable
;
}
}
...
@@ -161,7 +159,7 @@ class Cli {
...
@@ -161,7 +159,7 @@ class Cli {
state
=
State
.
SPACE
;
state
=
State
.
SPACE
;
}
else
if
(
c
===
'
/
'
)
{
}
else
if
(
c
===
'
/
'
)
{
this
.
qualValue
[
this
.
qualifier
.
length
-
1
]
=
this
.
qualValue
[
this
.
qualifier
.
length
-
1
]
=
cmd
.
substring
(
start_pos
,
i
);
cmd
.
substring
(
start_pos
,
i
);
state
=
State
.
QUAL
;
state
=
State
.
QUAL
;
start_pos
=
i
;
start_pos
=
i
;
}
}
...
@@ -169,7 +167,7 @@ class Cli {
...
@@ -169,7 +167,7 @@ class Cli {
case
State
.
QUALVALUE_EXACT
:
case
State
.
QUALVALUE_EXACT
:
if
(
c
===
'
"
'
)
{
if
(
c
===
'
"
'
)
{
this
.
qualValue
[
this
.
qualifier
.
length
-
1
]
=
this
.
qualValue
[
this
.
qualifier
.
length
-
1
]
=
cmd
.
substring
(
start_pos
,
i
);
cmd
.
substring
(
start_pos
,
i
);
state
=
State
.
SPACE
;
state
=
State
.
SPACE
;
}
}
break
;
break
;
...
@@ -248,7 +246,7 @@ class Cli {
...
@@ -248,7 +246,7 @@ class Cli {
continue
;
continue
;
}
}
if
(
this
.
verb
[
0
]
===
if
(
this
.
verb
[
0
]
===
(
this
.
cliTable
[
i
].
command
.
substring
(
0
,
this
.
verb
[
0
].
length
)))
{
(
this
.
cliTable
[
i
].
command
.
substring
(
0
,
this
.
verb
[
0
].
length
)))
{
this
.
verb
[
0
]
=
this
.
cliTable
[
i
].
command
;
this
.
verb
[
0
]
=
this
.
cliTable
[
i
].
command
;
found
=
true
;
found
=
true
;
break
;
break
;
...
@@ -291,12 +289,12 @@ class Cli {
...
@@ -291,12 +289,12 @@ class Cli {
break
;
break
;
}
}
if
(
this
.
qualifier
[
j
].
length
>
if
(
this
.
qualifier
[
j
].
length
>
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
].
length
)
{
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
].
length
)
{
continue
;
continue
;
}
}
if
(
this
.
qualifier
[
j
]
===
if
(
this
.
qualifier
[
j
]
===
(
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
].
substring
(
0
,
(
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
].
substring
(
0
,
this
.
qualifier
[
j
].
length
)))
{
this
.
qualifier
[
j
].
length
)))
{
this
.
cliQualifierIndex
[
j
]
=
i
;
this
.
cliQualifierIndex
[
j
]
=
i
;
found
=
true
;
found
=
true
;
this
.
qualifier
[
j
]
=
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
];
this
.
qualifier
[
j
]
=
this
.
cliTable
[
this
.
cliTableIndex
].
qualifier
[
i
];
...
...
java/jsw/co/src/gdh.ts
View file @
867fdfb6
...
@@ -130,15 +130,13 @@ class GlowBarChartInfo {
...
@@ -130,15 +130,13 @@ class GlowBarChartInfo {
class
GlowTableInfo
{
class
GlowTableInfo
{
columns
;
columns
;
rows
;
rows
;
column_size
:
Array
;
column_size
:
Array
=
new
Array
(
30
);
constructor
()
{
this
.
column_size
=
new
Array
(
30
);
}
}
}
class
PendingData
{
class
PendingData
{
func_cb
:
(
id
:
number
,
val
:
number
,
sts
:
number
=
0
,
res
:
number
=
0
)
=>
void
;
func_cb
:
(
id
:
number
,
val
:
number
,
sts
:
number
=
0
,
res
:
number
=
0
)
=>
void
;
data
:
object
;
data
:
object
;
constructor
(
func_cb
,
data
)
{
constructor
(
func_cb
,
data
)
{
this
.
func_cb
=
func_cb
;
this
.
func_cb
=
func_cb
;
this
.
data
=
data
;
this
.
data
=
data
;
...
@@ -227,6 +225,7 @@ enum Msg {
...
@@ -227,6 +225,7 @@ enum Msg {
class
Uint8ArrayHelper
{
class
Uint8ArrayHelper
{
buf
:
Uint8Array
;
buf
:
Uint8Array
;
idx
:
number
;
idx
:
number
;
constructor
(
size
,
tag
)
{
constructor
(
size
,
tag
)
{
this
.
buf
=
new
Uint8Array
(
size
);
this
.
buf
=
new
Uint8Array
(
size
);
this
.
buf
[
0
]
=
tag
;
this
.
buf
[
0
]
=
tag
;
...
@@ -255,10 +254,10 @@ class Uint8ArrayHelper {
...
@@ -255,10 +254,10 @@ class Uint8ArrayHelper {
class
DataViewHelper
{
class
DataViewHelper
{
dv
:
DataView
;
dv
:
DataView
;
offset
:
number
;
offset
=
0
;
constructor
(
data
:
ArrayBuffer
)
{
constructor
(
data
:
ArrayBuffer
)
{
this
.
dv
=
new
DataView
(
data
);
this
.
dv
=
new
DataView
(
data
);
this
.
offset
=
0
;
}
}
getUint8
()
{
getUint8
()
{
...
@@ -266,11 +265,6 @@ class DataViewHelper {
...
@@ -266,11 +265,6 @@ class DataViewHelper {
return
this
.
dv
.
getUint8
(
this
.
offset
-
1
);
return
this
.
dv
.
getUint8
(
this
.
offset
-
1
);
}
}
getInt16
()
{
this
.
offset
+=
2
;
return
this
.
dv
.
getInt16
(
this
.
offset
-
2
);
}
getUint16
()
{
getUint16
()
{
this
.
offset
+=
2
;
this
.
offset
+=
2
;
return
this
.
dv
.
getUint8
(
this
.
offset
-
2
);
return
this
.
dv
.
getUint8
(
this
.
offset
-
2
);
...
@@ -302,32 +296,17 @@ class DataViewHelper {
...
@@ -302,32 +296,17 @@ class DataViewHelper {
}
}
class
Gdh
{
class
Gdh
{
debug
:
boolean
;
debug
=
false
;
pending
:
Array
;
pending
:
Array
=
[];
sub
:
Array
<
Sub
>
;
sub
:
Array
<
Sub
>
=
[];
PORT
:
number
;
static
PORT
=
4448
;
ws
:
WebSocket
;
ws
:
WebSocket
=
null
;
open_cb
:
()
=>
void
;
return_cb
:
()
=>
void
=
null
;
close_cb
:
()
=>
void
;
next_id
=
1234
;
return_cb
:
()
=>
void
;
subscriptionCount
=
1
;
next_id
:
number
;
listSent
=
false
;
subscriptionCount
:
number
;
listSent
:
boolean
;
constructor
(
open_cb
,
close_cb
=
null
)
{
constructor
()
{
this
.
debug
=
false
;
this
.
pending
=
[];
this
.
sub
=
[];
this
.
PORT
=
4448
;
this
.
ws
=
null
;
this
.
open_cb
=
null
;
this
.
close_cb
=
null
;
this
.
return_cb
=
null
;
this
.
next_id
=
1234
;
this
.
subscriptionCount
=
1
;
this
.
listSent
=
false
;
}
init
()
{
if
(
window
.
location
.
hostname
===
""
)
{
if
(
window
.
location
.
hostname
===
""
)
{
this
.
ws
=
new
WebSocket
(
"
ws:127.0.0.1:4448
"
);
this
.
ws
=
new
WebSocket
(
"
ws:127.0.0.1:4448
"
);
}
else
{
}
else
{
...
@@ -336,8 +315,8 @@ class Gdh {
...
@@ -336,8 +315,8 @@ class Gdh {
this
.
ws
.
binaryType
=
"
arraybuffer
"
;
this
.
ws
.
binaryType
=
"
arraybuffer
"
;
this
.
ws
.
onopen
=
function
(
e
)
{
this
.
ws
.
onopen
=
function
(
e
)
{
if
(
this
.
gdh
.
open_cb
!==
null
)
{
if
(
open_cb
!==
null
)
{
this
.
gdh
.
open_cb
();
open_cb
();
}
}
};
};
...
@@ -345,8 +324,8 @@ class Gdh {
...
@@ -345,8 +324,8 @@ class Gdh {
if
(
this
.
debug
)
{
if
(
this
.
debug
)
{
console
.
log
(
"
Socket closed
"
);
console
.
log
(
"
Socket closed
"
);
}
}
if
(
this
.
gdh
.
close_cb
!==
null
)
{
if
(
close_cb
!==
null
)
{
this
.
gdh
.
close_cb
();
close_cb
();
}
}
};
};
...
@@ -465,7 +444,7 @@ class Gdh {
...
@@ -465,7 +444,7 @@ class Gdh {
let
elements
=
esize
;
let
elements
=
esize
;
if
(
elements
!==
sub
.
elements
)
{
if
(
elements
!==
sub
.
elements
)
{
console
.
log
(
"
Subscription size error
"
,
elements
,
console
.
log
(
"
Subscription size error
"
,
elements
,
sub
.
elements
,
eid
);
sub
.
elements
,
eid
);
}
}
value
=
new
Array
(
elements
);
value
=
new
Array
(
elements
);
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
...
@@ -480,7 +459,7 @@ class Gdh {
...
@@ -480,7 +459,7 @@ class Gdh {
let
elements
=
esize
/
4
;
let
elements
=
esize
/
4
;
if
(
elements
!==
sub
.
elements
)
{
if
(
elements
!==
sub
.
elements
)
{
console
.
log
(
"
Subscription size error
"
,
elements
,
console
.
log
(
"
Subscription size error
"
,
elements
,
sub
.
elements
,
eid
);
sub
.
elements
,
eid
);
}
}
value
=
new
Array
(
elements
);
value
=
new
Array
(
elements
);
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
...
@@ -505,7 +484,7 @@ class Gdh {
...
@@ -505,7 +484,7 @@ class Gdh {
let
elements
=
esize
/
4
;
let
elements
=
esize
/
4
;
if
(
elements
!==
sub
.
elements
)
{
if
(
elements
!==
sub
.
elements
)
{
console
.
log
(
"
Subscription size error
"
,
elements
,
console
.
log
(
"
Subscription size error
"
,
elements
,
sub
.
elements
,
eid
);
sub
.
elements
,
eid
);
}
}
value
=
new
Array
(
elements
);
value
=
new
Array
(
elements
);
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
for
(
let
k
=
0
;
k
<
elements
;
k
++
)
{
...
@@ -524,7 +503,7 @@ class Gdh {
...
@@ -524,7 +503,7 @@ class Gdh {
let
elements
=
sub
.
elements
;
let
elements
=
sub
.
elements
;
if
(
elements
!==
sub
.
elements
)
{
if
(
elements
!==
sub
.
elements
)
{
console
.
log
(
"
Subscription size error
"
,
elements
,
console
.
log
(
"
Subscription size error
"
,
elements
,
sub
.
elements
,
eid
);
sub
.
elements
,
eid
);
}
}
value
=
new
Array
(
elements
);
value
=
new
Array
(
elements
);
for
(
let
l
=
0
;
l
<
elements
;
l
++
)
{
for
(
let
l
=
0
;
l
<
elements
;
l
++
)
{
...
@@ -827,7 +806,7 @@ class Gdh {
...
@@ -827,7 +806,7 @@ class Gdh {
helper
.
packString
(
sub
.
name
);
helper
.
packString
(
sub
.
name
);
this
.
pending
[
this
.
next_id
]
=
this
.
pending
[
this
.
next_id
]
=
new
PendingData
(
this
.
refObjectInfoReply
,
null
);
new
PendingData
(
this
.
refObjectInfoReply
,
null
);
if
(
this
.
debug
)
{
if
(
this
.
debug
)
{
console
.
log
(
"
Sending RefObjectInfo
"
,
this
.
next_id
,
size
);
console
.
log
(
"
Sending RefObjectInfo
"
,
this
.
next_id
,
size
);
}
}
...
@@ -858,7 +837,7 @@ class Gdh {
...
@@ -858,7 +837,7 @@ class Gdh {
helper
.
pack32Bit
(
refid
);
helper
.
pack32Bit
(
refid
);
this
.
pending
[
this
.
next_id
]
=
this
.
pending
[
this
.
next_id
]
=
new
PendingData
(
this
.
unrefObjectInfoReply
,
null
);
new
PendingData
(
this
.
unrefObjectInfoReply
,
null
);
if
(
this
.
debug
)
{
if
(
this
.
debug
)
{
console
.
log
(
"
Sending UnrefObjectInfo
"
,
this
.
next_id
,
size
,
refid
);
console
.
log
(
"
Sending UnrefObjectInfo
"
,
this
.
next_id
,
size
,
refid
);
}
}
...
@@ -1037,7 +1016,7 @@ class Gdh {
...
@@ -1037,7 +1016,7 @@ class Gdh {
this
.
pending
[
this
.
next_id
]
=
new
PendingData
(
return_cb
,
data
);
this
.
pending
[
this
.
next_id
]
=
new
PendingData
(
return_cb
,
data
);
if
(
this
.
debug
)
{
if
(
this
.
debug
)
{
console
.
log
(
"
Sending getAllClassAttributes
"
,
this
.
next_id
,
cid
,
oid
.
vid
,
console
.
log
(
"
Sending getAllClassAttributes
"
,
this
.
next_id
,
cid
,
oid
.
vid
,
oid
.
oix
);
oid
.
oix
);
}
}
this
.
ws
.
send
(
helper
.
buf
);
this
.
ws
.
send
(
helper
.
buf
);
this
.
next_id
++
;
this
.
next_id
++
;
...
...
java/jsw/co/src/plow.ts
View file @
867fdfb6
...
@@ -122,15 +122,13 @@ enum Event {
...
@@ -122,15 +122,13 @@ enum Event {
class
PlowNodeClass
{
class
PlowNodeClass
{
a
:
PlowArray
;
a
:
PlowArray
;
ctx
:
PlowCtx
;
ctx
:
PlowCtx
;
nc_name
:
string
;
nc_name
=
""
;
group
:
number
;
group
=
0
;
node_open
:
number
;
node_open
=
0
;
constructor
(
ctx
)
{
constructor
(
ctx
)
{
this
.
a
=
new
PlowArray
(
ctx
);
this
.
a
=
new
PlowArray
(
ctx
);
this
.
ctx
=
ctx
;
this
.
ctx
=
ctx
;
this
.
nc_name
=
""
;
this
.
group
=
0
;
this
.
node_open
=
0
;
}
}
draw
(
g
,
p
,
node
,
highlight
)
{
draw
(
g
,
p
,
node
,
highlight
)
{
...
@@ -143,10 +141,10 @@ class PlowNodeClass {
...
@@ -143,10 +141,10 @@ class PlowNodeClass {
}
}
class
PlowArray
{
class
PlowArray
{
a
:
Array
<
PlowNode
>
;
a
:
Array
=
[]
;
ctx
:
PlowCtx
;
ctx
:
PlowCtx
;
constructor
(
ctx
)
{
constructor
(
ctx
)
{
this
.
a
=
[];
this
.
ctx
=
ctx
;
this
.
ctx
=
ctx
;
}
}
...
@@ -391,56 +389,35 @@ class PlowArray {
...
@@ -391,56 +389,35 @@ class PlowArray {
class
PlowNode
{
class
PlowNode
{
ctx
:
PlowCtx
;
ctx
:
PlowCtx
;
userdata
:
object
;
userdata
:
object
=
null
;
x_right
:
number
;
x_right
=
0.0
;
x_left
:
number
;
x_left
=
0.0
;
y_high
:
number
;
y_high
=
0.0
;
y_low
:
number
;
y_low
=
0.0
;
nc
:
PlowNodeClass
;
nc
:
PlowNodeClass
;
pos
:
Point
;
pos
=
new
Point
()
;
n_name
:
string
;
n_name
=
""
;
annotv
:
Array
;
annotv
=
[]
;
annotsize
:
Array
;
annotsize
=
[]
;
pixmapv
:
Array
;
pixmapv
=
[]
;
trace_object
:
string
;
trace_object
=
""
;
trace_attribute
:
string
;
trace_attribute
=
""
;
trace_attr_type
:
number
;
trace_attr_type
=
0
;
highlight
:
boolean
;
highlight
=
false
;
select
:
boolean
;
select
=
false
;
invert
:
boolean
;
invert
=
false
;
level
:
number
;
level
:
number
;
node_open
:
number
;
node_open
=
0
;
fill_color
:
number
;
fill_color
=
0
;
p
:
number
;
p
=
0
;
old_value
:
number
;
old_value
=
0
;
first_scan
:
boolean
;
first_scan
=
true
;
relative_position
:
number
;
relative_position
=
0
;
constructor
(
ctx
,
nc
,
level
)
{
constructor
(
ctx
,
nc
,
level
)
{
this
.
ctx
=
ctx
;
this
.
ctx
=
ctx
;
this
.
userdata
=
null
;
this
.
x_right
=
0.0
;
this
.
x_left
=
0.0
;
this
.
y_high
=
0.0
;
this
.
y_low
=
0.0
;
this
.
nc
=
nc
;
this
.
nc
=
nc
;
this
.
pos
=
new
Point
();
this
.
n_name
=
""
;
this
.
annotv
=
[];
this
.
annotsize
=
[];
this
.
pixmapv
=
[];
this
.
trace_object
=
""
;
this
.
trace_attribute
=
""
;
this
.
trace_attr_type
=
0
;
this
.
highlight
=
false
;
this
.
select
=
false
;
this
.
invert
=
false
;
this
.
level
=
level
;
this
.
level
=
level
;
this
.
node_open
=
0
;
this
.
fill_color
=
0
;
this
.
p
=
0
;
this
.
old_value
=
0
;
this
.
first_scan
=
true
;
this
.
relative_position
=
0
;
}
}
set_annotation
(
number
,
text
)
{
set_annotation
(
number
,
text
)
{
...
@@ -518,9 +495,9 @@ class PlowNode {
...
@@ -518,9 +495,9 @@ class PlowNode {
event_handler
(
event
,
x
,
y
)
{
event_handler
(
event
,
x
,
y
)
{
if
((
x
-
this
.
ctx
.
offset_x
)
/
this
.
ctx
.
zoom_factor
>=
this
.
x_left
&&
if
((
x
-
this
.
ctx
.
offset_x
)
/
this
.
ctx
.
zoom_factor
>=
this
.
x_left
&&
(
x
-
this
.
ctx
.
offset_x
)
/
this
.
ctx
.
zoom_factor
<=
this
.
x_right
&&
(
x
-
this
.
ctx
.
offset_x
)
/
this
.
ctx
.
zoom_factor
<=
this
.
x_right
&&
(
y
-
this
.
ctx
.
offset_y
)
/
this
.
ctx
.
zoom_factor
>=
this
.
y_low
&&
(
y
-
this
.
ctx
.
offset_y
)
/
this
.
ctx
.
zoom_factor
>=
this
.
y_low
&&
(
y
-
this
.
ctx
.
offset_y
)
/
this
.
ctx
.
zoom_factor
<=
this
.
y_high
)
{
(
y
-
this
.
ctx
.
offset_y
)
/
this
.
ctx
.
zoom_factor
<=
this
.
y_high
)
{
this
.
ctx
.
event_object
=
this
;
this
.
ctx
.
event_object
=
this
;
return
1
;
return
1
;
}
}
...
@@ -557,7 +534,7 @@ class PlowNode {
...
@@ -557,7 +534,7 @@ class PlowNode {
in_icon
(
x
,
y
)
{
in_icon
(
x
,
y
)
{
return
x
>=
this
.
x_left
*
this
.
ctx
.
zoom_factor
&&
x
<=
return
x
>=
this
.
x_left
*
this
.
ctx
.
zoom_factor
&&
x
<=
(
this
.
x_left
+
1.75
)
*
this
.
ctx
.
zoom_factor
;
(
this
.
x_left
+
1.75
)
*
this
.
ctx
.
zoom_factor
;
}
}
measure
()
{
measure
()
{
...
@@ -570,13 +547,14 @@ class PlowNode {
...
@@ -570,13 +547,14 @@ class PlowNode {
}
}
class
PlowAnnot
{
class
PlowAnnot
{
RELATIVE_OFFSET
=
1
;
static
RELATIVE_OFFSET
=
1
;
ctx
:
PlowCtx
;
ctx
:
PlowCtx
;
p
:
Point
;
p
:
Point
;
draw_type
:
number
;
draw_type
:
number
;
text_size
:
number
;
text_size
:
number
;
annot_type
:
number
;
annot_type
:
number
;
number
:
number
;
number
:
number
;
constructor
(
ctx
,
x
,
y
,
text_size
,
text_color
,
annot_type
,
number
)
{
constructor
(
ctx
,
x
,
y
,
text_size
,
text_color
,
annot_type
,
number
)
{
this
.
p
=
new
Point
(
x
,
y
);
this
.
p
=
new
Point
(
x
,
y
);
this
.
draw_type
=
text_color
;
this
.
draw_type
=
text_color
;
...
@@ -596,7 +574,7 @@ class PlowAnnot {
...
@@ -596,7 +574,7 @@ class PlowAnnot {
let
tsize
=
0
;
let
tsize
=
0
;
let
idx
=
this
.
ctx
.
zoom_factor
/
this
.
ctx
.
base_zoom_factor
*
let
idx
=
this
.
ctx
.
zoom_factor
/
this
.
ctx
.
base_zoom_factor
*
(
this
.
text_size
+
4
)
-
4
;
(
this
.
text_size
+
4
)
-
4
;
if
(
idx
<
0
)
{
if
(
idx
<
0
)
{
return
;
return
;
}
}
...
@@ -646,8 +624,8 @@ class PlowAnnot {
...
@@ -646,8 +624,8 @@ class PlowAnnot {
let
y
=
(
this
.
p
.
y
+
p0
.
y
)
*
this
.
ctx
.
zoom_factor
-
tsize
/
4
;
let
y
=
(
this
.
p
.
y
+
p0
.
y
)
*
this
.
ctx
.
zoom_factor
-
tsize
/
4
;
if
((
this
.
annot_type
&
RELATIVE_POSITION
)
!==
0
)
{
if
((
this
.
annot_type
&
RELATIVE_POSITION
)
!==
0
)
{
let
rel_x
=
(
p0
.
x
+
node
.
relative_position
+
this
.
RELATIVE_OFFSET
)
*
let
rel_x
=
(
p0
.
x
+
node
.
relative_position
+
PlowAnnot
.
RELATIVE_OFFSET
)
*
this
.
ctx
.
zoom_factor
;
this
.
ctx
.
zoom_factor
;
if
(
x
<
rel_x
)
{
if
(
x
<
rel_x
)
{
x
=
rel_x
;
x
=
rel_x
;
}
}
...
@@ -659,10 +637,10 @@ class PlowAnnot {
...
@@ -659,10 +637,10 @@ class PlowAnnot {
y
+=
tsize
*
1.4
;
y
+=
tsize
*
1.4
;
}
}
if
((
this
.
annot_type
&
NEXT_RELATIVE_POSITION
)
!==
0
||
if
((
this
.
annot_type
&
NEXT_RELATIVE_POSITION
)
!==
0
||
(
this
.
annot_type
&
RELATIVE_POSITION
)
!==
0
)
{
(
this
.
annot_type
&
RELATIVE_POSITION
)
!==
0
)
{
node
.
relative_position
=
node
.
relative_position
=
(
x
+
g
.
measureText
(
node
.
annotv
[
this
.
number
]).
width
)
/
(
x
+
g
.
measureText
(
node
.
annotv
[
this
.
number
]).
width
)
/
this
.
ctx
.
zoom_factor
-
p0
.
x
;
this
.
ctx
.
zoom_factor
-
p0
.
x
;
}
}
}
}
...
@@ -674,6 +652,7 @@ class PlowAnnotPixmap {
...
@@ -674,6 +652,7 @@ class PlowAnnotPixmap {
ctx
:
PlowCtx
;
ctx
:
PlowCtx
;
p
:
Point
;
p
:
Point
;
number
:
number
;
number
:
number
;
constructor
(
ctx
,
x
,
y
,
number
)
{
constructor
(
ctx
,
x
,
y
,
number
)
{
this
.
p
=
new
Point
(
x
,
y
);
this
.
p
=
new
Point
(
x
,
y
);
this
.
number
=
number
;
this
.
number
=
number
;
...
@@ -704,7 +683,7 @@ class PlowAnnotPixmap {
...
@@ -704,7 +683,7 @@ class PlowAnnotPixmap {
img
.
onload
=
function
()
{
img
.
onload
=
function
()
{
for
(
let
i
=
0
;
i
<
Bitmaps
.
pending
[
bix
].
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
Bitmaps
.
pending
[
bix
].
length
;
i
++
)
{
gctx
.
drawImage
(
img
,
Bitmaps
.
pending
[
bix
][
i
].
x
,
gctx
.
drawImage
(
img
,
Bitmaps
.
pending
[
bix
][
i
].
x
,
Bitmaps
.
pending
[
bix
][
i
].
y
);
Bitmaps
.
pending
[
bix
][
i
].
y
);
}
}
Bitmaps
.
pending
[
bix
]
=
null
;
Bitmaps
.
pending
[
bix
]
=
null
;
}
}
...
@@ -729,6 +708,7 @@ class PlowRect {
...
@@ -729,6 +708,7 @@ class PlowRect {
fill_color
:
number
;
fill_color
:
number
;
fill
:
number
;
fill
:
number
;
fix_color
:
number
;
fix_color
:
number
;
constructor
(
ctx
,
x
,
y
,
width
,
height
,
fill_color
,
border_color
,
fill
,
fix_color
)
{
constructor
(
ctx
,
x
,
y
,
width
,
height
,
fill_color
,
border_color
,
fill
,
fix_color
)
{
this
.
ll
=
new
Point
(
x
,
y
);
this
.
ll
=
new
Point
(
x
,
y
);
this
.
ur
=
new
Point
(
x
+
width
,
y
+
height
);
this
.
ur
=
new
Point
(
x
+
width
,
y
+
height
);
...
@@ -817,6 +797,7 @@ class GDraw {
...
@@ -817,6 +797,7 @@ class GDraw {
canvas
:
HTMLCanvasElement
;
canvas
:
HTMLCanvasElement
;
gctx
:
CanvasRenderingContext2D
;
gctx
:
CanvasRenderingContext2D
;
offset_top
:
number
;
offset_top
:
number
;
constructor
(
ctx
)
{
constructor
(
ctx
)
{
this
.
ctx
=
ctx
;
this
.
ctx
=
ctx
;
this
.
canvas
=
document
.
querySelector
(
"
canvas
"
);
this
.
canvas
=
document
.
querySelector
(
"
canvas
"
);
...
@@ -826,43 +807,29 @@ class GDraw {
...
@@ -826,43 +807,29 @@ class GDraw {
}
}
class
PlowCtx
{
class
PlowCtx
{
gdh
:
Gdh
;
gdh
:
Gdh
=
null
;
debug
:
boolean
;
debug
=
false
;
nodraw
:
number
;
nodraw
=
0
;
zoom_factor
:
number
;
zoom_factor
=
20.0
;
base_zoom_factor
:
number
;
base_zoom_factor
=
20.0
;
offset_x
:
number
;
offset_x
=
0
;
offset_y
:
number
;
offset_y
=
0
;
x_right
:
number
;
x_right
=
0.0
;
x_left
:
number
;
x_left
=
0.0
;
y_high
:
number
;
y_high
=
0.0
;
y_low
:
number
;
y_low
=
0.0
;
a
:
PlowArray
;
a
:
PlowArray
;
a_nc
:
PlowArray
;
a_nc
:
PlowArray
;
name
:
string
;
name
=
"
Claes context
"
;
gdraw
:
GDraw
;
gdraw
:
GDraw
;
select_object
:
PlowNode
;
select_object
:
PlowNode
=
null
;
event_cb
:
(
event
:
object
,
object
:
PlowNode
,
x
:
number
,
y
:
number
)
=>
void
;
event_cb
:
(
event
:
object
,
object
:
PlowNode
,
x
:
number
,
y
:
number
)
=>
void
=
null
;
event_object
:
PlowNode
;
event_object
:
PlowNode
=
null
;
constructor
()
{
constructor
()
{
this
.
gdh
=
null
;
this
.
debug
=
false
;
this
.
nodraw
=
0
;
this
.
zoom_factor
=
20.0
;
this
.
base_zoom_factor
=
20.0
;
this
.
offset_x
=
0
;
this
.
offset_y
=
0
;
this
.
x_right
=
0.0
;
this
.
x_left
=
0.0
;
this
.
y_high
=
0.0
;
this
.
y_low
=
0.0
;
this
.
a
=
new
PlowArray
(
this
);
this
.
a
=
new
PlowArray
(
this
);
this
.
a_nc
=
new
PlowArray
(
this
);
this
.
a_nc
=
new
PlowArray
(
this
);
this
.
name
=
"
Claes context
"
;
this
.
gdraw
=
new
GDraw
(
this
);
this
.
gdraw
=
new
GDraw
(
this
);
this
.
select_object
=
null
;
this
.
event_cb
=
null
;
this
.
event_object
=
null
;
}
}
draw
()
{
draw
()
{
...
@@ -871,7 +838,7 @@ class PlowCtx {
...
@@ -871,7 +838,7 @@ class PlowCtx {
}
}
this
.
gdraw
.
gctx
.
fillStyle
=
"
white
"
;
this
.
gdraw
.
gctx
.
fillStyle
=
"
white
"
;
this
.
gdraw
.
gctx
.
fillRect
(
0
,
0
,
this
.
gdraw
.
canvas
.
width
,
this
.
gdraw
.
gctx
.
fillRect
(
0
,
0
,
this
.
gdraw
.
canvas
.
width
,
this
.
gdraw
.
canvas
.
height
);
this
.
gdraw
.
canvas
.
height
);
this
.
a
.
draw
(
this
.
gdraw
.
gctx
,
null
,
null
,
false
);
this
.
a
.
draw
(
this
.
gdraw
.
gctx
,
null
,
null
,
false
);
}
}
...
@@ -1002,13 +969,13 @@ class PlowCtx {
...
@@ -1002,13 +969,13 @@ class PlowCtx {
is_visible
(
o
)
{
is_visible
(
o
)
{
return
(
o
.
y_high
*
this
.
zoom_factor
<=
window
.
pageYOffset
+
return
(
o
.
y_high
*
this
.
zoom_factor
<=
window
.
pageYOffset
+
window
.
innerHeight
-
this
.
gdraw
.
offset_top
)
&&
window
.
innerHeight
-
this
.
gdraw
.
offset_top
)
&&
(
o
.
y_low
*
this
.
zoom_factor
>=
window
.
pageYOffset
-
(
o
.
y_low
*
this
.
zoom_factor
>=
window
.
pageYOffset
-
this
.
gdraw
.
offset_top
);
this
.
gdraw
.
offset_top
);
}
}
scroll
(
y
,
factor
)
{
scroll
(
y
,
factor
)
{
window
.
scrollTo
(
window
.
scrollX
,
y
*
this
.
zoom_factor
-
window
.
innerHeight
*
window
.
scrollTo
(
window
.
scrollX
,
y
*
this
.
zoom_factor
-
window
.
innerHeight
*
factor
+
this
.
gdraw
.
offset_top
)
factor
+
this
.
gdraw
.
offset_top
)
};
};
}
}
\ No newline at end of file
java/jsw/co/src/pwr.ts
View file @
867fdfb6
...
@@ -159,6 +159,7 @@ enum XttMntMethodsMask {
...
@@ -159,6 +159,7 @@ enum XttMntMethodsMask {
class
PwrtObjid
{
class
PwrtObjid
{
vid
:
number
;
vid
:
number
;
oix
:
number
;
oix
:
number
;
constructor
(
vid
,
oix
)
{
constructor
(
vid
,
oix
)
{
this
.
oix
=
oix
;
this
.
oix
=
oix
;
this
.
vid
=
vid
;
this
.
vid
=
vid
;
...
@@ -176,6 +177,7 @@ class PwrtAttrRef {
...
@@ -176,6 +177,7 @@ class PwrtAttrRef {
class
CdhrNumber
{
class
CdhrNumber
{
value
:
number
;
value
:
number
;
sts
:
number
;
sts
:
number
;
constructor
(
value
,
sts
)
{
constructor
(
value
,
sts
)
{
this
.
value
=
value
;
this
.
value
=
value
;
this
.
sts
=
sts
;
this
.
sts
=
sts
;
...
@@ -195,9 +197,11 @@ class UserdataCbReturn {
...
@@ -195,9 +197,11 @@ class UserdataCbReturn {
class
Point
{
class
Point
{
x
=
0
;
x
=
0
;
y
=
0
;
y
=
0
;
constructor
()
{
constructor
()
{
}
}
constructor
(
x
:
number
,
y
:
number
)
{
constructor
(
x
:
number
,
y
:
number
)
{
this
.
x
=
x
;
this
.
x
=
x
;
this
.
y
=
y
;
this
.
y
=
y
;
}
}
...
@@ -208,9 +212,11 @@ class Rect {
...
@@ -208,9 +212,11 @@ class Rect {
y
=
0
;
y
=
0
;
width
=
0
;
width
=
0
;
height
=
0
;
height
=
0
;
constructor
()
{
constructor
()
{
}
}
constructor
(
x
:
number
,
y
:
number
,
width
:
number
,
height
:
number
)
{
constructor
(
x
:
number
,
y
:
number
,
width
:
number
,
height
:
number
)
{
this
.
x
=
x
;
this
.
x
=
x
;
this
.
y
=
y
;
this
.
y
=
y
;
this
.
width
=
width
;
this
.
width
=
width
;
...
...
java/jsw/ev/src/ev.html
View file @
867fdfb6
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<title>
Alarm List
</title>
<title>
Alarm List
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
</head>
</head>
<body>
<body>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_ack.png"
><img>
....
</div>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_navigator.png"
><img></div>
<img
src=
"toolbar_ack.png"
/>
....
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_plc.png"
><img>
....
</div>
</div>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_graph.png"
><img></div>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem5"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_objectgraph.png"
><img></div>
<img
src=
"toolbar_navigator.png"
/>
<div
id=
"toolitem6"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_navigator.png"
><img></div>
</div>
<div
id=
"toolitem7"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_plc.png"
><img></div>
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem8"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_history.png"
><img></div>
<img
src=
"toolbar_plc.png"
/>
....
<div
id=
"toolitem9"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_object.png"
><img></div>
</div>
<div
id=
"toolitem10"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_crossref.png"
><img></div>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem11"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_help.png"
><img></div>
<img
src=
"toolbar_graph.png"
/>
<div
id=
"toolitem12"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_classhelp.png"
><img></div>
</div>
</div>
<div
id=
"toolitem5"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<img
src=
"toolbar_objectgraph.png"
/>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
</div>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<div
id=
"toolitem6"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<img
src=
"toolbar_navigator.png"
/>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
</div>
<script
type=
"text/babel"
src=
"plow.js"
></script>
<div
id=
"toolitem7"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
type=
"text/babel"
src=
"ev.ts"
></script>
<img
src=
"toolbar_plc.png"
/>
<hr>
</div>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
<div
id=
"toolitem8"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
</body>
<img
src=
"toolbar_history.png"
/>
</div>
<div
id=
"toolitem9"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_object.png"
/>
</div>
<div
id=
"toolitem10"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_crossref.png"
/>
</div>
<div
id=
"toolitem11"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_help.png"
/>
</div>
<div
id=
"toolitem12"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_classhelp.png"
/>
</div>
</div>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"plow.js"
></script>
<script
type=
"text/babel"
src=
"ev.ts"
></script>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</body>
</html>
</html>
java/jsw/ev/src/ev.ts
View file @
867fdfb6
This diff is collapsed.
Click to expand it.
java/jsw/flow/src/flow.html
View file @
867fdfb6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<html>
<head>
<head>
<title>
Trace
</title>
<title>
Trace
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
</head>
</head>
<body>
<body>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_graph.png"
><img></div>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_navigator.png"
><img></div>
<img
src=
"toolbar_graph.png"
/>
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_history.png"
><img></div>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_object.png"
><img></div>
</div>
</div>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<img
src=
"toolbar_navigator.png"
/>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
</div>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
type=
"text/babel"
src=
"flow.ts"
></script>
<img
src=
"toolbar_history.png"
/>
<hr>
</div>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
</body>
<img
src=
"toolbar_object.png"
/>
</div>
</div>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"flow.ts"
></script>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</body>
</html>
</html>
java/jsw/flow/src/flow.ts
View file @
867fdfb6
This diff is collapsed.
Click to expand it.
java/jsw/ge/src/ge.html
View file @
867fdfb6
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<title>
Ge graph
</title>
<title>
Ge graph
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
</head>
</head>
<body>
<body>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"glow.ts"
></script>
<script
type=
"text/babel"
src=
"glow.ts"
></script>
<script
type=
"text/babel"
src=
"glow_point.ts"
></script>
<script
type=
"text/babel"
src=
"glow_point.ts"
></script>
<script
type=
"text/babel"
src=
"glow_color.ts"
></script>
<script
type=
"text/babel"
src=
"glow_color.ts"
></script>
<script
type=
"text/babel"
src=
"glow_array.ts"
></script>
<script
type=
"text/babel"
src=
"glow_array.ts"
></script>
<script
type=
"text/babel"
src=
"glow_transform.ts"
></script>
<script
type=
"text/babel"
src=
"glow_transform.ts"
></script>
<script
type=
"text/babel"
src=
"glow_nodeclass.ts"
></script>
<script
type=
"text/babel"
src=
"glow_nodeclass.ts"
></script>
<script
type=
"text/babel"
src=
"glow_nodegroup.ts"
></script>
<script
type=
"text/babel"
src=
"glow_nodegroup.ts"
></script>
<script
type=
"text/babel"
src=
"glow_conclass.ts"
></script>
<script
type=
"text/babel"
src=
"glow_conclass.ts"
></script>
<script
type=
"text/babel"
src=
"glow_con.ts"
></script>
<script
type=
"text/babel"
src=
"glow_con.ts"
></script>
<script
type=
"text/babel"
src=
"glow_line.ts"
></script>
<script
type=
"text/babel"
src=
"glow_line.ts"
></script>
<script
type=
"text/babel"
src=
"glow_arc.ts"
></script>
<script
type=
"text/babel"
src=
"glow_arc.ts"
></script>
<script
type=
"text/babel"
src=
"glow_rect.ts"
></script>
<script
type=
"text/babel"
src=
"glow_rect.ts"
></script>
<script
type=
"text/babel"
src=
"glow_text.ts"
></script>
<script
type=
"text/babel"
src=
"glow_text.ts"
></script>
<script
type=
"text/babel"
src=
"glow_conpoint.ts"
></script>
<script
type=
"text/babel"
src=
"glow_conpoint.ts"
></script>
<script
type=
"text/babel"
src=
"glow_draw.ts"
></script>
<script
type=
"text/babel"
src=
"glow_draw.ts"
></script>
<script
type=
"text/babel"
src=
"glow_cformat.ts"
></script>
<script
type=
"text/babel"
src=
"glow_cformat.ts"
></script>
<script
type=
"text/babel"
src=
"grow_node.ts"
></script>
<script
type=
"text/babel"
src=
"grow_node.ts"
></script>
<script
type=
"text/babel"
src=
"grow_group.ts"
></script>
<script
type=
"text/babel"
src=
"grow_group.ts"
></script>
<script
type=
"text/babel"
src=
"grow_slider.ts"
></script>
<script
type=
"text/babel"
src=
"grow_slider.ts"
></script>
<script
type=
"text/babel"
src=
"grow_toolbar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_toolbar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_rect.ts"
></script>
<script
type=
"text/babel"
src=
"grow_rect.ts"
></script>
<script
type=
"text/babel"
src=
"grow_rectrounded.ts"
></script>
<script
type=
"text/babel"
src=
"grow_rectrounded.ts"
></script>
<script
type=
"text/babel"
src=
"grow_line.ts"
></script>
<script
type=
"text/babel"
src=
"grow_line.ts"
></script>
<script
type=
"text/babel"
src=
"grow_arc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_arc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_text.ts"
></script>
<script
type=
"text/babel"
src=
"grow_text.ts"
></script>
<script
type=
"text/babel"
src=
"grow_annot.ts"
></script>
<script
type=
"text/babel"
src=
"grow_annot.ts"
></script>
<script
type=
"text/babel"
src=
"grow_polyline.ts"
></script>
<script
type=
"text/babel"
src=
"grow_polyline.ts"
></script>
<script
type=
"text/babel"
src=
"grow_conpoint.ts"
></script>
<script
type=
"text/babel"
src=
"grow_conpoint.ts"
></script>
<script
type=
"text/babel"
src=
"grow_image.ts"
></script>
<script
type=
"text/babel"
src=
"grow_image.ts"
></script>
<script
type=
"text/babel"
src=
"grow_conglue.ts"
></script>
<script
type=
"text/babel"
src=
"grow_conglue.ts"
></script>
<script
type=
"text/babel"
src=
"grow_bar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_bar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_bararc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_bararc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_trend.ts"
></script>
<script
type=
"text/babel"
src=
"grow_trend.ts"
></script>
<script
type=
"text/babel"
src=
"grow_xycurve.ts"
></script>
<script
type=
"text/babel"
src=
"grow_xycurve.ts"
></script>
<script
type=
"text/babel"
src=
"grow_menu.ts"
></script>
<script
type=
"text/babel"
src=
"grow_menu.ts"
></script>
<script
type=
"text/babel"
src=
"grow_scrollbar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_scrollbar.ts"
></script>
<script
type=
"text/babel"
src=
"grow_window.ts"
></script>
<script
type=
"text/babel"
src=
"grow_window.ts"
></script>
<script
type=
"text/babel"
src=
"grow_folder.ts"
></script>
<script
type=
"text/babel"
src=
"grow_folder.ts"
></script>
<script
type=
"text/babel"
src=
"grow_axis.ts"
></script>
<script
type=
"text/babel"
src=
"grow_axis.ts"
></script>
<script
type=
"text/babel"
src=
"grow_axisarc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_axisarc.ts"
></script>
<script
type=
"text/babel"
src=
"grow_pie.ts"
></script>
<script
type=
"text/babel"
src=
"grow_pie.ts"
></script>
<script
type=
"text/babel"
src=
"grow_barchart.ts"
></script>
<script
type=
"text/babel"
src=
"grow_barchart.ts"
></script>
<script
type=
"text/babel"
src=
"grow_table.ts"
></script>
<script
type=
"text/babel"
src=
"grow_table.ts"
></script>
<script
type=
"text/babel"
src=
"grow_ctx.ts"
></script>
<script
type=
"text/babel"
src=
"grow_ctx.ts"
></script>
<script
type=
"text/babel"
src=
"grow_frame.ts"
></script>
<script
type=
"text/babel"
src=
"grow_frame.ts"
></script>
<script
type=
"text/babel"
src=
"ge.ts"
></script>
<script
type=
"text/babel"
src=
"ge.ts"
></script>
<script
type=
"text/babel"
src=
"ge_dyn.ts"
></script>
<script
type=
"text/babel"
src=
"ge_dyn.ts"
></script>
<script
type=
"text/babel"
src=
"ge_graph.ts"
></script>
<script
type=
"text/babel"
src=
"ge_graph.ts"
></script>
<script
type=
"text/babel"
src=
"ge_appl.ts"
></script>
<script
type=
"text/babel"
src=
"ge_appl.ts"
></script>
<hr>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</body>
</body>
</html>
</html>
java/jsw/ge/src/ge_appl.ts
View file @
867fdfb6
...
@@ -14,6 +14,7 @@ let cliTable = [new CliTable("OPEN",
...
@@ -14,6 +14,7 @@ let cliTable = [new CliTable("OPEN",
class
Appl
{
class
Appl
{
graph
:
Graph
;
graph
:
Graph
;
constructor
()
{
constructor
()
{
this
.
graph
=
new
Graph
(
this
);
this
.
graph
=
new
Graph
(
this
);
}
}
...
...
java/jsw/ge/src/ge_dyn.ts
View file @
867fdfb6
...
@@ -30,7 +30,7 @@ class Dyn {
...
@@ -30,7 +30,7 @@ class Dyn {
resetColor
=
false
;
resetColor
=
false
;
ignoreBgColor
=
false
;
ignoreBgColor
=
false
;
resetBgColor
=
false
;
resetBgColor
=
false
;
constructor
(
graph
)
{
constructor
(
graph
)
{
this
.
graph
=
graph
;
this
.
graph
=
graph
;
}
}
...
@@ -106,7 +106,7 @@ class Dyn {
...
@@ -106,7 +106,7 @@ class Dyn {
}
}
let
elem
=
null
;
let
elem
=
null
;
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
Dyn
:
case
DynSave
.
Dyn
:
break
;
break
;
...
@@ -331,13 +331,13 @@ class Dyn {
...
@@ -331,13 +331,13 @@ class Dyn {
console
.
log
(
"
Syntax error in Dyn
"
);
console
.
log
(
"
Syntax error in Dyn
"
);
break
;
break
;
}
}
if
(
elem
!==
null
)
{
if
(
elem
!==
null
)
{
this
.
elements
.
push
(
elem
);
this
.
elements
.
push
(
elem
);
i
=
elem
.
open
(
lines
,
i
+
1
);
i
=
elem
.
open
(
lines
,
i
+
1
);
}
}
}
}
return
i
;
return
i
;
}
}
...
@@ -1026,7 +1026,7 @@ class DynDigLowColor extends DynElem {
...
@@ -1026,7 +1026,7 @@ class DynDigLowColor extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynDigLowColor :
"
+
lines
[
i
]);
console
.
log
(
"
DynDigLowColor :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigLowColor
:
case
DynSave
.
DigLowColor
:
break
;
break
;
...
@@ -1147,7 +1147,7 @@ class DynDigColor extends DynElem {
...
@@ -1147,7 +1147,7 @@ class DynDigColor extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynDigColor :
"
+
lines
[
i
]);
console
.
log
(
"
DynDigColor :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigColor
:
case
DynSave
.
DigColor
:
break
;
break
;
...
@@ -1172,7 +1172,7 @@ class DynDigColor extends DynElem {
...
@@ -1172,7 +1172,7 @@ class DynDigColor extends DynElem {
break
;
break
;
}
}
}
}
return
i
;
return
i
;
}
}
}
}
...
@@ -1260,7 +1260,7 @@ class DynDigWarning extends DynElem {
...
@@ -1260,7 +1260,7 @@ class DynDigWarning extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynDigWarning :
"
+
lines
[
i
]);
console
.
log
(
"
DynDigWarning :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigWarning
:
case
DynSave
.
DigWarning
:
break
;
break
;
...
@@ -1279,7 +1279,7 @@ class DynDigWarning extends DynElem {
...
@@ -1279,7 +1279,7 @@ class DynDigWarning extends DynElem {
break
;
break
;
}
}
}
}
return
i
;
return
i
;
}
}
}
}
...
@@ -1367,7 +1367,7 @@ class DynDigError extends DynElem {
...
@@ -1367,7 +1367,7 @@ class DynDigError extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynDigError :
"
+
lines
[
i
]);
console
.
log
(
"
DynDigError :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigError
:
case
DynSave
.
DigError
:
break
;
break
;
...
@@ -1386,7 +1386,7 @@ class DynDigError extends DynElem {
...
@@ -1386,7 +1386,7 @@ class DynDigError extends DynElem {
break
;
break
;
}
}
}
}
return
i
;
return
i
;
}
}
}
}
...
@@ -1495,7 +1495,7 @@ class DynDigFlash extends DynElem {
...
@@ -1495,7 +1495,7 @@ class DynDigFlash extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynDigError :
"
+
lines
[
i
]);
console
.
log
(
"
DynDigError :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigFlash
:
case
DynSave
.
DigFlash
:
break
;
break
;
...
@@ -1626,7 +1626,7 @@ class DynInvisible extends DynElem {
...
@@ -1626,7 +1626,7 @@ class DynInvisible extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynInvisible :
"
+
lines
[
i
]);
console
.
log
(
"
DynInvisible :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
Invisible
:
case
DynSave
.
Invisible
:
break
;
break
;
...
@@ -1727,7 +1727,7 @@ class DynDigTextColor extends DynElem {
...
@@ -1727,7 +1727,7 @@ class DynDigTextColor extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DigTextColor :
"
+
lines
[
i
]);
console
.
log
(
"
DigTextColor :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigTextColor
:
case
DynSave
.
DigTextColor
:
break
;
break
;
...
@@ -1823,7 +1823,7 @@ class DynDigText extends DynElem {
...
@@ -1823,7 +1823,7 @@ class DynDigText extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DigText :
"
+
lines
[
i
]);
console
.
log
(
"
DigText :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigText
:
case
DynSave
.
DigText
:
break
;
break
;
...
@@ -1850,7 +1850,7 @@ class DynDigText extends DynElem {
...
@@ -1850,7 +1850,7 @@ class DynDigText extends DynElem {
break
;
break
;
}
}
}
}
return
i
;
return
i
;
}
}
}
}
...
@@ -1919,7 +1919,7 @@ class DynDigBorder extends DynElem {
...
@@ -1919,7 +1919,7 @@ class DynDigBorder extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynBorder :
"
+
lines
[
i
]);
console
.
log
(
"
DynBorder :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
DigBorder
:
case
DynSave
.
DigBorder
:
break
;
break
;
...
@@ -2190,7 +2190,7 @@ class DynValue extends DynElem {
...
@@ -2190,7 +2190,7 @@ class DynValue extends DynElem {
if
(
this
.
dyn
.
debug
)
{
if
(
this
.
dyn
.
debug
)
{
console
.
log
(
"
DynBorder :
"
+
lines
[
i
]);
console
.
log
(
"
DynBorder :
"
+
lines
[
i
]);
}
}
switch
(
key
)
{
switch
(
key
)
{
case
DynSave
.
Value
:
case
DynSave
.
Value
:
break
;
break
;
...
@@ -8319,6 +8319,7 @@ class DynInputFocus extends DynElem {
...
@@ -8319,6 +8319,7 @@ class DynInputFocus extends DynElem {
action
(
o
,
e
)
{
action
(
o
,
e
)
{
return
1
;
return
1
;
}
}
open
(
lines
,
row
)
{
open
(
lines
,
row
)
{
let
i
;
let
i
;
for
(
i
=
row
;
i
<
lines
.
length
;
i
++
)
{
for
(
i
=
row
;
i
<
lines
.
length
;
i
++
)
{
...
...
java/jsw/ge/src/ge_graph.ts
View file @
867fdfb6
...
@@ -27,9 +27,11 @@ class LocalSub {
...
@@ -27,9 +27,11 @@ class LocalSub {
ref
()
{
ref
()
{
this
.
refCount
++
;
this
.
refCount
++
;
}
}
unref
()
{
unref
()
{
this
.
refCount
--
;
this
.
refCount
--
;
}
}
getRefCount
()
{
getRefCount
()
{
return
this
.
refCount
;
return
this
.
refCount
;
}
}
...
@@ -235,6 +237,7 @@ class Graph {
...
@@ -235,6 +237,7 @@ class Graph {
priv
=
0
;
priv
=
0
;
timer
:
number
;
timer
:
number
;
frame
:
GrowFrame
;
frame
:
GrowFrame
;
constructor
(
appl
)
{
constructor
(
appl
)
{
this
.
appl
=
appl
;
this
.
appl
=
appl
;
if
(
typeof
InstallTrigger
!==
'
undefined
'
)
{
if
(
typeof
InstallTrigger
!==
'
undefined
'
)
{
...
@@ -268,9 +271,7 @@ class Graph {
...
@@ -268,9 +271,7 @@ class Graph {
this
.
ctx
.
traceConnect
();
this
.
ctx
.
traceConnect
();
this
.
trace_cyclic
();
this
.
trace_cyclic
();
}
else
{
}
else
{
this
.
gdh
=
new
Gdh
();
this
.
gdh
=
new
Gdh
(
this
.
gdh_init_cb
);
this
.
gdh
.
open_cb
=
this
.
gdh_init_cb
;
this
.
gdh
.
init
();
}
}
}
}
...
@@ -303,6 +304,7 @@ class Graph {
...
@@ -303,6 +304,7 @@ class Graph {
this
.
gdh
.
getRefObjectInfoAll
(
this
.
trace_scan
);
this
.
gdh
.
getRefObjectInfoAll
(
this
.
trace_scan
);
}
}
}
}
trace_scan
(
id
,
sts
)
{
trace_scan
(
id
,
sts
)
{
this
.
scan_time
=
this
.
ctx
.
scantime
;
this
.
scan_time
=
this
.
ctx
.
scantime
;
this
.
fast_scan_time
=
this
.
ctx
.
fast_scantime
;
this
.
fast_scan_time
=
this
.
ctx
.
fast_scantime
;
...
@@ -713,9 +715,11 @@ class Graph {
...
@@ -713,9 +715,11 @@ class Graph {
getLdb
()
{
getLdb
()
{
return
this
.
ldb
;
return
this
.
ldb
;
}
}
getGdh
()
{
getGdh
()
{
return
this
.
gdh
;
return
this
.
gdh
;
}
}
isAuthorized
(
access
)
{
isAuthorized
(
access
)
{
return
!!
(
this
.
priv
&
access
);
return
!!
(
this
.
priv
&
access
);
// return appl.isAuthorized( access);
// return appl.isAuthorized( access);
...
@@ -769,11 +773,13 @@ class Graph {
...
@@ -769,11 +773,13 @@ class Graph {
this
.
ctxPush
();
this
.
ctxPush
();
}
}
}
}
traceDisconnect
(
o
)
{
traceDisconnect
(
o
)
{
if
(
o
.
userdata
!==
null
)
{
if
(
o
.
userdata
!==
null
)
{
o
.
userdata
.
disconnect
(
o
);
o
.
userdata
.
disconnect
(
o
);
}
}
}
}
traceScan
(
o
)
{
traceScan
(
o
)
{
if
(
o
.
userdata
!==
null
)
{
if
(
o
.
userdata
!==
null
)
{
let
dyn
=
o
.
userdata
;
let
dyn
=
o
.
userdata
;
...
...
java/jsw/opwind/src/crypt.ts
View file @
867fdfb6
...
@@ -288,8 +288,8 @@ class JopCrypt {
...
@@ -288,8 +288,8 @@ class JopCrypt {
c
=
results
[
1
];
c
=
results
[
1
];
d
=
d
=
(((
d
&
0x000000ff
)
<<
16
)
|
(
d
&
0x0000ff00
)
|
((
d
&
0x00ff0000
)
>>>
16
)
|
(((
d
&
0x000000ff
)
<<
16
)
|
(
d
&
0x0000ff00
)
|
((
d
&
0x00ff0000
)
>>>
16
)
|
((
c
&
0xf0000000
)
>>>
4
));
((
c
&
0xf0000000
)
>>>
4
));
c
&=
0x0fffffff
;
c
&=
0x0fffffff
;
let
s
,
t
;
let
s
,
t
;
...
@@ -311,7 +311,7 @@ class JopCrypt {
...
@@ -311,7 +311,7 @@ class JopCrypt {
JopCrypt
.
skb
[
1
][((
c
>>>
6
)
&
0x03
)
|
((
c
>>>
7
)
&
0x3c
)]
|
JopCrypt
.
skb
[
1
][((
c
>>>
6
)
&
0x03
)
|
((
c
>>>
7
)
&
0x3c
)]
|
JopCrypt
.
skb
[
2
][((
c
>>>
13
)
&
0x0f
)
|
((
c
>>>
14
)
&
0x30
)]
|
JopCrypt
.
skb
[
2
][((
c
>>>
13
)
&
0x0f
)
|
((
c
>>>
14
)
&
0x30
)]
|
JopCrypt
.
skb
[
3
][((
c
>>>
20
)
&
0x01
)
|
((
c
>>>
21
)
&
0x06
)
|
JopCrypt
.
skb
[
3
][((
c
>>>
20
)
&
0x01
)
|
((
c
>>>
21
)
&
0x06
)
|
((
c
>>>
22
)
&
0x38
)];
((
c
>>>
22
)
&
0x38
)];
t
=
JopCrypt
.
skb
[
4
][(
d
)
&
0x3f
]
|
t
=
JopCrypt
.
skb
[
4
][(
d
)
&
0x3f
]
|
JopCrypt
.
skb
[
5
][((
d
>>>
7
)
&
0x03
)
|
((
d
>>>
8
)
&
0x3c
)]
|
JopCrypt
.
skb
[
5
][((
d
>>>
7
)
&
0x03
)
|
((
d
>>>
8
)
&
0x3c
)]
|
...
@@ -448,8 +448,8 @@ class JopCrypt {
...
@@ -448,8 +448,8 @@ class JopCrypt {
u
=
0x80
;
u
=
0x80
;
}
}
buffer
=
buffer
=
buffer
.
substring
(
0
,
i
)
+
String
.
fromCharCode
(
JopCrypt
.
cov_2char
[
c
])
+
buffer
.
substring
(
0
,
i
)
+
String
.
fromCharCode
(
JopCrypt
.
cov_2char
[
c
])
+
buffer
.
substring
(
i
+
1
,
buffer
.
length
);
buffer
.
substring
(
i
+
1
,
buffer
.
length
);
}
}
}
}
return
buffer
;
return
buffer
;
...
...
java/jsw/opwind/src/opwind.html
View file @
867fdfb6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<html>
<head>
<head>
<title>
Operator window
</title>
<title>
Operator window
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<style>
<style>
.menu
{
.menu
{
float
:
left
;
float
:
left
;
width
:
20%
;
width
:
20%
;
height
:
100%
;
height
:
100%
;
}
}
.main
{
float
:
left
;
width
:
79%
;
height
:
100%
;
}
</style>
</head>
<body>
.main
{
<iframe
class=
"menu"
src=
"opwind_menu.html"
></iframe>
float
:
left
;
<iframe
class=
"main"
src=
"xtt_help_index.html"
></iframe>
width
:
79%
;
</body>
height
:
100%
;
}
</style>
</head>
<body>
<iframe
class=
"menu"
src=
"opwind_menu.html"
></iframe>
<iframe
class=
"main"
src=
"xtt_help_index.html"
></iframe>
</body>
</html>
</html>
java/jsw/opwind/src/opwind.ts
View file @
867fdfb6
"
use strict
"
;
"
use strict
"
;
class
OpWindMenu
{
class
OpWindMenu
{
priv
:
number
;
priv
=
0
;
user
:
string
;
user
=
""
;
user_text
:
Text
;
user_text
:
Text
=
null
;
host
:
string
;
host
:
string
;
gdh
:
Gdh
;
gdh
:
Gdh
;
info
:
OpwindMenuInfo
;
info
:
OpwindMenuInfo
;
constructor
()
{
constructor
()
{
this
.
priv
=
0
;
this
.
user
=
""
;
this
.
user_text
=
null
;
this
.
host
=
window
.
location
.
hostname
;
this
.
host
=
window
.
location
.
hostname
;
if
(
this
.
host
===
""
)
{
if
(
this
.
host
===
""
)
{
this
.
host
=
"
localhost
"
;
this
.
host
=
"
localhost
"
;
}
}
this
.
gdh
=
new
Gdh
();
this
.
gdh
=
new
Gdh
(
this
.
gdh_init_cb
);
this
.
gdh
.
open_cb
=
this
.
gdh_init_cb
;
this
.
gdh
.
init
();
}
}
is_authorized
(
access
)
{
is_authorized
(
access
)
{
...
@@ -46,7 +42,7 @@ class OpWindMenu {
...
@@ -46,7 +42,7 @@ class OpWindMenu {
button
.
type
=
"
button
"
;
button
.
type
=
"
button
"
;
button
.
className
=
"
leftmenu-button
"
;
button
.
className
=
"
leftmenu-button
"
;
button
.
value
=
text
;
button
.
value
=
text
;
button
.
addEventListener
(
'
click
'
,
function
()
{
button
.
addEventListener
(
'
click
'
,
function
()
{
menu
.
button_cb
(
button
.
value
);
menu
.
button_cb
(
button
.
value
);
});
});
context
.
appendChild
(
button
);
context
.
appendChild
(
button
);
...
@@ -68,47 +64,47 @@ class OpWindMenu {
...
@@ -68,47 +64,47 @@ class OpWindMenu {
context
.
appendChild
(
document
.
createElement
(
"
hr
"
));
context
.
appendChild
(
document
.
createElement
(
"
hr
"
));
document
.
getElementById
(
"
login_button
"
)
document
.
getElementById
(
"
login_button
"
)
.
addEventListener
(
"
click
"
,
function
(
event
)
{
.
addEventListener
(
"
click
"
,
function
(
event
)
{
if
(
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
===
if
(
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
===
'
hidden
'
)
{
'
hidden
'
)
{
document
.
getElementById
(
"
login_user
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_user
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_passw
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_passw
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
visible
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
visible
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
120px
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
120px
'
;
document
.
getElementById
(
"
login_user
"
).
focus
();
document
.
getElementById
(
"
login_user
"
).
focus
();
}
else
{
}
else
{
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
}
});
document
.
getElementById
(
"
apply_button
"
)
.
addEventListener
(
"
click
"
,
function
(
event
)
{
let
user
=
document
.
getElementById
(
"
login_user
"
).
innerHTML
;
let
passwd
=
document
.
getElementById
(
"
login_passw
"
).
innerHTML
;
if
(
user
.
trim
()
===
""
)
{
return
;
}
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
}
let
c
=
new
JopCrypt
();
});
passwd
=
c
.
crypt
(
"
aa
"
,
passwd
);
document
.
getElementById
(
"
apply_button
"
)
.
addEventListener
(
"
click
"
,
function
(
event
)
{
this
.
user
=
user
;
let
user
=
document
.
getElementById
(
"
login_user
"
).
innerHTML
;
this
.
gdh
.
login
(
user
,
passwd
,
this
.
login_cb
,
this
);
let
passwd
=
document
.
getElementById
(
"
login_passw
"
).
innerHTML
;
});
if
(
user
.
trim
()
===
""
)
{
return
;
}
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
let
c
=
new
JopCrypt
();
passwd
=
c
.
crypt
(
"
aa
"
,
passwd
);
this
.
user
=
user
;
this
.
gdh
.
login
(
user
,
passwd
,
this
.
login_cb
,
this
);
});
document
.
getElementById
(
"
cancel_button
"
)
document
.
getElementById
(
"
cancel_button
"
)
.
addEventListener
(
"
click
"
,
function
(
event
)
{
.
addEventListener
(
"
click
"
,
function
(
event
)
{
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
});
});
document
.
getElementById
(
"
logout_button
"
)
document
.
getElementById
(
"
logout_button
"
)
.
addEventListener
(
"
click
"
,
function
(
event
)
{
.
addEventListener
(
"
click
"
,
function
(
event
)
{
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
visibility
=
'
hidden
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
document
.
getElementById
(
"
login_frame
"
).
style
.
height
=
'
0px
'
;
this
.
priv
=
0
;
this
.
priv
=
0
;
this
.
user
=
"
Default
"
;
this
.
user
=
"
Default
"
;
this
.
gdh
.
login
(
""
,
""
,
this
.
login_cb
,
this
);
this
.
gdh
.
login
(
""
,
""
,
this
.
login_cb
,
this
);
});
});
document
.
getElementById
(
"
login_user
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_user
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_passw
"
).
innerHTML
=
""
;
document
.
getElementById
(
"
login_passw
"
).
innerHTML
=
""
;
...
@@ -154,9 +150,9 @@ class OpWindMenu {
...
@@ -154,9 +150,9 @@ class OpWindMenu {
}
else
if
(
this
.
info
.
enable_alarmlist
&&
text
===
"
AlarmList
"
)
{
}
else
if
(
this
.
info
.
enable_alarmlist
&&
text
===
"
AlarmList
"
)
{
console
.
log
(
"
AlarmList activated
"
);
console
.
log
(
"
AlarmList activated
"
);
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Instrument
))
{
Access
.
Instrument
))
{
window
.
open
(
"
ev.html?list=alarm
"
,
"
_blank
"
);
window
.
open
(
"
ev.html?list=alarm
"
,
"
_blank
"
);
}
else
{
}
else
{
window
.
alert
(
"
Not authorized for this operation
"
);
window
.
alert
(
"
Not authorized for this operation
"
);
...
@@ -164,9 +160,9 @@ class OpWindMenu {
...
@@ -164,9 +160,9 @@ class OpWindMenu {
}
else
if
(
this
.
info
.
enable_alarmlist
&&
text
===
"
EventList
"
)
{
}
else
if
(
this
.
info
.
enable_alarmlist
&&
text
===
"
EventList
"
)
{
console
.
log
(
"
EventList activated
"
);
console
.
log
(
"
EventList activated
"
);
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Instrument
))
{
Access
.
Instrument
))
{
window
.
open
(
"
ev.html?list=event
"
,
"
_blank
"
);
window
.
open
(
"
ev.html?list=event
"
,
"
_blank
"
);
}
else
{
}
else
{
window
.
alert
(
"
Not authorized for this operation
"
);
window
.
alert
(
"
Not authorized for this operation
"
);
...
@@ -174,9 +170,9 @@ class OpWindMenu {
...
@@ -174,9 +170,9 @@ class OpWindMenu {
}
else
if
(
this
.
info
.
enable_eventlog
&&
text
===
"
EventLog
"
)
{
}
else
if
(
this
.
info
.
enable_eventlog
&&
text
===
"
EventLog
"
)
{
console
.
log
(
"
EventLog activated
"
);
console
.
log
(
"
EventLog activated
"
);
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Instrument
))
{
Access
.
Instrument
))
{
window
.
alert
(
"
Not yet implemented
"
);
window
.
alert
(
"
Not yet implemented
"
);
}
else
{
}
else
{
window
.
alert
(
"
Not authorized for this operation
"
);
window
.
alert
(
"
Not authorized for this operation
"
);
...
@@ -184,8 +180,8 @@ class OpWindMenu {
...
@@ -184,8 +180,8 @@ class OpWindMenu {
}
else
if
(
this
.
info
.
enable_navigator
&&
text
===
"
Navigator
"
)
{
}
else
if
(
this
.
info
.
enable_navigator
&&
text
===
"
Navigator
"
)
{
console
.
log
(
"
Navigator activated
"
);
console
.
log
(
"
Navigator activated
"
);
if
(
this
.
is_authorized
(
Access
.
RtNavigator
|
Access
.
System
|
if
(
this
.
is_authorized
(
Access
.
RtNavigator
|
Access
.
System
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Instrument
))
{
Access
.
Instrument
))
{
window
.
open
(
"
xtt.html
"
,
"
_blank
"
);
window
.
open
(
"
xtt.html
"
,
"
_blank
"
);
}
else
{
}
else
{
window
.
alert
(
"
Not authorized for this operation
"
);
window
.
alert
(
"
Not authorized for this operation
"
);
...
@@ -198,9 +194,9 @@ class OpWindMenu {
...
@@ -198,9 +194,9 @@ class OpWindMenu {
window
.
open
(
"
http://www.proview.se
"
,
"
_blank
"
);
window
.
open
(
"
http://www.proview.se
"
,
"
_blank
"
);
}
else
{
}
else
{
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
if
(
this
.
is_authorized
(
Access
.
RtRead
|
Access
.
RtWrite
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
AllOperators
|
Access
.
System
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Maintenance
|
Access
.
Process
|
Access
.
Instrument
))
{
Access
.
Instrument
))
{
for
(
let
i
=
0
;
i
<
this
.
info
.
buttons
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
info
.
buttons
.
length
;
i
++
)
{
if
(
this
.
info
.
buttons
[
i
].
text
===
text
)
{
if
(
this
.
info
.
buttons
[
i
].
text
===
text
)
{
console
.
log
(
"
Found
"
,
this
.
info
.
buttons
[
i
].
text
);
console
.
log
(
"
Found
"
,
this
.
info
.
buttons
[
i
].
text
);
...
...
java/jsw/opwind/src/opwind_menu.html
View file @
867fdfb6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<html>
<head>
<head>
<title>
Operator Menu
</title>
<title>
Operator Menu
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
</head>
</head>
<body>
<body>
<div
id=
"opwindmenu"
width=
"120"
height=
"800"
>
<div
id=
"opwindmenu"
width=
"120"
height=
"800"
>
<h1
id=
"opwind_title"
></h1>
<h1
id=
"opwind_title"
></h1>
<p
id=
"opwind_text"
></p>
<p
id=
"opwind_text"
></p>
<hr>
<button
id=
"login_button"
type=
"button"
class=
"leftmenu-button"
>
Login
</button>
<div
id=
"login_frame"
class=
"login-frame"
>
Username
<br>
<input
id=
"login_user"
name=
"username"
class=
"login-field"
/><br>
Password
<br>
<input
id=
"login_passw"
name=
"password"
type=
"password"
class=
"login-field"
/><br>
<button
id=
"apply_button"
type=
"button"
style=
"flex-grow:1"
>
Apply
</button>
<button
id=
"cancel_button"
type=
"button"
style=
"float:right"
>
Cancel
</button><br>
<button
id=
"logout_button"
type=
"button"
class=
"leftmenu-button"
>
Logout
</button>
</div>
</div>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"crypt.ts"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"opwind.ts"
></script>
<hr>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
<button
id=
"login_button"
type=
"button"
class=
"leftmenu-button"
>
Login
</button>
</body>
<div
id=
"login_frame"
class=
"login-frame"
>
Username
<br>
<input
id=
"login_user"
name=
"username"
class=
"login-field"
/><br>
Password
<br>
<input
id=
"login_passw"
name=
"password"
type=
"password"
class=
"login-field"
/><br>
<button
id=
"apply_button"
type=
"button"
style=
"flex-grow:1"
>
Apply
</button>
<button
id=
"cancel_button"
type=
"button"
style=
"float:right"
>
Cancel
</button>
<br>
<button
id=
"logout_button"
type=
"button"
class=
"leftmenu-button"
>
Logout
</button>
</div>
</div>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"crypt.ts"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"opwind.ts"
></script>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</body>
</html>
</html>
java/jsw/xtt/src/xtt.html
View file @
867fdfb6
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<html>
<head>
<head>
<title>
Xtt
</title>
<title>
Xtt
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"toolbar.css"
>
</head>
</head>
<body>
<body>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
class=
"toolbar"
role=
"toolbar"
>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_graph.png"
><img></div>
<div
id=
"toolitem1"
tabindex=
"0"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_objectgraph.png"
><img></div>
<img
src=
"toolbar_graph.png"
/>
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_plc.png"
><img></div>
</div>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_history.png"
><img></div>
<div
id=
"toolitem2"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem5"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_object.png"
><img></div>
<img
src=
"toolbar_objectgraph.png"
/>
<div
id=
"toolitem6"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_crossref.png"
><img></div>
</div>
<div
id=
"toolitem7"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_help.png"
><img></div>
<div
id=
"toolitem3"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<div
id=
"toolitem8"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
><img
src=
"toolbar_classhelp.png"
><img></div>
<img
src=
"toolbar_plc.png"
/>
</div>
</div>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<div
id=
"toolitem4"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<img
src=
"toolbar_history.png"
/>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
</div>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<div
id=
"toolitem5"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<img
src=
"toolbar_object.png"
/>
<script
type=
"text/babel"
src=
"plow.js"
></script>
</div>
<script
type=
"text/babel"
src=
"xtt.ts"
></script>
<div
id=
"toolitem6"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<hr>
<img
src=
"toolbar_crossref.png"
/>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</div>
</body>
<div
id=
"toolitem7"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_help.png"
/>
</div>
<div
id=
"toolitem8"
tabindex=
"-1"
class=
"toolbar-item"
role=
"button"
>
<img
src=
"toolbar_classhelp.png"
/>
</div>
</div>
<canvas
id=
"flowcanvas"
width=
"1200"
height=
"800"
></canvas>
<script
src=
"https://unpkg.com/@babel/standalone/babel.min.js"
></script>
<script
type=
"text/babel"
src=
"pwr.js"
></script>
<script
type=
"text/babel"
src=
"cli.js"
></script>
<script
type=
"text/babel"
src=
"gdh.js"
></script>
<script
type=
"text/babel"
src=
"plow.js"
></script>
<script
type=
"text/babel"
src=
"xtt.ts"
></script>
<hr>
<address><a
href=
"mailto:claes@debian86.ssab.com"
></a></address>
</body>
</html>
</html>
java/jsw/xtt/src/xtt.ts
View file @
867fdfb6
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment