4 * Copyright 1996 Ulrich Schmid
14 /* FIXME should use WinExec from -lwine */
16 #define WinExec ProgmanWinExec
17 #define WinHelp ProgmanWinHelp
18 HANDLE ProgmanWinExec(LPSTR,WORD);
19 BOOL ProgmanWinHelp(HWND,LPSTR,WORD,DWORD);
22 #define MAX_PATHNAME_LEN 1024
26 #define DEFAULTICON OIC_WINEICON
28 #define DEFAULTICON OIC_LANDSCAPE
31 /* Icon index in M$ Window's progman.exe */
32 #define PROGMAN_ICON_INDEX 0
33 #define GROUP_ICON_INDEX 6
34 #define DEFAULT_ICON_INDEX 7
36 #define DEF_GROUP_WIN_XPOS 100
37 #define DEF_GROUP_WIN_YPOS 100
38 #define DEF_GROUP_WIN_WIDTH 300
39 #define DEF_GROUP_WIN_HEIGHT 200
47 /**/ /* Numbers are byte indexes in *.grp */
49 /**/ /* Program entry */
51 INT nIconIndex; /* 4 - 5 */
53 /* icon flags ??? */ /* 6 - 7 */
54 /* iconANDsize */ /* 8 - 9 */
55 /* iconXORsize */ /* 10 - 11 */
56 /* pointer to IconInfo */ /* 12 - 13 */
57 /* pointer to iconXORbits */ /* 14 - 15 */ /* sometimes iconANDbits ?! */
58 /* pointer to iconANDbits */ /* 16 - 17 */ /* sometimes iconXORbits ?! */
59 HLOCAL hName; /* 18 - 19 */
60 HLOCAL hCmdLine; /* 20 - 21 */
61 HLOCAL hIconFile; /* 22 - 23 */
62 HLOCAL hWorkDir; /* Extension 0x8101 */
63 INT nHotKey; /* Extension 0x8102 */
64 /* Modifier: bit 8... */
65 INT nCmdShow; /* Extension 0x8103 */
68 /* HotSpot x ??? */ /* 0 - 1 */
69 /* HotSpot y ??? */ /* 2 - 3 */
70 /* Width */ /* 4 - 5 */
71 /* Height */ /* 6 - 7 */
72 /* WidthBytes ??? */ /* 8 - 9 */
73 /* Planes */ /* 10 - 10 */
74 /* BitsPerPixel */ /* 11 - 11 */
83 HLOCAL hActiveProgram;
84 BOOL bFileNameModified;
85 BOOL bOverwriteFileOk;
89 /* magic `PMCC' */ /* 0 - 3 */
90 /* checksum */ /* 4 - 5 */
91 /* Extension ptr */ /* 6 - 7 */
92 INT nCmdShow; /* 8 - 9 */
93 INT x, y; /* 10 - 13 */
94 INT width, height; /* 14 - 17 */
95 INT iconx, icony; /* 18 - 21 */
96 HLOCAL hName; /* 22 - 23 */
97 /* unknown */ /* 24 - 31 */
98 /* number of programs */ /* 32 - 33 */
99 HLOCAL hPrograms; /* 34 ... */
101 /**/ /* Extensions */
102 /* Extension type */ /* 0 - 1 */
103 /* Program number */ /* 2 - 3 */
104 /* Size of entry */ /* 4 - 5 */
105 /* Data */ /* 6 ... */
107 /* magic `PMCC' */ /* Extension 0x8000 */
108 /* End of Extensions */ /* Extension 0xffff */
132 /* FIXME should use MDI */
136 extern GLOBALS Globals;
138 VOID MAIN_ReplaceString(HLOCAL *handle, LPSTR replacestring);
139 VOID MAIN_NotImplementedError(void);
140 VOID MAIN_FileReadError(LPCSTR lpszPath);
141 VOID MAIN_FileWriteError(LPCSTR lpszPath);
142 VOID MAIN_GrpFileReadError(LPCSTR lpszPath);
143 VOID MAIN_OutOfMemoryError(void);
144 VOID MAIN_WinHelpError(void);
146 HLOCAL GRPFILE_ReadGroupFile(const char* path);
147 BOOL GRPFILE_WriteGroupFile(HLOCAL hGroup);
149 ATOM GROUP_RegisterGroupWinClass(void);
150 HLOCAL GROUP_AddGroup(LPCSTR lpszName, LPCSTR lpszGrpFile, INT showcmd,
151 INT x, INT y, INT width, INT heiht,
152 INT iconx, INT icony,
153 BOOL bModifiedFileName, BOOL bOverwriteFileOk,
154 /* FIXME shouldn't be necessary */
155 BOOL bSuppressShowWindow);
156 VOID GROUP_NewGroup(void);
157 VOID GROUP_ModifyGroup(HLOCAL hGroup);
158 VOID GROUP_DeleteGroup(HLOCAL hGroup);
159 /* FIXME shouldn't be necessary */
160 VOID GROUP_ShowGroupWindow(HLOCAL hGroup);
161 HLOCAL GROUP_FirstGroup(void);
162 HLOCAL GROUP_NextGroup(HLOCAL hGroup);
163 HLOCAL GROUP_ActiveGroup(void);
164 HWND GROUP_GroupWnd(HLOCAL hGroup);
165 LPCSTR GROUP_GroupName(HLOCAL hGroup);
167 ATOM PROGRAM_RegisterProgramWinClass(void);
168 HLOCAL PROGRAM_AddProgram(HLOCAL hGroup, HICON hIcon, LPCSTR lpszName,
169 INT x, INT y, LPCSTR lpszCmdLine,
170 LPCSTR lpszIconFile, INT nIconIndex,
171 LPCSTR lpszWorkDir, INT nHotKey, INT nCmdShow);
172 VOID PROGRAM_NewProgram(HLOCAL hGroup);
173 VOID PROGRAM_ModifyProgram(HLOCAL hProgram);
174 VOID PROGRAM_CopyMoveProgram(HLOCAL hProgram, BOOL bMove);
175 VOID PROGRAM_DeleteProgram(HLOCAL hProgram, BOOL BUpdateGrpFile);
176 HLOCAL PROGRAM_FirstProgram(HLOCAL hGroup);
177 HLOCAL PROGRAM_NextProgram(HLOCAL hProgram);
178 HLOCAL PROGRAM_ActiveProgram(HLOCAL hGroup);
179 LPCSTR PROGRAM_ProgramName(HLOCAL hProgram);
180 VOID PROGRAM_ExecuteProgram(HLOCAL hLocal);
182 INT DIALOG_New(INT nDefault);
183 HLOCAL DIALOG_CopyMove(LPCSTR lpszProgramName, LPCSTR lpszGroupName, BOOL bMove);
184 BOOL DIALOG_Delete(LPCSTR lpszFormat, LPCSTR lpszName);
185 BOOL DIALOG_GroupAttributes(LPSTR lpszTitle, LPSTR lpszPath, INT nSize);
186 BOOL DIALOG_ProgramAttributes(LPSTR lpszTitle, LPSTR lpszCmdLine,
187 LPSTR lpszWorkDir, LPSTR lpszIconFile,
188 HICON *lphIcon, INT *nIconIndex,
189 INT *lpnHotKey, INT *lpnCmdShow, INT nSize);
190 VOID DIALOG_Symbol(HICON *lphIcon, LPSTR lpszIconFile,
191 INT *lpnIconIndex, INT nSize);
192 VOID DIALOG_Execute(void);
194 VOID STRING_SelectLanguage(LPCSTR lang);
197 extern CHAR STRING_MAIN_WIN_CLASS_NAME[];
198 extern CHAR STRING_MDI_WIN_CLASS_NAME[];
199 extern CHAR STRING_GROUP_WIN_CLASS_NAME[];
200 extern CHAR STRING_PROGRAM_WIN_CLASS_NAME[];
203 extern CHAR STRING_ACCEL[];
204 extern CHAR STRING_MAIN_Xx[];
205 extern CHAR STRING_NEW_Xx[];
206 extern CHAR STRING_OPEN_Xx[];
207 extern CHAR STRING_MOVE_Xx[];
208 extern CHAR STRING_COPY_Xx[];
209 extern CHAR STRING_DELETE_Xx[];
210 extern CHAR STRING_GROUP_Xx[];
211 extern CHAR STRING_PROGRAM_Xx[];
212 extern CHAR STRING_SYMBOL_Xx[];
213 extern CHAR STRING_EXECUTE_Xx[];
216 #define STRING_PROGRAM_MANAGER Globals.StringTable[ 0]
217 #define STRING_ERROR Globals.StringTable[ 1]
218 #define STRING_INFO Globals.StringTable[ 2]
219 #define STRING_DELETE Globals.StringTable[ 3]
220 #define STRING_DELETE_GROUP_s Globals.StringTable[ 4]
221 #define STRING_DELETE_PROGRAM_s Globals.StringTable[ 5]
222 #define STRING_NOT_IMPLEMENTED Globals.StringTable[ 6]
223 #define STRING_FILE_READ_ERROR_s Globals.StringTable[ 7]
224 #define STRING_FILE_WRITE_ERROR_s Globals.StringTable[ 8]
225 #define STRING_GRPFILE_READ_ERROR_s Globals.StringTable[ 9]
226 #define STRING_OUT_OF_MEMORY Globals.StringTable[10]
227 #define STRING_WINHELP_ERROR Globals.StringTable[11]
228 #define STRING_UNKNOWN_FEATURE_IN_GRPFILE Globals.StringTable[12]
229 #define STRING_FILE_NOT_OVERWRITTEN_s Globals.StringTable[13]
230 #define STRING_SAVE_GROUP_AS_s Globals.StringTable[14]
231 #define STRING_NO_HOT_KEY Globals.StringTable[15]
232 #define STRING_BROWSE_EXE_FILTER Globals.StringTable[16]
233 #define STRING_BROWSE_ICO_FILTER Globals.StringTable[17]
234 #define NUMBER_OF_STRINGS 18
236 extern LPCSTR StringTableCz[];
237 extern LPCSTR StringTableDa[];
238 extern LPCSTR StringTableDe[];
239 extern LPCSTR StringTableEn[];
240 extern LPCSTR StringTableEs[];
241 extern LPCSTR StringTableFi[];
242 extern LPCSTR StringTableFr[];
243 extern LPCSTR StringTableNo[];
245 #if defined(WINELIB) && !defined(HAVE_WINE_CONSTRUCTOR)
246 VOID LIBWINE_Register_accel(void);
247 VOID LIBWINE_Register_Cz(void);
248 VOID LIBWINE_Register_Da(void);
249 VOID LIBWINE_Register_De(void);
250 VOID LIBWINE_Register_Es(void);
251 VOID LIBWINE_Register_En(void);
252 VOID LIBWINE_Register_Fi(void);
253 VOID LIBWINE_Register_Fr(void);
254 VOID LIBWINE_Register_No(void);
257 #endif /* !RC_INVOKED */
265 #define PM_DELETE 104
266 #define PM_ATTRIBUTES 105
267 #define PM_EXECUTE 107
270 #define PM_AUTO_ARRANGE 200
271 #define PM_MIN_ON_RUN 201
272 #define PM_SAVE_SETTINGS 203
274 #define PM_OVERLAP 300
275 #define PM_SIDE_BY_SIDE 301
276 #define PM_ARRANGE 302
277 #define PM_FIRST_CHILD 3030
288 #define PM_CONTENTS 501
289 #define PM_SEARCH 502
290 #define PM_HELPONHELP 503
291 #define PM_TUTORIAL 504
293 #define PM_LICENSE 510
294 #define PM_NO_WARRANTY 511
295 #define PM_ABOUT_WINE 512
299 /* RADIOBUTTON: The next two must be in sequence */
300 #define PM_NEW_GROUP 1000
301 #define PM_NEW_PROGRAM 1001
302 #define PM_NEW_GROUP_TXT 1002
303 #define PM_NEW_PROGRAM_TXT 1003
305 /* Dialogs `Copy', `Move' */
307 #define PM_PROGRAM 1200
308 #define PM_FROM_GROUP 1201
309 #define PM_TO_GROUP 1202
310 #define PM_TO_GROUP_TXT 1203
312 /* Dialogs `Group attributes' */
314 #define PM_DESCRIPTION 1500
315 #define PM_DESCRIPTION_TXT 1501
317 #define PM_FILE_TXT 1503
319 /* Dialogs `Program attributes' */
320 #define PM_COMMAND_LINE 1510
321 #define PM_COMMAND_LINE_TXT 1511
322 #define PM_DIRECTORY 1512
323 #define PM_DIRECTORY_TXT 1513
324 #define PM_HOT_KEY 1514
325 #define PM_HOT_KEY_TXT 1515
327 #define PM_OTHER_SYMBOL 1517
329 /* Dialog `Symbol' */
331 #define PM_ICON_FILE 1520
332 #define PM_ICON_FILE_TXT 1521
333 #define PM_SYMBOL_LIST 1522
334 #define PM_SYMBOL_LIST_TXT 1523
336 /* Dialog `Execute' */
338 #define PM_COMMAND 1600
339 #define PM_SYMBOL 1601
340 #define PM_BROWSE 1602
343 #endif /* PROGMAN_H */
345 /* Local Variables: */
346 /* c-file-style: "GNU" */