<?xml version="1.0"?>

<st-source>
<time-stamp>From VisualWorks® NonCommercial, 7.6 of March 3, 2008 on November 17, 2009 at 12:00:01 am</time-stamp>


<class>
<name>GUI102</name>
<environment>Smalltalk</environment>
<super>UI.ApplicationModel</super>
<private>false</private>
<indexed-type>none</indexed-type>
<inst-vars>messageOutput outputChoice messageInput </inst-vars>
<class-inst-vars></class-inst-vars>
<imports></imports>
<category>UIApplications-New</category>
<attributes>
<package>(none)</package>
</attributes>
</class>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>GUI102 class</class-id> <category>interface specs</category>

<body package="(none)" selector="windowSpec">windowSpec
	"Tools.UIPainter new openOnClass: self andSelector: #windowSpec"

	&lt;resource: #canvas&gt;
	^#(#{UI.FullSpec} 
		#window: 
		#(#{UI.WindowSpec} 
			#label: 'GUI102' 
			#bounds: #(#{Graphics.Rectangle} 1639 482 1839 682 ) ) 
		#component: 
		#(#{UI.SpecCollection} 
			#collection: #(
				#(#{UI.ActionButtonSpec} 
					#layout: #(#{Graphics.Rectangle} 13 66 94 89 ) 
					#name: #ActionButton1 
					#model: #sayMessage 
					#label: 'Say it' 
					#defaultable: true ) 
				#(#{UI.ActionButtonSpec} 
					#layout: #(#{Graphics.Rectangle} 106 67 187 90 ) 
					#name: #ActionButton2 
					#model: #clearMessage 
					#label: 'Clear' 
					#defaultable: true ) 
				#(#{UI.InputFieldSpec} 
					#layout: #(#{Graphics.Rectangle} 44 114 144 137 ) 
					#name: #InputField1 
					#model: #messageInput ) 
				#(#{UI.InputFieldSpec} 
					#layout: #(#{Graphics.Rectangle} 48 149 148 172 ) 
					#name: #InputField2 
					#colors: 
					#(#{UI.LookPreferences} 
						#setBackgroundColor: #(#{Graphics.ColorValue} #yellow ) ) 
					#model: #messageOutput ) 
				#(#{UI.RadioButtonSpec} 
					#layout: #(#{Core.Point} 56 0 ) 
					#name: #RadioButton1 
					#model: #outputChoice 
					#label: 'Message box' 
					#select: #messageBox ) 
				#(#{UI.RadioButtonSpec} 
					#layout: #(#{Core.Point} 54 27 ) 
					#name: #RadioButton2 
					#model: #outputChoice 
					#label: 'Screen' 
					#select: #screen ) ) ) )</body>
</methods>

<!-- -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -   -->


<methods>
<class-id>GUI102</class-id> <category>actions</category>

<body package="(none)" selector="clearMessage">clearMessage

	messageInput value: 'enter your new message'.

	messageOutput value: ' '.
</body>

<body package="(none)" selector="sayMessage">sayMessage

outputChoice value= #screen
ifTrue: [messageOutput value: messageInput value]
ifFalse: [Dialog warn: messageInput value].</body>
</methods>

<methods>
<class-id>GUI102</class-id> <category>aspects</category>

<body package="(none)" selector="messageInput">messageInput
	"This method was generated by UIDefiner.  Any edits made here
	may be lost whenever methods are automatically defined.  The
	initialization provided below may have been preempted by an
	initialize method."

	^messageInput isNil
		ifTrue:
			[messageInput := String new asValue]
		ifFalse:
			[messageInput]</body>

<body package="(none)" selector="messageOutput">messageOutput
	"This method was generated by UIDefiner.  Any edits made here
	may be lost whenever methods are automatically defined.  The
	initialization provided below may have been preempted by an
	initialize method."

	^messageOutput isNil
		ifTrue:
			[messageOutput := String new asValue]
		ifFalse:
			[messageOutput]</body>

<body package="(none)" selector="outputChoice">outputChoice
	"This method was generated by UIDefiner.  Any edits made here
	may be lost whenever methods are automatically defined.  The
	initialization provided below may have been preempted by an
	initialize method."

	^outputChoice isNil
		ifTrue:
			[outputChoice := nil asValue]
		ifFalse:
			[outputChoice]</body>
</methods>

</st-source>
