diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-12 16:03:37 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-12 16:03:37 +0100 |
commit | bb4e22695ce0b876ca6731f14838eadeb264c3f1 (patch) | |
tree | a373d5ddaf3985cb79955766142345841371ce01 | |
parent | ce184032e802efd38679fe14ba655db23f79cdb2 (diff) |
WebApp: Create a procedure widget and show active procedures.
-rw-r--r-- | WebApp.st | 44 |
1 files changed, 42 insertions, 2 deletions
@@ -102,6 +102,7 @@ Iliad.ILWidget subclass: ProcedureWidget [ proc := aBlock value. proc run. self session procedures add: proc. + self application procedures markDirty. ] on: Exception do: [:e | self lightbox: (ErrorWidget initWith: aName, ' could not be started.') ] @@ -136,6 +137,40 @@ ProcedureWidget subclass: CallWidget [ ] ] +Iliad.ILWidget subclass: ProcedureWidget [ + showStatus: item on: form [ + | status | + status := item complete + ifTrue: [ + item success + ifTrue: [item name, ' completed with success'] + ifFalse: [item name, ' completed with failure']. + ] + ifFalse: [ + item name, ' in-progress' + ]. + + form text: status. + form button + text: 'Remove'; + action: [self markDirty. self session procedures remove: item.]. + ] + + contents [ + ^ [:e | | procs | + e a + action: [self markDirty]; + text: 'Refresh Procedures'. + + procs := self session procedures. + procs do: [:each | + e form build: [:form | + self showStatus: each on: form.] + ] + ] + ] +] + Iliad.ILSession subclass: GSMTestphoneSession [ | user gsmConfig procedures | @@ -152,7 +187,7 @@ Iliad.ILSession subclass: GSMTestphoneSession [ ] Iliad.ILApplication subclass: GSMTestphoneApp [ - | config call lu serverConfig gsmServer | + | config call lu serverConfig gsmServer procedureWidget | GSMTestphoneApp class >> path [ ^ 'testphone' ] GSMTestphoneApp class >> initialize [ @@ -171,6 +206,10 @@ Iliad.ILApplication subclass: GSMTestphoneApp [ ^ serverConfig ifNil: [serverConfig := ServerConfigWidget new] ] + procedures [ + ^ procedureWidget ifNil: [procedureWidget := ProcedureWidget new] + ] + call [ ^ call ifNil: [call := CallWidget new] ] @@ -187,7 +226,8 @@ Iliad.ILApplication subclass: GSMTestphoneApp [ build: self serverConfig; build: self phoneConfig; build: self lu; - build: self call. + build: self call; + build: self procedures. ]. ] |