Changeset 20067


Ignore:
Timestamp:
Dec 18, 2002, 1:28:08 PM (22 years ago)
Author:
sandervl
Message:

removed obsolete files

Location:
tags/trunk/src/user32
Files:
4 added
6 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tags/trunk/src/user32/USER32.DEF

    r19746 r20067  
    1 ; $Id: USER32.DEF,v 1.74 2002-09-03 12:34:00 sandervl Exp $
     1; $Id: USER32.DEF,v 1.75 2002-12-18 12:28:01 sandervl Exp $
    22
    33LIBRARY USER32 INITINSTANCE TERMINSTANCE
     
    203203    DrawTextExW                = _DrawTextExW@24             @167
    204204    DrawTextW                  = _DrawTextW@20               @168
    205     EditWndProc                = _EditWndProc@16             @169
     205    EditWndProc                = _EditWndProcA@16            @169
    206206    EmptyClipboard             = _EmptyClipboard@0           @170
    207207    EnableMenuItem             = _EnableMenuItem@12          @171
  • TabularUnified tags/trunk/src/user32/controls.cpp

    r13384 r20067  
    1 /* $Id: controls.cpp,v 1.10 2000-02-16 14:34:08 sandervl Exp $ */
     1/* $Id: controls.cpp,v 1.11 2002-12-18 12:28:02 sandervl Exp $ */
    22/* File: controls.cpp -- Win32 common controls
    33 *
     
    1313#include "static.h"
    1414#include "scroll.h"
    15 #include "combo.h" //listbox,combo,edit
    1615#include "win32wmdiclient.h"
    1716#include "win32dlg.h"
    1817#include "win32wdesktop.h"
     18#include "win32class.h"
    1919#include "winswitch.h"
    2020#include "icontitle.h"
    2121#include "menu.h"
    2222#include "controls.h"
     23#include "ctrlconf.h"
    2324
    2425#define DBG_LOCALLOG    DBG_controls
     
    5152
    5253  dprintf(("Register LISTBOX class"));
    53   controlAtoms[LISTBOX_CONTROL] = LISTBOX_Register();
     54  controlAtoms[LISTBOX_CONTROL] =
     55          InternalRegisterClass((LPSTR)LISTBOX_builtin_class.name,
     56                                LISTBOX_builtin_class.style,
     57                                LISTBOX_builtin_class.procA,
     58                                LISTBOX_builtin_class.procW,
     59                                LISTBOX_builtin_class.extra,
     60                                LISTBOX_builtin_class.cursor,
     61                                LISTBOX_builtin_class.brush);
     62
    5463  if (!controlAtoms[LISTBOX_CONTROL]) dprintf(("failed!!!"));
    5564
    5665  dprintf(("Register COMBOLBOX class"));
    57   controlAtoms[COMBOLBOX_CONTROL] = COMBOLBOX_Register();
     66  controlAtoms[COMBOLBOX_CONTROL] =
     67          InternalRegisterClass((LPSTR)COMBOLBOX_builtin_class.name,
     68                                COMBOLBOX_builtin_class.style,
     69                                COMBOLBOX_builtin_class.procA,
     70                                COMBOLBOX_builtin_class.procW,
     71                                COMBOLBOX_builtin_class.extra,
     72                                COMBOLBOX_builtin_class.cursor,
     73                                COMBOLBOX_builtin_class.brush);
    5874  if (!controlAtoms[COMBOLBOX_CONTROL]) dprintf(("failed!!!"));
    5975
    6076  dprintf(("Register COMBOBOX class"));
    61   controlAtoms[COMBOBOX_CONTROL] = COMBOBOX_Register();
     77  controlAtoms[COMBOBOX_CONTROL] =
     78          InternalRegisterClass((LPSTR)COMBO_builtin_class.name,
     79                                COMBO_builtin_class.style,
     80                                COMBO_builtin_class.procA,
     81                                COMBO_builtin_class.procW,
     82                                COMBO_builtin_class.extra,
     83                                COMBO_builtin_class.cursor,
     84                                COMBO_builtin_class.brush);
    6285  if (!controlAtoms[COMBOBOX_CONTROL]) dprintf(("failed!!!"));
    6386
    6487  dprintf(("Register EDIT class"));
    65   controlAtoms[EDIT_CONTROL] = EDIT_Register();
     88  controlAtoms[EDIT_CONTROL] =
     89          InternalRegisterClass((LPSTR)EDIT_builtin_class.name,
     90                                EDIT_builtin_class.style,
     91                                EDIT_builtin_class.procA,
     92                                EDIT_builtin_class.procW,
     93                                EDIT_builtin_class.extra,
     94                                EDIT_builtin_class.cursor,
     95                                EDIT_builtin_class.brush);
    6696  if (!controlAtoms[EDIT_CONTROL]) dprintf(("failed!!!"));
    6797
    6898  dprintf(("Register MDICLIENT class"));
    69   controlAtoms[MDICLIENT_CONTROL] = MDICLIENT_Register();
     99  controlAtoms[MDICLIENT_CONTROL] =
     100          InternalRegisterClass((LPSTR)MDICLIENT_builtin_class.name,
     101                                MDICLIENT_builtin_class.style,
     102                                MDICLIENT_builtin_class.procA,
     103                                MDICLIENT_builtin_class.procW,
     104                                MDICLIENT_builtin_class.extra,
     105                                MDICLIENT_builtin_class.cursor,
     106//Default brush is ugly light gray; use this one instead
     107                                GetStockObject(GRAY_BRUSH));
     108//                                MDICLIENT_builtin_class.brush);
    70109  if (!controlAtoms[MDICLIENT_CONTROL]) dprintf(("failed!!!"));
    71110
     
    99138
    100139  dprintf(("Unregister LISTBOX class"));
    101   if (!LISTBOX_Unregister()) dprintf(("failed!!!"));
     140  if (!UnregisterClassA((LPSTR)LISTBOX_builtin_class.name, NULL)) dprintf(("failed!!!"));
    102141
    103142  dprintf(("Unregister COMBOLBOX class"));
    104   if (!COMBOLBOX_Unregister()) dprintf(("failed!!!"));
     143  if (!UnregisterClassA((LPSTR)COMBOLBOX_builtin_class.name, NULL)) dprintf(("failed!!!"));
    105144
    106145  dprintf(("Unregister COMBOBOX class"));
    107   if (!COMBOBOX_Unregister()) dprintf(("failed!!!"));
     146  if (!UnregisterClassA((LPSTR)COMBO_builtin_class.name, NULL)) dprintf(("failed!!!"));
    108147
    109148  dprintf(("Unregister EDIT class"));
    110   if (!EDIT_Unregister()) dprintf(("failed!!!"));
     149  if (!UnregisterClassA((LPSTR)EDIT_builtin_class.name, NULL)) dprintf(("failed!!!"));
    111150
    112151  dprintf(("Unregister MDICLIENT class"));
    113   if (!MDICLIENT_Unregister()) dprintf(("failed!!!"));
     152  if (!UnregisterClassA((LPSTR)MDICLIENT_builtin_class.name, NULL)) dprintf(("failed!!!"));
    114153
    115154  dprintf(("Unregister DIALOG class"));
  • TabularUnified tags/trunk/src/user32/controls.h

    r16158 r20067  
    1 /* $Id: controls.h,v 1.5 2001-04-26 17:02:28 sandervl Exp $ */
     1/* $Id: controls.h,v 1.6 2002-12-18 12:28:02 sandervl Exp $ */
    22/*
    33 * Win32 common controls
     
    4545#define ID_CB_EDIT              1001
    4646
     47/* internal flags */
     48#define CBF_DROPPED             0x0001
     49#define CBF_BUTTONDOWN          0x0002
     50#define CBF_NOROLLUP            0x0004
     51#define CBF_MEASUREITEM         0x0008
     52#define CBF_FOCUSED             0x0010
     53#define CBF_CAPTURE             0x0020
     54#define CBF_EDIT                0x0040
     55#define CBF_NORESIZE            0x0080
     56#define CBF_NOTIFY              0x0100
     57#define CBF_NOREDRAW            0x0200
     58#define CBF_SELCHANGE           0x0400
     59#define CBF_NOEDITNOTIFY        0x1000
     60#define CBF_NOLBSELECT          0x2000  /* do not change current selection */
     61#define CBF_EUI                 0x8000
     62
     63/* combo state struct */
     64typedef struct
     65{
     66   HWND           self;
     67   HWND           owner;
     68   UINT           dwStyle;
     69   HWND           hWndEdit;
     70   HWND           hWndLBox;
     71   UINT           wState;
     72   HFONT          hFont;
     73   RECT           textRect;
     74   RECT           buttonRect;
     75   RECT           droppedRect;
     76   INT            droppedIndex;
     77   INT            fixedOwnerDrawHeight;
     78   INT            droppedWidth;   /* last two are not used unless set */
     79   INT            editHeight;     /* explicitly */
     80} HEADCOMBO,*LPHEADCOMBO;
     81
     82/* Note, that CBS_DROPDOWNLIST style is actually (CBS_SIMPLE | CBS_DROPDOWN) */
     83#define CB_GETTYPE( lphc )    ((lphc)->dwStyle & (CBS_DROPDOWNLIST))
     84
     85extern BOOL COMBO_FlipListbox( LPHEADCOMBO, BOOL, BOOL );
     86
    4787#endif // __CONTROLS_H
  • TabularUnified tags/trunk/src/user32/dbgwrap.cpp

    r19526 r20067  
    144144BOOL WIN32API SysErrorBox(DWORD x1, DWORD x2, DWORD x3);
    145145BOOL WIN32API EndTask(DWORD x1, DWORD x2, DWORD x3);
    146 LRESULT WINAPI EditWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
     146LRESULT WINAPI EditWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
    147147
    148148
     
    169169DEBUGWRAP12(DragDetect)
    170170DEBUGWRAP20(DragObject)
    171 DEBUGWRAP16(EditWndProc)
     171DEBUGWRAP16(EditWndProcA)
    172172DEBUGWRAP12(EndTask)
    173173DEBUGWRAP12(EnumDesktopWindows)
  • TabularUnified tags/trunk/src/user32/mdi.c

    r19981 r20067  
    9191#include "pmwindow.h"
    9292#include <heapstring.h>
    93 #define WIN_GetFullHandle(a)    a
     93
     94#include "ctrlconf.h"
    9495#endif
    9596
     
    142143static HWND MDI_MoreWindowsDialog(HWND);
    143144static void MDI_SwapMenuItems(HWND, UINT, UINT);
    144 #ifdef __WIN32OS2__
    145        LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
    146        LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
    147 #else
    148145static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
    149146static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
    150 #endif
    151147
    152148/* -------- Miscellaneous service functions ----------
     
    181177
    182178
    183 #ifndef __WIN32OS2__
    184179/*********************************************************************
    185180 * MDIClient class descriptor
     
    196191};
    197192
     193#ifndef __WIN32OS2__
    198194static MDICLIENTINFO *get_client_info( HWND client )
    199195{
     
    23792375}
    23802376
    2381 #ifdef __WIN32OS2__
    2382 
    2383 #define MDICLIENTCLASSNAMEA "MDICLIENT"
    2384 #define MDICLIENTCLASSNAMEW L"MDICLIENT"
    2385 
    2386 //******************************************************************************
    2387 //******************************************************************************
    2388 BOOL MDICLIENT_Register()
    2389 {
    2390     WNDCLASSA wndClass;
    2391 
    2392 //SvL: Don't check this now
    2393 //    if (GlobalFindAtomA(MDICLIENTCLASSNAMEA)) return FALSE;
    2394 
    2395     ZeroMemory(&wndClass,sizeof(WNDCLASSA));
    2396     wndClass.style         = CS_GLOBALCLASS;
    2397     wndClass.lpfnWndProc   = (WNDPROC)MDIClientWndProcA;
    2398     wndClass.cbClsExtra    = 0;
    2399     wndClass.cbWndExtra    = 0;
    2400     wndClass.hCursor       = LoadCursorA(0,IDC_ARROWA);;
    2401     wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
    2402     wndClass.lpszClassName = MDICLIENTCLASSNAMEA;
    2403 
    2404     return RegisterClassA(&wndClass);
    2405 }
    2406 //******************************************************************************
    2407 //******************************************************************************
    2408 BOOL MDICLIENT_Unregister()
    2409 {
    2410     if (GlobalFindAtomA(MDICLIENTCLASSNAMEA))
    2411             return UnregisterClassA(MDICLIENTCLASSNAMEA,(HINSTANCE)NULL);
    2412     else    return FALSE;
    2413 }
    2414 //******************************************************************************
    2415 //******************************************************************************
    2416 #endif
  • TabularUnified tags/trunk/src/user32/oslibres.cpp

    r20039 r20067  
    1 /* $Id: oslibres.cpp,v 1.32 2002-12-13 16:46:12 sandervl Exp $ */
     1/* $Id: oslibres.cpp,v 1.33 2002-12-18 12:28:05 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    799799                                 temp, CO_REPLACEIFEXISTS);
    800800   }
    801 // If SysCreateObject("WPProgram", "WarpMix", "<ICHAUDIO>",,
    802 //                    "PROGTYPE=PM;OBJECTID=<WARPMIX>;ICONFILE=WARPMIX.ICO;EXENAME="||bootDrive||"\MMOS2\WARPMIX.EXE")
    803801
    804802   free(pszSetupString);
  • TabularUnified tags/trunk/src/user32/user32dbg.def

    r19746 r20067  
    1 ; $Id: user32dbg.def,v 1.7 2002-09-03 12:34:01 sandervl Exp $
     1; $Id: user32dbg.def,v 1.8 2002-12-18 12:28:05 sandervl Exp $
    22
    33LIBRARY USER32 INITINSTANCE TERMINSTANCE
     
    203203    DrawTextExW                = _DbgDrawTextExW@24             @167
    204204    DrawTextW                  = _DbgDrawTextW@20               @168
    205     EditWndProc                = _DbgEditWndProc@16             @169
     205    EditWndProc                = _DbgEditWndProcA@16            @169
    206206    EmptyClipboard             = _DbgEmptyClipboard@0           @170
    207207    EnableMenuItem             = _DbgEnableMenuItem@12          @171
  • TabularUnified tags/trunk/src/user32/win32class.cpp

    r18218 r20067  
    1 /* $Id: win32class.cpp,v 1.29 2001-12-20 20:45:55 sandervl Exp $ */
     1/* $Id: win32class.cpp,v 1.30 2002-12-18 12:28:06 sandervl Exp $ */
    22/*
    33 * Win32 Window Class Managment Code for OS/2
    44 *
    55 * Copyright 1998-1999 Sander van Leeuwen (sandervl@xs4all.nl)
     6 *
     7 *
     8 * Parts copied from ReWind (Get/SetClassLong for GCL_WNDPROC)
     9 *     Copyright 1993, 1996 Alexandre Julliard
     10 *               1998 Juergen Schmied (jsch)
    611 *
    712 *
     
    4045//Win32WndClass methods:
    4146//******************************************************************************
    42 Win32WndClass::Win32WndClass(WNDCLASSEXA *wndclass, BOOL fUnicode)
     47Win32WndClass::Win32WndClass(WNDCLASSEXA *wndclass, WNDCLASS_TYPE fClassType)
    4348                  : GenericObject(&wndclasses, &critsect)
    4449{
    45   isUnicode = fUnicode;
     50  this->fClassType = fClassType;
    4651  processId = 0;
    4752
    48   if(HIWORD(wndclass->lpszClassName)) {
    49         if(isUnicode) {
     53  if(HIWORD(wndclass->lpszClassName))
     54  {
     55        if(fClassType == WNDCLASS_UNICODE) {
    5056                INT len = lstrlenW((LPWSTR)wndclass->lpszClassName)+1;
    5157
     
    6369                exit(1);
    6470        }
    65         if(isUnicode) {
     71        if(fClassType == WNDCLASS_UNICODE) {
    6672                lstrcpyW(classNameW, (LPWSTR)wndclass->lpszClassName);
    6773                UnicodeToAscii(classNameW, classNameA);
     
    126132  windowStyle           = wndclass->style;
    127133
    128   windowProc = 0;
    129   WINPROC_SetProc((HWINDOWPROC *)&windowProc, wndclass->lpfnWndProc, (isUnicode) ? WIN_PROC_32W : WIN_PROC_32A, WIN_PROC_CLASS);
    130   dprintf2(("Window class ptr %x", windowProc));
     134  pfnWindowProcA = 0;
     135  pfnWindowProcW = 0;
     136  if(fClassType == WNDCLASS_UNICODE) {
     137      WINPROC_SetProc((HWINDOWPROC *)&pfnWindowProcW, wndclass->lpfnWndProc,  WIN_PROC_32W, WIN_PROC_CLASS);
     138  }
     139  else {
     140      WINPROC_SetProc((HWINDOWPROC *)&pfnWindowProcA, wndclass->lpfnWndProc, WIN_PROC_32A, WIN_PROC_CLASS);
     141  }
     142  dprintf2(("Window class ptr %x/%x", pfnWindowProcA, pfnWindowProcW));
    131143
    132144  //User data class words/longs
     
    156168  }
    157169
    158   WINPROC_FreeProc(windowProc, WIN_PROC_CLASS);
     170  if(pfnWindowProcA)
     171      WINPROC_FreeProc(pfnWindowProcA, WIN_PROC_CLASS);
     172  if(pfnWindowProcW)
     173      WINPROC_FreeProc(pfnWindowProcW, WIN_PROC_CLASS);
    159174
    160175  if(userClassBytes)    free(userClassBytes);
     
    179194{
    180195  if(HIWORD(classname) == 0) {
    181     return classAtom == (DWORD)classname;
     196      return classAtom == (DWORD)classname;
    182197  }
    183198  if(fUnicode) {
     
    349364//******************************************************************************
    350365//******************************************************************************
     366WNDPROC Win32WndClass::getWindowProc(WNDPROC_TYPE type)
     367{
     368    WNDPROC proc;
     369
     370    if(type == WNDPROC_UNICODE) {
     371         proc = (pfnWindowProcW) ? pfnWindowProcW : pfnWindowProcA;
     372    }
     373    else proc = (pfnWindowProcA) ? pfnWindowProcA : pfnWindowProcW;
     374
     375    return proc;
     376};
     377//******************************************************************************
     378//NOTE: Only to be used when a class has both ascii & unicode window procedures!
     379//      Otherwise use SetClassLong GCL_WNDPROC
     380//******************************************************************************
     381void Win32WndClass::setWindowProc(WNDPROC pfnWindowProc, WNDPROC_TYPE type)
     382{
     383    if(type == WNDPROC_UNICODE) {
     384         WINPROC_SetProc((HWINDOWPROC *)&pfnWindowProcW, pfnWindowProc,  WIN_PROC_32W, WIN_PROC_CLASS);
     385    }
     386    else WINPROC_SetProc((HWINDOWPROC *)&pfnWindowProcA, pfnWindowProc,  WIN_PROC_32A, WIN_PROC_CLASS);
     387}
     388//******************************************************************************
     389//******************************************************************************
    351390void Win32WndClass::setMenuName(LPSTR newMenuName)
    352391{
     
    358397  }
    359398  if(HIWORD(newMenuName)) {
    360         if(isUnicode) {
     399        if(fClassType == WNDCLASS_UNICODE) {
    361400                menuNameA = (PCHAR)_smalloc(lstrlenW((LPWSTR)newMenuName)+1);
    362401                menuNameW = (WCHAR *)_smalloc((lstrlenW((LPWSTR)newMenuName)+1)*sizeof(WCHAR));
     
    368407        if(menuNameA == NULL || menuNameW == NULL) {
    369408                dprintf(("Win32Class ctr; menuName/menuNameW == NULL"));
    370                 exit(1);
    371         }
    372         if(isUnicode) {
     409                DebugInt3();
     410                return;
     411        }
     412        if(fClassType == WNDCLASS_UNICODE) {
    373413                lstrcpyW(menuNameW, (LPWSTR)newMenuName);
    374414                UnicodeToAscii(menuNameW, menuNameA);
     
    405445                return hInstance;
    406446        case GCL_MENUNAME:
    407                 return (isUnicode) ? (ULONG)menuNameW : (ULONG)menuNameA;
     447                return (fUnicode) ? (ULONG)menuNameW : (ULONG)menuNameA;
    408448        case GCL_STYLE:
    409449                return windowStyle;
    410450        case GCL_WNDPROC:
    411                 return (ULONG) WINPROC_GetProc(windowProc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
     451        {
     452                WNDPROC pfnWindowProc = pfnWindowProcA;
     453
     454                if(pfnWindowProcW)
     455                {
     456                    if(!pfnWindowProc || fUnicode)
     457                        pfnWindowProc = pfnWindowProcW;
     458                }
     459                return (ULONG) WINPROC_GetProc(pfnWindowProc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A);
     460        }
    412461        case GCW_ATOM: //TODO: does this really happen in windows?
    413462                SetLastError(ERROR_INVALID_PARAMETER);
     
    493542                break;
    494543        case GCL_WNDPROC:
     544        {
    495545                //Note: Type of SetWindowLong determines new window proc type
    496546                //      UNLESS the new window proc has already been registered
     
    498548                //      (VERIFIED in NT 4, SP6)
    499549                //TODO: Is that also true for GCL_WNDPROC???????????????
    500                 rc = (LONG)WINPROC_GetProc(windowProc, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A );
    501                 WINPROC_SetProc((HWINDOWPROC *)&windowProc, (WNDPROC)lNewVal, (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A, WIN_PROC_CLASS );
    502                 break;
     550                WNDPROC *proc = &pfnWindowProcA;
     551                WINDOWPROCTYPE type = (fUnicode) ? WIN_PROC_32W : WIN_PROC_32A;
     552
     553                if(pfnWindowProcW)
     554                {
     555                    if(!*proc || fUnicode)
     556                        proc = &pfnWindowProcW;
     557                }
     558                rc = (LONG)WINPROC_GetProc(*proc, type );
     559                WINPROC_SetProc((HWINDOWPROC *)proc, (WNDPROC)lNewVal, type, WIN_PROC_CLASS);
     560
     561                /* now free the one that we didn't set */
     562                if(pfnWindowProcA && pfnWindowProcW)
     563                {
     564                    if (proc == &pfnWindowProcA)
     565                    {
     566                        WINPROC_FreeProc( pfnWindowProcW, WIN_PROC_CLASS );
     567                        pfnWindowProcW = 0;
     568                    }
     569                    else
     570                    {
     571                        WINPROC_FreeProc( pfnWindowProcA, WIN_PROC_CLASS );
     572                        pfnWindowProcA = 0;
     573                    }
     574                }
     575                break;
     576        }
    503577        case GCW_ATOM: //TODO: does this really happen in windows?
    504578                SetLastError(ERROR_INVALID_PARAMETER);
  • TabularUnified tags/trunk/src/user32/win32class.h

    r16496 r20067  
    1 /* $Id: win32class.h,v 1.15 2001-06-09 14:50:20 sandervl Exp $ */
     1/* $Id: win32class.h,v 1.16 2002-12-18 12:28:06 sandervl Exp $ */
    22/*
    33 * Win32 Window Class Managment Code for OS/2
     
    1515#define RELEASE_CLASSOBJ(a)       { a->release(); a = NULL; }
    1616
     17typedef enum {
     18  WNDCLASS_ASCII,
     19  WNDCLASS_UNICODE
     20} WNDCLASS_TYPE;
     21
     22typedef enum {
     23  WNDPROC_ASCII,
     24  WNDPROC_UNICODE
     25} WNDPROC_TYPE;
     26
    1727class Win32WndClass : public GenericObject
    1828{
    1929public:
    20         Win32WndClass(WNDCLASSEXA *wndclass, BOOL fUnicode = FALSE);
     30        Win32WndClass(WNDCLASSEXA *wndclass, WNDCLASS_TYPE fClassType = WNDCLASS_ASCII);
    2131       ~Win32WndClass();
    2232
    23          ULONG  getClassLongA(int index, BOOL fUnicode = FALSE);
     33         ULONG  getClassLongA(int index, BOOL fUnicode = TRUE);
    2434         ULONG  getClassLongW(int index)
    2535         {
     
    2838         WORD   getClassWord(int index);
    2939
    30          ULONG  setClassLongA(int index, LONG lNewVal, BOOL fUnicode = FALSE);
     40         ULONG  setClassLongA(int index, LONG lNewVal, BOOL fUnicode = TRUE);
    3141         ULONG  setClassLongW(int index, LONG lNewVal)
    3242         {
     
    4252         ULONG  getClassName(LPWSTR lpszClassName, ULONG cchClassName);
    4353
    44        WNDPROC  getWindowProc()         { return windowProc; };
     54       WNDPROC  getWindowProc(WNDPROC_TYPE type);
     55         //NOTE: Only to be used when a class has both ascii & unicode window procedures!
     56         void   setWindowProc(WNDPROC pfnWindowProc, WNDPROC_TYPE type);
     57
    4558         LPSTR  getMenuNameA()          { return menuNameA; };
    4659         DWORD  getExtraWndBytes()      { return nrExtraWindowBytes; };
     
    5972          void  setMenuName(LPSTR newMenuName);
    6073
    61           BOOL  hasClassName(LPSTR classname, BOOL fUnicode = FALSE);
     74          BOOL  hasClassName(LPSTR classname, BOOL fUnicode);
    6275
    6376          BOOL  isAppClass(ULONG curProcessId);
     
    7386
    7487private:
    75  BOOL           isUnicode;
     88 WNDCLASS_TYPE  fClassType;
    7689
    7790 //Standard class words/longs
     
    8598 PCHAR          menuNameA;              //GCL_MENUNAME
    8699 WCHAR         *menuNameW;              //GCL_MENUNAME
    87  WNDPROC        windowProc;             //GCL_WNDPROC
     100 WNDPROC        pfnWindowProcA;         //GCL_WNDPROC
     101 WNDPROC        pfnWindowProcW;         //GCL_WNDPROC
    88102 ULONG          classAtom;              //GCW_ATOM
    89103
     
    101115};
    102116
     117ATOM WIN32API InternalRegisterClass(LPSTR lpszClassName, DWORD dwStyle,
     118                                    WNDPROC pfnClassA, WNDPROC pfnClassW,
     119                                    UINT cbExtraWindowWords, LPCSTR lpszCursor,
     120                                    HBRUSH hBrush);
     121
    103122#endif //__WIN32CLASS_H__
  • TabularUnified tags/trunk/src/user32/win32dlg.cpp

    r19397 r20067  
    1 /* $Id: win32dlg.cpp,v 1.78 2002-07-08 11:43:44 sandervl Exp $ */
     1/* $Id: win32dlg.cpp,v 1.79 2002-12-18 12:28:06 sandervl Exp $ */
    22/*
    33 * Win32 Dialog Code for OS/2
     
    708708        dlgtemplate = (LPCSTR)getControl( (WORD *)dlgtemplate, &info, dlgInfo.dialogEx );
    709709
     710        /* Is this it? */
     711        if (info.style & WS_BORDER)
     712        {
     713            info.style &= ~WS_BORDER;
     714            info.exStyle |= WS_EX_CLIENTEDGE;
     715        }
     716
    710717        dprintf(("Create CONTROL %d", info.id));
    711718
  • TabularUnified tags/trunk/src/user32/win32wbase.cpp

    r20010 r20067  
    1 /* $Id: win32wbase.cpp,v 1.345 2002-12-05 09:25:06 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.346 2002-12-18 12:28:07 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    115115    }
    116116
    117     WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, windowClass->getWindowProc(), WINPROC_GetProcType(windowClass->getWindowProc()), WIN_PROC_WINDOW);
     117    WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, windowClass->getWindowProc((isUnicode) ? WNDPROC_UNICODE : WNDPROC_ASCII), WINPROC_GetProcType(windowClass->getWindowProc((isUnicode) ? WNDPROC_UNICODE : WNDPROC_ASCII)), WIN_PROC_WINDOW);
    118118    hInstance  = NULL;
    119119    dwStyle    = WS_VISIBLE;
     
    523523    }
    524524
    525     WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, windowClass->getWindowProc(), WINPROC_GetProcType(windowClass->getWindowProc()), WIN_PROC_WINDOW);
     525    WINPROC_SetProc((HWINDOWPROC *)&win32wndproc, windowClass->getWindowProc((isUnicode) ? WNDPROC_UNICODE : WNDPROC_ASCII), WINPROC_GetProcType(windowClass->getWindowProc((isUnicode) ? WNDPROC_UNICODE : WNDPROC_ASCII)), WIN_PROC_WINDOW);
    526526    hInstance  = cs->hInstance;
    527527    dwStyle    = cs->style & ~WS_VISIBLE;
  • TabularUnified tags/trunk/src/user32/win32wdesktop.cpp

    r18764 r20067  
    1 /* $Id: win32wdesktop.cpp,v 1.19 2002-04-07 21:37:35 sandervl Exp $ */
     1/* $Id: win32wdesktop.cpp,v 1.20 2002-12-18 12:28:07 sandervl Exp $ */
    22/*
    33 * Win32 Desktop Window for OS/2
     
    6060  windowClass = Win32WndClass::FindClass(0, (LPSTR)DESKTOP_CLASS_ATOM);
    6161
    62   setWindowProc(windowClass->getWindowProc());
     62  setWindowProc(windowClass->getWindowProc(WNDPROC_ASCII));
    6363
    6464  dwStyle |= WS_VISIBLE;
  • TabularUnified tags/trunk/src/user32/win32wmdiclient.cpp

    r18420 r20067  
    1 /* $Id: win32wmdiclient.cpp,v 1.40 2002-02-11 13:48:42 sandervl Exp $ */
     1/* $Id: win32wmdiclient.cpp,v 1.41 2002-12-18 12:28:08 sandervl Exp $ */
    22/*
    33 * Win32 MDI Client Window Class for OS/2
     
    127127  return (FALSE); /* default */
    128128}
    129 
    130129//******************************************************************************
    131130//******************************************************************************
    132 BOOL MDICLIENT_Register()
    133 {
    134     WNDCLASSA wndClass;
    135 
    136 //SvL: Don't check this now
    137 //    if (GlobalFindAtomA(MDICLIENTCLASSNAMEA)) return FALSE;
    138 
    139     ZeroMemory(&wndClass,sizeof(WNDCLASSA));
    140     wndClass.style         = CS_GLOBALCLASS;
    141     wndClass.lpfnWndProc   = (WNDPROC)MDIClientWndProcA;
    142     wndClass.cbClsExtra    = 0;
    143     wndClass.cbWndExtra    = 0;
    144     wndClass.hCursor       = LoadCursorA(0,IDC_ARROWA);;
    145     wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH);
    146     wndClass.lpszClassName = MDICLIENTCLASSNAMEA;
    147 
    148     return RegisterClassA(&wndClass);
    149 }
    150 //******************************************************************************
    151 //******************************************************************************
    152 BOOL MDICLIENT_Unregister()
    153 {
    154     if (GlobalFindAtomA(MDICLIENTCLASSNAMEA))
    155             return UnregisterClassA(MDICLIENTCLASSNAMEA,(HINSTANCE)NULL);
    156     else    return FALSE;
    157 }
    158 //******************************************************************************
    159 //******************************************************************************
  • TabularUnified tags/trunk/src/user32/windowclass.cpp

    r18429 r20067  
    1 /* $Id: windowclass.cpp,v 1.25 2002-02-11 16:06:00 sandervl Exp $ */
     1/* $Id: windowclass.cpp,v 1.26 2002-12-18 12:28:08 sandervl Exp $ */
    22/*
    33 * Win32 Window Class Code for OS/2
     
    8080                               LR_COPYFROMRESOURCE);
    8181
    82     wclass = new Win32WndClass(&wc,FALSE);
     82    wclass = new Win32WndClass(&wc, WNDCLASS_ASCII);
    8383    if(wclass == NULL) {
    8484        dprintf(("ERROR: RegisterClassA winclass == NULL!"));
     
    109109
    110110    dprintf(("RegisterClassExA"));
    111     wclass = new Win32WndClass((WNDCLASSEXA *)lpWndClass,FALSE);
     111    wclass = new Win32WndClass((WNDCLASSEXA *)lpWndClass, WNDCLASS_ASCII);
    112112    if(wclass == NULL) {
    113113        dprintf(("ERROR: RegisterClassExA winclass == NULL!"));
     
    115115        return(0);
    116116    }
     117    ATOM atom = wclass->getAtom();
     118    RELEASE_CLASSOBJ(wclass);
     119    return atom;
     120}
     121//******************************************************************************
     122//Used for user32 control class registration only
     123//******************************************************************************
     124ATOM WIN32API InternalRegisterClass(LPSTR lpszClassName, DWORD dwStyle,
     125                                    WNDPROC pfnClassA, WNDPROC pfnClassW,
     126                                    UINT cbExtraWindowWords, LPCSTR lpszCursor,
     127                                    HBRUSH hBrush)
     128{
     129    WNDCLASSEXA wc;
     130    Win32WndClass *wclass;
     131
     132    wclass = Win32WndClass::FindClass(0, lpszClassName);
     133    if(wclass) {
     134        RELEASE_CLASSOBJ(wclass);
     135        DebugInt3(); //this must never happen
     136        dprintf(("ERROR: InternalRegisterClass %s already exists", lpszClassName));
     137        SetLastError(ERROR_CLASS_ALREADY_EXISTS);
     138        return 0;
     139    }
     140
     141    dprintf(("InternalRegisterClass %s %x %x %x %d %x %x", lpszClassName, dwStyle, pfnClassA, pfnClassW, cbExtraWindowWords, lpszCursor, hBrush));
     142    wc.cbSize        = sizeof(wc);
     143    wc.style         = dwStyle;
     144    wc.lpfnWndProc   = pfnClassA;
     145    wc.cbClsExtra    = 0;
     146    wc.cbWndExtra    = cbExtraWindowWords;
     147    wc.hInstance     = NULL;
     148    wc.hIcon         = 0;
     149    wc.hCursor       = LoadCursorA(0, lpszCursor);
     150    wc.hbrBackground = hBrush;
     151    wc.lpszMenuName  = NULL;
     152    wc.lpszClassName = lpszClassName;
     153    wc.hIconSm       = 0;
     154
     155    wclass = new Win32WndClass(&wc, WNDCLASS_ASCII);
     156    if(wclass == NULL) {
     157        dprintf(("ERROR: InternalRegisterClass winclass == NULL!"));
     158        DebugInt3();
     159        return(0);
     160    }
     161    wclass->setWindowProc(pfnClassW, WNDPROC_UNICODE);
    117162    ATOM atom = wclass->getAtom();
    118163    RELEASE_CLASSOBJ(wclass);
     
    154199
    155200    dprintf(("RegisterClassW"));
    156     winclass = new Win32WndClass((WNDCLASSEXA *)&wc, TRUE);
     201    winclass = new Win32WndClass((WNDCLASSEXA *)&wc, WNDCLASS_UNICODE);
    157202    if(winclass == NULL) {
    158203        dprintf(("ERROR: RegisterClassW winclass == NULL!"));
     
    187232
    188233    dprintf(("RegisterClassExW"));
    189     winclass = new Win32WndClass((WNDCLASSEXA *)&wc, TRUE);
     234    winclass = new Win32WndClass((WNDCLASSEXA *)&wc, WNDCLASS_UNICODE);
    190235    if(winclass == NULL) {
    191236        dprintf(("ERROR: RegisterClassExW winclass == NULL!"));
  • TabularUnified tags/trunk/src/user32/wndmsg.cpp

    r19114 r20067  
    1 /* $Id: wndmsg.cpp,v 1.18 2002-06-03 13:37:19 sandervl Exp $ */
     1/* $Id: wndmsg.cpp,v 1.19 2002-12-18 12:28:08 sandervl Exp $ */
    22/*
    33 * Win32 window message text function for OS/2
     
    1515#include <win\winmfcmsg.h>
    1616#include <spy.h>
     17#include "wndmsg.h"
    1718
    1819#define DBG_LOCALLOG    DBG_wndmsg
  • TabularUnified tags/trunk/src/user32/wndmsg.h

    r13052 r20067  
    1 /* $Id: wndmsg.h,v 1.6 2000-01-18 20:08:18 sandervl Exp $ */
     1/* $Id: wndmsg.h,v 1.7 2002-12-18 12:28:08 sandervl Exp $ */
    22/*
    33 * Win32 window message text function for OS/2
     
    1212#define __WNDMSG_H__
    1313
     14#ifdef __cplusplus
     15extern "C" {
     16#endif
     17
    1418#ifdef DEBUG
    1519char *GetMsgText(int Msg);
     20
    1621void DebugPrintMessage(HWND hwnd, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL fUnicode, BOOL fInternalMsg);
    1722#else
     
    1924#endif
    2025
     26#ifdef __cplusplus
     27}
    2128#endif
     29
     30#endif
Note: See TracChangeset for help on using the changeset viewer.