annotate dw.h @ 456:935436731b41

Hybrid fix, seems the last change illiminated some important code that dealt with varying padding sizes in the opposite direction of the box. This readds that code but optimizes it and includes the groupbox calculations that were already present in the previous code path. This fix will be added to the OS/2 tree as well pending testing of this new code path.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 25 Jun 2003 03:39:44 +0000
parents dd04a4d781f8
children fa05a1a0f9b3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1 /* $Id$ */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
2
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
3 #ifndef _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
4 #define _H_DW
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
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
224
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
11 /* These corespond to the entries in the color
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
12 * arrays in the Win32 dw.c, they are also the
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
13 * same as DOS ANSI colors.
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
14 */
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
15 #define DW_CLR_BLACK 0
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
16 #define DW_CLR_DARKRED 1
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
17 #define DW_CLR_DARKGREEN 2
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
18 #define DW_CLR_BROWN 3
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
19 #define DW_CLR_DARKBLUE 4
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
20 #define DW_CLR_DARKPINK 5
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
21 #define DW_CLR_DARKCYAN 6
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
22 #define DW_CLR_PALEGRAY 7
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
23 #define DW_CLR_DARKGRAY 8
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
24 #define DW_CLR_RED 9
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
25 #define DW_CLR_GREEN 10
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
26 #define DW_CLR_YELLOW 11
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
27 #define DW_CLR_BLUE 12
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
28 #define DW_CLR_PINK 13
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
29 #define DW_CLR_CYAN 14
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
30 #define DW_CLR_WHITE 15
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
31 #define DW_CLR_DEFAULT 16
e6571c4e4d3b Use the same DW_CLR_* values on all platforms including OS/2... so I
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 204
diff changeset
32
306
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
33 /* Signal handler defines */
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
34 #define DW_SIGNAL_CONFIGURE "configure_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
35 #define DW_SIGNAL_KEY_PRESS "key_press_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
36 #define DW_SIGNAL_BUTTON_PRESS "button_press_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
37 #define DW_SIGNAL_BUTTON_RELEASE "button_release_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
38 #define DW_SIGNAL_MOTION_NOTIFY "motion_notify_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
39 #define DW_SIGNAL_DELETE "delete_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
40 #define DW_SIGNAL_EXPOSE "expose_event"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
41 #define DW_SIGNAL_CLICKED "clicked"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
42 #define DW_SIGNAL_ITEM_ENTER "container-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
43 #define DW_SIGNAL_ITEM_CONTEXT "container-context"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
44 #define DW_SIGNAL_ITEM_SELECT "tree-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
45 #define DW_SIGNAL_LIST_SELECT "item-select"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
46 #define DW_SIGNAL_SET_FOCUS "set-focus"
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
47 #define DW_SIGNAL_VALUE_CHANGED "value_changed"
330
b87afd126cb7 Add switch-page signal.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 328
diff changeset
48 #define DW_SIGNAL_SWITCH_PAGE "switch-page"
306
9d13efce2894 Minor OS/2 cleanup. Added #defines for the signals, instead of using the
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 302
diff changeset
49
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
50 #if defined(__OS2__) || defined(__WIN32__) || defined(__MAC__) || defined(WINNT) || defined(__EMX__)
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
51 /* OS/2, Windows or MacOS */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
52
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
53 #if defined(__IBMC__) && !defined(API)
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
54 #define API _System
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
55 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
56
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
57 /* Used internally */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
58 #define TYPEBOX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
59 #define TYPEITEM 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
60
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
61 #define SIZESTATIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
62 #define SIZEEXPAND 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
63
182
b8caec82a4d2 Minor splitbar fixes on OS/2 and Windows. The splitbar width is now 4
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 177
diff changeset
64 #define SPLITBAR_WIDTH 4
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
65 #define BUBBLE_HELP_MAX 256
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
66
90
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
67 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
68 {
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
69 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
70 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
71 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
72 } UserData;
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
73
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
74 /* OS/2 Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
75 #if defined(__OS2__) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
76 #define INCL_DOS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
77 #define INCL_WIN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
78 #define INCL_GPI
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
79
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
80 #include <os2.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
81
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
82 #define DW_DT_LEFT DT_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
83 #define DW_DT_QUERYEXTENT DT_QUERYEXTENT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
84 #define DW_DT_UNDERSCORE DT_UNDERSCORE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
85 #define DW_DT_STRIKEOUT DT_STRIKEOUT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
86 #define DW_DT_TEXTATTRS DT_TEXTATTRS
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
87 #define DW_DT_EXTERNALLEADING DT_EXTERNALLEADING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
88 #define DW_DT_CENTER DT_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
89 #define DW_DT_RIGHT DT_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
90 #define DW_DT_TOP DT_TOP
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
91 #define DW_DT_VCENTER DT_VCENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
92 #define DW_DT_BOTTOM DT_BOTTOM
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
93 #define DW_DT_HALFTONE DT_HALFTONE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
94 #define DW_DT_MNEMONIC DT_MNEMONIC
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
95 #define DW_DT_WORDBREAK DT_WORDBREAK
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
96 #define DW_DT_ERASERECT DT_ERASERECT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
97
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
98 #ifndef FCF_CLOSEBUTTON
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
99 #define FCF_CLOSEBUTTON 0x04000000L
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
100 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
101
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
102 #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
103 #define DW_FCF_SYSMENU (FCF_SYSMENU | FCF_CLOSEBUTTON)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
104 #define DW_FCF_MENU FCF_MENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
105 #define DW_FCF_SIZEBORDER FCF_SIZEBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
106 #define DW_FCF_MINBUTTON FCF_MINBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
107 #define DW_FCF_MAXBUTTON FCF_MAXBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
108 #define DW_FCF_MINMAX FCF_MINMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
109 #define DW_FCF_VERTSCROLL FCF_VERTSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
110 #define DW_FCF_HORZSCROLL FCF_HORZSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
111 #define DW_FCF_DLGBORDER FCF_DLGBORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
112 #define DW_FCF_BORDER FCF_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
113 #define DW_FCF_SHELLPOSITION FCF_SHELLPOSITION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
114 #define DW_FCF_TASKLIST FCF_TASKLIST
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
115 #define DW_FCF_NOBYTEALIGN FCF_NOBYTEALIGN
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
116 #define DW_FCF_NOMOVEWITHOWNER FCF_NOMOVEWITHOWNER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
117 #define DW_FCF_SYSMODAL FCF_SYSMODAL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
118 #define DW_FCF_HIDEBUTTON FCF_HIDEBUTTON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
119 #define DW_FCF_HIDEMAX FCF_HIDEMAX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
120 #define DW_FCF_AUTOICON FCF_AUTOICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
121
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
122 #define DW_CFA_BITMAPORICON CFA_BITMAPORICON
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
123 #define DW_CFA_STRING CFA_STRING
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
124 #define DW_CFA_ULONG CFA_ULONG
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
125 #define DW_CFA_TIME CFA_TIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
126 #define DW_CFA_DATE CFA_DATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
127 #define DW_CFA_CENTER CFA_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
128 #define DW_CFA_LEFT CFA_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
129 #define DW_CFA_RIGHT CFA_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
130 #define DW_CFA_HORZSEPARATOR CFA_HORZSEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
131 #define DW_CFA_SEPARATOR CFA_SEPARATOR
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
132
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
133 #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
134 #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
135
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
136 #define DW_LS_MULTIPLESEL LS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
137
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
138 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
139
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
140 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
141
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
142 #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
143 #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
144
60
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
145 #define DW_OS2_NEW_WINDOW 1
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
146
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
147 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
148 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
149 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
150 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
151 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
152
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
153 #define DW_MB_WARNING MB_WARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
154 #define DW_MB_ERROR MB_ERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
155 #define DW_MB_INFORMATION MB_INFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
156 #define DW_MB_QUESTION MB_QUERY
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
157
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
158 /* Virtual Key Codes */
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
159 #define VK_LBUTTON VK_BUTTON1
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
160 #define VK_RBUTTON VK_BUTTON2
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
161 #define VK_MBUTTON VK_BUTTON3
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
162 #define VK_RETURN VK_NEWLINE
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
163 #define VK_SNAPSHOT VK_PRINTSCRN
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
164 #define VK_CANCEL VK_BREAK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
165 #define VK_CAPITAL VK_CAPSLOCK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
166 #define VK_ESCAPE VK_ESC
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
167 #define VK_PRIOR VK_PAGEUP
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
168 #define VK_NEXT VK_PAGEDOWN
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
169 #define VK_SELECT 133
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
170 #define VK_EXECUTE 134
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
171 #define VK_PRINT 135
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
172 #define VK_HELP 136
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
173 #define VK_LWIN 137
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
174 #define VK_RWIN 138
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
175 #define VK_MULTIPLY ('*' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
176 #define VK_ADD ('+' + 128)
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
177 #define VK_SEPARATOR 141
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
178 #define VK_SUBTRACT ('-' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
179 #define VK_DECIMAL ('.' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
180 #define VK_DIVIDE ('/' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
181 #define VK_SCROLL VK_SCRLLOCK
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
182 #define VK_LSHIFT VK_SHIFT
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
183 #define VK_RSHIFT 147
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
184 #define VK_LCONTROL VK_CTRL
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
185 #define VK_RCONTROL 149
302
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
186 #define VK_NUMPAD0 ('0' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
187 #define VK_NUMPAD1 ('1' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
188 #define VK_NUMPAD2 ('2' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
189 #define VK_NUMPAD3 ('3' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
190 #define VK_NUMPAD4 ('4' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
191 #define VK_NUMPAD5 ('5' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
192 #define VK_NUMPAD6 ('6' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
193 #define VK_NUMPAD7 ('7' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
194 #define VK_NUMPAD8 ('8' + 128)
7c1770e3fe08 Filled in many of the holes on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 300
diff changeset
195 #define VK_NUMPAD9 ('9' + 128)
446
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
196 #define VK_BACK VK_BACKSPACE
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
197 #define VK_LMENU VK_MENU
ab549e2f34b9 Fix some OS/2 key definitions.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 441
diff changeset
198 #define VK_RMENU VK_MENU
300
4559a2fd2db2 Keypress handler fixes, more need to be done, because I screwed up and
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 283
diff changeset
199
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
200 typedef struct _window_data {
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
201 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
202 UserData *root;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
203 HWND clickdefault;
60
61869769c050 Sync with the latest DW code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 54
diff changeset
204 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
205 void *data;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
206 } WindowData;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
207
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
208 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
209 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
210 HDC hdc;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
211 HPS hps;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
212 HBITMAP hbm;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
213 HWND handle;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
214 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
215
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
216 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
217 typedef HWND HMENUI;
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
218 typedef HMODULE HMOD;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
219 typedef unsigned short UWORD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
220
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
221 extern HAB dwhab;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
222 extern HMQ dwhmq;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
223 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
224
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
225 #if defined(__MAC__)
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
226 /* MacOS specific section */
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
227 #include <Carbon/Carbon.h>
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
228
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
229 typedef ControlRef HWND;
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
230 typedef ThreadID DWTID;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
231 typedef unsigned long ULONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
232 typedef long LONG;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
233 typedef unsigned short USHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
234 typedef short SHORT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
235 typedef unsigned short UWORD;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
236 typedef short WORD ;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
237 typedef unsigned char UCHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
238 typedef char CHAR;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
239 typedef unsigned UINT;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
240 typedef int INT;
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
241 typedef void *HMTX;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
242 typedef void *HEV;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
243 typedef void *HMOD;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
244 typedef void *HPIXMAP;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
245 typedef void *HTREEITEM;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
246 typedef void *HMENUI;
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
247
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
248 typedef struct _window_data {
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
249 UserData *root;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
250 HWND clickdefault;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
251 ULONG flags;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
252 void *data;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
253 } WindowData;
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
254
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
255 #define DW_DT_LEFT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
256 #define DW_DT_QUERYEXTENT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
257 #define DW_DT_UNDERSCORE 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
258 #define DW_DT_STRIKEOUT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
259 #define DW_DT_TEXTATTRS 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
260 #define DW_DT_EXTERNALLEADING 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
261 #define DW_DT_CENTER 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
262 #define DW_DT_RIGHT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
263 #define DW_DT_TOP 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
264 #define DW_DT_VCENTER 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
265 #define DW_DT_BOTTOM 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
266 #define DW_DT_HALFTONE 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
267 #define DW_DT_MNEMONIC 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
268 #define DW_DT_WORDBREAK 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
269 #define DW_DT_ERASERECT 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
270
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
271 #define DW_FCF_TITLEBAR 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
272 #define DW_FCF_SYSMENU 0
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
273 #define DW_FCF_MENU 0
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
274 #define DW_FCF_SIZEBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
275 #define DW_FCF_MINBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
276 #define DW_FCF_MAXBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
277 #define DW_FCF_MINMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
278 #define DW_FCF_VERTSCROLL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
279 #define DW_FCF_HORZSCROLL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
280 #define DW_FCF_DLGBORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
281 #define DW_FCF_BORDER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
282 #define DW_FCF_SHELLPOSITION 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
283 #define DW_FCF_TASKLIST 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
284 #define DW_FCF_NOBYTEALIGN 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
285 #define DW_FCF_NOMOVEWITHOWNER 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
286 #define DW_FCF_SYSMODAL 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
287 #define DW_FCF_HIDEBUTTON 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
288 #define DW_FCF_HIDEMAX 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
289 #define DW_FCF_AUTOICON 0
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
290
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
291 #define DW_CFA_BITMAPORICON 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
292 #define DW_CFA_STRING (1 << 1)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
293 #define DW_CFA_ULONG (1 << 2)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
294 #define DW_CFA_TIME (1 << 3)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
295 #define DW_CFA_DATE (1 << 4)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
296 #define DW_CFA_CENTER (1 << 5)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
297 #define DW_CFA_LEFT (1 << 6)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
298 #define DW_CFA_RIGHT (1 << 7)
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
299 #define DW_CFA_HORZSEPARATOR 0
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
300 #define DW_CFA_SEPARATOR 0
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
301
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
302 #define DW_CRA_SELECTED 1
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
303 #define DW_CRA_CURSORED (1 << 1)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
304
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
305 #define DW_LS_MULTIPLESEL 1
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
306
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
307 #define DW_LIT_NONE -1
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
308
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
309 #define DW_MLE_CASESENSITIVE MLFSEARCH_CASESENSITIVE
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
310
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
311 #define DW_POINTER_ARROW 0
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
312 #define DW_POINTER_CLOCK watchCursor
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
313
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
314 #define HWND_DESKTOP ((HWND)0)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
315
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
316 /* flag values for dw_messagebox() */
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
317 #define DW_MB_OK (1 << 1)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
318 #define DW_MB_OKCANCEL (1 << 2)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
319 #define DW_MB_YESNO (1 << 3)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
320 #define DW_MB_YESNOCANCEL (1 << 4)
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
321
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
322 #define DW_MB_WARNING (1 << 10)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
323 #define DW_MB_ERROR (1 << 11)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
324 #define DW_MB_INFORMATION (1 << 12)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
325 #define DW_MB_QUESTION (1 << 13)
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
326
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
327
416
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
328 #endif
a4197ddfc50d Changes to calculate groupbox border widths and take this into account
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 400
diff changeset
329
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
330 /* Windows specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
331 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
332 #include <windows.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
333 #include <commctrl.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
334
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
335 #if defined(MSVC) && !defined(API)
177
e3dd5c765775 Fixes for Windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 175
diff changeset
336 #define API _cdecl
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
337 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
338
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
339 #define DW_DT_LEFT SS_LEFT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
340 #define DW_DT_QUERYEXTENT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
341 #define DW_DT_UNDERSCORE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
342 #define DW_DT_STRIKEOUT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
343 #define DW_DT_TEXTATTRS 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
344 #define DW_DT_EXTERNALLEADING 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
345 #define DW_DT_CENTER SS_CENTER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
346 #define DW_DT_RIGHT SS_RIGHT
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
347 #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
348 #define DW_DT_VCENTER SS_NOPREFIX
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
349 #define DW_DT_BOTTOM 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
350 #define DW_DT_HALFTONE 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
351 #define DW_DT_MNEMONIC 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
352 #define DW_DT_WORDBREAK 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
353 #define DW_DT_ERASERECT 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
354
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
355 #define DW_FCF_TITLEBAR WS_CAPTION
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
356 #define DW_FCF_SYSMENU WS_SYSMENU
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
357 #define DW_FCF_MENU 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
358 #define DW_FCF_SIZEBORDER WS_THICKFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
359 #define DW_FCF_MINBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
360 #define DW_FCF_MAXBUTTON WS_MAXIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
361 #define DW_FCF_MINMAX (WS_MINIMIZEBOX|WS_MAXIMIZEBOX)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
362 #define DW_FCF_VERTSCROLL WS_VSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
363 #define DW_FCF_HORZSCROLL WS_HSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
364 #define DW_FCF_DLGBORDER WS_DLGFRAME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
365 #define DW_FCF_BORDER WS_BORDER
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
366 #define DW_FCF_SHELLPOSITION 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
367 #define DW_FCF_TASKLIST WS_VSCROLL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
368 #define DW_FCF_NOBYTEALIGN 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
369 #define DW_FCF_NOMOVEWITHOWNER 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
370 #define DW_FCF_SYSMODAL 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
371 #define DW_FCF_HIDEBUTTON WS_MINIMIZEBOX
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
372 #define DW_FCF_HIDEMAX 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
373 #define DW_FCF_AUTOICON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
374
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
375 #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
376 #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
377 #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
378 #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
379 #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
380 #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
381 #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
382 #define DW_CFA_RIGHT (1 << 7)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
383 #define DW_CFA_HORZSEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
384 #define DW_CFA_SEPARATOR 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
385
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
386 #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
387 #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
388
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
389 #define DW_LS_MULTIPLESEL LBS_MULTIPLESEL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
390
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
391 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
392
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
393 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
394
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
395 #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
396 #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
397
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
398 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
399 #define DW_MB_OK MB_OK
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
400 #define DW_MB_OKCANCEL MB_OKCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
401 #define DW_MB_YESNO MB_YESNO
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
402 #define DW_MB_YESNOCANCEL MB_YESNOCANCEL
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
403
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
404 #define DW_MB_WARNING MB_ICONWARNING
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
405 #define DW_MB_ERROR MB_ICONERROR
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
406 #define DW_MB_INFORMATION MB_ICONINFORMATION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
407 #define DW_MB_QUESTION MB_ICONQUESTION
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
408
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
409 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
410 #define KC_CTRL (1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
411 #define KC_SHIFT (1 << 1)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
412 #define KC_ALT (1 << 2)
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
413
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
414 #define STATICCLASSNAME "STATIC"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
415 #define COMBOBOXCLASSNAME "COMBOBOX"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
416 #define LISTBOXCLASSNAME "LISTBOX"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
417 #define BUTTONCLASSNAME "BUTTON"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
418 #define POPUPMENUCLASSNAME "POPUPMENU"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
419 #define EDITCLASSNAME "EDIT"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
420 #define FRAMECLASSNAME "FRAME"
204
098ed34d41fb The basics of the new scrollbar code on Windows, and dw_main_iteration().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 203
diff changeset
421 #define SCROLLBARCLASSNAME "SCROLLBAR"
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
422
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
423 #define ClassName "dynamicwindows"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
424 #define SplitbarClassName "dwsplitbar"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
425 #define ObjectClassName "dwobjectclass"
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
426 #define DefaultFont NULL
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
427
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
428 typedef struct _color {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
429 int fore;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
430 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
431 HWND combo, buddy;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
432 int user;
88
58d8139fe0a2 Added vertical center logic for static text controls on windows.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 70
diff changeset
433 int vcenter;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
434 HWND clickdefault;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
435 HBRUSH hbrush;
455
dd04a4d781f8 Fixes GDI font object leak when calling dw_window_set_font() on
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 449
diff changeset
436 HFONT hfont;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
437 char fontname[128];
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
438 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
439 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
440 } ColorInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
441
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
442 typedef struct _notebookpage {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
443 ColorInfo cinfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
444 TC_ITEM item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
445 HWND hwnd;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
446 int realid;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
447 } NotebookPage;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
448
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
449 typedef HANDLE HMTX;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
450 typedef HANDLE HEV;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
451 typedef HANDLE HMOD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
452
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
453 typedef struct _container {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
454 ColorInfo cinfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
455 ULONG *flags;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
456 WNDPROC pOldProc;
70
5e7a4d93d8d7 Implemented dw_container_optimize() on OS/2.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 69
diff changeset
457 ULONG columns;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
458 } ContainerInfo;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
459
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
460 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
461 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
462 HBITMAP hbm;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
463 HDC hdc;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
464 HWND handle;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
465 void *bits;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
466 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
467
238
13d3de3f1e83 Rewrote the menu code to not return structs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 236
diff changeset
468 typedef HWND HMENUI;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
469 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
470
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
471 typedef struct _item {
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
472 /* Item type - Box or Item */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
473 int type;
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
474 /* Handle to Frame or Window */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
475 HWND hwnd;
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
476 /* Width and Height of static size */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
477 int width, height, origwidth, origheight;
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
478 /* Size Type - Static or Expand */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
479 int hsize, vsize;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
480 /* Padding */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
481 int pad;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
482 /* Ratio of current item */
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
483 float xratio, yratio;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
484 } Item;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
485
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
486 typedef struct _box {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
487 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
488 ColorInfo cinfo;
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
489 #elif defined(__OS2__) || defined(__EMX__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
490 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
491 UserData *root;
40
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
492 HWND hwndtitle;
88c9c7410c22 Lots of fixes and new functions on all platforms.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 39
diff changeset
493 int titlebar;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
494 #endif
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
495 /* Number of items in the box */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
496 int count;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
497 /* Box type - horizontal or vertical */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
498 int type;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
499 /* Padding */
456
935436731b41 Hybrid fix, seems the last change illiminated some important code that
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 455
diff changeset
500 int pad, parentpad, grouppadx, grouppady;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
501 /* 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
502 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
503 /* 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
504 HWND defaultitem;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
505 /* Used as temporary storage in the calculation stage */
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
506 int upx, upy, minheight, minwidth;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
507 /* Ratio in this box */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
508 float xratio, yratio, parentxratio, parentyratio;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
509 /* Used for calculating individual item ratios */
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
510 int width, height;
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
511 /* Any combinations of flags describing the box */
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
512 unsigned long flags;
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
513 /* Array of item structures */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
514 struct _item *items;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
515 } Box;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
516
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
517 typedef struct _bubblebutton {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
518 #if defined(__WIN32__) || defined(WINNT)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
519 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
520 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
521 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
522 #endif
eeb98f881663 Committed the dw_window_set/get_data() changes from the FX tree.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 88
diff changeset
523 #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
524 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
525 UserData *root;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
526 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
527 unsigned long id;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
528 char bubbletext[BUBBLE_HELP_MAX];
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
529 } BubbleButton;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
530
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
531 #else
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
532 /* GTK Specific section */
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
533 #include <gtk/gtk.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
534 #include <gdk/gdkx.h>
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
535 #include <gdk/gdkprivate.h>
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
536 #include <gdk/gdkkeysyms.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
537 #include <pthread.h>
158
a4ae65d5b301 Include dlfcn.h on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 157
diff changeset
538 #include <dlfcn.h>
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
539
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
540 #define DW_DT_LEFT 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
541 #define DW_DT_UNDERSCORE (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
542 #define DW_DT_STRIKEOUT (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
543 #define DW_DT_CENTER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
544 #define DW_DT_RIGHT (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
545 #define DW_DT_TOP (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
546 #define DW_DT_VCENTER (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
547 #define DW_DT_BOTTOM (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
548 #define DW_DT_HALFTONE (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
549 #define DW_DT_MNEMONIC (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
550 #define DW_DT_WORDBREAK (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
551 #define DW_DT_ERASERECT (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
552
262
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
553 /* these don't exist under gtk, so make them dummy entries */
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
554 #define DW_DT_QUERYEXTENT 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
555 #define DW_DT_TEXTATTRS 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
556 #define DW_DT_EXTERNALLEADING 0
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
557
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
558 #define DW_FCF_TITLEBAR 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
559 #define DW_FCF_SYSMENU (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
560 #define DW_FCF_MENU (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
561 #define DW_FCF_SIZEBORDER (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
562 #define DW_FCF_MINBUTTON (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
563 #define DW_FCF_MAXBUTTON (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
564 #define DW_FCF_MINMAX (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
565 #define DW_FCF_VERTSCROLL (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
566 #define DW_FCF_HORZSCROLL (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
567 #define DW_FCF_DLGBORDER (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
568 #define DW_FCF_BORDER (1 << 10)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
569 #define DW_FCF_SHELLPOSITION (1 << 11)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
570 #define DW_FCF_TASKLIST (1 << 12)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
571 #define DW_FCF_NOBYTEALIGN (1 << 13)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
572 #define DW_FCF_NOMOVEWITHOWNER (1 << 14)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
573 #define DW_FCF_SYSMODAL (1 << 15)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
574 #define DW_FCF_HIDEBUTTON (1 << 16)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
575 #define DW_FCF_HIDEMAX (1 << 17)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
576 #define DW_FCF_AUTOICON (1 << 18)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
577
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
578 #define DW_CFA_BITMAPORICON 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
579 #define DW_CFA_STRING (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
580 #define DW_CFA_ULONG (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
581 #define DW_CFA_TIME (1 << 3)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
582 #define DW_CFA_DATE (1 << 4)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
583 #define DW_CFA_CENTER (1 << 5)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
584 #define DW_CFA_LEFT (1 << 6)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
585 #define DW_CFA_RIGHT (1 << 7)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
586 #define DW_CFA_HORZSEPARATOR (1 << 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
587 #define DW_CFA_SEPARATOR (1 << 9)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
588
69
9510897c0b03 Added new container functions, and implemented some missing functionality.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 67
diff changeset
589 #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
590 #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
591
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
592 #define DW_LS_MULTIPLESEL 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
593
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
594 #define DW_LIT_NONE -1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
595
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
596 #define DW_MLE_CASESENSITIVE 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
597
390
2dbed2673df0 Change mouse cursor definitions under GTK. DW_POINTER_ARROW now uses "default"
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 384
diff changeset
598 #define DW_POINTER_ARROW GDK_TOP_LEFT_ARROW
2dbed2673df0 Change mouse cursor definitions under GTK. DW_POINTER_ARROW now uses "default"
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 384
diff changeset
599 #define DW_POINTER_CLOCK GDK_WATCH
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
600
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
601 #define HWND_DESKTOP ((HWND)0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
602
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
603 /* flag values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
604 #define DW_MB_OK (1 << 1)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
605 #define DW_MB_OKCANCEL (1 << 2)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
606 #define DW_MB_YESNO (1 << 3)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
607 #define DW_MB_YESNOCANCEL (1 << 4)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
608
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
609 #define DW_MB_WARNING (1 << 10)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
610 #define DW_MB_ERROR (1 << 11)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
611 #define DW_MB_INFORMATION (1 << 12)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
612 #define DW_MB_QUESTION (1 << 13)
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
613
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
614 /* Virtual Key Codes */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
615 #define VK_LBUTTON GDK_Pointer_Button1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
616 #define VK_RBUTTON GDK_Pointer_Button3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
617 #define VK_CANCEL GDK_Cancel
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
618 #define VK_MBUTTON GDK_Pointer_Button2
384
cbf4df4bc2f1 Fix typo with backspace key name under GTK
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 369
diff changeset
619 #define VK_BACK GDK_BackSpace
267
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
620 #define VK_TAB GDK_Tab
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
621 #define VK_CLEAR GDK_Clear
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
622 #define VK_RETURN GDK_Return
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
623 #define VK_MENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
624 #define VK_PAUSE GDK_Pause
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
625 #define VK_CAPITAL GDK_Caps_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
626 #define VK_ESCAPE GDK_Escape
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
627 #define VK_SPACE GDK_space
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
628 #define VK_PRIOR GDK_Page_Up
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
629 #define VK_NEXT GDK_Page_Down
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
630 #define VK_END GDK_End
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
631 #define VK_HOME GDK_Home
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
632 #define VK_LEFT GDK_Left
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
633 #define VK_UP GDK_Up
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
634 #define VK_RIGHT GDK_Right
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
635 #define VK_DOWN GDK_Down
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
636 #define VK_SELECT GDK_Select
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
637 #define VK_PRINT GDK_Sys_Req
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
638 #define VK_EXECUTE GDK_Execute
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
639 #define VK_SNAPSHOT GDK_Print
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
640 #define VK_INSERT GDK_Insert
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
641 #define VK_DELETE GDK_Delete
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
642 #define VK_HELP GDK_Help
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
643 #define VK_LWIN GDK_Super_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
644 #define VK_RWIN GDK_Super_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
645 #define VK_NUMPAD0 GDK_KP_0
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
646 #define VK_NUMPAD1 GDK_KP_1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
647 #define VK_NUMPAD2 GDK_KP_2
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
648 #define VK_NUMPAD3 GDK_KP_3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
649 #define VK_NUMPAD4 GDK_KP_4
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
650 #define VK_NUMPAD5 GDK_KP_5
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
651 #define VK_NUMPAD6 GDK_KP_6
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
652 #define VK_NUMPAD7 GDK_KP_7
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
653 #define VK_NUMPAD8 GDK_KP_8
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
654 #define VK_NUMPAD9 GDK_KP_9
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
655 #define VK_MULTIPLY GDK_KP_Multiply
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
656 #define VK_ADD GDK_KP_Add
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
657 #define VK_SEPARATOR GDK_KP_Separator
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
658 #define VK_SUBTRACT GDK_KP_Subtract
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
659 #define VK_DECIMAL GDK_KP_Decimal
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
660 #define VK_DIVIDE GDK_KP_Divide
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
661 #define VK_F1 GDK_F1
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
662 #define VK_F2 GDK_F2
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
663 #define VK_F3 GDK_F3
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
664 #define VK_F4 GDK_F4
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
665 #define VK_F5 GDK_F5
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
666 #define VK_F6 GDK_F6
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
667 #define VK_F7 GDK_F7
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
668 #define VK_F8 GDK_F8
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
669 #define VK_F9 GDK_F9
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
670 #define VK_F10 GDK_F10
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
671 #define VK_F11 GDK_F11
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
672 #define VK_F12 GDK_F12
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
673 #define VK_F13 GDK_F13
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
674 #define VK_F14 GDK_F14
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
675 #define VK_F15 GDK_F15
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
676 #define VK_F16 GDK_F16
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
677 #define VK_F17 GDK_F17
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
678 #define VK_F18 GDK_F18
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
679 #define VK_F19 GDK_F19
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
680 #define VK_F20 GDK_F20
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
681 #define VK_F21 GDK_F21
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
682 #define VK_F22 GDK_F22
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
683 #define VK_F23 GDK_F23
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
684 #define VK_F24 GDK_F24
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
685 #define VK_NUMLOCK GDK_Num_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
686 #define VK_SCROLL GDK_Scroll_Lock
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
687 #define VK_LSHIFT GDK_Shift_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
688 #define VK_RSHIFT GDK_Shift_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
689 #define VK_LCONTROL GDK_Control_L
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
690 #define VK_RCONTROL GDK_Control_R
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
691 #define VK_LMENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
692 #define VK_RMENU GDK_Menu
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
693
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
694 /* Key Modifiers */
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
695 #define KC_CTRL GDK_CONTROL_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
696 #define KC_SHIFT GDK_SHIFT_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
697 #define KC_ALT GDK_MOD1_MASK
bf8b907f8a29 Added initial version of updated key_press_event callback.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 262
diff changeset
698
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
699 typedef GtkWidget *HWND;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
700 #ifndef _ENVRNMNT_H
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
701 typedef unsigned long ULONG;
38
538db2a48bac Added typecast to MPARAM.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 34
diff changeset
702 #endif
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
703 typedef long LONG;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
704 typedef unsigned short USHORT;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
705 typedef short SHORT;
236
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
706 typedef unsigned short UWORD;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
707 typedef short WORD ;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
708 typedef unsigned char UCHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
709 typedef char CHAR;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
710 typedef unsigned UINT;
5592cdeb29cf Make sure all platforms have the same typedefs.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 224
diff changeset
711 typedef int INT;
239
403b07f873e1 Use a pointer for HMTX instead of a pthread_mutex_t struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 238
diff changeset
712 typedef pthread_mutex_t *HMTX;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
713 typedef struct _dw_unix_event {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
714 pthread_mutex_t mutex;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
715 pthread_cond_t event;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
716 pthread_t thread;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
717 int alive;
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
718 int posted;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
719 } *HEV;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
720 typedef pthread_t DWTID;
157
a07dd2e819f3 Added module support.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 155
diff changeset
721 typedef void * HMOD;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
722
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
723 typedef struct _hpixmap {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
724 unsigned long width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
725 GdkPixmap *pixmap;
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
726 HWND handle;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
727 } *HPIXMAP;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
728
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
729 typedef GtkWidget *HMENUI;
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
730 typedef void *HTREEITEM;
185
f55677513954 Updated the menu code.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 182
diff changeset
731
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
732 typedef struct _resource_struct {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
733 long resource_max, *resource_id;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
734 char **resource_data;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
735 } DWResources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
736
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
737 #if !defined(DW_RESOURCES) || defined(BUILD_DLL)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
738 static DWResources _resources = { 0, 0, 0 };
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
739 #else
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
740 extern DWResources _resources;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
741 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
742
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
743 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
744
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
745 #if !defined(__OS2__) && !defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
746 typedef struct _CDATE
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
747 {
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
748 UCHAR day;
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
749 UCHAR month;
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
750 USHORT year;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
751 } CDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
752 typedef CDATE *PCDATE;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
753
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
754 typedef struct _CTIME
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
755 {
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
756 UCHAR hours;
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
757 UCHAR minutes;
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
758 UCHAR seconds;
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
759 UCHAR ucReserved;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
760 } CTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
761 typedef CTIME *PCTIME;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
762 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
763
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
764 #if defined(__OS2__) || defined(__WIN32__) || defined(WINNT) || defined(__EMX__)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
765 typedef unsigned long DWTID;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
766 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
767
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
768 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
769 /* 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
770 char osName[30], buildDate[30], buildTime[30];
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
771 /* Versions and builds */
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
772 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
773 /* Dynamic Window version */
81833f25b1aa Added new Dynamic Windows build information to the DWEnv struct.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 14
diff changeset
774 short DWMajorVersion, DWMinorVersion, DWSubVersion;
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
775 } DWEnv;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
776
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
777
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
778 typedef struct _dwexpose {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
779 int x, y;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
780 int width, height;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
781 } DWExpose;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
782
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
783 typedef struct _dwdialog {
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
784 HEV eve;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
785 int done;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
786 void *data, *result;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
787 } DWDialog;
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
788
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
789 #define DW_SIGNAL_FUNC(a) ((void *)a)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
790
262
ccddd3ca0637 DW_DT_QUERYEXTENT, DW_DT_TEXTATTRS, and DW_DT_EXTERNALLEADING not defined for gtk.
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 257
diff changeset
791 #define DW_DESKTOP HWND_DESKTOP
7
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
792 #define DW_MINIMIZED 1
005fa766e8c2 Updates to latest build.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 3
diff changeset
793
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
794 #define DW_BUTTON1_MASK 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
795 #define DW_BUTTON2_MASK (1 << 1)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
796 #define DW_BUTTON3_MASK (1 << 2)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
797
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
798 #define DW_EXEC_CON 0
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
799 #define DW_EXEC_GUI 1
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
800
449
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
801 #define DW_FILE_OPEN 0
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
802 #define DW_FILE_SAVE 1
787cc1e27897 Add support for directory browsing under Win32. DW_DIRECTORY_OPEN can be
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 446
diff changeset
803 #define DW_DIRECTORY_OPEN 2
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
804
283
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
805 #define DW_HORZ 0
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
806 #define DW_VERT 1
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
807
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
808 /* Obsolete, should disappear sometime */
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
809 #define BOXHORZ DW_HORZ
54aafc134652 BOXVERT is now DW_VERT and BOXHORZ is now DW_HORZ. Also code cleanups,
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 279
diff changeset
810 #define BOXVERT DW_VERT
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
811
22
6a246b3bb14f Added tree widgets, fixed some delete event processing, fixed a layout bug
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 15
diff changeset
812 #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
813 #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
814 #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
815 #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
816
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
817 /* return values for dw_messagebox() */
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
818 #define DW_MB_RETURN_OK 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
819 #define DW_MB_RETURN_YES 1
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
820 #define DW_MB_RETURN_NO 0
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
821 #define DW_MB_RETURN_CANCEL 2
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
822
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
823 #define DW_PIXMAP_WIDTH(x) (x ? x->width : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
824 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
825
62
2be5174bdb5d Sync with latest DW code. Tab and RGB fixes.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 61
diff changeset
826 #define DW_RGB_COLOR (0xF0000000)
369
39983df2b93d Updated the license information, and copyrights. Code to do background
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 350
diff changeset
827 #define DW_RGB_TRANSPARENT (0x0F000000)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
828 #define DW_RGB_MASK (0x00FFFFFF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
829 #define DW_RED_MASK (0x000000FF)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
830 #define DW_GREEN_MASK (0x0000FF00)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
831 #define DW_BLUE_MASK (0x00FF0000)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
832 #define DW_RED_VALUE(a) (a & DW_RED_MASK)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
833 #define DW_GREEN_VALUE(a) ((a & DW_GREEN_MASK) >> 8)
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
834 #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
835 #define DW_RGB(a, b, c) (0xF0000000 | a | b << 8 | c << 16)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
836
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
837 #define DW_MENU_SEPARATOR ""
441
b559c06a76c2 Implemented more functionality on MacOS and include the platform define
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 438
diff changeset
838 #define DW_NOMENU 0
325
e5f0613b65cd Added DW_MENU_SEPARATOR.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 317
diff changeset
839
24
d9e87e8bcf1d Updated dynamic windows to build with EMX.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 22
diff changeset
840 #if defined(__OS2__) || defined(__EMX__)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
841 #define DW_OS2_RGB(a) ((DW_RED_VALUE(a) << 16) | (DW_GREEN_VALUE(a) << 8) | DW_BLUE_VALUE(a))
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
842 #endif
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
843
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
844 #ifndef API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
845 #define API
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
846 #endif
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
847
175
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
848 #define DWSIGNAL API
d78d08440246 Use _System/_stdcall for callbacks.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 174
diff changeset
849
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
850 /* Public function prototypes */
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
851 void API dw_box_pack_start(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
852 void API dw_box_pack_end(HWND box, HWND item, int width, int height, int hsize, int vsize, int pad);
433
f225f16bebbd Compile fixes for MacOS X.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 416
diff changeset
853 #if !defined(__OS2__) && !defined(__WIN32__) && !defined(__EMX__) && !defined(__MAC__)
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
854 int API dw_int_init(DWResources *res, int newthread, int *argc, char **argv[]);
134
caeb52bb5ef4 Pass pointers to argc and argv on Unix.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 120
diff changeset
855 #define dw_init(a, b, c) dw_int_init(&_resources, a, &b, &c)
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
856 #else
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
857 int API dw_init(int newthread, int argc, char *argv[]);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
858 #endif
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
859 void API dw_main(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
860 void API dw_main_sleep(int seconds);
203
e0beea487e8f Added the basics for scrollbar thumb size on OS/2, and dw_main_iteration()
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 199
diff changeset
861 void API dw_main_iteration(void);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
862 void API dw_free(void *ptr);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
863 int API dw_window_show(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
864 int API dw_window_hide(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
865 int API dw_window_minimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
866 int API dw_window_raise(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
867 int API dw_window_lower(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
868 int API dw_window_destroy(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
869 void API dw_window_redraw(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
870 int API dw_window_set_font(HWND handle, char *fontname);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
871 int API dw_window_set_color(HWND handle, unsigned long fore, unsigned long back);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
872 HWND API dw_window_new(HWND hwndOwner, char *title, unsigned long flStyle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
873 HWND API dw_box_new(int type, int pad);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
874 HWND API dw_groupbox_new(int type, int pad, char *title);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
875 HWND API dw_mdi_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
876 HWND API dw_bitmap_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
877 HWND API dw_bitmapbutton_new(char *text, unsigned long id);
279
984db8aefd7f Build fixes for GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 278
diff changeset
878 HWND API dw_bitmapbutton_new_from_file(char *text, unsigned long id, char *filename);
350
2216e65ad2ae Removed slider flags and container selection flags from the header file.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 346
diff changeset
879 HWND API dw_container_new(unsigned long id, int multi);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
880 HWND API dw_tree_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
881 HWND API dw_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
882 HWND API dw_status_text_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
883 HWND API dw_mle_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
884 HWND API dw_entryfield_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
885 HWND API dw_entryfield_password_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
886 HWND API dw_combobox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
887 HWND API dw_button_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
888 HWND API dw_spinbutton_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
889 HWND API dw_radiobutton_new(char *text, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
890 HWND API dw_percent_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
891 HWND API dw_slider_new(int vertical, int increments, ULONG id);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
892 HWND API dw_scrollbar_new(int vertical, int increments, ULONG id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
893 HWND API dw_checkbox_new(char *text, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
894 HWND API dw_listbox_new(unsigned long id, int multi);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
895 void API dw_listbox_append(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
896 void API dw_listbox_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
897 int API dw_listbox_count(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
898 void API dw_listbox_set_top(HWND handle, int top);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
899 void API dw_listbox_select(HWND handle, int index, int state);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
900 void API dw_listbox_delete(HWND handle, int index);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
901 void API dw_listbox_query_text(HWND handle, unsigned int index, char *buffer, unsigned int length);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
902 void API dw_listbox_set_text(HWND handle, unsigned int index, char *buffer);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
903 unsigned int API dw_listbox_selected(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
904 int API dw_listbox_selected_multi(HWND handle, int where);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
905 unsigned int API dw_percent_query_range(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
906 void API dw_percent_set_pos(HWND handle, unsigned int position);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
907 unsigned int API dw_slider_query_pos(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
908 void API dw_slider_set_pos(HWND handle, unsigned int position);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
909 unsigned int API dw_scrollbar_query_pos(HWND handle);
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
910 void API dw_scrollbar_set_pos(HWND handle, unsigned int position);
203
e0beea487e8f Added the basics for scrollbar thumb size on OS/2, and dw_main_iteration()
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 199
diff changeset
911 void API dw_scrollbar_set_range(HWND handle, unsigned int range, unsigned int visible);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
912 void API dw_window_set_pos(HWND handle, unsigned long x, unsigned long y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
913 void API dw_window_set_usize(HWND handle, unsigned long width, unsigned long height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
914 void API dw_window_set_pos_size(HWND handle, unsigned long x, unsigned long y, unsigned long width, unsigned long height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
915 void API dw_window_get_pos_size(HWND handle, unsigned long *x, unsigned long *y, unsigned long *width, unsigned long *height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
916 void API dw_window_set_style(HWND handle, unsigned long style, unsigned long mask);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
917 void API dw_window_set_icon(HWND handle, unsigned long id);
278
df0665ba147f Initial code for dw_bitmapbutton_new_from_file and added filename parameter
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 267
diff changeset
918 void API dw_window_set_bitmap(HWND handle, unsigned long id, char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
919 char * API dw_window_get_text(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
920 void API dw_window_set_text(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
921 int API dw_window_set_border(HWND handle, int border);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
922 void API dw_window_disable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
923 void API dw_window_enable(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
924 void API dw_window_capture(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
925 void API dw_window_release(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
926 void API dw_window_reparent(HWND handle, HWND newparent);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
927 void API dw_window_pointer(HWND handle, int pointertype);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
928 void API dw_window_default(HWND window, HWND defaultitem);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
929 void API dw_window_click_default(HWND window, HWND next);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
930 unsigned int API dw_mle_import(HWND handle, char *buffer, int startpoint);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
931 void API dw_mle_export(HWND handle, char *buffer, int startpoint, int length);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
932 void API dw_mle_query(HWND handle, unsigned long *bytes, unsigned long *lines);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
933 void API dw_mle_delete(HWND handle, int startpoint, int length);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
934 void API dw_mle_clear(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
935 void API dw_mle_freeze(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
936 void API dw_mle_thaw(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
937 void API dw_mle_set(HWND handle, int point);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
938 void API dw_mle_set_visible(HWND handle, int line);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
939 void API dw_mle_set_editable(HWND handle, int state);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
940 void API dw_mle_set_word_wrap(HWND handle, int state);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
941 int API dw_mle_search(HWND handle, char *text, int point, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
942 void API dw_spinbutton_set_pos(HWND handle, long position);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
943 void API dw_spinbutton_set_limits(HWND handle, long upper, long lower);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
944 void API dw_entryfield_set_limit(HWND handle, ULONG limit);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
945 long API dw_spinbutton_query(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
946 int API dw_checkbox_query(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
947 void API dw_checkbox_set(HWND handle, int value);
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
948 HTREEITEM API dw_tree_insert(HWND handle, char *title, unsigned long icon, HTREEITEM parent, void *itemdata);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
949 HTREEITEM API dw_tree_insert_after(HWND handle, HTREEITEM item, char *title, unsigned long icon, HTREEITEM parent, void *itemdata);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
950 void API dw_tree_clear(HWND handle);
328
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
951 void API dw_tree_delete(HWND handle, HTREEITEM item);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
952 void API dw_tree_set(HWND handle, HTREEITEM item, char *title, unsigned long icon);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
953 void API dw_tree_expand(HWND handle, HTREEITEM item);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
954 void API dw_tree_collapse(HWND handle, HTREEITEM item);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
955 void API dw_tree_item_select(HWND handle, HTREEITEM item);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
956 void API dw_tree_set_data(HWND handle, HTREEITEM item, void *itemdata);
e00aff2b899e Tree item handles are now of the type HTREEITEM instead of HWND since they
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 325
diff changeset
957 void * API dw_tree_get_data(HWND handle, HTREEITEM item);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
958 int API dw_container_setup(HWND handle, unsigned long *flags, char **titles, int count, int separator);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
959 unsigned long API dw_icon_load(unsigned long module, unsigned long id);
257
9ea4ac9a097f Added dw_icon_load_from_file() on OS/2 and Windows. Added a stub on Unix
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 241
diff changeset
960 unsigned long API dw_icon_load_from_file(char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
961 void API dw_icon_free(unsigned long handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
962 void * API dw_container_alloc(HWND handle, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
963 void API dw_container_set_item(HWND handle, void *pointer, int column, int row, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
964 void API dw_container_change_item(HWND handle, int column, int row, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
965 void API dw_container_set_column_width(HWND handle, int column, int width);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
966 void API dw_container_set_row_title(void *pointer, int row, char *title);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
967 void API dw_container_insert(HWND handle, void *pointer, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
968 void API dw_container_clear(HWND handle, int redraw);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
969 void API dw_container_delete(HWND handle, int rowcount);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
970 char * API dw_container_query_start(HWND handle, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
971 char * API dw_container_query_next(HWND handle, unsigned long flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
972 void API dw_container_scroll(HWND handle, int direction, long rows);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
973 void API dw_container_cursor(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
974 void API dw_container_delete_row(HWND handle, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
975 void API dw_container_optimize(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
976 int API dw_filesystem_setup(HWND handle, unsigned long *flags, char **titles, int count);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
977 void API dw_filesystem_set_item(HWND handle, void *pointer, int column, int row, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
978 void API dw_filesystem_set_file(HWND handle, void *pointer, int row, char *filename, unsigned long icon);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
979 int API dw_screen_width(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
980 int API dw_screen_height(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
981 unsigned long API dw_color_depth(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
982 HWND API dw_notebook_new(unsigned long id, int top);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
983 unsigned long API dw_notebook_page_new(HWND handle, unsigned long flags, int front);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
984 void API dw_notebook_page_destroy(HWND handle, unsigned int pageid);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
985 void API dw_notebook_page_set_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
986 void API dw_notebook_page_set_status_text(HWND handle, unsigned long pageid, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
987 void API dw_notebook_page_set(HWND handle, unsigned int pageid);
346
81fae15885d7 Implemented switch-page on OS/2, and changed the signal prototype to
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 330
diff changeset
988 unsigned long API dw_notebook_page_query(HWND handle);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
989 void API dw_notebook_pack(HWND handle, unsigned long pageid, HWND page);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
990 HWND API dw_splitbar_new(int type, HWND topleft, HWND bottomright, unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
991 void API dw_splitbar_set(HWND handle, float percent);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
992 float API dw_splitbar_get(HWND handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
993 HMENUI API dw_menu_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
994 HMENUI API dw_menubar_new(HWND location);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
995 HWND API dw_menu_append_item(HMENUI menu, char *title, unsigned long id, unsigned long flags, int end, int check, HMENUI submenu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
996 void API dw_menu_item_set_check(HMENUI menu, unsigned long id, int check);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
997 void API dw_menu_popup(HMENUI *menu, HWND parent, int x, int y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
998 void API dw_menu_destroy(HMENUI *menu);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
999 void API dw_pointer_query_pos(long *x, long *y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1000 void API dw_pointer_set_pos(long x, long y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1001 void API dw_window_function(HWND handle, void *function, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1002 HWND API dw_window_from_id(HWND handle, int id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1003 HMTX API dw_mutex_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1004 void API dw_mutex_close(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1005 void API dw_mutex_lock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1006 void API dw_mutex_unlock(HMTX mutex);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1007 HEV API dw_event_new(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1008 int API dw_event_reset(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1009 int API dw_event_post(HEV eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1010 int API dw_event_wait(HEV eve, unsigned long timeout);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1011 int API dw_event_close (HEV *eve);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1012 DWTID API dw_thread_new(void *func, void *data, int stack);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1013 void API dw_thread_end(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1014 DWTID API dw_thread_id(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1015 void API dw_exit(int exitcode);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1016 HWND API dw_render_new(unsigned long id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1017 void API dw_color_foreground_set(unsigned long value);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1018 void API dw_color_background_set(unsigned long value);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1019 void API dw_draw_point(HWND handle, HPIXMAP pixmap, int x, int y);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1020 void API dw_draw_line(HWND handle, HPIXMAP pixmap, int x1, int y1, int x2, int y2);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1021 void API dw_draw_rect(HWND handle, HPIXMAP pixmap, int fill, int x, int y, int width, int height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1022 void API dw_draw_text(HWND handle, HPIXMAP pixmap, int x, int y, char *text);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1023 void API dw_font_text_extents(HWND handle, HPIXMAP pixmap, char *text, int *width, int *height);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1024 void API dw_flush(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1025 void API dw_pixmap_bitblt(HWND dest, HPIXMAP destp, int xdest, int ydest, int width, int height, HWND src, HPIXMAP srcp, int xsrc, int ysrc);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1026 HPIXMAP API dw_pixmap_new(HWND handle, unsigned long width, unsigned long height, int depth);
241
00d2b1bcf036 Added dw_pixmap_new_from_file().
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 239
diff changeset
1027 HPIXMAP API dw_pixmap_new_from_file(HWND handle, char *filename);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1028 HPIXMAP API dw_pixmap_grab(HWND handle, ULONG id);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1029 void API dw_pixmap_destroy(HPIXMAP pixmap);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1030 void API dw_beep(int freq, int dur);
400
3d4c34bb7834 Add #defines for dw_messagebox()
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents: 390
diff changeset
1031 int API dw_messagebox(char *title, int flags, char *format, ...);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1032 void API dw_environment_query(DWEnv *env);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1033 int API dw_exec(char *program, int type, char **params);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1034 int API dw_browse(char *url);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1035 char * API dw_file_browse(char *title, char *defpath, char *ext, int flags);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1036 char * API dw_user_dir(void);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1037 DWDialog * API dw_dialog_new(void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1038 int API dw_dialog_dismiss(DWDialog *dialog, void *result);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1039 void * API dw_dialog_wait(DWDialog *dialog);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1040 void API dw_window_set_data(HWND window, char *dataname, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1041 void * API dw_window_get_data(HWND window, char *dataname);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1042 int API dw_module_load(char *name, HMOD *handle);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1043 int API dw_module_symbol(HMOD handle, char *name, void**func);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1044 int API dw_module_close(HMOD handle);
199
b955228477b3 Removed the window parameter to dw_timer_connect() it was no needed.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 195
diff changeset
1045 int API dw_timer_connect(int interval, void *sigfunc, void *data);
195
b023d363fc09 Added scrollbar and timer support on OS/2 and GTK.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 185
diff changeset
1046 void API dw_timer_disconnect(int id);
174
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1047 void API dw_signal_connect(HWND window, char *signame, void *sigfunc, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1048 void API dw_signal_disconnect_by_window(HWND window);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1049 void API dw_signal_disconnect_by_data(HWND window, void *data);
75bf3051235f Fixes so you can mix compilers.
bsmith@81767d24-ef19-dc11-ae90-00e081727c95
parents: 167
diff changeset
1050 void API dw_signal_disconnect_by_name(HWND window, char *signame);
3
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1051
ktk@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff changeset
1052 #endif