4 * Copyright 1996 Ulrich Schmid
10 #define MAX_STRING_LEN 255
11 #define MAX_PATHNAME_LEN 1024
12 #define MAX_LANGUAGE_NUMBER (PM_LAST_LANGUAGE - PM_FIRST_LANGUAGE)
19 #define DEFAULTICON OIC_WINLOGO
21 /* Icon index in M$ Window's progman.exe */
22 #define PROGMAN_ICON_INDEX 0
23 #define GROUP_ICON_INDEX 6
24 #define DEFAULT_ICON_INDEX 7
26 #define DEF_GROUP_WIN_XPOS 100
27 #define DEF_GROUP_WIN_YPOS 100
28 #define DEF_GROUP_WIN_WIDTH 300
29 #define DEF_GROUP_WIN_HEIGHT 200
37 /**/ /* Numbers are byte indexes in *.grp */
39 /**/ /* Program entry */
41 INT nIconIndex; /* 4 - 5 */
43 /* icon flags ??? */ /* 6 - 7 */
44 /* iconANDsize */ /* 8 - 9 */
45 /* iconXORsize */ /* 10 - 11 */
46 /* pointer to IconInfo */ /* 12 - 13 */
47 /* pointer to iconXORbits */ /* 14 - 15 */ /* sometimes iconANDbits ?! */
48 /* pointer to iconANDbits */ /* 16 - 17 */ /* sometimes iconXORbits ?! */
49 HLOCAL hName; /* 18 - 19 */
50 HLOCAL hCmdLine; /* 20 - 21 */
51 HLOCAL hIconFile; /* 22 - 23 */
52 HLOCAL hWorkDir; /* Extension 0x8101 */
53 INT nHotKey; /* Extension 0x8102 */
54 /* Modifier: bit 8... */
55 INT nCmdShow; /* Extension 0x8103 */
58 /* HotSpot x ??? */ /* 0 - 1 */
59 /* HotSpot y ??? */ /* 2 - 3 */
60 /* Width */ /* 4 - 5 */
61 /* Height */ /* 6 - 7 */
62 /* WidthBytes ??? */ /* 8 - 9 */
63 /* Planes */ /* 10 - 10 */
64 /* BitsPerPixel */ /* 11 - 11 */
73 HLOCAL hActiveProgram;
74 BOOL bFileNameModified;
75 BOOL bOverwriteFileOk;
79 /* magic `PMCC' */ /* 0 - 3 */
80 /* checksum */ /* 4 - 5 */
81 /* Extension ptr */ /* 6 - 7 */
82 INT nCmdShow; /* 8 - 9 */
83 INT x, y; /* 10 - 13 */
84 INT width, height; /* 14 - 17 */
85 INT iconx, icony; /* 18 - 21 */
86 HLOCAL hName; /* 22 - 23 */
87 /* unknown */ /* 24 - 31 */
88 /* number of programs */ /* 32 - 33 */
89 HLOCAL hPrograms; /* 34 ... */
92 /* Extension type */ /* 0 - 1 */
93 /* Program number */ /* 2 - 3 */
94 /* Size of entry */ /* 4 - 5 */
95 /* Data */ /* 6 ... */
97 /* magic `PMCC' */ /* Extension 0x8000 */
98 /* End of Extensions */ /* Extension 0xffff */
122 UINT wStringTableOffset;
126 extern GLOBALS Globals;
128 INT MAIN_MessageBoxIDS(UINT ids_text, UINT ids_title, WORD type);
129 INT MAIN_MessageBoxIDS_s(UINT ids_text_s, LPCSTR str, UINT ids_title, WORD type);
130 VOID MAIN_ReplaceString(HLOCAL *handle, LPSTR replacestring);
132 HLOCAL GRPFILE_ReadGroupFile(const char* path);
133 BOOL GRPFILE_WriteGroupFile(HLOCAL hGroup);
135 ATOM GROUP_RegisterGroupWinClass(void);
136 HLOCAL GROUP_AddGroup(LPCSTR lpszName, LPCSTR lpszGrpFile, INT showcmd,
137 INT x, INT y, INT width, INT heiht,
138 INT iconx, INT icony,
139 BOOL bModifiedFileName, BOOL bOverwriteFileOk,
140 /* FIXME shouldn't be necessary */
141 BOOL bSuppressShowWindow);
142 VOID GROUP_NewGroup(void);
143 VOID GROUP_ModifyGroup(HLOCAL hGroup);
144 VOID GROUP_DeleteGroup(HLOCAL hGroup);
145 /* FIXME shouldn't be necessary */
146 VOID GROUP_ShowGroupWindow(HLOCAL hGroup);
147 HLOCAL GROUP_FirstGroup(void);
148 HLOCAL GROUP_NextGroup(HLOCAL hGroup);
149 HLOCAL GROUP_ActiveGroup(void);
150 HWND GROUP_GroupWnd(HLOCAL hGroup);
151 LPCSTR GROUP_GroupName(HLOCAL hGroup);
153 ATOM PROGRAM_RegisterProgramWinClass(void);
154 HLOCAL PROGRAM_AddProgram(HLOCAL hGroup, HICON hIcon, LPCSTR lpszName,
155 INT x, INT y, LPCSTR lpszCmdLine,
156 LPCSTR lpszIconFile, INT nIconIndex,
157 LPCSTR lpszWorkDir, INT nHotKey, INT nCmdShow);
158 VOID PROGRAM_NewProgram(HLOCAL hGroup);
159 VOID PROGRAM_ModifyProgram(HLOCAL hProgram);
160 VOID PROGRAM_CopyMoveProgram(HLOCAL hProgram, BOOL bMove);
161 VOID PROGRAM_DeleteProgram(HLOCAL hProgram, BOOL BUpdateGrpFile);
162 HLOCAL PROGRAM_FirstProgram(HLOCAL hGroup);
163 HLOCAL PROGRAM_NextProgram(HLOCAL hProgram);
164 HLOCAL PROGRAM_ActiveProgram(HLOCAL hGroup);
165 LPCSTR PROGRAM_ProgramName(HLOCAL hProgram);
166 VOID PROGRAM_ExecuteProgram(HLOCAL hLocal);
168 INT DIALOG_New(INT nDefault);
169 HLOCAL DIALOG_CopyMove(LPCSTR lpszProgramName, LPCSTR lpszGroupName, BOOL bMove);
170 BOOL DIALOG_Delete(UINT ids_format_s, LPCSTR lpszName);
171 BOOL DIALOG_GroupAttributes(LPSTR lpszTitle, LPSTR lpszPath, INT nSize);
172 BOOL DIALOG_ProgramAttributes(LPSTR lpszTitle, LPSTR lpszCmdLine,
173 LPSTR lpszWorkDir, LPSTR lpszIconFile,
174 HICON *lphIcon, INT *nIconIndex,
175 INT *lpnHotKey, INT *lpnCmdShow, INT nSize);
176 VOID DIALOG_Symbol(HICON *lphIcon, LPSTR lpszIconFile,
177 INT *lpnIconIndex, INT nSize);
178 VOID DIALOG_Execute(void);
180 VOID STRING_SelectLanguageByName(LPCSTR);
181 VOID STRING_SelectLanguageByNumber(UINT);
184 extern CHAR STRING_MAIN_WIN_CLASS_NAME[];
185 extern CHAR STRING_MDI_WIN_CLASS_NAME[];
186 extern CHAR STRING_GROUP_WIN_CLASS_NAME[];
187 extern CHAR STRING_PROGRAM_WIN_CLASS_NAME[];
190 extern CHAR STRING_ACCEL[];
191 extern CHAR STRING_MAIN_Xx[];
192 extern CHAR STRING_NEW_Xx[];
193 extern CHAR STRING_OPEN_Xx[];
194 extern CHAR STRING_MOVE_Xx[];
195 extern CHAR STRING_COPY_Xx[];
196 extern CHAR STRING_DELETE_Xx[];
197 extern CHAR STRING_GROUP_Xx[];
198 extern CHAR STRING_PROGRAM_Xx[];
199 extern CHAR STRING_SYMBOL_Xx[];
200 extern CHAR STRING_EXECUTE_Xx[];
202 #define STRINGID(id) (0x##id + Globals.wStringTableOffset)
204 #else /* RC_INVOKED */
206 #define STRINGID(id) id
210 /* Stringtable index */
211 #define IDS_LANGUAGE_ID STRINGID(00)
212 #define IDS_LANGUAGE_MENU_ITEM STRINGID(01)
213 #define IDS_PROGRAM_MANAGER STRINGID(02)
214 #define IDS_ERROR STRINGID(03)
215 #define IDS_WARNING STRINGID(04)
216 #define IDS_INFO STRINGID(05)
217 #define IDS_DELETE STRINGID(06)
218 #define IDS_DELETE_GROUP_s STRINGID(07)
219 #define IDS_DELETE_PROGRAM_s STRINGID(08)
220 #define IDS_NOT_IMPLEMENTED STRINGID(09)
221 #define IDS_FILE_READ_ERROR_s STRINGID(0a)
222 #define IDS_FILE_WRITE_ERROR_s STRINGID(0b)
223 #define IDS_GRPFILE_READ_ERROR_s STRINGID(0c)
224 #define IDS_OUT_OF_MEMORY STRINGID(0d)
225 #define IDS_WINHELP_ERROR STRINGID(0e)
226 #define IDS_UNKNOWN_FEATURE_s STRINGID(0f)
227 #define IDS_FILE_NOT_OVERWRITTEN_s STRINGID(10)
228 #define IDS_SAVE_GROUP_AS_s STRINGID(11)
229 #define IDS_NO_HOT_KEY STRINGID(12)
230 #define IDS_ALL_FILES STRINGID(13)
231 #define IDS_PROGRAMS STRINGID(14)
232 #define IDS_LIBRARIES_DLL STRINGID(15)
233 #define IDS_SYMBOL_FILES STRINGID(16)
234 #define IDS_SYMBOLS_ICO STRINGID(17)
242 #define PM_DELETE 104
243 #define PM_ATTRIBUTES 105
244 #define PM_EXECUTE 107
247 #define PM_AUTO_ARRANGE 200
248 #define PM_MIN_ON_RUN 201
249 #define PM_SAVE_SETTINGS 203
251 #define PM_OVERLAP 300
252 #define PM_SIDE_BY_SIDE 301
253 #define PM_ARRANGE 302
254 #define PM_FIRST_CHILD 3030
256 #define PM_FIRST_LANGUAGE 400
257 #define PM_LAST_LANGUAGE 499
259 #define PM_CONTENTS 501
260 #define PM_SEARCH 502
261 #define PM_HELPONHELP 503
262 #define PM_TUTORIAL 504
264 #define PM_LICENSE 510
265 #define PM_NO_WARRANTY 511
266 #define PM_ABOUT_WINE 512
270 /* RADIOBUTTON: The next two must be in sequence */
271 #define PM_NEW_GROUP 1000
272 #define PM_NEW_PROGRAM 1001
273 #define PM_NEW_GROUP_TXT 1002
274 #define PM_NEW_PROGRAM_TXT 1003
276 /* Dialogs `Copy', `Move' */
278 #define PM_PROGRAM 1200
279 #define PM_FROM_GROUP 1201
280 #define PM_TO_GROUP 1202
281 #define PM_TO_GROUP_TXT 1203
283 /* Dialogs `Group attributes' */
285 #define PM_DESCRIPTION 1500
286 #define PM_DESCRIPTION_TXT 1501
288 #define PM_FILE_TXT 1503
290 /* Dialogs `Program attributes' */
291 #define PM_COMMAND_LINE 1510
292 #define PM_COMMAND_LINE_TXT 1511
293 #define PM_DIRECTORY 1512
294 #define PM_DIRECTORY_TXT 1513
295 #define PM_HOT_KEY 1514
296 #define PM_HOT_KEY_TXT 1515
298 #define PM_OTHER_SYMBOL 1517
300 /* Dialog `Symbol' */
302 #define PM_ICON_FILE 1520
303 #define PM_ICON_FILE_TXT 1521
304 #define PM_SYMBOL_LIST 1522
305 #define PM_SYMBOL_LIST_TXT 1523
307 /* Dialog `Execute' */
309 #define PM_COMMAND 1600
310 #define PM_SYMBOL 1601
311 #define PM_BROWSE 1602
314 #endif /* PROGMAN_H */
316 /* Local Variables: */
317 /* c-file-style: "GNU" */