source: trunk/src/user32/winprop.cpp@ 2013

Last change on this file since 2013 was 1281, checked in by sandervl, 26 years ago

Window creation rewrite + bugfixes. NOT WORKING CORRECTLY YET..

File size: 5.6 KB
Line 
1/* $Id: winprop.cpp,v 1.4 1999-10-14 09:22:43 sandervl Exp $ */
2/*
3 * Win32 Property apis for OS/2
4 *
5 *
6 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12#include <user32.h>
13#include <misc.h>
14#include "win32wbase.h"
15
16#undef DEBUG
17
18//******************************************************************************
19//******************************************************************************
20int WIN32API EnumPropsA(HWND hwnd, PROPENUMPROCA arg2)
21{
22#ifdef DEBUG
23 WriteLog("USER32: EnumPropsA DOES NOT WORK\n");
24#endif
25 //calling convention problems
26 return 0;
27// return O32_EnumProps(hwnd, (PROPENUMPROC_O32)arg2);
28}
29//******************************************************************************
30//******************************************************************************
31int WIN32API EnumPropsExA( HWND hwnd, PROPENUMPROCEXA arg2, LPARAM arg3)
32{
33#ifdef DEBUG
34 WriteLog("USER32: EnumPropsExA DOES NOT WORK\n");
35#endif
36 //calling convention problems
37 return 0;
38// return O32_EnumPropsEx(hwnd, arg2, (PROPENUMPROCEX_O32)arg3);
39}
40//******************************************************************************
41//******************************************************************************
42int WIN32API EnumPropsExW( HWND hwnd, PROPENUMPROCEXW arg2, LPARAM arg3)
43{
44#ifdef DEBUG
45 WriteLog("USER32: EnumPropsExW\n");
46#endif
47 // NOTE: This will not work as is (needs UNICODE support)
48 //calling convention problems
49 return 0;
50// return O32_EnumPropsEx(hwnd, arg2, arg3);
51}
52//******************************************************************************
53//******************************************************************************
54int WIN32API EnumPropsW( HWND hwnd, PROPENUMPROCW arg2)
55{
56#ifdef DEBUG
57 WriteLog("USER32: EnumPropsW\n");
58#endif
59 // NOTE: This will not work as is (needs UNICODE support)
60 //calling convention problems
61 return 0;
62// return O32_EnumProps(hwnd, arg2);
63}
64//******************************************************************************
65//******************************************************************************
66HANDLE WIN32API GetPropA(HWND hwnd, LPCSTR arg2)
67{
68 Win32BaseWindow *window;
69 HANDLE rc;
70
71 window = Win32BaseWindow::GetWindowFromHandle(hwnd);
72 if(!window) {
73 dprintf(("GetPropA, window %x not found", hwnd));
74 SetLastError(ERROR_INVALID_WINDOW_HANDLE);
75 return 0;
76 }
77 rc = O32_GetProp(window->getOS2WindowHandle(), arg2);
78#ifdef DEBUG
79 if(HIWORD(arg2) != 0)
80 dprintf(("USER32: GetPropA %s returned %x\n", arg2, rc));
81 else dprintf(("USER32: GetPropA %X returned %x\n", arg2, rc));
82#endif
83 return rc;
84}
85//******************************************************************************
86//******************************************************************************
87HANDLE WIN32API GetPropW(HWND hwnd, LPCWSTR arg2)
88{
89 BOOL handle;
90 char *astring;
91
92 if(HIWORD(arg2) != 0)
93 astring = UnicodeToAsciiString((LPWSTR)arg2);
94 else astring = (char *)arg2;
95
96 handle = GetPropA(hwnd, (LPCSTR)astring);
97 if(HIWORD(astring) != 0)
98 FreeAsciiString(astring);
99
100 return(handle);
101}
102//******************************************************************************
103//******************************************************************************
104HANDLE WIN32API RemovePropA( HWND hwnd, LPCSTR arg2)
105{
106 Win32BaseWindow *window;
107
108 window = Win32BaseWindow::GetWindowFromHandle(hwnd);
109 if(!window) {
110 dprintf(("RemovePropA, window %x not found", hwnd));
111 SetLastError(ERROR_INVALID_WINDOW_HANDLE);
112 return 0;
113 }
114#ifdef DEBUG
115 if(HIWORD(arg2) != 0)
116 dprintf(("USER32: RemovePropA %s\n", arg2));
117 else dprintf(("USER32: RemovePropA %X\n", arg2));
118#endif
119 return O32_RemoveProp(window->getOS2WindowHandle(), arg2);
120}
121//******************************************************************************
122//******************************************************************************
123HANDLE WIN32API RemovePropW( HWND hwnd, LPCWSTR arg2)
124{
125 char *astring;
126 HANDLE rc;
127
128 if(HIWORD(arg2) != 0)
129 astring = UnicodeToAsciiString((LPWSTR)arg2);
130 else astring = (char *)arg2;
131
132 rc = RemovePropA(hwnd, astring);
133
134 if(HIWORD(astring) != 0)
135 FreeAsciiString(astring);
136 return rc;
137}
138//******************************************************************************
139//******************************************************************************
140BOOL WIN32API SetPropA( HWND hwnd, LPCSTR arg2, HANDLE arg3)
141{
142 Win32BaseWindow *window;
143
144 window = Win32BaseWindow::GetWindowFromHandle(hwnd);
145 if(!window) {
146 dprintf(("SetPropA, window %x not found", hwnd));
147 SetLastError(ERROR_INVALID_WINDOW_HANDLE);
148 return 0;
149 }
150#ifdef DEBUG
151 if(HIWORD(arg2) != 0)
152 dprintf(("USER32: SetPropA %s to %x\n", arg2, arg3));
153 else dprintf(("USER32: SetPropA %X to %x\n", arg2, arg3));
154#endif
155 return O32_SetProp(window->getOS2WindowHandle(), arg2, arg3);
156}
157//******************************************************************************
158//******************************************************************************
159BOOL WIN32API SetPropW(HWND hwnd, LPCWSTR arg2, HANDLE arg3)
160{
161 BOOL rc;
162 char *astring;
163
164 if(HIWORD(arg2) != 0)
165 astring = UnicodeToAsciiString((LPWSTR)arg2);
166 else astring = (char *)arg2;
167
168 rc = SetPropA(hwnd, astring, arg3);
169 if(HIWORD(astring) != 0)
170 FreeAsciiString(astring);
171
172 return(rc);
173}
174//******************************************************************************
175//******************************************************************************
Note: See TracBrowser for help on using the repository browser.