sizeAWindow: aWindow
	"Size the argument window proportional to the current
	 screen size based on the development screen size.  

	 This should be executed when #aboutToOpenWidget."

	| windowWidth windowHeight ratio |

"Ensure argument is a VisualAge window"

	(aWindow class inheritsFrom: AbtBasicView)
		ifFalse: [self error: '#sizeAWindow argument is not a visual part.'].

"Intialize the class variables if necessary"
	(CurrentScreenWidth isNil)
		ifTrue: [self initialize].

"Get the Width and Height of argument window"
	windowWidth := (aWindow primaryWidget width) asFloat.
	windowHeight := (aWindow primaryWidget height) asFloat.

"Calculate screen size ratio.  Assumes that the ratio is
 the same for the width and height."

	ratio := ((CurrentScreenWidth asFloat) 
			/ 
			(DevelopmentSystemScreenWidth asFloat)).

"Adjust ratio based on experiments of VGA to XGA 
 and XGA to VGA."

"VGA to XGA"
	(ratio = (1024 asFloat / 640 asFloat) )
		ifTrue: [ratio := 1.3].
"XGA to VGA"
	(ratio = (640 asFloat / 1024 asFloat) )
		ifTrue: [ratio := 0.85].

"Compute new window size based on the ratio of 
 the current display to the development display"
	windowWidth := (ratio * windowWidth) asInteger.
	windowHeight := (ratio * windowHeight) asInteger.

"Set the new window size"
	aWindow primaryWidget width: windowWidth.
	aWindow primaryWidget height: windowHeight.