Mercurial > dwindows
annotate dw.h @ 167:0b3debaa9c6c
Added new container functions, and fixed resource leaks.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 26 Nov 2002 07:10:37 +0000 |
parents | a4ae65d5b301 |
children | 75bf3051235f |
rev | line source |
---|---|
3 | 1 /* $Id$ */ |
2 | |
3 #ifndef _H_DW | |
4 #define _H_DW | |
5 | |
15
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
6 /* Dynamic Windows version numbers */ |
146
add6b46310c2
Upped DW's revision to 1.0.0. This is the final API specification for
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
140
diff
changeset
|
7 #define DW_MAJOR_VERSION 1 |
add6b46310c2
Upped DW's revision to 1.0.0. This is the final API specification for
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
140
diff
changeset
|
8 #define DW_MINOR_VERSION 0 |
15
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
9 #define DW_SUB_VERSION 0 |
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
10 |
3 | 11 #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__) |
12 /* OS/2 or Windows */ | |
13 | |
14 /* Used internally */ | |
15 #define TYPEBOX 0 | |
16 #define TYPEITEM 1 | |
17 | |
18 #define SIZESTATIC 0 | |
19 #define SIZEEXPAND 1 | |
20 | |
21 #define SPLITBAR_WIDTH 3 | |
22 #define BUBBLE_HELP_MAX 256 | |
23 | |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
24 typedef struct _user_data |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
25 { |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
26 struct _user_data *next; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
27 void *data; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
28 char *varname; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
29 } UserData; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
30 |
3 | 31 #if defined(__OS2__) || defined(__EMX__) |
32 #define INCL_DOS | |
33 #define INCL_WIN | |
34 #define INCL_GPI | |
35 | |
36 #include <os2.h> | |
37 | |
38 /* Lets make some platform independent defines :) */ | |
39 #define DW_DT_LEFT DT_LEFT | |
40 #define DW_DT_QUERYEXTENT DT_QUERYEXTENT | |
41 #define DW_DT_UNDERSCORE DT_UNDERSCORE | |
42 #define DW_DT_STRIKEOUT DT_STRIKEOUT | |
43 #define DW_DT_TEXTATTRS DT_TEXTATTRS | |
44 #define DW_DT_EXTERNALLEADING DT_EXTERNALLEADING | |
45 #define DW_DT_CENTER DT_CENTER | |
46 #define DW_DT_RIGHT DT_RIGHT | |
47 #define DW_DT_TOP DT_TOP | |
48 #define DW_DT_VCENTER DT_VCENTER | |
49 #define DW_DT_BOTTOM DT_BOTTOM | |
50 #define DW_DT_HALFTONE DT_HALFTONE | |
51 #define DW_DT_MNEMONIC DT_MNEMONIC | |
52 #define DW_DT_WORDBREAK DT_WORDBREAK | |
53 #define DW_DT_ERASERECT DT_ERASERECT | |
54 | |
55 #define DW_CLR_WHITE 16 | |
56 #define DW_CLR_BLACK 17 | |
155
840c54766306
Another sync of sources, enhancements to dw_window_set_color() ... works
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
150
diff
changeset
|
57 #define DW_CLR_DEFAULT 18 |
3 | 58 #define DW_CLR_BLUE CLR_BLUE |
59 #define DW_CLR_RED CLR_RED | |
60 #define DW_CLR_PINK CLR_PINK | |
61 #define DW_CLR_GREEN CLR_GREEN | |
62 #define DW_CLR_CYAN CLR_CYAN | |
63 #define DW_CLR_YELLOW CLR_YELLOW | |
64 #define DW_CLR_DARKGRAY CLR_DARKGRAY | |
65 #define DW_CLR_DARKBLUE CLR_DARKBLUE | |
66 #define DW_CLR_DARKRED CLR_DARKRED | |
67 #define DW_CLR_DARKPINK CLR_DARKPINK | |
68 #define DW_CLR_DARKGREEN CLR_DARKGREEN | |
69 #define DW_CLR_DARKCYAN CLR_DARKCYAN | |
70 #define DW_CLR_BROWN CLR_BROWN | |
71 #define DW_CLR_PALEGRAY CLR_PALEGRAY | |
72 | |
73 #define DW_FCF_TITLEBAR FCF_TITLEBAR | |
113
553f3b4f8b5b
Added the CLOSEBUTTON flag to the SYSMENU flag on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
90
diff
changeset
|
74 #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON) |
3 | 75 #define DW_FCF_MENU FCF_MENU |
76 #define DW_FCF_SIZEBORDER FCF_SIZEBORDER | |
77 #define DW_FCF_MINBUTTON FCF_MINBUTTON | |
78 #define DW_FCF_MAXBUTTON FCF_MAXBUTTON | |
79 #define DW_FCF_MINMAX FCF_MINMAX | |
80 #define DW_FCF_VERTSCROLL FCF_VERTSCROLL | |
81 #define DW_FCF_HORZSCROLL FCF_HORZSCROLL | |
82 #define DW_FCF_DLGBORDER FCF_DLGBORDER | |
83 #define DW_FCF_BORDER FCF_BORDER | |
84 #define DW_FCF_SHELLPOSITION FCF_SHELLPOSITION | |
85 #define DW_FCF_TASKLIST FCF_TASKLIST | |
86 #define DW_FCF_NOBYTEALIGN FCF_NOBYTEALIGN | |
87 #define DW_FCF_NOMOVEWITHOWNER FCF_NOMOVEWITHOWNER | |
88 #define DW_FCF_SYSMODAL FCF_SYSMODAL | |
89 #define DW_FCF_HIDEBUTTON FCF_HIDEBUTTON | |
90 #define DW_FCF_HIDEMAX FCF_HIDEMAX | |
91 #define DW_FCF_AUTOICON FCF_AUTOICON | |
92 | |
93 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON | |
94 #define DW_CFA_STRING CFA_STRING | |
95 #define DW_CFA_ULONG CFA_ULONG | |
96 #define DW_CFA_TIME CFA_TIME | |
97 #define DW_CFA_DATE CFA_DATE | |
98 #define DW_CFA_CENTER CFA_CENTER | |
99 #define DW_CFA_LEFT CFA_LEFT | |
100 #define DW_CFA_RIGHT CFA_RIGHT | |
101 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR | |
102 #define DW_CFA_SEPARATOR CFA_SEPARATOR | |
103 | |
104 #define DW_CA_DETAILSVIEWTITLES CA_DETAILSVIEWTITLES | |
105 #define DW_CV_MINI CV_MINI | |
106 #define DW_CV_DETAIL CV_DETAIL | |
107 | |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
108 #define DW_CRA_SELECTED CRA_SELECTED |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
109 #define DW_CRA_CURSORED CRA_CURSORED |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
110 |
3 | 111 #define DW_SLS_READONLY SLS_READONLY |
112 #define DW_SLS_RIBBONSTRIP SLS_RIBBONSTRIP | |
113 | |
114 #define DW_CCS_SINGLESEL CCS_SINGLESEL | |
115 #define DW_CCS_EXTENDSEL CCS_EXTENDSEL | |
116 | |
117 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL | |
118 | |
119 #define DW_LIT_NONE -1 | |
120 | |
121 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE | |
122 | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
123 #define DW_POINTER_ARROW SPTR_ARROW |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
124 #define DW_POINTER_CLOCK SPTR_WAIT |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
125 |
60
61869769c050
Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
54
diff
changeset
|
126 #define DW_OS2_NEW_WINDOW 1 |
61869769c050
Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
54
diff
changeset
|
127 |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
128 typedef struct _window_data { |
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
129 PFNWP oldproc; |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
130 UserData *root; |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
131 HWND clickdefault; |
60
61869769c050
Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
54
diff
changeset
|
132 ULONG flags; |
67
ab9b0fa6c66e
Focus fixes and removal of several hack in the OS/2 code base.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
63
diff
changeset
|
133 void *data; |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
134 } WindowData; |
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
135 |
3 | 136 typedef struct _hpixmap { |
137 unsigned long width, height; | |
138 HDC hdc; | |
139 HPS hps; | |
140 HBITMAP hbm; | |
141 HWND handle; | |
142 } *HPIXMAP; | |
143 | |
144 typedef struct _hmenui { | |
145 HWND menu; | |
146 } *HMENUI; | |
147 | |
157
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
148 typedef HMODULE HMOD; |
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
149 |
3 | 150 extern HAB dwhab; |
151 extern HMQ dwhmq; | |
152 #endif | |
153 | |
154 #if defined(__WIN32__) || defined(WINNT) | |
155 #include <windows.h> | |
156 #include <commctrl.h> | |
157 | |
158 /* Cygwin doesn't seem to have these... */ | |
159 #if defined(__CYGWIN32__) | |
160 #define LVS_EX_GRIDLINES 0x00000001 | |
161 #define LVS_EX_FULLROWSELECT 0x00000020 | |
162 #define LVM_SETEXTENDEDLISTVIEWSTYLE (0x1000 + 54) | |
163 #define ListView_SetExtendedListViewStyle(hwndLV, dw) (DWORD)SendMessage((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw) | |
164 #endif | |
165 #ifndef UDM_SETPOS32 | |
166 #define UDM_SETPOS32 (WM_USER+113) | |
167 #endif | |
168 #ifndef UDM_GETPOS32 | |
169 #define UDM_GETPOS32 (WM_USER+114) | |
170 #endif | |
171 | |
172 /* Lets make some platform independent defines :) */ | |
173 #define DW_DT_LEFT SS_LEFT | |
174 #define DW_DT_QUERYEXTENT 0 | |
175 #define DW_DT_UNDERSCORE 0 | |
176 #define DW_DT_STRIKEOUT 0 | |
177 #define DW_DT_TEXTATTRS 0 | |
178 #define DW_DT_EXTERNALLEADING 0 | |
179 #define DW_DT_CENTER SS_CENTER | |
180 #define DW_DT_RIGHT SS_RIGHT | |
181 #define DW_DT_TOP 0 | |
88
58d8139fe0a2
Added vertical center logic for static text controls on windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
70
diff
changeset
|
182 #define DW_DT_VCENTER SS_NOPREFIX |
3 | 183 #define DW_DT_BOTTOM 0 |
184 #define DW_DT_HALFTONE 0 | |
185 #define DW_DT_MNEMONIC 0 | |
186 #define DW_DT_WORDBREAK 0 | |
187 #define DW_DT_ERASERECT 0 | |
188 | |
189 /* These corespond to the entries in the color | |
190 * arrays in the Win32 dw.c, they are also the | |
191 * same as DOS ANSI colors. | |
192 */ | |
193 #define DW_CLR_BLACK 0 | |
194 #define DW_CLR_DARKRED 1 | |
195 #define DW_CLR_DARKGREEN 2 | |
196 #define DW_CLR_BROWN 3 | |
197 #define DW_CLR_DARKBLUE 4 | |
198 #define DW_CLR_DARKPINK 5 | |
199 #define DW_CLR_DARKCYAN 6 | |
200 #define DW_CLR_PALEGRAY 7 | |
201 #define DW_CLR_DARKGRAY 8 | |
202 #define DW_CLR_RED 9 | |
203 #define DW_CLR_GREEN 10 | |
204 #define DW_CLR_YELLOW 11 | |
205 #define DW_CLR_BLUE 12 | |
206 #define DW_CLR_PINK 13 | |
207 #define DW_CLR_CYAN 14 | |
208 #define DW_CLR_WHITE 15 | |
155
840c54766306
Another sync of sources, enhancements to dw_window_set_color() ... works
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
150
diff
changeset
|
209 #define DW_CLR_DEFAULT 16 |
3 | 210 |
211 #define DW_FCF_TITLEBAR WS_CAPTION | |
212 #define DW_FCF_SYSMENU WS_SYSMENU | |
213 #define DW_FCF_MENU 0 | |
214 #define DW_FCF_SIZEBORDER WS_THICKFRAME | |
215 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX | |
216 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX | |
217 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX) | |
218 #define DW_FCF_VERTSCROLL WS_VSCROLL | |
219 #define DW_FCF_HORZSCROLL WS_HSCROLL | |
220 #define DW_FCF_DLGBORDER WS_DLGFRAME | |
221 #define DW_FCF_BORDER WS_BORDER | |
222 #define DW_FCF_SHELLPOSITION 0 | |
223 #define DW_FCF_TASKLIST WS_VSCROLL | |
224 #define DW_FCF_NOBYTEALIGN 0 | |
225 #define DW_FCF_NOMOVEWITHOWNER 0 | |
226 #define DW_FCF_SYSMODAL 0 | |
227 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX | |
228 #define DW_FCF_HIDEMAX 0 | |
229 #define DW_FCF_AUTOICON 0 | |
230 | |
231 #define DW_CFA_BITMAPORICON 1 | |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
232 #define DW_CFA_STRING (1 << 1) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
233 #define DW_CFA_ULONG (1 << 2) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
234 #define DW_CFA_TIME (1 << 3) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
235 #define DW_CFA_DATE (1 << 4) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
236 #define DW_CFA_CENTER (1 << 5) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
237 #define DW_CFA_LEFT (1 << 6) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
238 #define DW_CFA_RIGHT (1 << 7) |
3 | 239 #define DW_CFA_HORZSEPARATOR 0 |
240 #define DW_CFA_SEPARATOR 0 | |
241 | |
242 #define DW_CA_DETAILSVIEWTITLES 0 | |
243 #define DW_CV_MINI 0 | |
244 #define DW_CV_DETAIL 0 | |
245 | |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
246 #define DW_CRA_SELECTED LVNI_SELECTED |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
247 #define DW_CRA_CURSORED LVNI_FOCUSED |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
248 |
3 | 249 #define DW_SLS_READONLY 0 |
250 #define DW_SLS_RIBBONSTRIP 0 | |
251 | |
252 #define DW_CCS_SINGLESEL 0 | |
253 #define DW_CCS_EXTENDSEL 0 | |
254 | |
255 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL | |
256 | |
257 #define DW_LIT_NONE -1 | |
258 | |
259 #define DW_MLE_CASESENSITIVE 1 | |
260 | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
261 #define DW_POINTER_ARROW 32512 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
262 #define DW_POINTER_CLOCK 32514 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
263 |
3 | 264 #define STATICCLASSNAME "STATIC" |
265 #define COMBOBOXCLASSNAME "COMBOBOX" | |
266 #define LISTBOXCLASSNAME "LISTBOX" | |
267 #define BUTTONCLASSNAME "BUTTON" | |
268 #define POPUPMENUCLASSNAME "POPUPMENU" | |
269 #define EDITCLASSNAME "EDIT" | |
270 #define FRAMECLASSNAME "FRAME" | |
271 | |
272 #define ClassName "dynamicwindows" | |
273 #define SplitbarClassName "dwsplitbar" | |
274 #define ObjectClassName "dwobjectclass" | |
275 #define DefaultFont NULL | |
276 | |
277 typedef struct _color { | |
278 int fore; | |
279 int back; | |
39
3aa9ef0b3996
Added focus fixes and set-focus fixes on all three platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
38
diff
changeset
|
280 HWND combo, buddy; |
3 | 281 int user; |
88
58d8139fe0a2
Added vertical center logic for static text controls on windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
70
diff
changeset
|
282 int vcenter; |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
283 HWND clickdefault; |
3 | 284 HBRUSH hbrush; |
285 char fontname[128]; | |
286 WNDPROC pOldProc; | |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
287 UserData *root; |
3 | 288 } ColorInfo; |
289 | |
290 typedef struct _notebookpage { | |
291 ColorInfo cinfo; | |
292 TC_ITEM item; | |
293 HWND hwnd; | |
294 int realid; | |
295 } NotebookPage; | |
296 | |
297 typedef HANDLE HMTX; | |
298 typedef HANDLE HEV; | |
157
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
299 typedef HANDLE HMOD; |
3 | 300 |
301 typedef struct _container { | |
302 ColorInfo cinfo; | |
303 ULONG *flags; | |
304 WNDPROC pOldProc; | |
70
5e7a4d93d8d7
Implemented dw_container_optimize() on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
69
diff
changeset
|
305 ULONG columns; |
3 | 306 } ContainerInfo; |
307 | |
308 typedef struct _hpixmap { | |
309 unsigned long width, height; | |
310 HBITMAP hbm; | |
311 HDC hdc; | |
312 HWND handle; | |
313 void *bits; | |
314 } *HPIXMAP; | |
315 | |
316 typedef struct _hmenui { | |
317 HMENU menu; | |
318 HWND hwnd; | |
319 } *HMENUI; | |
320 | |
321 #endif | |
322 | |
323 typedef struct _item { | |
324 /* Item type - Box or Item */ | |
325 int type; | |
326 /* Handle to Frame or Window */ | |
327 HWND hwnd; | |
328 /* Width and Height of static size */ | |
329 int width, height, origwidth, origheight; | |
330 /* Size Type - Static or Expand */ | |
331 int hsize, vsize; | |
332 /* Padding */ | |
333 int pad; | |
334 /* Ratio of current item */ | |
335 float xratio, yratio; | |
336 } Item; | |
337 | |
338 typedef struct _box { | |
339 #if defined(__WIN32__) || defined(WINNT) | |
340 ColorInfo cinfo; | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
22
diff
changeset
|
341 #elif defined(__OS2__) || defined(__EMX__) |
3 | 342 PFNWP oldproc; |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
343 UserData *root; |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
344 HWND hwndtitle; |
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
345 int titlebar; |
3 | 346 #endif |
347 /* Number of items in the box */ | |
348 int count; | |
349 /* Box type - horizontal or vertical */ | |
350 int type; | |
351 /* Padding */ | |
352 int pad, parentpad; | |
353 /* Groupbox */ | |
34
b03b24bb95f8
Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
33
diff
changeset
|
354 HWND grouphwnd; |
b03b24bb95f8
Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
33
diff
changeset
|
355 /* Default item */ |
b03b24bb95f8
Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
33
diff
changeset
|
356 HWND defaultitem; |
3 | 357 /* Used as temporary storage in the calculation stage */ |
358 int upx, upy, minheight, minwidth; | |
359 /* Ratio in this box */ | |
360 float xratio, yratio, parentxratio, parentyratio; | |
361 /* Used for calculating individual item ratios */ | |
7
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
362 int width, height; |
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
363 /* Any combinations of flags describing the box */ |
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
364 unsigned long flags; |
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
365 /* Array of item structures */ |
3 | 366 struct _item *items; |
367 } Box; | |
368 | |
369 typedef struct _bubblebutton { | |
370 #if defined(__WIN32__) || defined(WINNT) | |
371 ColorInfo cinfo; | |
61
4a02842f8074
Added shift-tab and up/down/left/right button support. And added missing
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
60
diff
changeset
|
372 int checkbox; |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
373 WNDPROC pOldProc; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
374 #endif |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
375 #if defined(__OS2__) || defined(__EMX__) |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
376 PFNWP pOldProc; |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
377 UserData *root; |
3 | 378 #endif |
379 unsigned long id; | |
380 char bubbletext[BUBBLE_HELP_MAX]; | |
381 } BubbleButton; | |
382 | |
383 void dw_box_pack_start_stub(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); | |
384 void dw_box_pack_end_stub(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); | |
385 #else | |
386 /* GTK */ | |
387 #include <gtk/gtk.h> | |
388 #include <gdk/gdkx.h> | |
389 #include <gdk/gdkprivate.h> | |
390 #include <pthread.h> | |
158
a4ae65d5b301
Include dlfcn.h on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
157
diff
changeset
|
391 #include <dlfcn.h> |
3 | 392 |
393 /* Lets make some platform independent defines :) */ | |
394 #define DW_DT_LEFT 1 | |
395 #define DW_DT_UNDERSCORE (1 << 1) | |
396 #define DW_DT_STRIKEOUT (1 << 2) | |
397 #define DW_DT_CENTER (1 << 3) | |
398 #define DW_DT_RIGHT (1 << 4) | |
399 #define DW_DT_TOP (1 << 5) | |
400 #define DW_DT_VCENTER (1 << 6) | |
401 #define DW_DT_BOTTOM (1 << 7) | |
402 #define DW_DT_HALFTONE (1 << 8) | |
403 #define DW_DT_MNEMONIC (1 << 9) | |
404 #define DW_DT_WORDBREAK (1 << 10) | |
405 #define DW_DT_ERASERECT (1 << 11) | |
406 | |
407 #define DW_CLR_BLACK 0 | |
408 #define DW_CLR_DARKRED 1 | |
409 #define DW_CLR_DARKGREEN 2 | |
410 #define DW_CLR_BROWN 3 | |
411 #define DW_CLR_DARKBLUE 4 | |
412 #define DW_CLR_DARKPINK 5 | |
413 #define DW_CLR_DARKCYAN 6 | |
414 #define DW_CLR_PALEGRAY 7 | |
415 #define DW_CLR_DARKGRAY 8 | |
416 #define DW_CLR_RED 9 | |
417 #define DW_CLR_GREEN 10 | |
418 #define DW_CLR_YELLOW 11 | |
419 #define DW_CLR_BLUE 12 | |
420 #define DW_CLR_PINK 13 | |
421 #define DW_CLR_CYAN 14 | |
422 #define DW_CLR_WHITE 15 | |
155
840c54766306
Another sync of sources, enhancements to dw_window_set_color() ... works
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
150
diff
changeset
|
423 #define DW_CLR_DEFAULT 16 |
3 | 424 |
425 #define DW_FCF_TITLEBAR 1 | |
426 #define DW_FCF_SYSMENU (1 << 1) | |
427 #define DW_FCF_MENU (1 << 2) | |
428 #define DW_FCF_SIZEBORDER (1 << 3) | |
429 #define DW_FCF_MINBUTTON (1 << 4) | |
430 #define DW_FCF_MAXBUTTON (1 << 5) | |
431 #define DW_FCF_MINMAX (1 << 6) | |
432 #define DW_FCF_VERTSCROLL (1 << 7) | |
433 #define DW_FCF_HORZSCROLL (1 << 8) | |
434 #define DW_FCF_DLGBORDER (1 << 9) | |
435 #define DW_FCF_BORDER (1 << 10) | |
436 #define DW_FCF_SHELLPOSITION (1 << 11) | |
437 #define DW_FCF_TASKLIST (1 << 12) | |
438 #define DW_FCF_NOBYTEALIGN (1 << 13) | |
439 #define DW_FCF_NOMOVEWITHOWNER (1 << 14) | |
440 #define DW_FCF_SYSMODAL (1 << 15) | |
441 #define DW_FCF_HIDEBUTTON (1 << 16) | |
442 #define DW_FCF_HIDEMAX (1 << 17) | |
443 #define DW_FCF_AUTOICON (1 << 18) | |
444 | |
445 #define DW_CFA_BITMAPORICON 1 | |
446 #define DW_CFA_STRING (1 << 1) | |
447 #define DW_CFA_ULONG (1 << 2) | |
448 #define DW_CFA_TIME (1 << 3) | |
449 #define DW_CFA_DATE (1 << 4) | |
450 #define DW_CFA_CENTER (1 << 5) | |
451 #define DW_CFA_LEFT (1 << 6) | |
452 #define DW_CFA_RIGHT (1 << 7) | |
453 #define DW_CFA_HORZSEPARATOR (1 << 8) | |
454 #define DW_CFA_SEPARATOR (1 << 9) | |
455 | |
456 #define DW_CA_DETAILSVIEWTITLES 1 | |
457 #define DW_CV_MINI (1 << 1) | |
458 #define DW_CV_DETAIL (1 << 2) | |
459 | |
460 #define DW_SLS_READONLY 1 | |
461 #define DW_SLS_RIBBONSTRIP (1 << 1) | |
462 | |
463 #define DW_CCS_SINGLESEL 1 | |
464 #define DW_CCS_EXTENDSEL (1 << 1) | |
465 | |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
466 #define DW_CRA_SELECTED 1 |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
467 #define DW_CRA_CURSORED (1 << 1) |
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
468 |
3 | 469 #define DW_LS_MULTIPLESEL 1 |
470 | |
471 #define DW_LIT_NONE -1 | |
472 | |
473 #define DW_MLE_CASESENSITIVE 1 | |
474 | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
475 #define DW_POINTER_ARROW GDK_ARROW |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
476 #define DW_POINTER_CLOCK GDK_CLOCK |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
477 |
3 | 478 #define DW_DESKTOP ((HWND)0) |
479 #define HWND_DESKTOP ((HWND)0) | |
480 | |
481 typedef GtkWidget *HWND; | |
38
538db2a48bac
Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
34
diff
changeset
|
482 #ifndef _ENVRNMNT_H |
3 | 483 typedef unsigned long ULONG; |
38
538db2a48bac
Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
34
diff
changeset
|
484 #endif |
3 | 485 typedef unsigned char UCHAR; |
486 typedef long LONG; | |
487 typedef unsigned short USHORT; | |
488 typedef short SHORT; | |
489 typedef pthread_mutex_t HMTX; | |
490 typedef struct _dw_unix_event { | |
491 pthread_mutex_t mutex; | |
492 pthread_cond_t event; | |
493 pthread_t thread; | |
494 int alive; | |
495 int posted; | |
496 } *HEV; | |
497 typedef pthread_t DWTID; | |
157
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
498 typedef void * HMOD; |
3 | 499 |
500 typedef struct _hpixmap { | |
501 unsigned long width, height; | |
502 GdkPixmap *pixmap; | |
503 HWND handle; | |
504 } *HPIXMAP; | |
505 | |
506 typedef struct _hmenui { | |
507 GtkWidget *menu; | |
508 } *HMENUI; | |
509 | |
510 typedef struct _resource_struct { | |
511 long resource_max, *resource_id; | |
512 char **resource_data; | |
513 } DWResources; | |
514 | |
515 #if !defined(DW_RESOURCES) || defined(BUILD_DLL) | |
516 static DWResources _resources = { 0, 0, 0 }; | |
517 #else | |
518 extern DWResources _resources; | |
519 #endif | |
520 | |
521 #endif | |
522 | |
523 #if !defined(__OS2__) && !defined(__EMX__) | |
524 typedef struct _CDATE | |
525 { | |
526 UCHAR day; | |
527 UCHAR month; | |
528 USHORT year; | |
529 } CDATE; | |
530 typedef CDATE *PCDATE; | |
531 | |
532 typedef struct _CTIME | |
533 { | |
534 UCHAR hours; | |
535 UCHAR minutes; | |
536 UCHAR seconds; | |
537 UCHAR ucReserved; | |
538 } CTIME; | |
539 typedef CTIME *PCTIME; | |
540 #endif | |
541 | |
542 #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__) | |
543 typedef unsigned long DWTID; | |
544 #endif | |
545 | |
546 typedef struct _dwenv { | |
15
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
547 /* Operating System Name and DW Build Date/Time */ |
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
548 char osName[30], buildDate[30], buildTime[30]; |
3 | 549 /* Versions and builds */ |
550 short MajorVersion, MinorVersion, MajorBuild, MinorBuild; | |
15
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
551 /* Dynamic Window version */ |
81833f25b1aa
Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
14
diff
changeset
|
552 short DWMajorVersion, DWMinorVersion, DWSubVersion; |
3 | 553 } DWEnv; |
554 | |
555 | |
556 typedef struct _dwexpose { | |
557 int x, y; | |
558 int width, height; | |
559 } DWExpose; | |
560 | |
561 typedef struct _dwdialog { | |
562 HEV eve; | |
563 int done; | |
564 void *data, *result; | |
565 } DWDialog; | |
566 | |
567 #define DW_SIGNAL_FUNC(a) ((void *)a) | |
568 | |
7
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
569 #define DW_MINIMIZED 1 |
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
570 |
3 | 571 #define DW_BUTTON1_MASK 1 |
572 #define DW_BUTTON2_MASK (1 << 1) | |
573 #define DW_BUTTON3_MASK (1 << 2) | |
574 | |
575 #define DW_EXEC_CON 0 | |
576 #define DW_EXEC_GUI 1 | |
577 | |
578 #define DW_FILE_OPEN 0 | |
579 #define DW_FILE_SAVE 1 | |
580 | |
581 #define BOXHORZ 0 | |
582 #define BOXVERT 1 | |
583 | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
584 #define DW_SCROLL_UP 0 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
585 #define DW_SCROLL_DOWN 1 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
586 #define DW_SCROLL_TOP 2 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
587 #define DW_SCROLL_BOTTOM 3 |
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
588 |
3 | 589 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0) |
590 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0) | |
591 | |
62
2be5174bdb5d
Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
61
diff
changeset
|
592 #define DW_RGB_COLOR (0xF0000000) |
3 | 593 #define DW_RGB_MASK (0x00FFFFFF) |
594 #define DW_RED_MASK (0x000000FF) | |
595 #define DW_GREEN_MASK (0x0000FF00) | |
596 #define DW_BLUE_MASK (0x00FF0000) | |
597 #define DW_RED_VALUE(a) (a & DW_RED_MASK) | |
598 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8) | |
599 #define DW_BLUE_VALUE(a) ((a & DW_BLUE_MASK) >> 16) | |
62
2be5174bdb5d
Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
61
diff
changeset
|
600 #define DW_RGB(a, b, c) (0xF0000000 | a | b << 8 | c << 16) |
3 | 601 |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
22
diff
changeset
|
602 #if defined(__OS2__) || defined(__EMX__) |
3 | 603 #define DW_OS2_RGB(a) ((DW_RED_VALUE(a) << 16) | (DW_GREEN_VALUE(a) << 8) | DW_BLUE_VALUE(a)) |
604 #endif | |
605 | |
606 /* Public function prototypes */ | |
607 void dw_box_pack_start(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); | |
608 void dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad); | |
24
d9e87e8bcf1d
Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
22
diff
changeset
|
609 #if !defined(__OS2__) && !defined(__WIN32__) && !defined(__EMX__) |
134
caeb52bb5ef4
Pass pointers to argc and argv on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
120
diff
changeset
|
610 int dw_int_init(DWResources *res, int newthread, int *argc, char **argv[]); |
caeb52bb5ef4
Pass pointers to argc and argv on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
120
diff
changeset
|
611 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c) |
3 | 612 #else |
14
176cee043f1b
Lots of Windows and Unix bug fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
13
diff
changeset
|
613 int dw_init(int newthread, int argc, char *argv[]); |
3 | 614 #endif |
150
2a0d7b57a6da
Removed unnecessary parameters from dw_main().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
146
diff
changeset
|
615 void dw_main(void); |
38
538db2a48bac
Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
34
diff
changeset
|
616 void dw_main_sleep(int seconds); |
3 | 617 void dw_free(void *ptr); |
618 int dw_window_show(HWND handle); | |
619 int dw_window_hide(HWND handle); | |
14
176cee043f1b
Lots of Windows and Unix bug fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
13
diff
changeset
|
620 int dw_window_minimize(HWND handle); |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
621 int dw_window_raise(HWND handle); |
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
622 int dw_window_lower(HWND handle); |
3 | 623 int dw_window_destroy(HWND handle); |
54
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
624 void dw_window_redraw(HWND handle); |
3 | 625 int dw_window_set_font(HWND handle, char *fontname); |
626 int dw_window_set_color(HWND handle, unsigned long fore, unsigned long back); | |
627 HWND dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle); | |
628 HWND dw_box_new(int type, int pad); | |
629 HWND dw_groupbox_new(int type, int pad, char *title); | |
14
176cee043f1b
Lots of Windows and Unix bug fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
13
diff
changeset
|
630 HWND dw_mdi_new(unsigned long id); |
3 | 631 HWND dw_bitmap_new(unsigned long id); |
632 HWND dw_bitmapbutton_new(char *text, unsigned long id); | |
633 HWND dw_container_new(unsigned long id); | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
634 HWND dw_tree_new(unsigned long id); |
3 | 635 HWND dw_text_new(char *text, unsigned long id); |
7
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
636 HWND dw_status_text_new(char *text, unsigned long id); |
3 | 637 HWND dw_mle_new(unsigned long id); |
638 HWND dw_entryfield_new(char *text, unsigned long id); | |
639 HWND dw_entryfield_password_new(char *text, ULONG id); | |
640 HWND dw_combobox_new(char *text, unsigned long id); | |
641 HWND dw_button_new(char *text, unsigned long id); | |
642 HWND dw_spinbutton_new(char *text, unsigned long id); | |
643 HWND dw_radiobutton_new(char *text, ULONG id); | |
33
72675de7d229
Renamed slider class to percent class. Implemented my own percent widget
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
32
diff
changeset
|
644 HWND dw_percent_new(unsigned long id); |
63
a6801a2260af
Synched up with the latest dynamic windows, has new slider support and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
62
diff
changeset
|
645 HWND dw_slider_new(int vertical, int increments, ULONG id); |
3 | 646 HWND dw_checkbox_new(char *text, unsigned long id); |
647 HWND dw_listbox_new(unsigned long id, int multi); | |
648 void dw_listbox_append(HWND handle, char *text); | |
649 void dw_listbox_clear(HWND handle); | |
650 int dw_listbox_count(HWND handle); | |
651 void dw_listbox_set_top(HWND handle, int top); | |
652 void dw_listbox_select(HWND handle, int index, int state); | |
653 void dw_listbox_delete(HWND handle, int index); | |
654 void dw_listbox_query_text(HWND handle, unsigned int index, char *buffer, unsigned int length); | |
655 void dw_listbox_set_text(HWND handle, unsigned int index, char *buffer); | |
656 unsigned int dw_listbox_selected(HWND handle); | |
657 int dw_listbox_selected_multi(HWND handle, int where); | |
33
72675de7d229
Renamed slider class to percent class. Implemented my own percent widget
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
32
diff
changeset
|
658 unsigned int dw_percent_query_range(HWND handle); |
72675de7d229
Renamed slider class to percent class. Implemented my own percent widget
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
32
diff
changeset
|
659 void dw_percent_set_pos(HWND handle, unsigned int position); |
63
a6801a2260af
Synched up with the latest dynamic windows, has new slider support and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
62
diff
changeset
|
660 unsigned int dw_slider_query_pos(HWND handle); |
a6801a2260af
Synched up with the latest dynamic windows, has new slider support and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
62
diff
changeset
|
661 void dw_slider_set_pos(HWND handle, unsigned int position); |
3 | 662 void dw_window_set_pos(HWND handle, unsigned long x, unsigned long y); |
663 void dw_window_set_usize(HWND handle, unsigned long width, unsigned long height); | |
664 void dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height); | |
665 void dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height); | |
666 void dw_window_set_style(HWND handle, unsigned long style, unsigned long mask); | |
667 void dw_window_set_icon(HWND handle, unsigned long id); | |
668 void dw_window_set_bitmap(HWND handle, unsigned long id); | |
669 char *dw_window_get_text(HWND handle); | |
670 void dw_window_set_text(HWND handle, char *text); | |
671 int dw_window_set_border(HWND handle, int border); | |
672 void dw_window_disable(HWND handle); | |
673 void dw_window_enable(HWND handle); | |
674 void dw_window_capture(HWND handle); | |
675 void dw_window_release(void); | |
676 void dw_window_reparent(HWND handle, HWND newparent); | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
677 void dw_window_pointer(HWND handle, int pointertype); |
34
b03b24bb95f8
Added dw_window_default() to set the default focus widget in a dialog.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
33
diff
changeset
|
678 void dw_window_default(HWND window, HWND defaultitem); |
40
88c9c7410c22
Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
39
diff
changeset
|
679 void dw_window_click_default(HWND window, HWND next); |
3 | 680 unsigned int dw_mle_import(HWND handle, char *buffer, int startpoint); |
681 void dw_mle_export(HWND handle, char *buffer, int startpoint, int length); | |
682 void dw_mle_query(HWND handle, unsigned long *bytes, unsigned long *lines); | |
683 void dw_mle_delete(HWND handle, int startpoint, int length); | |
684 void dw_mle_clear(HWND handle); | |
685 void dw_mle_freeze(HWND handle); | |
686 void dw_mle_thaw(HWND handle); | |
687 void dw_mle_set(HWND handle, int point); | |
688 void dw_mle_set_visible(HWND handle, int line); | |
7
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
689 void dw_mle_set_editable(HWND handle, int state); |
005fa766e8c2
Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
3
diff
changeset
|
690 void dw_mle_set_word_wrap(HWND handle, int state); |
3 | 691 int dw_mle_search(HWND handle, char *text, int point, unsigned long flags); |
692 void dw_spinbutton_set_pos(HWND handle, long position); | |
693 void dw_spinbutton_set_limits(HWND handle, long upper, long lower); | |
694 void dw_entryfield_set_limit(HWND handle, ULONG limit); | |
695 long dw_spinbutton_query(HWND handle); | |
696 int dw_checkbox_query(HWND handle); | |
697 void dw_checkbox_set(HWND handle, int value); | |
54
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
698 HWND dw_tree_insert(HWND handle, char *title, unsigned long icon, HWND parent, void *itemdata); |
60
61869769c050
Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
54
diff
changeset
|
699 HWND dw_tree_insert_after(HWND handle, HWND item, char *title, unsigned long icon, HWND parent, void *itemdata); |
32
f3bf96c2786d
Added missing exports, added new tree functions and signals, fixed Win32
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
24
diff
changeset
|
700 void dw_tree_clear(HWND handle); |
f3bf96c2786d
Added missing exports, added new tree functions and signals, fixed Win32
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
24
diff
changeset
|
701 void dw_tree_delete(HWND handle, HWND item); |
54
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
702 void dw_tree_set(HWND handle, HWND item, char *title, unsigned long icon); |
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
703 void dw_tree_expand(HWND handle, HWND item); |
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
704 void dw_tree_collapse(HWND handle, HWND item); |
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
705 void dw_tree_item_select(HWND handle, HWND item); |
c4e1139d9872
Added new tree functions, and fixed a memory leak as well as use of
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
52
diff
changeset
|
706 void dw_tree_set_data(HWND handle, HWND item, void *itemdata); |
3 | 707 int dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator); |
708 unsigned long dw_icon_load(unsigned long module, unsigned long id); | |
709 void dw_icon_free(unsigned long handle); | |
710 void *dw_container_alloc(HWND handle, int rowcount); | |
711 void dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data); | |
167
0b3debaa9c6c
Added new container functions, and fixed resource leaks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
158
diff
changeset
|
712 void dw_container_change_item(HWND handle, int column, int row, void *data); |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
713 void dw_container_set_column_width(HWND handle, int column, int width); |
3 | 714 void dw_container_set_row_title(void *pointer, int row, char *title); |
715 void dw_container_insert(HWND handle, void *pointer, int rowcount); | |
52
0804483f6320
Added a redraw parameter to dw_container_clear().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
49
diff
changeset
|
716 void dw_container_clear(HWND handle, int redraw); |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
717 void dw_container_delete(HWND handle, int rowcount); |
3 | 718 void dw_container_set_view(HWND handle, unsigned long flags, int iconwidth, int iconheight); |
719 char *dw_container_query_start(HWND handle, unsigned long flags); | |
720 char *dw_container_query_next(HWND handle, unsigned long flags); | |
22
6a246b3bb14f
Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
15
diff
changeset
|
721 void dw_container_scroll(HWND handle, int direction, long rows); |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
722 void dw_container_cursor(HWND handle, char *text); |
167
0b3debaa9c6c
Added new container functions, and fixed resource leaks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
158
diff
changeset
|
723 void dw_container_delete_row(HWND handle, char *text); |
69
9510897c0b03
Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
67
diff
changeset
|
724 void dw_container_optimize(HWND handle); |
3 | 725 int dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count); |
726 void dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data); | |
727 void dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon); | |
728 int dw_screen_width(void); | |
729 int dw_screen_height(void); | |
730 unsigned long dw_color_depth(void); | |
731 HWND dw_notebook_new(unsigned long id, int top); | |
732 unsigned long dw_notebook_page_new(HWND handle, unsigned long flags, int front); | |
733 void dw_notebook_page_destroy(HWND handle, unsigned int pageid); | |
734 void dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text); | |
735 void dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text); | |
736 void dw_notebook_page_set(HWND handle, unsigned int pageid); | |
737 unsigned int dw_notebook_page_query(HWND handle); | |
738 void dw_notebook_pack(HWND handle, unsigned long pageid, HWND page); | |
119
1cad81b7cc4c
Implemented initial splitbar code on Unix. And made some fixes for
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
117
diff
changeset
|
739 HWND dw_splitbar_new(int type, HWND topleft, HWND bottomright, unsigned long id); |
120
7d2108cbcd3e
Porting DW to GTK 2.0... and changed the percent value from into to a float
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
119
diff
changeset
|
740 void dw_splitbar_set(HWND handle, float percent); |
7d2108cbcd3e
Porting DW to GTK 2.0... and changed the percent value from into to a float
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
119
diff
changeset
|
741 float dw_splitbar_get(HWND handle); |
3 | 742 HMENUI dw_menu_new(unsigned long id); |
743 HMENUI dw_menubar_new(HWND location); | |
744 HWND dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu); | |
13
156281539fb3
Fixed misdeclaration in dw_menu_item_set_check(), id was int should be
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
7
diff
changeset
|
745 void dw_menu_item_set_check(HMENUI menu, unsigned long id, int check); |
3 | 746 void dw_menu_popup(HMENUI *menu, HWND parent, int x, int y); |
747 void dw_menu_destroy(HMENUI *menu); | |
748 void dw_pointer_query_pos(long *x, long *y); | |
749 void dw_pointer_set_pos(long x, long y); | |
750 void dw_window_function(HWND handle, void *function, void *data); | |
751 HWND dw_window_from_id(HWND handle, int id); | |
752 HMTX dw_mutex_new(void); | |
753 void dw_mutex_close(HMTX mutex); | |
754 void dw_mutex_lock(HMTX mutex); | |
755 void dw_mutex_unlock(HMTX mutex); | |
756 HEV dw_event_new(void); | |
757 int dw_event_reset(HEV eve); | |
758 int dw_event_post(HEV eve); | |
759 int dw_event_wait(HEV eve, unsigned long timeout); | |
760 int dw_event_close (HEV *eve); | |
761 DWTID dw_thread_new(void *func, void *data, int stack); | |
762 void dw_thread_end(void); | |
763 DWTID dw_thread_id(void); | |
764 void dw_exit(int exitcode); | |
765 HWND dw_render_new(unsigned long id); | |
766 void dw_color_foreground_set(unsigned long value); | |
767 void dw_color_background_set(unsigned long value); | |
768 void dw_draw_point(HWND handle, HPIXMAP pixmap, int x, int y); | |
769 void dw_draw_line(HWND handle, HPIXMAP pixmap, int x1, int y1, int x2, int y2); | |
770 void dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height); | |
771 void dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text); | |
49
bf42d08d72d7
Added font text extent querying code, and made it so winmain.c can be used
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
40
diff
changeset
|
772 void dw_font_text_extents(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height); |
3 | 773 void dw_flush(void); |
774 void dw_pixmap_bitblt(HWND dest, HPIXMAP destp, int xdest, int ydest, int width, int height, HWND src, HPIXMAP srcp, int xsrc, int ysrc); | |
775 HPIXMAP dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth); | |
776 HPIXMAP dw_pixmap_grab(HWND handle, ULONG id); | |
777 void dw_pixmap_destroy(HPIXMAP pixmap); | |
778 void dw_beep(int freq, int dur); | |
779 int dw_messagebox(char *title, char *format, ...); | |
780 int dw_yesno(char *title, char *text); | |
781 void dw_environment_query(DWEnv *env); | |
782 int dw_exec(char *program, int type, char **params); | |
783 int dw_browse(char *url); | |
784 char *dw_file_browse(char *title, char *defpath, char *ext, int flags); | |
785 char *dw_user_dir(void); | |
786 DWDialog *dw_dialog_new(void *data); | |
787 int dw_dialog_dismiss(DWDialog *dialog, void *result); | |
788 void *dw_dialog_wait(DWDialog *dialog); | |
90
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
789 void dw_window_set_data(HWND window, char *dataname, void *data); |
eeb98f881663
Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
88
diff
changeset
|
790 void *dw_window_get_data(HWND window, char *dataname); |
157
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
791 int dw_module_load(char *name, HMOD *handle); |
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
792 int dw_module_symbol(HMOD handle, char *name, void**func); |
a07dd2e819f3
Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents:
155
diff
changeset
|
793 int dw_module_close(HMOD handle); |
3 | 794 #ifndef NO_SIGNALS |
795 void dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data); | |
796 void dw_signal_disconnect_by_window(HWND window); | |
797 void dw_signal_disconnect_by_data(HWND window, void *data); | |
798 void dw_signal_disconnect_by_name(HWND window, char *signame); | |
799 #endif | |
800 | |
801 #endif |