From 41208bb38dcf3f5d718bc141260ee596aa5a2f81 Mon Sep 17 00:00:00 2001 From: Xavier Glattard Date: Wed, 7 Mar 2007 18:11:17 +0000 Subject: [PATCH] Many changes : - Deletion of all non-GNUstep debug stuff (printf...) - Deletion of all Notification hooks (used for a debugging purpose) - Deletion of the Application preference Panel that popups (pops up?) the 1st time you run _any_ application - Deletion of the check of GSWINHandlesWindowDecorations and GSWIN32HandlesWindowDecorations options (none worked because of a typo and are now deprecated). - use of GSBackHandlesWindowDecorations option like X11 backend instead of GSUseWMStyles (marked as deprecated) - use of GSBackUsesNativeTaskbar option instead of GSUseWMTaskbar (marked as deprecated) - all these options are read in -initWithAttribute: (no more in +inializeBackend) and set an instance (not class) variable. - add methods -handlesWindowDecorations/-setHandlesWindowDecorations - add methods -usesNativeTaskbar/-setUsesNativeTaskbar git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24804 72102866-910b-0410-8b05-ffd578937521 --- Headers/win32/WIN32Server.h | 41 +- Source/win32/Event_format.sed | 367 ------------ Source/win32/GNUmakefile | 3 - Source/win32/GSDisplayServer_details.m | 71 --- Source/win32/RELEASE_NOTES | 233 -------- Source/win32/WIN32Server.m | 768 +++---------------------- Source/win32/w32_Events.h | 26 - Source/win32/w32_activate.m | 38 +- Source/win32/w32_config.h | 101 ---- Source/win32/w32_create.m | 27 - Source/win32/w32_debug.m | 356 ------------ Source/win32/w32_general.m | 23 - Source/win32/w32_movesize.m | 57 +- Source/win32/w32_notifications.m | 321 ----------- Source/win32/w32_text_focus.m | 17 - Source/win32/w32_windowdisplay.m | 46 +- 16 files changed, 91 insertions(+), 2404 deletions(-) delete mode 100644 Source/win32/Event_format.sed delete mode 100644 Source/win32/GSDisplayServer_details.m delete mode 100644 Source/win32/RELEASE_NOTES delete mode 100644 Source/win32/w32_config.h delete mode 100644 Source/win32/w32_debug.m delete mode 100644 Source/win32/w32_notifications.m diff --git a/Headers/win32/WIN32Server.h b/Headers/win32/WIN32Server.h index 7dcdf2a..86b2f24 100644 --- a/Headers/win32/WIN32Server.h +++ b/Headers/win32/WIN32Server.h @@ -54,8 +54,6 @@ #include - - #include /* @@ -69,18 +67,12 @@ #define GET_Y_LPARAM(p) ((int)(short)HIWORD(p)) #endif -//#define __debugServer__ // main server debug (from WIN32Server) -//#define __W32_debug__ // event frame debugging/logging - #define EVENT_WINDOW(lp) (GSWindowWithNumber((int)lp)) DWORD windowStyleForGSStyle(unsigned int style); typedef struct w32serverFlags { - BOOL useWMTaskBar; - BOOL useWMStyles; - BOOL HAVE_SERVER_PREFS; int _last_WM_ACTIVATE; int eventQueCount; int menuRef; // reference to menu window @@ -103,6 +95,9 @@ typedef struct w32serverFlags { @interface WIN32Server : GSDisplayServer { + BOOL handlesWindowDecorations; + BOOL usesNativeTaskbar; + serverFlags flags; HINSTANCE hinstance; @@ -117,17 +112,18 @@ typedef struct w32serverFlags { NSButton * saveButton; } +- (BOOL) handlesWindowDecorations; +- (void) setHandlesWindowDecorations: (BOOL) b; + +- (BOOL) usesNativeTaskbar; +- (void) setUsesNativeTaskbar: (BOOL) b; + ++ (void) initializeBackend; + - (LRESULT) windowEventProc: (HWND)hwnd : (UINT)uMsg : (WPARAM)wParam : (LPARAM)lParam; -- (void) initConfigWindow; -- (void) setStyle:(id)sender; -- (void) setTaskBar:(id)sender; -- (void) setSave:(id)sender; - - (void) setFlagsforEventLoop: (HWND)hwnd; -- (NSString *) getNativeClassName: (HWND)hwnd; -- (NSString *) getWindowtext: (HWND)hwnd; // declared but should be implimented in a subclass window server (subclass resposibility) - (LRESULT) decodeWM_ACTIVEParams: (WPARAM)wParam : (LPARAM)lParam @@ -136,17 +132,6 @@ typedef struct w32serverFlags { : (LPARAM)lParam; - (void) decodeWM_NCACTIVATEParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd; -/* - hooks for the subclass to process notifications and syncronize the win32 env - with the application -*/ -- (void) ApplicationDidFinishLaunching: (NSNotification*)aNotification; -- (void) ApplicationWillFinishLaunching: (NSNotification*)aNotification; -- (void) WindowWillMiniaturizeNotification: (NSNotification*)aNotification; -- (void) MenuWillTearOff: (NSNotification*)aNotification; -- (void) MenuwillPopUP: (NSNotification*)aNotification; - - - (LRESULT) decodeWM_SIZEParams: (HWND)hwnd : (WPARAM)wParam : (LPARAM)lParam; - (LRESULT) decodeWM_MOVEParams: (HWND)hwnd : (WPARAM)wParam : (LPARAM)lParam; - (void) decodeWM_NCCALCSIZEParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd; @@ -182,10 +167,6 @@ typedef struct w32serverFlags { - (void) decodeWM_SYSCOMMANDParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd; - (void) decodeWM_COMMANDParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd; -// diagnotic and debugging -- (BOOL) displayEvent:(unsigned int)uMsg; -- (void) registerForWindowEvents; -- (void) registerForViewEvents; @end typedef struct _win_intern { diff --git a/Source/win32/Event_format.sed b/Source/win32/Event_format.sed deleted file mode 100644 index 8868f3d..0000000 --- a/Source/win32/Event_format.sed +++ /dev/null @@ -1,367 +0,0 @@ -# WIN32Server - Implements window handling for MSWindows -# -# Copyright (C) 2005 Free Software Foundation, Inc. -# -# Written by: Tom MacSween -# Date August 2005 -# This file is part of the GNU Objective C User Interface Library. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public -# License along with this library; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 USA. -# - - -#sed -f Event_format.sed result.sed >test_result.log -s/CYCLE 0 /WM_NULL 0/ g -s/CYCLE 1 /WM_CREATE 1/g -s/CYCLE 2 /WM_DESTROY 2/g -s/CYCLE 3 /WM_MOVE 3/g -s/CYCLE 5 /WM_SIZE 5/g -s/CYCLE 6 /WM_ACTIVATE 6/g -s/CYCLE 7 /WM_SETFOCUS 7/g -s/CYCLE 8 /WM_KILLFOCUS 8/g -s/CYCLE 10 /WM_ENABLE 10/g -s/CYCLE 11 /WM_SETREDRAW 11/g -s/CYCLE 12 /WM_SETTEXT 12/g -s/CYCLE 13 /WM_GETTEXT 13/g -s/CYCLE 14 /WM_GETTEXTLENGTH 14/g -s/CYCLE 15 /WM_PAINT 15/g -s/CYCLE 16 /WM_CLOSE 16/g -s/CYCLE 17 /WM_QUERYENDSESSION 17/g -s/CYCLE 18 /WM_QUIT 18/g -s/CYCLE 19 /WM_QUERYOPEN 19/g -s/CYCLE 20 /WM_ERASEBKGND 20/g -s/CYCLE 21 /WM_SYSCOLORCHANGE 21/g -s/CYCLE 22 /WM_ENDSESSION 22/g -s/CYCLE 24 /WM_SHOWWINDOW 24/g -s/CYCLE 26 /WM_SETTINGCHANGE 26/g -s/CYCLE 26 /WM_WININICHANGE 26/g -s/CYCLE 27 /WM_DEVMODECHANGE 27/g -s/CYCLE 28 /WM_ACTIVATEAPP 28/g -s/CYCLE 29 /WM_FONTCHANGE 29/g -s/CYCLE 30 /WM_TIMECHANGE 30/g -s/CYCLE 31 /WM_CANCELMODE 31/g -s/CYCLE 32 /WM_SETCURSOR 32/g -s/CYCLE 33 /WM_MOUSEACTIVATE 33/g -s/CYCLE 34 /WM_CHILDACTIVATE 34/g -s/CYCLE 35 /WM_QUEUESYNC 35/g -s/CYCLE 36 /WM_GETMINMAXINFO 36/g -s/CYCLE 38 /WM_PAINTICON 38/g -s/CYCLE 39 /WM_ICONERASEBKGND 39/g -s/CYCLE 40 /WM_NEXTDLGCTL 40/g -s/CYCLE 42 /WM_SPOOLERSTATUS 42/g -s/CYCLE 43 /WM_DRAWITEM 43/g -s/CYCLE 44 /WM_MEASUREITEM 44/g -s/CYCLE 45 /WM_DELETEITEM 45/g -s/CYCLE 46 /WM_VKEYTOITEM 46/g -s/CYCLE 47 /WM_CHARTOITEM 47/g -s/CYCLE 48 /WM_SETFONT 48/g -s/CYCLE 49 /WM_GETFONT 49/g -s/CYCLE 50 /WM_SETHOTKEY 50/g -s/CYCLE 51 /WM_GETHOTKEY 51/g -s/CYCLE 55 /WM_QUERYDRAGICON 55/g -s/CYCLE 57 /WM_COMPAREITEM 57/g -s/CYCLE 65 /WM_COMPACTING 65/g -s/CYCLE 68 /WM_COMMNOTIFY 68/g -s/CYCLE 70 /WM_WINDOWPOSCHANGING 70/g -s/CYCLE 71 /WM_WINDOWPOSCHANGED 71/g -s/CYCLE 72 /WM_POWER 72/g -s/CYCLE 74 /WM_COPYDATA 74/g -s/CYCLE 75 /WM_CANCELJOURNAL 75/g -s/CYCLE 78 /WM_NOTIFY 78/g -s/CYCLE 80 /WM_INPUTLANGCHANGEREQUEST 80/g -s/CYCLE 81 /WM_INPUTLANGCHANGE 81/g -s/CYCLE 82 /WM_TCARD 82/g -s/CYCLE 83 /WM_HELP 83/g -s/CYCLE 84 /WM_USERCHANGED 84/g -s/CYCLE 85 /WM_NOTIFYFORMAT 85/g -s/CYCLE 123 /WM_CONTEXTMENU 123/g -s/CYCLE 124 /WM_STYLECHANGING 124/g -s/CYCLE 125 /WM_STYLECHANGED 125/g -s/CYCLE 126 /WM_DISPLAYCHANGE 126/g -s/CYCLE 127 /WM_GETICON 127/g -s/CYCLE 128 /WM_SETICON 128/g -s/CYCLE 129 /WM_NCCREATE 129/g -s/CYCLE 130 /WM_NCDESTROY 130/g -s/CYCLE 131 /WM_NCCALCSIZE 131/g -s/CYCLE 132 /WM_NCHITTEST 132/g -s/CYCLE 133 /WM_NCPAINT 133/g -s/CYCLE 134 /WM_NCACTIVATE 134/g -s/CYCLE 135 /WM_GETDLGCODE 135/g -s/CYCLE 136 /WM_SYNCPAINT 136/g -s/CYCLE 160 /WM_NCMOUSEMOVE 160/g -s/CYCLE 161 /WM_NCLBUTTONDOWN 161/g -s/CYCLE 162 /WM_NCLBUTTONUP 162/g -s/CYCLE 163 /WM_NCLBUTTONDBLCLK 163/g -s/CYCLE 164 /WM_NCRBUTTONDOWN 164/g -s/CYCLE 165 /WM_NCRBUTTONUP 165/g -s/CYCLE 166 /WM_NCRBUTTONDBLCLK 166/g -s/CYCLE 167 /WM_NCMBUTTONDOWN 167/g -s/CYCLE 168 /WM_NCMBUTTONUP 168/g -s/CYCLE 169 /WM_NCMBUTTONDBLCLK 169/g -s/CYCLE 171 /WM_NCXBUTTONDOWN 171/g -s/CYCLE 172 /WM_NCXBUTTONUP 172/g -s/CYCLE 173 /WM_NCXBUTTONDBLCLK 173/g -s/CYCLE 256 /WM_KEYDOWN 256/g -s/CYCLE 256 /WM_KEYFIRST 256/g -s/CYCLE 257 /WM_KEYUP 257/g -s/CYCLE 258 /WM_CHAR 258/g -s/CYCLE 259 /WM_DEADCHAR 259/g -s/CYCLE 260 /WM_SYSKEYDOWN 260/g -s/CYCLE 261 /WM_SYSKEYUP 261/g -s/CYCLE 262 /WM_SYSCHAR 262/g -s/CYCLE 263 /WM_SYSDEADCHAR 263/g -s/CYCLE 264 /WM_KEYLAST 264/g -s/CYCLE 272 /WM_INITDIALOG 271/g -s/CYCLE 273 /WM_COMMAND 273/g -s/CYCLE 274 /WM_SYSCOMMAND 274/g -s/CYCLE 275 /WM_TIMER 275/g -s/CYCLE 276 /WM_HSCROLL 276/g -s/CYCLE 277 /WM_VSCROLL 277/g -s/CYCLE 278 /WM_INITMENU 278/g -s/CYCLE 279 /WM_INITMENUPOPUP 279/g -s/CYCLE 287 /WM_MENUSELECT 287/g -s/CYCLE 288 /WM_MENUCHAR 288/g -s/CYCLE 289 /WM_ENTERIDLE 289/g -s/CYCLE 290 /WM_MENURBUTTONUP 290/g -s/CYCLE 306 /WM_CTLCOLORMSGBOX 306/g -s/CYCLE 307 /WM_CTLCOLOREDIT 307/g -s/CYCLE 308 /WM_CTLCOLORLISTBOX 308/g -s/CYCLE 309 /WM_CTLCOLORBTN 309/g -s/CYCLE 310 /WM_CTLCOLORDLG 310/g -s/CYCLE 311 /WM_CTLCOLORSCROLLBAR 311/g -s/CYCLE 312 /WM_CTLCOLORSTATIC 312/g -s/CYCLE 512 /WM_MOUSEMOVE 512/g -s/CYCLE 512 /WM_MOUSEFIRST 512/g -s/CYCLE 513 /WM_LBUTTONDOWN 513/g -s/CYCLE 514 /WM_LBUTTONUP 514/g -s/CYCLE 515 /WM_LBUTTONDBLCLK 515/g -s/CYCLE 516 /WM_RBUTTONDOWN 516/g -s/CYCLE 517 /WM_RBUTTONUP 517/g -s/CYCLE 518 /WM_RBUTTONDBLCLK 518/g -s/CYCLE 519 /WM_MBUTTONDOWN 519/g -s/CYCLE 520 /WM_MBUTTONUP 520/g -s/CYCLE 521 /WM_MBUTTONDBLCLK 521/g -s/CYCLE 522 /WM_MOUSEWHEEL 522/g -s/CYCLE 522 /WM_MOUSELAST 522/g -s/CYCLE 523 /WM_XBUTTONDOWN 523/g -s/CYCLE 524 /WM_XBUTTONUP 524/g -s/CYCLE 525 /WM_XBUTTONDBLCLK 525/g -s/CYCLE 525 /WM_MOUSELAST 525/g -s/CYCLE 528 /WM_PARENTNOTIFY 528/g -s/CYCLE 529 /WM_ENTERMENULOOP 529/g -s/CYCLE 530 /WM_EXITMENULOOP 530/g -s/CYCLE 531 /WM_NEXTMENU 531/g -s/CYCLE 531 /WM_NEXTMENU 531/g -s/CYCLE 532 /WM_SIZING 532/g -s/CYCLE 533 /WM_CAPTURECHANGED 533/g -s/CYCLE 534 /WM_MOVING 534/g -s/CYCLE 536 /WM_POWERBROADCAST 536/g -s/CYCLE 537 /WM_DEVICECHANGE 537/g -s/CYCLE 544 /WM_MDICREATE 544/g -s/CYCLE 545 /WM_MDIDESTROY 545/g -s/CYCLE 546 /WM_MDIACTIVATE 546/g -s/CYCLE 547 /WM_MDIRESTORE 547/g -s/CYCLE 548 /WM_MDINEXT 548/g -s/CYCLE 549 /WM_MDIMAXIMIZE 549/g -s/CYCLE 550 /WM_MDITILE 550/g -s/CYCLE 551 /WM_MDICASCADE 551/g -s/CYCLE 552 /WM_MDIICONARRANGE 552/g -s/CYCLE 553 /WM_MDIGETACTIVE 553/g -s/CYCLE 560 /WM_MDISETMENU 560/g -s/CYCLE 561 /WM_ENTERSIZEMOVE 561/g -s/CYCLE 562 /WM_EXITSIZEMOVE 562/g -s/CYCLE 563 /WM_DROPFILES 563/g -s/CYCLE 564 /WM_MDIREFRESHMENU 564/g -s/CYCLE 768 /WM_CUT 768/g -s/CYCLE 769 /WM_COPY 769/g -s/CYCLE 770 /WM_PASTE 770/g -s/CYCLE 771 /WM_CLEAR 771/g -s/CYCLE 772 /WM_UNDO 772/g -s/CYCLE 773 /WM_RENDERFORMAT 773/g -s/CYCLE 774 /WM_RENDERALLFORMATS 774/g -s/CYCLE 775 /WM_DESTROYCLIPBOARD 775/g -s/CYCLE 776 /WM_DRAWCLIPBOARD 776/g -s/CYCLE 777 /WM_PAINTCLIPBOARD 777/g -s/CYCLE 778 /WM_VSCROLLCLIPBOARD 778/g -s/CYCLE 779 /WM_SIZECLIPBOARD 779/g -s/CYCLE 780 /WM_ASKCBFORMATNAME 780/g -s/CYCLE 781 /WM_CHANGECBCHAIN 781/g -s/CYCLE 782 /WM_HSCROLLCLIPBOARD 782/g -s/CYCLE 783 /WM_QUERYNEWPALETTE 783/g -s/CYCLE 784 /WM_PALETTEISCHANGING 784/g -s/CYCLE 785 /WM_PALETTECHANGED 785/g -s/CYCLE 786 /WM_HOTKEY 786/g -s/CYCLE 791 /WM_PRINT 791/g -s/CYCLE 792 /WM_PRINTCLIENT 792/g -s/CYCLE 794 /WM_THEMECHANGED 794/g -s/CYCLE 856 /WM_HANDHELDFIRST 856/g -s/CYCLE 863 /WM_HANDHELDLAST 863/g -s/CYCLE 864 /WM_AFXFIRST 864/g -s/CYCLE 895 /WM_AFXLAST 895/g -s/CYCLE 896 /WM_PENWINFIRST 896/g -s/CYCLE 911 /WM_PENWINLAST 911/g -s/CYCLE 1024 /WM_USER 1024/g -s/CYCLE 32768 /WM_APP 32768/g -s/CYCLE 0x0123 /WM_MENUDRAG 0x0123/g -s/CYCLE 0x0124 /WM_MENUGETOBJECT 0x0124/g -s/CYCLE 0x0125 /WM_UNINITMENUPOPUP 0x0125/g -s/CYCLE 0x0126 /WM_MENUCOMMAND 0x0126/g -s/CYCLE 0x02A0 /WM_NCMOUSEHOVER 0x02A0/g -s/CYCLE 0x02A2 /WM_NCMOUSELEAVE 0x02A2/g -s/CYCLE 0x2A1 /WM_MOUSEHOVER 0x2A1/g -s/CYCLE 0x2A3 /WM_MOUSELEAVE 0x2A3/g -s/NEW EVENT WM_LBUTTONUP 514/\n\n\n\n******************************* NEW EVENT COMBO ON WM_LBUTTONUP 514 ***********************************/g -#state Formats -s/STATE 1/WA_ACTIVE (1) - deactivate (lParam)/g -s/STATE 2/WA_CLICKACTIVE (2) - deactivate (lParam) /g -s/STATE 0/WA_INACTIVE (0) - activate (lParam)/g -#window styles -s/Extended Style 16/WS_EX_ACCEPTFILES 16/g -s/Extended Style 262144/WS_EX_APPWINDOW 262144/g -s/Extended Style 512/WS_EX_CLIENTEDGE 512/g -s/Extended Style 33554432/WS_EX_COMPOSITED 33554432/g -s/Extended Style 1024/WS_EX_CONTEXTHELP 1024/g -s/Extended Style 65536/WS_EX_CONTROLPARENT 65536/g -s/Extended Style 16384/WS_EX_LEFTSCROLLBAR 16384/g -s/Extended Style 134217728/WS_EX_NOACTIVATE 134217728/g -s/Extended Style 1048576/WS_EX_NOINHERITLAYOUT 1048576/g -s/Extended Style 4/WS_EX_NOPARENTNOTIFY 4/g -s/Extended Style 392/WS_EX_PALETTEWINDOW 392/g -s/Extended Style 768/WS_EX_OVERLAPPEDWINDOW 768/g -s/Extended Style 4096/WS_EX_RIGHT 4096/g -s/Extended Style 0/WS_EX_RIGHTSCROLLBAR 0/g -s/Extended Style 131072/WS_EX_STATICEDGE 131072/g -s/Extended Style 32/WS_EX_TRANSPARENT 32/g -s/Extended Style 256/WS_EX_WINDOWEDGE 256/g -s/Extended Style 128/WS_EX_TOOLWINDOW 128/g -# size flags -s/SIZE_FLAG is 4/SIZE_MAXHIDE (4)/g -s/SIZE_FLAG is 2/SIZE_MAXIMIZED (2)/g -s/SIZE_FLAG is 3/SIZE_MAXSHOW (3)/g -s/SIZE_FLAG is 1/SIZE_MINIMIZED (1)/g -s/SIZE_FLAG is 0/SIZE_RESTORED (0)/g -# Event Type -s/EventType 0/NSLeftMouseDown/g -s/EventType 1/NSLeftMouseUp/g -s/EventType 2/NSOtherMouseDown/g -s/EventType 3/NSOtherMouseUp/g -s/EventType 4/NSRightMouseDown/g -s/EventType 5/NSRightMouseUp/g -s/EventType 6/NSMouseMoved/g -s/EventType 7/NSLeftMouseDragged/g -s/EventType 8/NSOtherMouseDragged/g -s/EventType 9/NSRightMouseDragged/g -s/EventType 10/NSMouseEntered/g -s/EventType 11/NSMouseExited/g -s/EventType 12/NSKeyDown/g -s/EventType 13/NSKeyUp/g -s/EventType 14/NSFlagsChanged/g -s/EventType 15/NSAppKitDefined/g -s/EventType 16/NSSystemDefined/g -s/EventType 17/NSApplicationDefined/g -s/EventType 18/NSPeriodic/g -s/EventType 19/NSCursorUpdate/g -s/EventType 20/NSScrollWheel/g -#show window -s/SW_FLAG 4/SW_OTHERUNZOOM 4/g -s/SW_FLAG 2/SW_OTHERZOOM 2/g -s/SW_FLAG 1/SW_PARENTCLOSING 1/g -s/SW_FLAG 3/SW_PARENTOPENING 3/g -s/SW_FLAG 0/ZERO 0/g -#Gnustep state flags -s/MENU item state is 0/NSOffState 0/g -s/MENU item state is 1/NSOnState 1/g -s/MENU item state is -1/NSMixedState -1/g -# -#GS eventTypes -# -s/GSMouse_EVENT 0/NSLeftMouseDown 0/g -#s/GSMouse_EVENT 1/NSLeftMouseUp 1/g -s/GSMouse_EVENT 2/NSOtherMouseDown 2/g -s/GSMouse_EVENT 3/NSOtherMouseUp 3/g -s/GSMouse_EVENT 4/NSRightMouseDown 4/g -#s/GSMouse_EVENT 5/NSRightMouseUp 5/g -s/GSMouse_EVENT 6/NSMouseMoved 6/g -s/GSMouse_EVENT 7/NSLeftMouseDragged 7/g -s/GSMouse_EVENT 8/NSOtherMouseDragged 8/g -s/GSMouse_EVENT 9/NSRightMouseDragged 9/g -s/GSMouse_EVENT 10/NSMouseEntered 10/g -s/GSMouse_EVENT 11/NSMouseExited 11/g -s/GSKeyboard_EVENT 12/NSKeyDown 12/g -s/GSKeyboard_EVENT 13/NSKeyUp 13/g -s/GS_EVENT 14/NSFlagsChanged 14/g -s/GS_EVENT 15/NSAppKitDefined 15/g -s/GS_EVENT 16/NSSystemDefined 16/g -s/GS_EVENT 17/NSApplicationDefined 17/g -s/GS_EVENT 18/NSPeriodic 18/g -s/GS_EVENT 19/NSCursorUpdate 19/g -s/GS_EVENT 20/NSScrollWheel 20/g -# -#GS_SUBTYPES -# -s/GS_SUBTYPE 1/GSAppKitWindowMoved 1/g -s/GS_SUBTYPE 2/GSAppKitWindowResized 2/g -s/GS_SUBTYPE 3/GSAppKitWindowClose 3/g -s/GS_SUBTYPE 4/GSAppKitWindowMiniaturize 4/g -s/GS_SUBTYPE 5/GSAppKitWindowFocusIn 5/g -s/GS_SUBTYPE 6/GSAppKitWindowFocusOut 6/g -s/GS_SUBTYPE 7/GSAppKitWindowLeave 7/g -s/GS_SUBTYPE 8/GSAppKitWindowEnter 8/g -s/GS_SUBTYPE 9/GSAppKitDraggingEnter 9/g -s/GS_SUBTYPE 10/GSAppKitDraggingUpdate 10/g -s/GS_SUBTYPE 11/GSAppKitDraggingStatus 11/g -s/GS_SUBTYPE 12/GSAppKitDraggingExit 12/g -s/GS_SUBTYPE 13/GSAppKitDraggingDrop 13/g -s/GS_SUBTYPE 14/GSAppKitDraggingFinished 14/g -# -# syscommand params -# -s/SYSTEM MENU REQUESTED 0xF060/SC_CLOSE 0xF060/g -s/SYSTEM MENU REQUESTED 0xF180/SC_CONTEXTHELP 0xF180/g -s/SYSTEM MENU REQUESTED 0xF150/SC_HOTKEY 0xF150/g -s/SYSTEM MENU REQUESTED 0xF080/SC_HSCROLL 0xF080/g -s/SYSTEM MENU REQUESTED 0xF100/SC_KEYMENU 0xF100/g -s/SYSTEM MENU REQUESTED 0xF030/SC_MAXIMIZE 0xF030/g -s/SYSTEM MENU REQUESTED 0xF020/SC_MINIMIZE 0xF020/g -s/SYSTEM MENU REQUESTED 0xF170/SC_MONITORPOWER 0xF170/g -s/SYSTEM MENU REQUESTED 0xF090/SC_MOUSEMENU 0xF090/g -s/SYSTEM MENU REQUESTED 0xF010/SC_MOVE 0xF010/g -s/SYSTEM MENU REQUESTED 0xF040/SC_NEXTWINDOW 0xF040/g -s/SYSTEM MENU REQUESTED 0xF050/SC_PREVWINDOW 0xF050/g -s/SYSTEM MENU REQUESTED 0xF120/SC_RESTORE 0xF120/g -s/SYSTEM MENU REQUESTED 0xF140/SC_SCREENSAVE 0xF140/g -s/SYSTEM MENU REQUESTED 0xF000/SC_SIZE 0xF000/g -s/SYSTEM MENU REQUESTED 0xF130/SC_TASKLIST 0xF130/g -s/SYSTEM MENU REQUESTED 0xF070/SC_VSCROLL 0xF070/g - - - -#finalize format -s/+//g -s/*//g -s/#//g -s/=//g -s/ / /g -s/NEW EVENT COMBO ON WM_LBUTTONUP 514/NEW CYCLE/g -s/NEW EVENT/NEW EVENT\n/g -s//\n\n/g -s/\n\n/\n/g - - - - - - - diff --git a/Source/win32/GNUmakefile b/Source/win32/GNUmakefile index 5fd4943..40acd31 100644 --- a/Source/win32/GNUmakefile +++ b/Source/win32/GNUmakefile @@ -44,8 +44,6 @@ win32_C_FILES = \ # The Objective-C source files to be compiled win32_OBJC_FILES = \ WIN32Server.m \ -w32_debug.m \ -w32_notifications.m \ w32_activate.m \ w32_create.m \ w32_general.m \ @@ -54,7 +52,6 @@ w32_text_focus.m \ w32_windowdisplay.m \ w32_GLformat.m \ w32_GLcontext.m \ -GSDisplayServer_details.m \ -include GNUmakefile.preamble diff --git a/Source/win32/GSDisplayServer_details.m b/Source/win32/GSDisplayServer_details.m deleted file mode 100644 index 774eb89..0000000 --- a/Source/win32/GSDisplayServer_details.m +++ /dev/null @@ -1,71 +0,0 @@ -/* WIN32Server - Implements window handling for MSWindows - - Copyright (C) 2005 Free Software Foundation, Inc. - - Written by: Tom MacSween - Date August 2005 - This file is part of the GNU Objective C User Interface Library. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02111 USA. - */ - -#include -#include "w32_events.h" - -@implementation GSDisplayServer (GSDisplayServer_details) - -- (int) eventQueCount -{ - return [event_queue count]; -} - -- (NSMutableString *) dumpQue:(int)acount -{ - NSMutableString * output; - int i=0; - int c=[event_queue count]; - - output = [NSMutableString stringWithCapacity: 1024]; - [output appendString: @"Dumping "]; - if (acount >=c || acount==0) - acount=c; - else - c=acount; - - if (c==0) - { - [output appendString:@"0 Events Que is empty\n"]; - return output; - } - - [output appendFormat:@"%d From the EventQue\n-> ", c]; - - for (i=0;i " - , i, [(NSEvent *)[event_queue objectAtIndex:i] type]]; - } - [output appendString:@"\n"]; - return output; - -} - -- (void) clearEventQue -{ - [event_queue removeAllObjects]; -} - -@end diff --git a/Source/win32/RELEASE_NOTES b/Source/win32/RELEASE_NOTES deleted file mode 100644 index 428e4f0..0000000 --- a/Source/win32/RELEASE_NOTES +++ /dev/null @@ -1,233 +0,0 @@ - CYGWIN 1.5.17(0.129/4/2) or higher - CYGWIN CYGWIN_NT-5.1 - CYGWIN 2005-05-25 19:38 - -September 29, 2005 - Fixed in this release: - - fixed a compile errors when the debug flags were activated - - Removed Detailed Documentation that was mistakenly release in august - - backend now reads and writes correctly to the defaults db - - New Features: - - Fully impliment window style mapping to allow for native win32 look. - The Main menu still looks like the standard GNUstep menu sence it is unique to - Gnustep. All other window look and act like win32 windows - - GSUseWMTaskbar is now working correctly, and I have also added another defaults flag - called GSUseWMStyles which tells cygwin what style of windows it should use. - - There is now a small configure panel which can be accessed in the app menu - under info -> server Preferneces. This will allow you to select win32 style windows, - Gnustep style window, or a combination of each if you like. - - All of the notification related code has been moved to w32_notifications.m - inorder to keep it in one place for managability. - - - Future release: - - complete context menu handling - - More robust window registration under win32. - - Parent - child window mapping down to the win32 level. This should give access - to more events and improve server to server communication, and hopfully - get a step closer to native evwent handling. - - display of custom app icons on the taskbar. - - Rect tracing when resizing windows - - log file manager; this is allready in progress but not ready for release - - integration with GSWorkspace - - re impliment keyboard events so that cut copy past and other key equivilents work - - PLEASE try it out and send FEEDBACK - - Tom MacSween - macsweent@sympatico.ca - -August 22, 2005 - - - Project OverView: - I started this to simply fix the display of toolbars under cygwin... - Well I wound up doing a whole lot more: - - Fixed in this release - view resizing issues related to toolbars and minimizing of windows - - application hiding - main menu has a taskbar icon everything else hides - - Menu positioning bug - on activate after a hide - menu now does what it should - - App windows - now have a named taskbar icon - - window styles mapping - completed but not implimented; A future release will - support native win32 decorations. - - tear off Menus - now have a close button and an icon on the taskbar - - Context Menu - working much better not fully completed but very usable - - notifications - backend now receives key notifications from the App that it is - displaying. see details view for more info. - - structure - backend is more managable with event type catagories. - It will also support subclassing more easily. - Positioned for a native backend implimentation (future) - Other window evwnts not currently managed are stubbed and ready for - a future release - - debugging - with the right defines the backend will produce rich and readable - log files. See detail in the details view - - - - details view: - - Styles are mapped between the two systems note that this release does not - utilize them but I have left them here for a future release. - - I have also removed the check for useWMTaskBar in this release. behavior is native - win32 - at this point I do not have gworkspace running under cygwin so it is not - relivant. - - I do not use the handlesWindowDecorations in my code but it is still set for use - by the original code. I have not changed current inplimentation of mouse or keyboard - events. - - The WM_SETTEXT is removed from the event loop. win32 will handle this nicely for us. - It will give us nice taskbar icons with window titles! - - Window events are not posted - window events are either handled directly by the server - or are sent directly to the window that they were called on using: - - [EVENT_WINDOW(hwnd) sendEvent:anEvent] - - This fixes any issues with view related display problems... like toolbars for example. - Mouse and Keyboard events are posted and qued as usual. - - - New debug features: controls are found in w32_config.h - - #define _logging - use to log messages to NSDebuglog - - define any of these at compile time or uncomment them in the w32_config.h - and get a bucket to catch stdout! - - note: do not divert the out put from these next defines to NSDebuglog - there is so much data that it will clog the works. - I also do not recommend these be used unless you are debugging - the back end - #define __W32_debug__ - activate the debug code in the main event server - output is to standard out only - - #define __W32_debug_Event_loop - special flag for event loops and counts all posted events are - displayed in the log file. - __W32_debug__ must be defined for this to work - output is to standard out only - - #define __STATE (YES or NO) - when set to yes, events that are not currently implimented but monitered - in the event loop will be included in the log output - __W32_debug__ must be defined for this to work - output is to standard out only - - Event_format.sed - pipe the output through sed with this file and it will clean up the - output and make it more reader friendly. - - - Notifications: - - The backend now has better communication between it and the application. - A display server needs to know what the app is doing in order to manage the - task of displaying windows for it. To that end the backend is registerd for - the following notifications: - - NSApplicationWillHideNotification - Catch the hide event and set flags so that the backend will defer - to the native server (winxp NT or 9x) and allow the App to hide. - - NSApplicationWillFinishLaunching - registered but not utilized at this point (planned future development) - - NSApplicationDidFinishLaunching - Catch the main menu and finalize its setup for use in the win32 - environment. I have used some native win32 code here to accomplish - this task. In future other tasks could also be carried out here. - - NSWindowWillMiniaturizeNotification - Basically this is done for the same reason as catching the hide. - Set flags so that the backend will defer to the native server - (winxp NT or 9x) and allow the window to miniturize without disturbing - the views that it contains. - - The next two Notifications are custom and unique to the win32 server and - are implimented to manage specific menu events. I have overriden two internal - NSMenu methods so that the notifications get sent. See notes on overrides. - - NSMenuWillTearOff - Set the win32 style on the menu window so that it will display an icon on - the taskbar with a title. A tear of menu will always have a title that - looks like: 'MENU submenu title' this makes it easy to find a tear off menu - that could be hidden under any number of other windows. - - NSMenuwillPopUP - This allows the backend to setup and manage the behavior of a context - menu in the win32 environment. This is not fully implimented but the - behavior of the context menu is greatly improved. More work will be done - on this in s future release. - - Note: when debug is active (#define __W32_debug__) the server will register for all - NSWindow notifications and some NSView notifications. Helps to show where - appevents and server events are happening relitive to each other. - these are all dumpted to a formatter for display in the log output. - - Overrides of key methods: - - In order the get the behavior I wanted the following methods from NSMenu - have been overriden: - - - (void) _rightMouseDisplay: (NSEvent*)theEvent; - Modified by override to send NSMenuwillPopUP notification to the server. - - - (void) setTornOff: (BOOL)flag; - Modified by override to send NSMenuWillTearOff notification to the server - - code Organization: - - The code has been restructured to allow for more flexibility, managability and - future development. The main event code is organized as catagories of - WIN32Server in the following files: - - w32_config.h: manage all of the defines need to control the debug output - w32_debug.m: all of the main debug log generation is done here - GSDisplayServer_details.m: (special catagory for debug hooks) - - WIN32Server.m: main entry point for event handling - - w32_Events.h: declarations of catagories and methods implimented in - the follow files (see the code for more details) - - w32_activate.m - w32_create.m - w32_debug.m - w32_general.m - w32_movesize.m - w32_text_focus.m - w32_windowdisplay.m - - - - diff --git a/Source/win32/WIN32Server.m b/Source/win32/WIN32Server.m index 19fbdb7..257d4f6 100644 --- a/Source/win32/WIN32Server.m +++ b/Source/win32/WIN32Server.m @@ -52,24 +52,16 @@ #ifdef HAVE_WGL #include "win32/WIN32OpenGL.h" #endif -#include "w32_config.h" #ifdef __CYGWIN__ #include #endif -static NSString * Version =@"(C) 2005 FSF gnustep-back 0.10.1"; -// custom event notifications -static NSString *NSMenuWillTearOff = @"MenuWillTearOff"; -static NSString *NSMenuwillPopUP =@"MenuwillPopUP"; -static NSString *NSWindowDidCreateWindow =@"WindowDidCreateWindow"; static NSEvent *process_key_event(WIN32Server *svr, HWND hwnd, WPARAM wParam, LPARAM lParam, NSEventType eventType); static NSEvent *process_mouse_event(WIN32Server *svr, HWND hwnd, WPARAM wParam, LPARAM lParam, NSEventType eventType); -//static BOOL HAVE_MAIN_MENU = NO; -static BOOL handlesWindowDecorations = NO; static void validateWindow(WIN32Server *svr, HWND hwnd, RECT rect); @@ -78,7 +70,25 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, @implementation WIN32Server -// server opts +- (BOOL) handlesWindowDecorations +{ + return handlesWindowDecorations; +} + +- (void) setHandlesWindowDecorations: (BOOL) b +{ + handlesWindowDecorations = b; +} + +- (BOOL) usesNativeTaskbar +{ + return usesNativeTaskbar; +} + +- (void) setUsesNativeTaskbar: (BOOL) b +{ + usesNativeTaskbar = b; +} - (void) callback: (id) sender @@ -142,21 +152,10 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, dequeue: (BOOL)flag { [self callback: nil]; -#ifdef __W32_debug_Event_loop - NSEvent * theEvent = [super getEventMatchingMask: mask - beforeDate: limit - inMode: mode - dequeue: flag]; - - printf("Got EventType %d\n", [theEvent type]); - return theEvent; -#else - return [super getEventMatchingMask: mask beforeDate: limit inMode: mode dequeue: flag]; -#endif } - (void) discardEventsMatchingMask: (unsigned)mask @@ -173,42 +172,13 @@ LRESULT CALLBACK MainWndProc(HWND hwnd, UINT uMsg, /* Initialize AppKit backend */ + (void) initializeBackend { - -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("############## + (void)initializeBackend ##########################\n"); -printf("\n\n##############################################################\n"); -#endif - - NSUserDefaults *defs; - NSDebugLog(@"Initializing GNUstep win32 backend.\n"); - defs = [NSUserDefaults standardUserDefaults]; - if ([defs objectForKey: @"GSBackHandlesWindowDecorations"]) - { - handlesWindowDecorations = - [defs boolForKey: @"GSBackHandlesWindowDecorations"]; - } - else - { - if ([defs objectForKey: @"GSWIN32HandlesWindowDecorations"]) - { - handlesWindowDecorations = - [defs boolForKey: @"GSWINHandlesWindowDecorations"]; - } - } + [GSDisplayServer setDefaultServerClass: [WIN32Server class]]; - //Flag to handle main menu window type -- parent of other menu windows } - (void) _initWin32Context { - -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("############## - (void) _initWin32Context ##########################\n"); -printf("\n\n##############################################################\n"); -#endif WNDCLASSEX wc; hinstance = (HINSTANCE)GetModuleHandle(NULL); @@ -243,12 +213,6 @@ printf("\n\n##############################################################\n"); { NSRunLoop *currentRunLoop = [NSRunLoop currentRunLoop]; -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("##- (void) setupRunLoopInputSourcesForMode: (NSString*)mode #######\n"); -printf("\n\n##############################################################\n"); -#endif - #ifdef __CYGWIN__ int fdMessageQueue; #define WIN_MSG_QUEUE_FNAME "/dev/windows" @@ -277,584 +241,71 @@ printf("\n\n##############################################################\n"); */ - (id) initWithAttributes: (NSDictionary *)info { -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("##initWithAttributes: (NSDictionary *)info #######\n"); -printf("\n\n##############################################################\n"); -#endif - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - - [self _initWin32Context]; - [super initWithAttributes: info]; +// NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - [self setupRunLoopInputSourcesForMode: NSDefaultRunLoopMode]; - [self setupRunLoopInputSourcesForMode: NSConnectionReplyMode]; - [self setupRunLoopInputSourcesForMode: NSModalPanelRunLoopMode]; - [self setupRunLoopInputSourcesForMode: NSEventTrackingRunLoopMode]; + self = [super initWithAttributes: info]; - //flags.useWMTaskBar = YES; - //flags.useWMStyles = YES; - - if ([[NSUserDefaults standardUserDefaults] stringForKey: @"GSUseWMTaskbar"] - != nil) - { - flags.useWMTaskBar = [[NSUserDefaults standardUserDefaults] - boolForKey: @"GSUseWMTaskbar"]; - flags.HAVE_SERVER_PREFS = YES; - } - else - { - flags.HAVE_SERVER_PREFS = NO; - } - - if ([[NSUserDefaults standardUserDefaults] stringForKey: @"GSUseWMStyles"] - != nil) - { - flags.useWMStyles = [[NSUserDefaults standardUserDefaults] - boolForKey: @"GSUseWMStyles"]; - flags.HAVE_SERVER_PREFS = YES; - } - else - { - flags.HAVE_SERVER_PREFS = NO; - } - - if (flags.useWMStyles == YES) - { - handlesWindowDecorations = YES; - } - - /* the backend needs to be able to keep tabs on events that - * are only produced by GNUstep so that it can make changes - * or override behavior in favor of the real platform window server - */ - [nc addObserver: self - selector: @selector(ApplicationDidFinishLaunching:) - name: NSApplicationDidFinishLaunchingNotification - object: nil]; - - [nc addObserver: self - selector: @selector(ApplicationWillFinishLaunching:) - name: NSApplicationWillFinishLaunchingNotification - object: nil]; - - [nc addObserver: self - selector: @selector(ApplicationWillHideNotification:) - name: NSApplicationWillHideNotification - object: nil]; - - [nc addObserver: self - selector: @selector(WindowWillMiniaturizeNotification:) - name: NSWindowWillMiniaturizeNotification - object: nil]; - - // register for custom notifications - [nc addObserver: self - selector: @selector(MenuWillTearOff:) - name: NSMenuWillTearOff - object: nil]; - - [nc addObserver: self - selector: @selector(MenuwillPopUP:) - name: NSMenuwillPopUP - object: nil]; - - [nc addObserver: self - selector: @selector(WindowDidCreateWindow:) - name: NSWindowDidCreateWindow - object: nil]; - -#ifdef __APPNOTIFICATIONS__ - [self registerForWindowEvents]; - [self registerForViewEvents]; -#endif - flags.eventQueCount =0; + if(self) + { + [self _initWin32Context]; + [super initWithAttributes: info]; + + [self setupRunLoopInputSourcesForMode: NSDefaultRunLoopMode]; + [self setupRunLoopInputSourcesForMode: NSConnectionReplyMode]; + [self setupRunLoopInputSourcesForMode: NSModalPanelRunLoopMode]; + [self setupRunLoopInputSourcesForMode: NSEventTrackingRunLoopMode]; + + flags.eventQueCount =0; + [self setHandlesWindowDecorations: NO]; + [self setUsesNativeTaskbar: YES]; + + { // Check user defaults + NSUserDefaults *defs; + defs = [NSUserDefaults standardUserDefaults]; + + if ([defs objectForKey: @"GSUseWMStyles"]) + { + NSWarnLog(@"Usage of 'GSUseWMStyles' as user default option is deprecated. " + @"This option will be ignored in future versions. " + @"You should use 'GSBackHandlesWindowDecorations' option."); + [self setHandlesWindowDecorations: ![defs boolForKey: @"GSUseWMStyles"]]; + } + if ([defs objectForKey: @"GSUsesWMTaskbar"]) + { + NSWarnLog(@"Usage of 'GSUseWMTaskbar' as user default option is deprecated. " + @"This option will be ignored in future versions. " + @"You should use 'GSBackUsesNativeTaskbar' option."); + [self setUsesNativeTaskbar: [defs boolForKey: @"GSUseWMTaskbar"]]; + } + + if ([defs objectForKey: @"GSBackHandlesWindowDecorations"]) + { + [self setHandlesWindowDecorations: [defs boolForKey: @"GSBackHandlesWindowDecorations"]]; + } + if ([defs objectForKey: @"GSBackUsesNativeTaskbar"]) + { + [self setUsesNativeTaskbar: [defs boolForKey: @"GSUseNativeTaskbar"]]; + } + } + } return self; } -// required Notification hooks back to the application - -- (void) ApplicationDidFinishLaunching: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - -- (void) ApplicationWillFinishLaunching: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - -- (void) ApplicationWillHideNotification: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - --(void) WindowWillMiniaturizeNotification: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - --(void) MenuWillTearOff: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - --(void) MenuwillPopUP: (NSNotification*)aNotification -{ - [self subclassResponsibility: _cmd]; -} - -// make a configure window for the backend -/* win32 is unique in that it can support both the win32 look and feel or -a openstep look and feel. - -To make it easier to switch between the 2 I have added a small server inspector -panel that will provide access to settings without recompile. - -If main debug feature is on then I can also add access to some of the switches -to control debug output... or log specific event to a log panel. -*/ -- (void) initConfigWindow -{ - unsigned int style = NSTitledWindowMask | NSClosableWindowMask; - NSRect rect; - NSView *content; - NSTextField *theText; - NSTextField *theText2; - - rect = NSMakeRect (715, 800, 236, 182); - configWindow = RETAIN([[NSWindow alloc] initWithContentRect: rect - styleMask: style - backing: NSBackingStoreBuffered - defer: YES]); - [configWindow setTitle: @"server Preferences"]; - [configWindow setReleasedWhenClosed: NO]; - - content = [configWindow contentView]; - theText = [[NSTextField alloc] initWithFrame: NSMakeRect (27, 155, 190, 22)]; - [theText setStringValue: @"Win32 GNUStep Display Server"]; - [theText setEditable: NO]; - [theText setEnabled: NO]; - [theText setSelectable: NO]; - [[theText cell] setBackgroundColor: [NSColor lightGrayColor]]; - [[theText cell] setBordered: NO]; - [[theText cell] setBezeled: NO]; - [content addSubview: theText]; - - /* - NSTextField *theText1; - - theText1 = [[NSTextField alloc] initWithFrame: NSMakeRect (27, 135, 190, 22)]; - [theText1 setStringValue: @"Revitalized By Tom MacSween"]; - [theText1 setEditable: NO]; - [theText1 setEnabled: NO]; - [theText1 setSelectable: NO]; - [[theText1 cell] setBackgroundColor: [NSColor lightGrayColor]]; - [[theText1 cell] setBordered: NO]; - [[theText1 cell] setBezeled: NO]; - [content addSubview: theText1];*/ - - theText2 = [[NSTextField alloc] initWithFrame: NSMakeRect (17, 115, 200, 22)]; - [theText2 setStringValue: Version]; - [theText2 setEditable: NO]; - [theText2 setEnabled: NO]; - [theText2 setSelectable: NO]; - [[theText2 cell] setBackgroundColor: [NSColor lightGrayColor]]; - [[theText2 cell] setBordered: NO]; - [[theText2 cell] setBezeled: NO]; - [content addSubview: theText2]; - - // popup for style - styleButton - = [[NSPopUpButton alloc] initWithFrame: NSMakeRect (30, 80, 171, 22)]; - [styleButton setAutoenablesItems: YES]; - [styleButton setTarget: self]; - [styleButton setAction: @selector(setStyle:)]; - [styleButton setTitle: @"Select window Style"]; - [styleButton addItemWithTitle: @"GNUStep window Style"]; - [styleButton addItemWithTitle: @"MicroSoft window Style"]; - [content addSubview: styleButton]; - - // set the tags on the items - [[styleButton itemAtIndex: 0] setTag: 0]; - [[styleButton itemAtIndex: 1] setTag: 1]; - [[styleButton itemAtIndex: 2] setTag: 2]; - - - // check box for using taskbar - taskbarButton = [[NSButton alloc] initWithFrame: NSMakeRect (30, 55, 171, 22)]; - [taskbarButton setButtonType: NSSwitchButton]; - [taskbarButton setTitle: @"Use Win Taskbar"]; - [taskbarButton setTarget: self]; - [taskbarButton setAction: @selector(setTaskBar:)]; - [content addSubview: taskbarButton]; - // save to defaults - saveButton = [[NSButton alloc] initWithFrame: NSMakeRect (30, 25, 171, 22)]; - [saveButton setButtonType: NSMomentaryPushInButton]; - [saveButton setTitle: @"Save to defaults"]; - [saveButton setTarget: self]; - [saveButton setAction: @selector(setSave:)]; - [content addSubview: saveButton]; - [saveButton setEnabled: NO]; - - - // set the buttons to match the current state - if (flags.useWMStyles == YES) - [styleButton selectItemAtIndex: 2]; - else - [styleButton selectItemAtIndex: 1]; - - if (flags.useWMTaskBar == YES) - [taskbarButton setState: NSOnState]; - else - [taskbarButton setState: NSOffState]; -} - - // config window actions - -- (void) setStyle: (id)sender -{ - //defaults key: GSUseWMStyles - // code flag: flags.useWMStyles - [saveButton setEnabled: YES]; - - if ([[sender selectedItem] tag] > 1) - { - flags.useWMStyles = YES; - flags.useWMTaskBar = YES; - [taskbarButton setState: NSOnState]; - } - else - { - flags.useWMStyles = NO; - flags.useWMTaskBar = NO; - [taskbarButton setState: NSOffState]; - } -} - -- (void) setTaskBar: (id)sender -{ - //defaults key: GSUseWMTaskbar - // code flag: flags.useWMTaskBar - [saveButton setEnabled: YES]; - flags.useWMTaskBar = [sender state]; -} - -- (void) setSave: (id)sender -{ - NSString *theValue = @"NO"; - //NSUserDefaults *defs = [NSUserDefaults standardUserDefaults]; - //printf("Save to defaults\n"); - if (flags.useWMTaskBar == YES) - theValue = @"YES"; - - [[NSUserDefaults standardUserDefaults] - setObject: theValue forKey: @"GSUseWMTaskbar"]; - - theValue = @"NO"; - if (flags.useWMStyles == YES) - theValue = @"YES"; - - [[NSUserDefaults standardUserDefaults] - setObject: theValue forKey: @"GSUseWMStyles"]; - - // user must restart application for changes - - NSRunInformationalAlertPanel(@"Server Preferences Changed", - @"Changes will take affect on the next restart", - @"OK", nil, nil); - flags.HAVE_SERVER_PREFS = YES; - [configWindow close]; - [saveButton setEnabled: NO]; - [[NSUserDefaults standardUserDefaults] synchronize]; -} - -- (void) showServerPrefs: (id)sender -{ - [configWindow makeKeyAndOrderFront: self]; -} - -/* - - when debug is active (#define __W32_debug__) the following - additional notifications are registered for in the backend server. - Helps to show where appevents and server - events are happening relitive to each other - - -NSWindowDidBecomeKeyNotification - Posted whenever an NSWindow becomes the key window. - The notification object is the NSWindow that has become key. - This notification does not contain a userInfo dictionary. - -NSWindowDidBecomeMainNotification - Posted whenever an NSWindow becomes the main window. - The notification object is the NSWindow that has become main. - This notification does not contain a userInfo dictionary. - -NSWindowDidChangeScreenNotification - Posted whenever a portion of an NSWindow’s frame moves onto - or off of a screen. - The notification object is the NSWindow that has changed screens. - This notification does not contain a userInfo dictionary. - This notification is not sent in Mac OS X versions earlier than 10.4. - -NSWindowDidChangeScreenProfileNotification - Posted whenever the display profile for the screen containing the window - changes. - This notification is sent only if the window returns YES from - displaysWhenScreenProfileChanges. This notification may be sent - when a majority of the window is moved to a different screen - (whose profile is also different from the previous screen) or when - the ColorSync profile for the current screen changes. The - notification object is the NSWindow whose profile changed. This - notification does not contain a userInfo dictionary. - - -NSWindowDidDeminiaturizeNotification - Posted whenever an NSWindow is deminiaturized. - The notification object is the NSWindow that has been deminiaturized. This - notification does not contain a userInfo dictionary. - -NSWindowDidEndSheetNotification - Posted whenever an NSWindow closes an attached sheet. - The notification object is the NSWindow that contained the sheet. This - notification does not contain a userInfo dictionary. - -NSWindowDidExposeNotification - Posted whenever a portion of a nonretained NSWindow is exposed, - whether by being ordered in front of other windows or by other - windows being removed from in front of it. The notification - object is the NSWindow that has been exposed. The userInfo - dictionary contains the following information: Key - @"NSExposedRect" Value The rectangle that has been exposed - (NSValue containing an NSRect). - -NSWindowDidMiniaturizeNotification - Posted whenever an NSWindow is miniaturized. - The notification object is the NSWindow that has been miniaturized. This - notification does not contain a userInfo dictionary. - -NSWindowDidMoveNotification - Posted whenever an NSWindow is moved. - The notification object is the NSWindow that has moved. This - notification does not contain a userInfo dictionary. - -NSWindowDidResignKeyNotification - Posted whenever an NSWindow resigns its status as key window. - The notification object is the NSWindow that has resigned its key window - status. This notification does not contain a userInfo dictionary. - -NSWindowDidResignMainNotification - Posted whenever an NSWindow resigns its status as main window. - The notification object is the NSWindow that has resigned its main window - status. This notification does not contain a userInfo dictionary. - -NSWindowDidResizeNotification - Posted whenever an NSWindow’s size changes. - The notification object is the NSWindow whose size has changed. This - notification does not contain a userInfo dictionary. - -NSWindowDidUpdateNotification - Posted whenever an NSWindow receives an update message. - The notification object is the NSWindow that received the update - message. This notification does not contain a userInfo dictionary. - -NSWindowWillBeginSheetNotification - Posted whenever an NSWindow is about to open a sheet. - The notification object is the NSWindow that is about to open the - sheet. This notification does not contain a userInfo dictionary. - -NSWindowWillCloseNotification - Posted whenever an NSWindow is about to close. - The notification object is the NSWindow that is about to close. This - notification does not contain a userInfo dictionary. - -NSWindowWillMiniaturizeNotification - Posted whenever an NSWindow is about to be miniaturized. - The notification object is the NSWindow that is about to be - miniaturized. This notification does not contain a userInfo - dictionary. - -NSWindowWillMoveNotification - Posted whenever an NSWindow is about to move. - The notification object is the NSWindow that is about to move. This - notification does not contain a userInfo dictionary. -*/ - -- (void) registerForWindowEvents -{ - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidDeminiaturizeNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidMiniaturizeNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidBecomeKeyNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidBecomeMainNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidChangeScreenNotification - object: nil]; - - /* - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidChangeScreenProfileNotification - object: nil]; - */ - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidExposeNotification - object: nil]; - - /* - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidEndSheetNotification - object: nil]; - */ - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidMoveNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidResignKeyNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidResignMainNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidResizeNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowDidUpdateNotification - object: nil]; - - /* - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowWillBeginSheetNotification - object: nil]; - */ - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowWillCloseNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSWindowWillMoveNotification - object: nil]; -} - -/* -NSViewBoundsDidChangeNotification - Posted whenever the NSView’s bounds rectangle changes - independently of the frame rectangle, if the NSView is configured - using setPostsBoundsChangedNotifications: to post such - notifications. The notification object is the NSView whose bounds - rectangle has changed. This notification does not contain a - userInfo dictionary. The following methods can result in - notification posting: - - setBounds: - setBoundsOrigin: - setBoundsRotation: - setBoundsSize: - translateOriginToPoint: - scaleUnitSquareToSize: - rotateByAngle: - - Note that the bounds rectangle resizes automatically to track the - frame rectangle. Because the primary change is that of the frame - rectangle, however, setFrame: and setFrameSize: don’t result in - a bounds-changed notification. - - -NSViewFocusDidChangeNotification - Deprecated notification that was posted for an NSView and each of - its descendents (recursively) whenever the frame or bounds - geometry of the view changed. -*/ -- (void) registerForViewEvents -{ - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSViewBoundsDidChangeNotification - object: nil]; - - [nc addObserver: self - selector: @selector(handleNotification:) - name: NSViewFocusDidChangeNotification - object: nil]; -} - - - (void) _destroyWin32Context { - -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("- (void) _destroyWin32Context\n"); -printf("\n\n##############################################################\n"); -#endif - UnregisterClass("GNUstepWindowClass", hinstance); } -/** - -*/ - (void) dealloc { - -#ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("- (void) dealloc\n"); -printf("\n\n##############################################################\n"); -#endif [self _destroyWin32Context]; [super dealloc]; } - (void) restrictWindow: (int)win toImage: (NSImage*)image { - #ifdef __debugServer__ -printf("\n\n##############################################################\n"); -printf("restrictWindow\n"); -printf("\n\n##############################################################\n"); -#endif - - //[self subclassResponsibility: _cmd]; + //TODO [self subclassResponsibility: _cmd]; } - (int) findWindowAt: (NSPoint)screenLocation @@ -1180,36 +631,6 @@ printf("\n\n##############################################################\n"); // main event loop - -- (NSString *) getNativeClassName: (HWND)hwnd -{ - UINT wsize = 80; - unichar windowType[wsize + 1]; - - if (RealGetWindowClassW(hwnd, windowType, wsize) > 0) - { - return [NSString stringWithCharacters: windowType - length: wcslen(windowType)]; - } - - return nil; -} - -- (NSString *) getWindowtext: (HWND)hwnd -{ - int wsize = 80; - unichar windowText[wsize + 1]; - - if (GetWindowTextW(hwnd, windowText, wsize) > 0) - { - return [NSString stringWithCharacters: windowText - length: wcslen(windowText)]; - } - - return nil; -} - - /* * Reset all of our flags before the next run through the event switch * @@ -1239,20 +660,6 @@ printf("\n\n##############################################################\n"); [self setFlagsforEventLoop: hwnd]; -#ifdef __W32_debug__ - if ([self displayEvent: uMsg]== YES) - { - printf("\n\n\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); - printf("+++ NEW EVENT CYCLE %u +++\n", uMsg); - printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); -#ifdef __W32_debug_Event_loop - printf("Events Posted = %d\n", flags.eventQueCount); - printf("EVENT Que Count = %d\n", (int)[GSCurrentServer() eventQueCount]); - printf("%s", [[GSCurrentServer() dumpQue: 10] cString]); -#endif - } -#endif - switch (uMsg) { case WM_SIZING: @@ -1267,7 +674,7 @@ printf("\n\n##############################################################\n"); [self decodeWM_NCACTIVATEParams: wParam : lParam : hwnd]; break; case WM_NCPAINT: - if (flags.useWMStyles == NO) + if ([self handlesWindowDecorations]) [self decodeWM_NCPAINTParams: wParam : lParam : hwnd]; break; //case WM_SHOWWINDOW: @@ -1341,7 +748,7 @@ printf("\n\n##############################################################\n"); case WM_PAINT: [self decodeWM_PAINTParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd]; case WM_SYNCPAINT: - if (flags.useWMStyles == NO) + if ([self handlesWindowDecorations]) [self decodeWM_SYNCPAINTParams: wParam : lParam : hwnd]; break; case WM_CLOSE: @@ -1476,9 +883,6 @@ printf("\n\n##############################################################\n"); default: // Process all other messages. - #ifdef __W32_debug__ - printf("Uhandled message: %d on window %s\n", uMsg, [[GSWindowWithNumber((int)hwnd) className] cString]); - #endif NSDebugLLog(@"NSEvent", @"Got unhandled Message %d for %d", uMsg, hwnd); break; } @@ -1495,14 +899,6 @@ printf("\n\n##############################################################\n"); { [GSCurrentServer() postEvent: ev atStart: NO]; flags.eventQueCount++; -#ifdef __W32_debug__ - if ([ev type]== NSAppKitDefined) - { - printf("uMsg %d ", uMsg); - printf("Post event %s ", [[ev eventNameWithSubtype: YES] cString]); - printf("on window %s\n", [[[ev window] className] cString]); - } -#endif return 0; } /* @@ -1537,12 +933,6 @@ printf("\n\n##############################################################\n"); @implementation WIN32Server (WindowOps) --(BOOL) handlesWindowDecorations -{ - return handlesWindowDecorations; -} - - /* styleMask specifies the receiver's style. It can either be NSBorderlessWindowMask, or it can contain any of the following @@ -1601,7 +991,7 @@ printf("\n\n##############################################################\n"); if ((style & NSMiniaturizableWindowMask) == NSMiniaturizableWindowMask) { - if (flags.useWMTaskBar == YES) + if ([self usesNativeTaskbar]) estyle = WS_EX_APPWINDOW; else estyle = WS_EX_TOOLWINDOW; @@ -1613,16 +1003,6 @@ printf("\n\n##############################################################\n"); r = GSScreenRectToMS(frame, style, self); -#ifdef __debugServer__ - printf("\n\n##############################################################\n"); - printf("handlesWindowDecorations %s\n", handlesWindowDecorations ? "YES" : "NO"); - printf("checking for NSMiniaturizableWindowMask %u\n", (style & NSMiniaturizableWindowMask)); - printf("GS Window Style %u\n", style); - printf("Extended Style %d [hex] %X\n", (int)estyle, (UINT)estyle); - printf("Win32 Style picked %ld [hex] %X\n", wstyle, (unsigned int)wstyle); - printf("\n##############################################################\n"); -#endif - /* * from here down is reused and unmodified from WIN32EventServer.m * which has been removed form the subproject @@ -1659,8 +1039,8 @@ printf("\n\n##############################################################\n"); { DWORD wstyle = [self windowStyleForGSStyle: style]; - NSAssert(handlesWindowDecorations, - @"-stylewindow: : called when handlesWindowDecorations == NO"); + NSAssert([self handlesWindowDecorations], + @"-stylewindow: : called when [self handlesWindowDecorations] == NO"); NSDebugLLog(@"WTrace", @"stylewindow: %d : %d", style, winNum); SetWindowLong((HWND)winNum, GWL_STYLE, wstyle); @@ -1747,7 +1127,7 @@ printf("\n\n##############################################################\n"); { NSDebugLLog(@"WTrace", @"orderwindow: %d : %d : %d", op, otherWin, winNum); - if (flags.useWMTaskBar) + if ([self usesNativeTaskbar]) { /* When using this policy, we make these changes: - don't show the application icon window @@ -1959,7 +1339,7 @@ printf("\n\n##############################################################\n"); - (void) styleoffsets: (float *) l : (float *) r : (float *) t : (float *) b : (unsigned int) style { - if (handlesWindowDecorations) + if ([self handlesWindowDecorations]) { DWORD wstyle = [self windowStyleForGSStyle: style]; RECT rect = {100, 100, 200, 200}; @@ -1989,7 +1369,7 @@ printf("\n\n##############################################################\n"); - (void) setinputstate: (int)state : (int)winNum { - if (handlesWindowDecorations == NO) + if ([self handlesWindowDecorations] == NO) { return; } diff --git a/Source/win32/w32_Events.h b/Source/win32/w32_Events.h index def1862..c09d79e 100644 --- a/Source/win32/w32_Events.h +++ b/Source/win32/w32_Events.h @@ -47,7 +47,6 @@ #include "win32/WIN32Server.h" #include "win32/WIN32Geometry.h" -#include "w32_config.h" @interface WIN32Server (w32_notifications) @@ -126,29 +125,4 @@ @end -@interface WIN32Server (w32_debug) - -- (BOOL) displayEvent: (unsigned int)uMsg; // diagnotic filter -- (void) test_Geomemetry: (HWND)hwnd; -- (void) print_result: (RECT)msrect and: (NSRect)gsrect and: (RECT)control; -- (NSMutableString *) w32_createDetails: (LPCREATESTRUCT)details; -- (NSMutableString *) createWindowDetail: (NSArray *)anArray; -- (NSMutableString *) WindowDetail: (NSWindow *) theWindow; -- (NSMutableString *) MSRectDetails: (RECT)aRect; -- (NSMutableString *) NSRectDetails: (NSRect)aRect; -- (NSMutableString *) gswindowstate: (NSWindow *)theWindow; -- (NSMutableString *) MINMAXDetails: (MINMAXINFO *) mm; -- (NSMutableString *) subViewDetails: (NSWindow *)theWindow; -- (void) handleNotification: (NSNotification*)aNotification; - -@end - -// debug hooks into the GSDisplayServer class -@interface GSDisplayServer (GSDisplayServer_details) -- (int) eventQueCount; -- (NSMutableString *) dumpQue:(int)acount; -- (void) clearEventQue; - -@end - #endif //_W32_EVENTS_h_INCLUDE diff --git a/Source/win32/w32_activate.m b/Source/win32/w32_activate.m index 83f6094..44ef9b2 100644 --- a/Source/win32/w32_activate.m +++ b/Source/win32/w32_activate.m @@ -37,9 +37,6 @@ flags._last_WM_ACTIVATE = LOWORD(wParam); //int minimized = HIWORD(wParam); - - - switch (flags._last_WM_ACTIVATE) { case WA_ACTIVE: //deactivate @@ -62,21 +59,6 @@ default: break; } -#ifdef __WM_ACTIVE__ - BOOL target=NO; - - if ((int)lParam == flags.menuRef) - target=YES; - - printf("RECEIVER [hwnd]%s\n", [[EVENT_WINDOW(hwnd) className] cString]); - printf("ON [lParam]%s\n", [[EVENT_WINDOW(lParam) className] cString]); - - printf("[lParam] %s", [[self gswindowstate:EVENT_WINDOW(lParam)] cString]); - printf("ACTIVATE_FLAG STATE %d \n", flags._last_WM_ACTIVATE); - - printf("[hwnd] %s", [[self gswindowstate:EVENT_WINDOW(hwnd)] cString]); - fflush(stdout); -#endif return 0; } @@ -132,30 +114,12 @@ break; } -#ifdef __WM_ACTIVATEAPP__ - - printf("NSApp is:[%s]\n", active ? "active" : "inactive"); - printf("lParam is [%s]\n thread = [%u]\n w32_Class[%s] \n", - (int)wParam ? "TRUE": "FALSE", - (unsigned int)lParam, - [[self getNativeClassName:hwnd] cString]); - // debug GS_state details - printf("%s", [[self gswindowstate:EVENT_WINDOW(hwnd)] cString]); - printf("%s", [[self gswindowstate:EVENT_WINDOW(wParam)] cString]); - printf("eventHandled=[%s]\n", flags._eventHandled ? "YES" : "NO"); - - printf("REQUESTED STATE %d\n", flags._last_WM_ACTIVATE); - fflush(stdout); -#endif - return 0; } - (void) decodeWM_NCACTIVATEParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { -#ifdef __TESTEVENT__ - printf("WM_NCACTIVATE\n"); -#endif + } @end diff --git a/Source/win32/w32_config.h b/Source/win32/w32_config.h deleted file mode 100644 index fabfee8..0000000 --- a/Source/win32/w32_config.h +++ /dev/null @@ -1,101 +0,0 @@ -/* WIN32Server - Implements window handling for MSWindows - - Copyright (C) 2005 Free Software Foundation, Inc. - - Written By: Tom MacSween - Date August 2005 - This file is part of the GNU Objective C User Interface Library. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 USA. - */ - - -#ifndef _W32_CONFIG_h_INCLUDE -#define _W32_CONFIG_h_INCLUDE - -#define EVENT_WINDOW(lp) (GSWindowWithNumber((int)lp)) - -//#define _logging //use to log messages from our debug code - -//#define __W32_debug_Event_loop //special flag for event loops and counts - -//#define __W32_debug__ // activate the debug code in the main event server -#define __STATE NO - -#ifdef __W32_debug__ // turn on tests for this -#define __SETFOCUS__ -#define __KILLFOCUS__ -#define __SHOWWINDOW__ -#define __WM_ACTIVE__ -#define __WM_ACTIVATEAPP__ -#define __WM_NCACTIVATE__ -#define __WM_NCCREATE__ -#define __WM_CREATE__ -#define __WM_MOVE__ -#define __WM_SIZE__ -#define __PAINT__ -#define __BACKING__ -#define __CLOSE__ -#define __DESTROY__ -#define __ERASEBKGND__ -#define __GETMINMAXINFO__ -#define __EXITSIZEMOVE__ - //#define __APPNOTIFICATIONS__ -#define __SIZING__ - #define __SYSCOMMAND__ - #define __COMMAND__ - #define __MOVING__ - #define __ENTERSIZEMOVE__ - -#define __SETFOCUS_FLAG 1 -#define __ACTIVE_FLAG 1 -#define __CREATE_FLAG 1 -#define __MOVE_FLAG 1 -#define __SIZE_FLAG 1 -#define __SHOWWINDOW_FLAG 1 -#define __KILLFOCUS_FLAG 1 -#define __PAINT_FLAG 1 -#define __CLOSE_FLAG 1 -#define __DESTROY_FLAG 1 -#define __ERASEBKGND_FLAG 1 -#define __GETMINMAXINFO_FLAG 1 -#define __EXITSIZEMOVE_FLAG 1 -#define __SIZING_FLAG 1 - #define __SYSCOMMAND_FLAG 1 - #define __COMMAND_FLAG 1 - #define __MOVING_FLAG 1 - #define __ENTERSIZEMOVE_FLAG 1 -#else -#define __ACTIVE_FLAG 0 -#define __CREATE_FLAG 0 -#define __MOVE_FLAG 0 -#define __SIZE_FLAG 0 -#define __SHOWWINDOW_FLAG 0 -#define __KILLFOCUS_FLAG 0 -#define __SETFOCUS_FLAG 0 -#define __PAINT_FLAG 0 -#define __CLOSE_FLAG 0 -#define __DESTROY_FLAG 0 -#define __ERASEBKGND_FLAG 0 -#define __GETMINMAXINFO_FLAG 0 -#define __EXITSIZEMOVE_FLAG 0 -#define __SIZING_FLAG 0 - #define __SYSCOMMAND_FLAG 0 - #define __COMMAND_FLAG 0 - #define __MOVING_FLAG 0 - #define __ENTERSIZEMOVE_FLAG 0 -#endif - -#endif //_W32_CONFIG_h_INCLUDE diff --git a/Source/win32/w32_create.m b/Source/win32/w32_create.m index 47d289d..aca53cc 100644 --- a/Source/win32/w32_create.m +++ b/Source/win32/w32_create.m @@ -34,16 +34,6 @@ - (LRESULT) decodeWM_NCCREATEParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { - // stubbed for future development - #ifdef __WM_NCCREATE__ - printf("WM_NCCREATE\n"); - #ifdef __W32_debug__ - printf("%s", [[self w32_createDetails:(LPCREATESTRUCT)lParam] cString]); - #endif - printf("\nRequested GS Window Style is %u\n", flags.currentGS_Style); - fflush(stdout); - #endif - return TRUE; } @@ -84,23 +74,6 @@ win->useHDC = NO; } -#ifdef __WM_CREATE__ - printf("WM_CREATE: *********************\n"); -#ifdef __W32_debug__ - printf("%s", [[self w32_createDetails:(LPCREATESTRUCT)lParam] cString]); - fflush(stdout); -#endif - - - printf("Parent isa %s\n", [[self getNativeClassName:GetParent(hwnd)] cString]); - printf("[hwnd]Native WindowType %s\n", [[self getNativeClassName:(HWND)hwnd] cString]); - printf("[hwnd]GS WindowType %s:\n", [[EVENT_WINDOW(hwnd) className] cString]); - printf("HAVE_MAIN_MENU = %s\n", flags.HAVE_MAIN_MENU ? "YES": "NO"); - printf("Main Menu Window Num: %d Currrent window Num: %d\n", - [[[NSApp mainMenu] window] windowNumber], (int)hwnd); - printf("Window Task bar flag %s\n", flags.useWMTaskBar ? "YES" : "NO"); -#endif - return 0; } @end diff --git a/Source/win32/w32_debug.m b/Source/win32/w32_debug.m deleted file mode 100644 index 74f068b..0000000 --- a/Source/win32/w32_debug.m +++ /dev/null @@ -1,356 +0,0 @@ -/* WIN32Server - Implements window handling for MSWindows - - Copyright (C) 2005 Free Software Foundation, Inc. - - Written by: Tom MacSween - Date August 2005 - This file is part of the GNU Objective C User Interface Library. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02111 USA. - */ - -#include "w32_Events.h" - -static NSString * spacer =@"\n"; - -@implementation WIN32Server (w32_debug) - -- (void) test_Geomemetry:(HWND)hwnd -{ - NSRect gsrect; - RECT r; - RECT msrect; - - NSWindow *window = GSWindowWithNumber((int)hwnd); - - GetWindowRect(hwnd, &r); - - printf("*******************testing Conversion \n\n\n"); - printf("MSScreenRectToGS GSScreenRectToMS\n"); - gsrect = MSScreenRectToGS(r, [window styleMask], self); - msrect= GSScreenRectToMS(gsrect, [window styleMask], self); - printf("*************************test complete\n\n\n"); - - [self print_result: msrect and: gsrect and: r]; - //TestsDone=YES; -} - -- (void) print_result:(RECT) msrect and:(NSRect) gsrect and:(RECT) control -{ - - printf("MS - Control\n"); - printf("MSrect = left %ld ", control.left); - printf(" top %ld", control.top); - printf(" right %ld", control.right); - printf(" Bottom %ld\n", control.bottom); - - printf("GS - Calculated\n"); - printf("NSRect = height %f width %f ", gsrect.size.height, gsrect.size.width); - printf(" X %f Y %f\n", gsrect.origin.x, gsrect.origin.y); - - printf("MS - Calculated\n"); - printf("MSrect = left %ld ", msrect.left); - printf(" top %ld", msrect.top); - printf(" right %ld", msrect.right); - printf(" Bottom %ld\n", msrect.bottom); -} - -- (BOOL) displayEvent:(unsigned int)uMsg -{ - -#ifdef __W32_debug__ //_logging - //NSDebugLLog(@"NSEvent", @"Got Message %u for %d", uMsg, hwnd); -#endif - - switch (uMsg) - { - case WM_KEYDOWN: return NO; break; //Keyboard events - case WM_KEYUP: return NO; break; - case WM_MOUSEMOVE: return NO; break;// mouse moved events - case WM_NCHITTEST: return NO; break; - case WM_SETCURSOR: return NO; break; - case WM_MOUSEWHEEL: return NO; break; - case WM_LBUTTONDOWN: return YES; break; - case WM_MOUSEACTIVATE: return NO; break; - case WM_CAPTURECHANGED: return NO; break; //related to window -- redraw if needed - case WM_NCMOUSEMOVE: return NO; break; - case WM_RBUTTONDOWN: return YES; break; - case WM_RBUTTONUP: return YES; break; - case WM_NCLBUTTONDOWN: return NO; break; - case WM_NCLBUTTONDBLCLK: return NO; break; - // window events Stubed or Functioning - case WM_SETTEXT: return __STATE; break; - case WM_NCCREATE: return __CREATE_FLAG; break; - case WM_NCCALCSIZE: return __STATE; break; - case WM_NCACTIVATE: return __ACTIVE_FLAG; break; - case WM_NCPAINT: return __STATE; break; - case WM_SHOWWINDOW: return __SHOWWINDOW_FLAG; break; - case WM_NCDESTROY: return __STATE; break; - case WM_GETTEXT: return __STATE; break; - case WM_STYLECHANGING: return __STATE; break; - case WM_STYLECHANGED: return __STATE; break; - case WM_GETMINMAXINFO: return __GETMINMAXINFO_FLAG; break; - case WM_CREATE: return __CREATE_FLAG; break; - case WM_WINDOWPOSCHANGING: return __STATE; break; - case WM_WINDOWPOSCHANGED: return __STATE; break; - case WM_MOVE: return __MOVE_FLAG; break; - case WM_MOVING: return __MOVING_FLAG; break; - case WM_SIZE: return __SIZE_FLAG; break; - case WM_SIZING: return __SIZING_FLAG; break; - case WM_ENTERSIZEMOVE: return __ENTERSIZEMOVE_FLAG; break; - case WM_EXITSIZEMOVE: return __EXITSIZEMOVE_FLAG; break; - case WM_ACTIVATE: return __ACTIVE_FLAG; break; - case WM_ACTIVATEAPP: return __ACTIVE_FLAG; break; - case WM_SETFOCUS: return __SETFOCUS_FLAG; break; - case WM_KILLFOCUS: return __KILLFOCUS_FLAG; break; - //case WM_SETCURSOR: return __STATE; break; - case WM_QUERYOPEN: return __STATE; break; - //case WM_CAPTURECHANGED: return __STATE; break; - case WM_ERASEBKGND: return __ERASEBKGND_FLAG; break; - case WM_PAINT: return __PAINT_FLAG; break; - case WM_SYNCPAINT: return __STATE; break; - case WM_CLOSE: return __CLOSE_FLAG; break; - case WM_DESTROY: return __DESTROY_FLAG; break; - case WM_QUIT: return __STATE; break; - case WM_USER: return __STATE; break; - case WM_APP: return __STATE; break; - case WM_ENTERMENULOOP: return __STATE; break; - case WM_EXITMENULOOP: return __STATE; break; - case WM_INITMENU: return __STATE; break; - case WM_MENUSELECT: return __STATE; break; - case WM_ENTERIDLE: return __STATE; break; - case WM_COMMAND: return __COMMAND_FLAG; break; - case WM_SYSKEYDOWN: return __STATE; break; - case WM_SYSKEYUP: return __STATE; break; - case WM_SYSCOMMAND: return __SYSCOMMAND_FLAG; break; - case WM_HELP: return __STATE; break; - case WM_GETICON: return __STATE; break; - case WM_CANCELMODE: return __STATE; break; - case WM_ENABLE: return __STATE; break; - case WM_CHILDACTIVATE: return __ACTIVE_FLAG; break; - case WM_NULL: return __STATE; break; - case WM_LBUTTONUP: return YES; break; - case WM_PARENTNOTIFY: return __STATE; break; - - default: - return YES; - break; - } -} - -/* -typedef struct tagCREATESTRUCT { - LPVOID lpCreateParams; - HINSTANCE hInstance; - HMENU hMenu; - HWND hwndParent; - int cy; - int cx; - int y; - int x; - LONG style; - LPCTSTR lpszName; - LPCTSTR lpszClass; - DWORD dwExStyle; -} CREATESTRUCT, *LPCREATESTRUCT; -*/ - -- (NSMutableString *) w32_createDetails:(LPCREATESTRUCT)details -{ - NSMutableString * output= [NSMutableString stringWithString: spacer]; - - [output appendString:@"\n\nLPCREATESTRUCT details\n"]; - - [output appendFormat:@"HINSTANCE %p ", details->hInstance]; - - [output appendFormat:@"HMENU %p\n", details->hMenu]; - - - [output appendFormat:@"Creating window: Parent is %s:\n", - [self getNativeClassName: details->hwndParent]]; - - [output appendFormat:@"Co-ordanates: height[%d] width[%d] Pos[%d] Pox[%d]\n", - details->cy, details->cx, details->y, details->x]; - - [output appendFormat: - @"Style %lu Name: %s Win32Class: %s Extended Style %ld\n\n\n", - details->style, details->lpszName, - details->lpszClass, details->dwExStyle]; - [output appendString: spacer]; - - return output; -} - -- (NSMutableString *) createWindowDetail:(NSArray *)anArray -{ - int i =0; - int c=[anArray count]; - - - NSMutableString * output= [NSMutableString stringWithString: spacer]; - - [output appendFormat:@"Application window count is: %d\n", c]; - - for (i=0;iptMaxSize.x, mm->ptMaxSize.y]; - - [output appendFormat:@"ptMaxPosition width[%ld] X height[%ld]\n", - mm->ptMaxPosition.x, mm->ptMaxPosition.y]; - - [output appendFormat:@"ptMinTrackSize width[%ld] X height[%ld]\n", - mm->ptMinTrackSize.x, mm->ptMinTrackSize.y]; - - [output appendFormat:@"ptMaxTrackSize width[%ld] X height[%ld]\n", - mm->ptMaxTrackSize.x, mm->ptMaxTrackSize.y]; - - return output; -} - -- (NSMutableString *) subViewDetails:(NSWindow *)theWindow -{ - NSView * cView=[theWindow contentView]; - NSView * sView=[cView superview]; - NSArray * theViews=[cView subviews]; - unsigned int i=0; - unsigned int c=[theViews count]; - NSView * temp=nil; - NSRect cvRect = [cView frame]; - NSRect svRect = [sView frame]; - NSRect tRect; - NSMutableString * output =[NSMutableString stringWithString: spacer]; - [output appendFormat:@"subView Details for %@\n", [theWindow title]]; - [output appendFormat:@"superRect %@", [self NSRectDetails: svRect]]; - [output appendFormat:@"contentRect %@", [self NSRectDetails: cvRect]]; - - for (i=0;i - Date August 2005 - This file is part of the GNU Objective C User Interface Library. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02111 USA. - */ - - #include "w32_Events.h" - - static NSString *NSMenuWillTearOff = @"MenuWillTearOff"; - static NSString *NSMenuwillPopUP =@"MenuwillPopUP"; - static NSString *NSWindowDidCreateWindow=@"WindowDidCreateWindow"; - -@interface NSMenu (w32Menu) - -- (void) _rightMouseDisplay: (NSEvent*)theEvent; -- (void) setTornOff: (BOOL)flag; -@end - -@implementation NSMenu (w32Menu) - - // fixme to handle context menues better on win32 - // although it works better then it used to, it still - // needs more work. - -- (void) _rightMouseDisplay: (NSEvent*)theEvent -{ - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - NSNotification * popped; - //printf("my menu tarnsient method\n"); - - // need to get hwnd for the window - [self displayTransient]; - // post notification here - popped = [NSNotification - notificationWithName: NSMenuwillPopUP - object: _bWindow - userInfo: nil]; - - [nc postNotification: popped]; - - [_view mouseDown: theEvent]; - [self closeTransient]; - [_bWindow orderOut:self]; -} - -- (void) setTornOff: (BOOL)flag -{ - - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - NSNotification * torn; - NSMenu *supermenu; - - _is_tornoff = flag; - - if (flag) - { - supermenu = [self supermenu]; - if (supermenu != nil) - { - [[supermenu menuRepresentation] setHighlightedItemIndex: -1]; - supermenu->_attachedMenu = nil; - } - - torn = [NSNotification - notificationWithName: NSMenuWillTearOff - object: self - userInfo: nil]; - - [nc postNotification: torn]; - } - [_view update]; -} - -@end - -@interface NSWindow (w32Window) - -- (id) initWithContentRect: (NSRect)contentRect - styleMask: (unsigned int)aStyle - backing: (NSBackingStoreType)bufferingType - defer: (BOOL)flag; - -@end - -@implementation NSWindow (w32Window) - -- (id) initWithContentRect: (NSRect)contentRect - styleMask: (unsigned int)aStyle - backing: (NSBackingStoreType)bufferingType - defer: (BOOL)flag -{ - - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - NSNotification * createdWindow; - id anObject=[self initWithContentRect: contentRect - styleMask: aStyle - backing: bufferingType - defer: flag - screen: nil]; - - createdWindow = [NSNotification - notificationWithName: NSWindowDidCreateWindow - object: self - userInfo: nil]; - - [nc postNotification: createdWindow]; - - return anObject; - -} - -@end - -@implementation WIN32Server (w32_notifications) - -/* - Notification hook from application - The default notification are: - - NSApplicationDidFinishLaunchingNotification - NSApplicationWillFinishLaunchingNotification - NSApplicationWillHideNotification - NSWindowWillMiniaturizeNotification - - Custom Notifications: - NSMenuWillTearOff - NSMenuwillPopUP - - when these are received the Win32 server can now finalize its setup. - other hook can also be set at this point - - syncronize the GS Env with The native Backend so we can use native calls to manage - certain things directly. - */ -- (void) ApplicationWillFinishLaunching: (NSNotification*)aNotification; - { - - } - -- (void) ApplicationDidFinishLaunching: (NSNotification*)aNotification -{ - NSMenu * theMenu = [NSApp mainMenu]; - NSMenu * subMenu; - NSMenuItem * anItem; - LONG result; - // Get our MainMenu window refference: - - flags.menuRef = [[theMenu window] windowNumber]; - flags.HAVE_MAIN_MENU = YES; - - // add an entry in the main menu to bring up the config window - - [self initConfigWindow]; - // if info does not exist add it and create a submenu for it - if ([theMenu itemWithTitle:@"Info"] == nil) - { - anItem = [NSMenuItem new]; - [anItem setTitle: @"Info"]; - [theMenu insertItem: anItem atIndex: 0]; - subMenu = [NSMenu new]; - [theMenu setSubmenu: subMenu forItem: anItem]; - [anItem setEnabled: YES]; - } - - // add 'Server Preference' to the 'Info' item submenu - subMenu = [[theMenu itemWithTitle: @"Info"] submenu]; - [subMenu addItemWithTitle: @"Server Preferences" - action: @selector(showServerPrefs:) - keyEquivalent: nil]; - - anItem = (NSMenuItem *)[subMenu itemWithTitle: @"Server Preferences"]; - [anItem setTarget: self]; - [anItem setEnabled: YES]; - - if (flags.HAVE_SERVER_PREFS == NO) - { - NSRunInformationalAlertPanel(@"Server Preferences Not Set", - @"Please set server Preferences\nlook in " - @"[info]->[Server Preferences]\nto change settings", - @"OK", nil, nil); - - [configWindow makeKeyAndOrderFront: self]; - } - -/* - * reset the style on the main menu panel so when it hides it will - * go the the task bar. I will use WS_EX_Left for this. - * Note that this is native code mixed with GNUStep - */ - if (flags.useWMStyles == YES) - { - ShowWindow((HWND)flags.menuRef, SW_HIDE); - SetLastError(0); - result = SetWindowLong((HWND)flags.menuRef, GWL_EXSTYLE, (LONG)WS_EX_LEFT); - // should check error here... - result = SetWindowTextW((HWND)flags.menuRef, - (const unichar*)[[theMenu title] - cStringUsingEncoding: NSUnicodeStringEncoding]); - - ShowWindow((HWND)flags.menuRef, SW_SHOWNORMAL); - - // set app icon image for win32 - } - - - // future implimentation - - #ifdef __WM_ACTIVE__ - printf("reseting menu style\n"); - if (result==0) - { - printf("setting mainMenu Style: Error %ld\n", GetLastError()); - } - fflush(stdout); - #endif -} - -- (void) ApplicationWillHideNotification: (NSNotification*)aNotification -{ - flags.HOLD_MENU_FOR_MOVE=TRUE; - flags.HOLD_MENU_FOR_SIZE=TRUE; - - ReleaseCapture(); // if the mouse is 'stuck' release it - - #ifdef __WM_ACTIVE__ - printf("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU\n"); - printf("got Notification: %s\n", - [[aNotification name] cString]); - fflush(stdout); - #endif -} - --(void) WindowWillMiniaturizeNotification:(NSNotification*)aNotification -{ - flags.HOLD_MINI_FOR_SIZE=TRUE; - flags.HOLD_MINI_FOR_MOVE=TRUE; -} - -- (void) MenuWillTearOff:(NSNotification*)aNotification -{ - LONG result; - NSMutableString * iconTitle =[NSMutableString stringWithString:@"MENU "]; - NSMenu * theMenu=[aNotification object]; - int windowNum =[[theMenu window] windowNumber]; - - ShowWindow((HWND)windowNum, SW_HIDE); - SetLastError(0); - result = SetWindowLong((HWND)windowNum, GWL_EXSTYLE, (LONG)WS_EX_LEFT); - // should check error here... - - // set the icon title - [iconTitle appendString: [theMenu title]]; - result = SetWindowTextW((HWND)windowNum, (const unichar*)[iconTitle - cStringUsingEncoding: NSUnicodeStringEncoding]); - ShowWindow((HWND)windowNum, SW_SHOWNORMAL); - - #ifdef __APPNOTIFICATIONS__ - printf("got menu tear off Notification\n"); - printf("menu title is: %s\n", [[theMenu title] cString]); - #endif -} - -- (void) MenuwillPopUP:(NSNotification*)aNotification -{ - LONG result; - int windowNum=[[aNotification object] windowNumber]; - - ShowWindow((HWND)windowNum, SW_HIDE); - SetLastError(0); - result=SetWindowLong((HWND)windowNum, GWL_EXSTYLE, (LONG)WS_EX_RIGHT); - // should check error here... - - // set the icon title - result = SetWindowText((HWND)windowNum, "Context menu"); - ShowWindow((HWND)windowNum, SW_SHOWNORMAL); - - flags.HOLD_TRANSIENT_FOR_SIZE=TRUE; - flags.HOLD_TRANSIENT_FOR_MOVE=TRUE; - - #ifdef __APPNOTIFICATIONS__ - printf("got menu Popup Notification\n"); - printf("window title is: %s\n", [[[aNotification object] title] cString]); - #endif -} - -- (void) WindowDidCreateWindow:(NSNotification*)aNotification -{ - unsigned int GSStyle; - - NSString * GSClass=[[aNotification object] className]; - // FIXME: Implement this in NSWindow first... - //[[aNotification object] setShowsResizeIndicator:NO]; - // set window style - if ([GSClass isEqual:@"NSMenuPanel"]==YES) - { - GSStyle= [[aNotification object] styleMask]; - //windowNum=[[aNotification object] windowNumber]; - //[self resetForGSWindowStyle:(HWND)windowNum w32Style:w32style]; - //printf("GSClassName %s GS Style %u w32 Style %X\n", [GSClass cString], GSStyle, (UINT)w32style); - } -} -@end - diff --git a/Source/win32/w32_text_focus.m b/Source/win32/w32_text_focus.m index 9214bee..500b392 100644 --- a/Source/win32/w32_text_focus.m +++ b/Source/win32/w32_text_focus.m @@ -79,13 +79,6 @@ } } -#ifdef __SETFOCUS__ - NSDebugLLog(@"Focus", @"Got focus:%d (current = %d, key = %d)", - win_num, currentFocus, key_num); - NSDebugLLog(@"Focus", @" result of focus request"); - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - fflush(stdout); -#endif return 0; } @@ -107,21 +100,11 @@ [EVENT_WINDOW(hwnd) sendEvent:ev]; flags._eventHandled=YES; - -#ifdef __KILLFOCUS__ - NSDebugLLog(@"NSEvent", @"Got Message %s for %d", "KILLFOCUS", hwnd); - NSDebugLLog(@"Focus", @"Got KILLFOCUS (focus out) for %d", hwnd); - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - fflush(stdout); -#endif } - (void) decodeWM_GETTEXTParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { // stub for future dev -#ifdef __TESTEVENT__ - printf("WM_GETTEXT\n"); -#endif } @end diff --git a/Source/win32/w32_windowdisplay.m b/Source/win32/w32_windowdisplay.m index 08e1fb5..6b94097 100644 --- a/Source/win32/w32_windowdisplay.m +++ b/Source/win32/w32_windowdisplay.m @@ -87,7 +87,7 @@ invalidateWindow(WIN32Server *svr, HWND hwnd, RECT rect) DWORD wstyle = 0; - if (flags.useWMStyles==NO) + if ([self handlesWindowDecorations] == NO) return WS_POPUP; switch (style) @@ -140,12 +140,6 @@ invalidateWindow(WIN32Server *svr, HWND hwnd, RECT rect) } //NSLog(@"Window wstyle %d for style %d", wstyle, style); - #ifdef __W32_debug__ - printf("\n\n##############################################################\n"); - printf("GS Window Style %u\n", style); - printf("Win32 Style picked %ld [hex] %X\n", wstyle, (unsigned int)wstyle); - printf("\n\n##############################################################\n"); - #endif return wstyle; } @@ -194,30 +188,15 @@ invalidateWindow(WIN32Server *svr, HWND hwnd, RECT rect) default: break; } - -#ifdef __SHOWWINDOW__ - printf("[wParam] show window %s\n", wParam ? "TRUE" : "FALSE"); - printf("[lParam] requested SW_FLAG %d\n", wParam); - //printf("is Main Menu %d\n", _is_menu); - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - fflush(stdout); -#endif } - (void) decodeWM_NCPAINTParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { -#ifdef __TESTEVENT__ - printf("WM_NCPAINT\n"); -#endif } - (LRESULT) decodeWM_ERASEBKGNDParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { // GS handles this for now... -#ifdef __ERASEBKGND__ - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - fflush(stdout); -#endif return (LRESULT)1; } @@ -251,42 +230,27 @@ invalidateWindow(WIN32Server *svr, HWND hwnd, RECT rect) //flags.HOLD_PAINT_FOR_SIZING=FALSE; //printf("WM_PAINT\n"); -#ifdef __PAINT__ - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - printf("%s", [[self MSRectDetails:rect] cString]); - fflush(stdout); -#endif } - (void) decodeWM_SYNCPAINTParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { // stub for future dev - //#ifdef __TESTEVENT__ - //printf("WM_SYNCPAINT\n"); - //#endif } - (void) decodeWM_CAPTURECHANGEDParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { // stub for future dev -#ifdef __TESTEVENT__ - printf("WM_CAPTURECHANGED\n"); -#endif } - (HICON) decodeWM_GETICONParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { // stub for future dev - - printf("WM_GETICON\n"); - return currentAppIcon; } - (HICON) decodeWM_SETICONParams: (WPARAM)wParam : (LPARAM)lParam : (HWND)hwnd { - printf("WM_SETICON\n"); return currentAppIcon; } @@ -318,14 +282,6 @@ invalidateWindow(WIN32Server *svr, HWND hwnd, RECT rect) ReleaseDC((HWND)hwnd, hdc); } - -#ifdef __BACKING__ - NSDebugLLog(@"NSEvent", @"Change backing store to %d %d", r.right - r.left, r.bottom - r.top); - printf("RESIZING BACKING Store\n"); - printf("%s", [[self WindowDetail:EVENT_WINDOW(hwnd)] cString]); - printf("New Rect: %s", [[self MSRectDetails:r] cString]); - fflush(stdout); -#endif } @end