123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- Diagram(name = 'Statechart', author = 'MSDL', description = 'Exported SCCD HUTN'):
- Top {
- import httplib
- import json
- method = 'PUT'
- host = 'localhost:8124'
- uri = '/GET/console?wid=3'
- timeout = 5000
- }
- Inport(name = 'ui')
- Class(name = 'MainApp', default = True):
- Method highlightState(nodeId) {
- headers = \['Content-Type': 'text/plain'\]
- data = json->dumps(\['text':'CLIENT_BDAPI :: \["func":"_highlightState","args":\["asid":'+str(nodeId)+',"followCrossFormalismLinks":"*"\]\]'\])
- conn = httplib->HTTPConnection(host)
- conn->request(method, uri, data, headers)
- resp = conn->getresponse()
- conn->close()
- }
- Method unhighlightState(nodeId) {
- headers = \['Content-Type': 'text/plain'\]
- data = json->dumps(\['text':'CLIENT_BDAPI :: \["func":"_unhighlightState","args":\["asid":'+str(nodeId)+'\]\]'\])
- conn = httplib->HTTPConnection(host)
- conn->request(method, uri, data, headers)
- resp = conn->getresponse()
- conn->close()
- }
- StateMachine:
- initial = 'normal'
- State('normal'):
- Transition(target='../interrupted'):
- event = police_interrupt_clicked()
- initial = 'red'
- State('red'):
- OnEnter {
- self->setRed()
- self->highlightState(5)
- }
- OnExit {
- self->unhighlightState(5)
- }
- Transition(after=3.0, target='../green')
- State('green'):
- OnEnter {
- self->setGreen()
- self->highlightState(6)
- }
- OnExit {
- self->unhighlightState(6)
- }
- Transition(after=2.0, target='../yellow')
- State('yellow'):
- OnEnter {
- self->setYellow()
- self->highlightState(7)
- }
- OnExit {
- self->unhighlightState(7)
- }
- Transition(after=1.0, target='../red')
- State('interrupted'):
- Transition(target='../normal'):
- event = police_interrupt_clicked()
- initial = 'yellow'
- State('yellow'):
- OnEnter {
- self->setYellow()
- self->highlightState(14)
- }
- OnExit {
- self->unhighlightState(14)
- }
- Transition(after=5.0, target='../black')
- State('black'):
- OnEnter {
- self->clear()
- self->highlightState(15)
- }
- OnExit {
- self->unhighlightState(15)
- }
- Transition(after=5.0, target='../yellow')
|