ElectronWorkstation.st
author Claus Gittinger <cg@exept.de>
Thu, 15 Aug 2019 19:44:30 +0200
changeset 8774 b7b97afe2599
parent 8772 4bfdf08ef358
child 8775 e7b56d14fa77
permissions -rw-r--r--
#DOCUMENTATION by exept class: GraphicsDevice comment/format in: #newGraphicsContextFor:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8772
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
     1
"{ Encoding: utf8 }"
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
     2
8771
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ Package: 'stx:libview' }"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
"{ NameSpace: Smalltalk }"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
DeviceWorkstation subclass:#ElectronWorkstation
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	instanceVariableNames:'bridge'
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	classVariableNames:''
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
	poolDictionaries:''
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
	category:'Interface-Graphics'
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
!ElectronWorkstation class methodsFor:'documentation'!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
documentation
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
"
8772
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
    18
    Smalltalk at:#Display2 put:(ElectronWorkstation newFor:nil).
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
    19
    (TopView onDevice:Display2) 
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
    20
        label:'Hello';
4bfdf08ef358 #REFACTORING by exept
Claus Gittinger <cg@exept.de>
parents: 8771
diff changeset
    21
        open
8771
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
! !
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!ElectronWorkstation methodsFor:'accessing & queries'!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
isOpen
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    "return true, if there is a valid connection to the display"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
    ^ bridge notNil
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
! !
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!ElectronWorkstation methodsFor:'initialization & release'!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
closeConnection
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    "close down connection to Display - usually never done"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
    |b|
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    (b := bridge) notNil ifTrue:[
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
        bridge := nil.
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
        b close
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    ].
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    "Created: 13.1.1997 / 22:10:07 / cg"
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
initializeFor:aHostAndPortStringOrNil
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    bridge := NodeJSBridge newBridgeForHostAndPort:aHostAndPortStringOrNil.
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    bridge 
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
        startBridgeIn:'.'
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
        command:'node' 
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
        environment:nil 
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        debug:false.
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    bridge connect.
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    "
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
     ElectronWorkstation newFor:'localhost:8098'
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
! !
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!ElectronWorkstation class methodsFor:'documentation'!
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
version_CVS
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    ^ '$Header$'
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
! !
cc7e3bf4b7ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67