--- a/WinWorkstation.st Thu Sep 19 11:03:29 2002 +0200
+++ b/WinWorkstation.st Mon Sep 23 22:32:48 2002 +0200
@@ -45,11 +45,12 @@
#define xxHANDLE_VIEWGRAVITY /* not yet working */
#define COMPRESS_WINDOWPOSCHANGED
+#define xxLATE_GENERATE_EXPOSE /* get update region from stx thread */
+#define xxNO_CLEAR_FOR_WM_PAINT /* do not fill exposed areas with bgColor */
#define xxLATE_CLEAR_FOR_WM_PAINT /* fill exposed areas with bgColor in ST/X thread (instead of in event-thread) */
/* seems to be needed to avoid DC conflicts */
-#define NO_CLEAR_FOR_WM_PAINT /* do not fill exposed areas with bgColor */
-
-#if 0
+
+#if 0 /* DOES NOT WORK */
#define CACHE_LAST_DC /* remember last DC in gcData */
#define CACHE_LAST_PEN /* remember last pen in gcData */
#define CACHE_LAST_BRUSH /* remember last brush in gcData */
@@ -445,6 +446,7 @@
#define __WM_GEXPOSE 0x10003
#define __WM_NOGEXPOSE 0x10004
#define __WM_ICONIFIED 0x10005
+#define __WM_PAINT 0x10006
static int AltMask = RightAltMask;
static int MetaMask = LeftAltMask;
@@ -2937,8 +2939,11 @@
{
int retVal;
+# ifdef LATE_GENERATE_EXPOSE
+ enqEvent(ENQ_AT_END, 0, hWnd, __WM_PAINT, 0, 0, 0, 0, 0, EV_NOTIME);
+# else
retVal = __generateExposes(hWnd, NULL, WM_PAINT, WM_PAINT_CLEAR_EARLY);
-
+# endif
switch (retVal) {
case -1: /* error */
*pDefault = 0;
@@ -5927,179 +5932,179 @@
int arg;
if (__isSmallInteger(aNumberOrSymbol)) {
- arg = __intVal(aNumberOrSymbol);
+ arg = __intVal(aNumberOrSymbol);
} else if ((aNumberOrSymbol == @symbol(swapButton)) || (aNumberOrSymbol == @symbol(SM_SWAPBUTTON))) {
- arg = SM_SWAPBUTTON;
- isBool = 1;
+ arg = SM_SWAPBUTTON;
+ isBool = 1;
} else if ((aNumberOrSymbol == @symbol(mousePresent)) || (aNumberOrSymbol == @symbol(SM_MOUSEPRESENT))) {
- arg = SM_MOUSEPRESENT;
- isBool = 1;
+ arg = SM_MOUSEPRESENT;
+ isBool = 1;
} else if ((aNumberOrSymbol == @symbol(mouseButtons)) || (aNumberOrSymbol == @symbol(SM_CMOUSEBUTTONS))) {
- arg = SM_CMOUSEBUTTONS;
+ arg = SM_CMOUSEBUTTONS;
} else if ((aNumberOrSymbol == @symbol(iconWidth)) || (aNumberOrSymbol == @symbol(SM_CXICON))) {
- arg = SM_CXICON;
+ arg = SM_CXICON;
} else if ((aNumberOrSymbol == @symbol(iconHeight)) || (aNumberOrSymbol == @symbol(SM_CYICON))) {
- arg = SM_CYICON;
+ arg = SM_CYICON;
} else if ((aNumberOrSymbol == @symbol(iconWidth)) || (aNumberOrSymbol == @symbol(SM_CXDOUBLECLK))) {
- arg = SM_CXDOUBLECLK;
+ arg = SM_CXDOUBLECLK;
} else if ((aNumberOrSymbol == @symbol(iconHeight)) || (aNumberOrSymbol == @symbol(SM_CYDOUBLECLK))) {
- arg = SM_CYDOUBLECLK;
+ arg = SM_CYDOUBLECLK;
} else if ((aNumberOrSymbol == @symbol(cursorWidth)) || (aNumberOrSymbol == @symbol(SM_CXCURSOR))) {
- arg = SM_CXCURSOR;
+ arg = SM_CXCURSOR;
} else if ((aNumberOrSymbol == @symbol(cursorHeight)) || (aNumberOrSymbol == @symbol(SM_CYCURSOR))) {
- arg = SM_CYCURSOR;
+ arg = SM_CYCURSOR;
} else if ((aNumberOrSymbol == @symbol(captionHeight)) || (aNumberOrSymbol == @symbol(SM_CYCAPTION))) {
- arg = SM_CYCAPTION;
+ arg = SM_CYCAPTION;
} else if ((aNumberOrSymbol == @symbol(resizeFrameWidth)) || (aNumberOrSymbol == @symbol(SM_CXFRAME))) {
- arg = SM_CXFRAME;
+ arg = SM_CXFRAME;
} else if ((aNumberOrSymbol == @symbol(resizeFrameHeight)) || (aNumberOrSymbol == @symbol(SM_CYFRAME))) {
- arg = SM_CYFRAME;
+ arg = SM_CYFRAME;
} else if ((aNumberOrSymbol == @symbol(borderFrameWidth)) || (aNumberOrSymbol == @symbol(SM_CXBORDER))) {
- arg = SM_CXBORDER;
+ arg = SM_CXBORDER;
} else if ((aNumberOrSymbol == @symbol(borderFrameHeight)) || (aNumberOrSymbol == @symbol(SM_CYBORDER))) {
- arg = SM_CYBORDER;
+ arg = SM_CYBORDER;
} else if (aNumberOrSymbol == @symbol(SM_CXDLGFRAME)) {
- arg = SM_CXDLGFRAME;
+ arg = SM_CXDLGFRAME;
} else if (aNumberOrSymbol == @symbol(SM_CYDLGFRAME)) {
- arg = SM_CYDLGFRAME;
+ arg = SM_CYDLGFRAME;
} else if ((aNumberOrSymbol == @symbol(fullScreenWindowWidth)) || (aNumberOrSymbol == @symbol(SM_CXFULLSCREEN))) {
- arg = SM_CXFULLSCREEN;
+ arg = SM_CXFULLSCREEN;
} else if ((aNumberOrSymbol == @symbol(fullScreenWindowHeight)) || (aNumberOrSymbol == @symbol(SM_CYFULLSCREEN))) {
- arg = SM_CYFULLSCREEN;
+ arg = SM_CYFULLSCREEN;
} else if ((aNumberOrSymbol == @symbol(screenWidth)) || (aNumberOrSymbol == @symbol(SM_CXSCREEN))) {
- arg = SM_CXSCREEN;
+ arg = SM_CXSCREEN;
} else if ((aNumberOrSymbol == @symbol(screenHeight)) || (aNumberOrSymbol == @symbol(SM_CYSCREEN))) {
- arg = SM_CYSCREEN;
+ arg = SM_CYSCREEN;
} else if ((aNumberOrSymbol == @symbol(minWindowWidth)) || (aNumberOrSymbol == @symbol(SM_CXMIN))) {
- arg = SM_CXMIN;
+ arg = SM_CXMIN;
} else if ((aNumberOrSymbol == @symbol(minWindowHeight)) || (aNumberOrSymbol == @symbol(SM_CYMIN))) {
- arg = SM_CYMIN;
+ arg = SM_CYMIN;
} else if ((aNumberOrSymbol == @symbol(vScrollbarWidth)) || (aNumberOrSymbol == @symbol(SM_CXVSCROLL))) {
- arg = SM_CXVSCROLL;
+ arg = SM_CXVSCROLL;
} else if ((aNumberOrSymbol == @symbol(hScrollbarHeight)) || (aNumberOrSymbol == @symbol(SM_CYHSCROLL))) {
- arg = SM_CYHSCROLL;
+ arg = SM_CYHSCROLL;
} else if ((aNumberOrSymbol == @symbol(vThumbHeight)) || (aNumberOrSymbol == @symbol(SM_CYVTHUMB))) {
- arg = SM_CYVTHUMB;
+ arg = SM_CYVTHUMB;
} else if ((aNumberOrSymbol == @symbol(hThumbWidth)) || (aNumberOrSymbol == @symbol(SM_CXHTHUMB))) {
- arg = SM_CXHTHUMB;
+ arg = SM_CXHTHUMB;
} else if ((aNumberOrSymbol == @symbol(SM_CXSIZE))) {
- arg = SM_CXSIZE;
+ arg = SM_CXSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_CYSIZE))) {
- arg = SM_CYSIZE;
+ arg = SM_CYSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_CYVSCROLL))) {
- arg = SM_CYVSCROLL;
+ arg = SM_CYVSCROLL;
} else if ((aNumberOrSymbol == @symbol(SM_CXHSCROLL))) {
- arg = SM_CXHSCROLL;
+ arg = SM_CXHSCROLL;
} else if ((aNumberOrSymbol == @symbol(SM_CXMINTRACK))) {
- arg = SM_CXMINTRACK;
+ arg = SM_CXMINTRACK;
} else if ((aNumberOrSymbol == @symbol(SM_CYMINTRACK))) {
- arg = SM_CYMINTRACK;
+ arg = SM_CYMINTRACK;
} else if ((aNumberOrSymbol == @symbol(SM_CXICONSPACING))) {
- arg = SM_CXICONSPACING;
+ arg = SM_CXICONSPACING;
} else if ((aNumberOrSymbol == @symbol(SM_CYICONSPACING))) {
- arg = SM_CYICONSPACING;
+ arg = SM_CYICONSPACING;
} else if ((aNumberOrSymbol == @symbol(SM_CYMENU))) {
- arg = SM_CYMENU;
+ arg = SM_CYMENU;
} else if ((aNumberOrSymbol == @symbol(SM_MENUDROPALIGNMENT))) {
- arg = SM_MENUDROPALIGNMENT;
+ arg = SM_MENUDROPALIGNMENT;
} else if ((aNumberOrSymbol == @symbol(SM_PENWINDOWS))) {
- arg = SM_PENWINDOWS;
+ arg = SM_PENWINDOWS;
} else if ((aNumberOrSymbol == @symbol(SM_DBCSENABLED))) {
- arg = SM_DBCSENABLED;
+ arg = SM_DBCSENABLED;
} else if ((aNumberOrSymbol == @symbol(SM_CXFIXEDFRAME))) {
- arg = SM_CXFIXEDFRAME;
+ arg = SM_CXFIXEDFRAME;
} else if ((aNumberOrSymbol == @symbol(SM_CYFIXEDFRAME))) {
- arg = SM_CYFIXEDFRAME;
+ arg = SM_CYFIXEDFRAME;
} else if ((aNumberOrSymbol == @symbol(SM_CXSIZEFRAME))) {
- arg = SM_CXSIZEFRAME;
+ arg = SM_CXSIZEFRAME;
} else if ((aNumberOrSymbol == @symbol(SM_CYSIZEFRAME))) {
- arg = SM_CYSIZEFRAME;
+ arg = SM_CYSIZEFRAME;
} else if ((aNumberOrSymbol == @symbol(SM_CYKANJIWINDOW))) {
- arg = SM_CYKANJIWINDOW;
+ arg = SM_CYKANJIWINDOW;
} else if ((aNumberOrSymbol == @symbol(SM_SECURE))) {
- arg = SM_SECURE;
+ arg = SM_SECURE;
} else if ((aNumberOrSymbol == @symbol(SM_CXEDGE))) {
- arg = SM_CXEDGE;
+ arg = SM_CXEDGE;
} else if ((aNumberOrSymbol == @symbol(SM_CYEDGE))) {
- arg = SM_CYEDGE;
+ arg = SM_CYEDGE;
} else if ((aNumberOrSymbol == @symbol(SM_CXMINSPACING))) {
- arg = SM_CXMINSPACING;
+ arg = SM_CXMINSPACING;
} else if ((aNumberOrSymbol == @symbol(SM_CYMINSPACING))) {
- arg = SM_CYMINSPACING;
+ arg = SM_CYMINSPACING;
} else if ((aNumberOrSymbol == @symbol(SM_CXSMICON))) {
- arg = SM_CXSMICON;
+ arg = SM_CXSMICON;
} else if ((aNumberOrSymbol == @symbol(SM_CYSMICON))) {
- arg = SM_CYSMICON;
+ arg = SM_CYSMICON;
} else if ((aNumberOrSymbol == @symbol(SM_CYSMCAPTION))) {
- arg = SM_CYSMCAPTION;
+ arg = SM_CYSMCAPTION;
} else if ((aNumberOrSymbol == @symbol(SM_CXSMSIZE))) {
- arg = SM_CXSMSIZE;
+ arg = SM_CXSMSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_CYSMSIZE))) {
- arg = SM_CYSMSIZE;
+ arg = SM_CYSMSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_CXMENUSIZE))) {
- arg = SM_CXMENUSIZE;
+ arg = SM_CXMENUSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_CYMENUSIZE))) {
- arg = SM_CYMENUSIZE;
+ arg = SM_CYMENUSIZE;
} else if ((aNumberOrSymbol == @symbol(SM_ARRANGE))) {
- arg = SM_ARRANGE;
+ arg = SM_ARRANGE;
} else if ((aNumberOrSymbol == @symbol(SM_CXMINIMIZED))) {
- arg = SM_CXMINIMIZED;
+ arg = SM_CXMINIMIZED;
} else if ((aNumberOrSymbol == @symbol(SM_CYMINIMIZED))) {
- arg = SM_CYMINIMIZED;
+ arg = SM_CYMINIMIZED;
} else if ((aNumberOrSymbol == @symbol(SM_CXMAXTRACK))) {
- arg = SM_CXMAXTRACK;
+ arg = SM_CXMAXTRACK;
} else if ((aNumberOrSymbol == @symbol(SM_CYMAXTRACK))) {
- arg = SM_CYMAXTRACK;
+ arg = SM_CYMAXTRACK;
} else if ((aNumberOrSymbol == @symbol(SM_CXMAXIMIZED))) {
- arg = SM_CXMAXIMIZED;
+ arg = SM_CXMAXIMIZED;
} else if ((aNumberOrSymbol == @symbol(SM_CYMAXIMIZED))) {
- arg = SM_CYMAXIMIZED;
+ arg = SM_CYMAXIMIZED;
} else if ((aNumberOrSymbol == @symbol(SM_NETWORK))) {
- arg = SM_NETWORK;
+ arg = SM_NETWORK;
} else if ((aNumberOrSymbol == @symbol(SM_CXDRAG))) {
- arg = SM_CXDRAG;
+ arg = SM_CXDRAG;
} else if ((aNumberOrSymbol == @symbol(SM_CYDRAG))) {
- arg = SM_CYDRAG;
+ arg = SM_CYDRAG;
} else if ((aNumberOrSymbol == @symbol(SM_NETWORK))) {
- arg = SM_NETWORK;
+ arg = SM_NETWORK;
} else if ((aNumberOrSymbol == @symbol(SM_SHOWSOUNDS))) {
- arg = SM_SHOWSOUNDS;
+ arg = SM_SHOWSOUNDS;
} else if ((aNumberOrSymbol == @symbol(SM_CXMENUCHECK))) {
- arg = SM_CXMENUCHECK;
+ arg = SM_CXMENUCHECK;
} else if ((aNumberOrSymbol == @symbol(SM_CYMENUCHECK))) {
- arg = SM_CYMENUCHECK;
+ arg = SM_CYMENUCHECK;
} else if ((aNumberOrSymbol == @symbol(SM_SLOWMACHINE))) {
- arg = SM_SLOWMACHINE;
+ arg = SM_SLOWMACHINE;
} else if ((aNumberOrSymbol == @symbol(SM_MIDEASTENABLED))) {
- arg = SM_MIDEASTENABLED;
+ arg = SM_MIDEASTENABLED;
} else if ((aNumberOrSymbol == @symbol(SM_MOUSEWHEELPRESENT))) {
- arg = SM_MOUSEWHEELPRESENT;
+ arg = SM_MOUSEWHEELPRESENT;
} else if ((aNumberOrSymbol == @symbol(SM_XVIRTUALSCREEN))) {
- arg = SM_XVIRTUALSCREEN;
+ arg = SM_XVIRTUALSCREEN;
} else if ((aNumberOrSymbol == @symbol(SM_YVIRTUALSCREEN))) {
- arg = SM_YVIRTUALSCREEN;
+ arg = SM_YVIRTUALSCREEN;
} else if ((aNumberOrSymbol == @symbol(SM_CXVIRTUALSCREEN))) {
- arg = SM_CXVIRTUALSCREEN;
+ arg = SM_CXVIRTUALSCREEN;
} else if ((aNumberOrSymbol == @symbol(SM_CYVIRTUALSCREEN))) {
- arg = SM_CYVIRTUALSCREEN;
+ arg = SM_CYVIRTUALSCREEN;
} else if ((aNumberOrSymbol == @symbol(SM_CMONITORS))) {
- arg = SM_CMONITORS;
+ arg = SM_CMONITORS;
} else if ((aNumberOrSymbol == @symbol(SM_SAMEDISPLAYFORMAT))) {
- arg = SM_SAMEDISPLAYFORMAT;
+ arg = SM_SAMEDISPLAYFORMAT;
} else if ((aNumberOrSymbol == @symbol(SM_IMMENABLED))) {
- arg = SM_IMMENABLED;
+ arg = SM_IMMENABLED;
} else if ((aNumberOrSymbol == @symbol(SM_DEBUG))) {
- arg = SM_DEBUG;
+ arg = SM_DEBUG;
#ifdef SM_REMOTESESSION
} else if ((aNumberOrSymbol == @symbol(SM_REMOTESESSION))) {
- arg = SM_REMOTESESSION;
+ arg = SM_REMOTESESSION;
#endif
} else {
- RETURN (nil);
+ RETURN (nil);
}
info = GetSystemMetrics(arg);
if (isBool) {
- RETURN (info ? true : false);
+ RETURN (info ? true : false);
}
RETURN (__MKSMALLINT(info));
%}
@@ -6124,54 +6129,54 @@
char buffer[1024];
if (__isSmallInteger(aNumberOrSymbol)) {
- arg = __intVal(aNumberOrSymbol);
+ arg = __intVal(aNumberOrSymbol);
} else if (aNumberOrSymbol == @symbol(SPI_GETDESKWALLPAPER)) {
- arg = SPI_GETDESKWALLPAPER;
- isString = 1;
+ arg = SPI_GETDESKWALLPAPER;
+ isString = 1;
#ifdef SPI_GETDROPSHADOW
} else if (aNumberOrSymbol == @symbol(SPI_GETDROPSHADOW)) {
- arg = SPI_GETDROPSHADOW;
- isBool = 1;
+ arg = SPI_GETDROPSHADOW;
+ isBool = 1;
#endif
#ifdef SPI_GETFLATMENU
} else if (aNumberOrSymbol == @symbol(SPI_GETFLATMENU)) {
- arg = SPI_GETFLATMENU;
- isBool = 1;
+ arg = SPI_GETFLATMENU;
+ isBool = 1;
#endif
#ifdef SPI_GETWHEELSCROLLLINES
} else if (aNumberOrSymbol == @symbol(SPI_GETWHEELSCROLLLINES)) {
- arg = SPI_GETWHEELSCROLLLINES;
+ arg = SPI_GETWHEELSCROLLLINES;
#endif
#ifdef SPI_GETHOTTRACKING
} else if (aNumberOrSymbol == @symbol(SPI_GETHOTTRACKING)) {
- arg = SPI_GETHOTTRACKING;
- isBool = 1;
+ arg = SPI_GETHOTTRACKING;
+ isBool = 1;
#endif
#ifdef SPI_GETTOOLTIPANIMATION
} else if (aNumberOrSymbol == @symbol(SPI_GETTOOLTIPANIMATION)) {
- arg = SPI_GETTOOLTIPANIMATION;
- isBool = 1;
+ arg = SPI_GETTOOLTIPANIMATION;
+ isBool = 1;
#endif
} else {
- RETURN (nil);
+ RETURN (nil);
}
param = 0;
pRslt = NULL;
if (isString) {
- param = sizeof(buffer);
- pRslt = (void *)buffer;
+ param = sizeof(buffer);
+ pRslt = (void *)buffer;
}
info = SystemParametersInfo(arg, param, pRslt, 0);
if (! info) {
- RETURN (nil);
+ RETURN (nil);
}
if (isBool) {
- RETURN (info ? true : false);
+ RETURN (info ? true : false);
}
if (isString) {
- RETURN (__MKSTRING(buffer));
+ RETURN (__MKSTRING(buffer));
}
RETURN (__MKSMALLINT(info));
%}
@@ -8913,10 +8918,18 @@
DPRINTF(("displayRect: no pen\n"));
} else {
MoveToEx(hDC, xL, yT, NULL);
- LineTo(hDC, xL+w, yT);
- LineTo(hDC, xL+w, yT+h);
- LineTo(hDC, xL, yT+h);
- LineTo(hDC, xL, yT);
+#if 0
+ LineTo(hDC, xL+w, yT); // to top-right
+ LineTo(hDC, xL+w, yT+h); // to bot-right
+ LineTo(hDC, xL, yT+h); // to bot-left
+ LineTo(hDC, xL, yT); // back to top-left
+#else
+ LineTo(hDC, xL+w, yT); // to top-right
+ LineTo(hDC, xL+w, yT+h); // to bot-right
+ MoveToEx(hDC, xL, yT, NULL); // back to top-left
+ LineTo(hDC, xL, yT+h); // to bot-left
+ LineTo(hDC, xL+w, yT+h); // to bot-right
+#endif
GcDataReleasePen(hDC, gcData);
}
@@ -9573,31 +9586,31 @@
"/ aWindow printCR.
IgnoreSysColorChanges ~~ true ifTrue:[
- "/ first check, if there was really a change
- "/ (when exceed is running, we get plenty of those messages ...)
-
- SystemColorValues isNil ifTrue:[
- SystemColorValues := IdentityDictionary new.
- ].
- anyChange := false.
- self supportedSystemColorKeys do:[:key |
- |oldValue newValue|
-
- oldValue := SystemColorValues at:key ifAbsent:nil.
- newValue := self getSystemColor:key.
- oldValue ~= newValue ifTrue:[
- SystemColorValues at:key put:newValue.
- anyChange := true.
- ]
- ].
- anyChange ifTrue:[
- "/ TODO: this should go through the sensor ...
- "/ ...and handled as an event by the views thread.
- SimpleView readStyleSheetAndUpdateAllStyleCaches.
- aWindow withAllSubViewsDo:[:aView |
- aView reinitStyle
- ]
- ]
+ "/ first check, if there was really a change
+ "/ (when exceed is running, we get plenty of those messages ...)
+
+ SystemColorValues isNil ifTrue:[
+ SystemColorValues := IdentityDictionary new.
+ ].
+ anyChange := false.
+ self supportedSystemColorKeys do:[:key |
+ |oldValue newValue|
+
+ oldValue := SystemColorValues at:key ifAbsent:nil.
+ newValue := self getSystemColor:key.
+ oldValue ~= newValue ifTrue:[
+ SystemColorValues at:key put:newValue.
+ anyChange := true.
+ ]
+ ].
+ anyChange ifTrue:[
+ "/ TODO: this should go through the sensor ...
+ "/ ...and handled as an event by the views thread.
+ SimpleView readStyleSheetAndUpdateAllStyleCaches.
+ aWindow withAllSubViewsDo:[:aView |
+ aView reinitStyle
+ ]
+ ]
]
"Modified: / 10.9.1998 / 21:53:34 / cg"
@@ -9913,6 +9926,20 @@
theView);
break;
+# ifdef LATE_GENERATE_EXPOSE
+ case __WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+
+ __generateExposes(hWnd, NULL, WM_PAINT, 0);
+# if 0
+ BeginPaint(hWnd, &ps);
+ EndPaint(hWnd, &ps);
+# endif
+ }
+ break;
+# endif
+
case WM_PAINT:
x = ev->ev_x;
y = ev->ev_y;
@@ -9922,7 +9949,7 @@
if (GetWindow_unmapping(hWnd)) {
fprintf(stderr, "oops - WM_MOUSEENTER for unmapping\n");
}
-#ifdef WM_PAINT_CLEAR_LATE
+#if WM_PAINT_CLEAR_LATE
__clearWindow(hWnd, x, y, w, h);
#endif
#ifdef DEBUG_COLORIZE_WM_PAINT_RECTS2
@@ -15258,6 +15285,6 @@
!WinWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.225 2002-09-05 16:24:32 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.226 2002-09-23 20:32:48 cg Exp $'
! !
WinWorkstation initialize!