EnyoFriend subclass: #Eris instanceVariableNames: '' category: 'Eris'! !Eris methodsFor: 'actions'! doIt ^self eval: self dollar richText getValue ! clear self dollar richText setValue: '' ! eval: aString | compiler node | compiler := Compiler new. node := compiler parseExpression: aString. node isParseFailure ifTrue: [ ^self warn: 'Ehrm, you are a Smalltalk n00b, right?' button: 'Yup']. ^compiler loadExpression: aString. ! printString ^'' ! warn: aString button: caption | block popup | block := [popup close]. . popup := enyo create: props. popup openAtCenter ! print: aString self dollar richText setValue: (self dollar richText getValue), ' ', aString ! quack "(self kind: 'Sound'; src: 'DuckQwaq.wav'; create) play" (enyo create: (Dictionary new at: 'kind' put: 'Sound'; at: 'src' put: 'DuckQwaq.wav'; yourself)) play ! printIt self print: self doIt printString ! ! !Eris methodsFor: 'initialization'! initialize | props doItBlock printItBlock quackBlock clearBlock | super initialize. doItBlock := [self doIt]. printItBlock := [self printIt]. quackBlock := [self quack]. clearBlock := [self clear]. . ui := enyo create: props. ! !