~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/programs/progman/progman.h

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Program Manager
  3  *
  4  * Copyright 1996 Ulrich Schmid
  5  * Copyright 2002 Sylvain Petreolle
  6  *
  7  * This library is free software; you can redistribute it and/or
  8  * modify it under the terms of the GNU Lesser General Public
  9  * License as published by the Free Software Foundation; either
 10  * version 2.1 of the License, or (at your option) any later version.
 11  *
 12  * This library is distributed in the hope that it will be useful,
 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15  * Lesser General Public License for more details.
 16  *
 17  * You should have received a copy of the GNU Lesser General Public
 18  * License along with this library; if not, write to the Free Software
 19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 20  */
 21 
 22 #ifndef PROGMAN_H
 23 #define PROGMAN_H
 24 
 25 #define MAX_STRING_LEN      255
 26 #define MAX_PATHNAME_LEN    1024
 27 #define MAX_LANGUAGE_NUMBER (PM_LAST_LANGUAGE - PM_FIRST_LANGUAGE)
 28 
 29 #include <windows.h>
 30 #include <windef.h>
 31 
 32 /* Fallback icon */
 33 #define DEFAULTICON OIC_WINLOGO
 34 
 35 /* Icon index in M$ Window's progman.exe  */
 36 #define PROGMAN_ICON_INDEX 0
 37 #define GROUP_ICON_INDEX   6
 38 #define DEFAULT_ICON_INDEX 7
 39 
 40 #define DEF_GROUP_WIN_XPOS   100
 41 #define DEF_GROUP_WIN_YPOS   100
 42 #define DEF_GROUP_WIN_WIDTH  300
 43 #define DEF_GROUP_WIN_HEIGHT 200
 44 
 45 typedef struct
 46 {
 47   HLOCAL   hGroup;
 48   HLOCAL   hPrior;
 49   HLOCAL   hNext;
 50   HWND     hWnd;
 51   /**/              /* Numbers are byte indexes in *.grp */
 52 
 53   /**/                       /* Program entry */
 54   INT      x, y;               /*  0 -  3 */
 55   INT      nIconIndex;         /*  4 -  5 */
 56   HICON    hIcon;
 57   /* icon flags ??? */         /*  6 -  7 */
 58   /* iconANDsize */            /*  8 -  9 */
 59   /* iconXORsize */            /* 10 - 11 */
 60   /* pointer to IconInfo    */ /* 12 - 13 */
 61   /* pointer to iconXORbits */ /* 14 - 15 */ /* sometimes iconANDbits ?! */
 62   /* pointer to iconANDbits */ /* 16 - 17 */ /* sometimes iconXORbits ?! */
 63   HLOCAL   hName;              /* 18 - 19 */
 64   HLOCAL   hCmdLine;           /* 20 - 21 */
 65   HLOCAL   hIconFile;          /* 22 - 23 */
 66   HLOCAL   hWorkDir;           /* Extension 0x8101 */
 67   INT      nHotKey;            /* Extension 0x8102 */
 68   /* Modifier: bit 8... */
 69   INT      nCmdShow;           /* Extension 0x8103 */
 70 
 71   /**/                         /* IconInfo */
 72   /* HotSpot x   ??? */        /*  0 -  1 */
 73   /* HotSpot y   ??? */        /*  2 -  3 */
 74   /* Width           */        /*  4 -  5 */
 75   /* Height          */        /*  6 -  7 */
 76   /* WidthBytes  ??? */        /*  8 -  9 */
 77   /* Planes          */        /* 10 - 10 */
 78   /* BitsPerPixel    */        /* 11 - 11 */
 79 } PROGRAM;
 80 
 81 typedef struct
 82 {
 83   HLOCAL   hPrior;
 84   HLOCAL   hNext;
 85   HWND     hWnd;
 86   HLOCAL   hGrpFile;
 87   HLOCAL   hActiveProgram;
 88   BOOL     bFileNameModified;
 89   BOOL     bOverwriteFileOk;
 90   INT      seqnum;
 91 
 92   /**/                         /* Absolute */
 93   /* magic `PMCC'  */          /*  0 -  3 */
 94   /* checksum      */          /*  4 -  5 */
 95   /* Extension ptr */          /*  6 -  7 */
 96   INT      nCmdShow;           /*  8 -  9 */
 97   INT      x, y;               /* 10 - 13 */
 98   INT      width, height;      /* 14 - 17 */
 99   INT      iconx, icony;       /* 18 - 21 */
100   HLOCAL   hName;              /* 22 - 23 */
101   /* unknown */                /* 24 - 31 */
102   /* number of programs */     /* 32 - 33 */
103   HLOCAL   hPrograms;          /* 34 ...  */
104 
105   /**/                        /* Extensions */
106   /* Extension type */         /*  0 -  1 */
107   /* Program number */         /*  2 -  3 */
108   /* Size of entry  */         /*  4 -  5 */
109   /* Data           */         /*  6 ...  */
110 
111   /* magic `PMCC' */           /* Extension 0x8000 */
112   /* End of Extensions */      /* Extension 0xffff */
113 } PROGGROUP;
114 
115 typedef struct
116 {
117   HANDLE  hInstance;
118   HANDLE  hAccel;
119   HWND    hMainWnd;
120   HWND    hMDIWnd;
121   HICON   hMainIcon;
122   HICON   hGroupIcon;
123   HICON   hDefaultIcon;
124   HMENU   hMainMenu;
125   HMENU   hFileMenu;
126   HMENU   hOptionMenu;
127   HMENU   hWindowsMenu;
128   HMENU   hLanguageMenu;
129   LPCSTR  lpszIniFile;
130   LPCSTR  lpszIcoFile;
131   BOOL    bAutoArrange;
132   BOOL    bSaveSettings;
133   BOOL    bMinOnRun;
134   HLOCAL  hGroups;
135   HLOCAL  hActiveGroup;
136 } GLOBALS;
137 
138 extern GLOBALS Globals;
139 
140 INT  MAIN_MessageBoxIDS(UINT ids_text, UINT ids_title, WORD type);
141 INT  MAIN_MessageBoxIDS_s(UINT ids_text_s, LPCSTR str, UINT ids_title, WORD type);
142 VOID MAIN_ReplaceString(HLOCAL *handle, LPSTR replacestring);
143 
144 HLOCAL GRPFILE_ReadGroupFile(const char* path);
145 BOOL   GRPFILE_WriteGroupFile(HLOCAL hGroup);
146 
147 ATOM   GROUP_RegisterGroupWinClass(void);
148 HLOCAL GROUP_AddGroup(LPCSTR lpszName, LPCSTR lpszGrpFile, INT showcmd,
149                       INT x, INT y, INT width, INT heiht,
150                       INT iconx, INT icony,
151                       BOOL bModifiedFileName, BOOL bOverwriteFileOk,
152                       /* FIXME shouldn't be necessary */
153                       BOOL bSuppressShowWindow);
154 VOID   GROUP_NewGroup(void);
155 VOID   GROUP_ModifyGroup(HLOCAL hGroup);
156 VOID   GROUP_DeleteGroup(HLOCAL hGroup);
157 /* FIXME shouldn't be necessary */
158 VOID   GROUP_ShowGroupWindow(HLOCAL hGroup);
159 HLOCAL GROUP_FirstGroup(void);
160 HLOCAL GROUP_NextGroup(HLOCAL hGroup);
161 HLOCAL GROUP_ActiveGroup(void);
162 HWND   GROUP_GroupWnd(HLOCAL hGroup);
163 LPCSTR GROUP_GroupName(HLOCAL hGroup);
164 
165 ATOM   PROGRAM_RegisterProgramWinClass(void);
166 HLOCAL PROGRAM_AddProgram(HLOCAL hGroup, HICON hIcon, LPCSTR lpszName,
167                           INT x, INT y, LPCSTR lpszCmdLine,
168                           LPCSTR lpszIconFile, INT nIconIndex,
169                           LPCSTR lpszWorkDir, INT nHotKey, INT nCmdShow);
170 VOID   PROGRAM_NewProgram(HLOCAL hGroup);
171 VOID   PROGRAM_ModifyProgram(HLOCAL hProgram);
172 VOID   PROGRAM_CopyMoveProgram(HLOCAL hProgram, BOOL bMove);
173 VOID   PROGRAM_DeleteProgram(HLOCAL hProgram, BOOL BUpdateGrpFile);
174 HLOCAL PROGRAM_FirstProgram(HLOCAL hGroup);
175 HLOCAL PROGRAM_NextProgram(HLOCAL hProgram);
176 HLOCAL PROGRAM_ActiveProgram(HLOCAL hGroup);
177 LPCSTR PROGRAM_ProgramName(HLOCAL hProgram);
178 VOID   PROGRAM_ExecuteProgram(HLOCAL hLocal);
179 
180 INT    DIALOG_New(INT nDefault);
181 HLOCAL DIALOG_CopyMove(LPCSTR lpszProgramName, LPCSTR lpszGroupName, BOOL bMove);
182 BOOL   DIALOG_Delete(UINT ids_format_s, LPCSTR lpszName);
183 BOOL   DIALOG_GroupAttributes(LPSTR lpszTitle, LPSTR lpszPath, INT nSize);
184 BOOL   DIALOG_ProgramAttributes(LPSTR lpszTitle, LPSTR lpszCmdLine,
185                                 LPSTR lpszWorkDir, LPSTR lpszIconFile,
186                                 HICON *lphIcon, INT *nIconIndex,
187                                 INT *lpnHotKey, INT *lpnCmdShow, INT nSize);
188 VOID   DIALOG_Execute(void);
189 
190 VOID   STRING_LoadMenus(VOID);
191 
192 /* Class names */
193 extern CHAR STRING_MAIN_WIN_CLASS_NAME[];
194 extern CHAR STRING_MDI_WIN_CLASS_NAME[];
195 extern CHAR STRING_GROUP_WIN_CLASS_NAME[];
196 extern CHAR STRING_PROGRAM_WIN_CLASS_NAME[];
197 
198 /* Resource names */
199 extern CHAR STRING_ACCEL[];
200 extern CHAR STRING_MAIN[];
201 extern CHAR STRING_NEW[];
202 extern CHAR STRING_OPEN[];
203 extern CHAR STRING_MOVE[];
204 extern CHAR STRING_COPY[];
205 extern CHAR STRING_DELETE[];
206 extern CHAR STRING_GROUP[];
207 extern CHAR STRING_PROGRAM[];
208 extern CHAR STRING_SYMBOL[];
209 extern CHAR STRING_EXECUTE[];
210 
211 /* Stringtable index */
212 #define IDS_PROGRAM_MANAGER            0x02
213 #define IDS_ERROR                      0x03
214 #define IDS_WARNING                    0x04
215 #define IDS_INFO                       0x05
216 #define IDS_DELETE                     0x06
217 #define IDS_DELETE_GROUP_s             0x07
218 #define IDS_DELETE_PROGRAM_s           0x08
219 #define IDS_NOT_IMPLEMENTED            0x09
220 #define IDS_FILE_READ_ERROR_s          0x0a
221 #define IDS_FILE_WRITE_ERROR_s         0x0b
222 #define IDS_GRPFILE_READ_ERROR_s       0x0c
223 #define IDS_OUT_OF_MEMORY              0x0d
224 #define IDS_WINHELP_ERROR              0x0e
225 #define IDS_UNKNOWN_FEATURE_s          0x0f
226 #define IDS_FILE_NOT_OVERWRITTEN_s     0x10
227 #define IDS_SAVE_GROUP_AS_s            0x11
228 #define IDS_NO_HOT_KEY                 0x12
229 #define IDS_ALL_FILES                  0x13
230 #define IDS_PROGRAMS                   0x14
231 #define IDS_LIBRARIES_DLL              0x15
232 #define IDS_SYMBOL_FILES               0x16
233 #define IDS_SYMBOLS_ICO                0x17
234 
235 #define IDS_LICENSE_CAPTION            0x20
236 #define IDS_LICENSE                    0x21
237 #define IDS_WARRANTY_CAPTION           0x22
238 #define IDS_WARRANTY                   0x23
239 
240 /* Menu */
241 
242 #define MAIN_MENU           0x109
243 #define PM_NEW              0x100
244 #define PM_OPEN             0x101
245 #define PM_MOVE             0x102
246 #define PM_COPY             0x103
247 #define PM_DELETE           0x104
248 #define PM_ATTRIBUTES       0x105
249 #define PM_EXECUTE          0x107
250 #define PM_EXIT             0x108
251 
252 #define PM_AUTO_ARRANGE     0x110
253 #define PM_MIN_ON_RUN       0x111
254 #define PM_SAVE_SETTINGS    0x113
255 
256 #define PM_OVERLAP          0x120
257 #define PM_SIDE_BY_SIDE     0x121
258 #define PM_ARRANGE          0x122
259 #define PM_FIRST_CHILD      0x3030
260 
261 /*
262  *#define PM_FIRST_LANGUAGE   0x400
263  *#define PM_LAST_LANGUAGE    0x499
264  */
265 
266 #define PM_CONTENTS         0x131
267 #define PM_SEARCH           0x132
268 #define PM_HELPONHELP       0x133
269 #define PM_TUTORIAL         0x134
270 
271 #define PM_LICENSE          0x140
272 #define PM_NO_WARRANTY      0x141
273 #define PM_ABOUT_WINE       0x142
274 
275 /* Dialog `New' */
276 
277 /* RADIOBUTTON: The next two must be in sequence */
278 #define PM_NEW_GROUP        0x150
279 #define PM_NEW_PROGRAM      0x151
280 #define PM_NEW_GROUP_TXT    0x152
281 #define PM_NEW_PROGRAM_TXT  0x153
282 
283 /* Dialogs `Copy', `Move' */
284 
285 #define PM_PROGRAM          0x160
286 #define PM_FROM_GROUP       0x161
287 #define PM_TO_GROUP         0x162
288 #define PM_TO_GROUP_TXT     0x163
289 
290 /* Dialogs `Group attributes' */
291 
292 #define PM_DESCRIPTION      0x170
293 #define PM_DESCRIPTION_TXT  0x171
294 #define PM_FILE             0x172
295 #define PM_FILE_TXT         0x173
296 
297 /* Dialogs `Program attributes' */
298 #define PM_COMMAND_LINE     0x180
299 #define PM_COMMAND_LINE_TXT 0x181
300 #define PM_DIRECTORY        0x182
301 #define PM_DIRECTORY_TXT    0x183
302 #define PM_HOT_KEY          0x184
303 #define PM_HOT_KEY_TXT      0x185
304 #define PM_ICON             0x186
305 #define PM_OTHER_SYMBOL     0x187
306 
307 /* Dialog `Symbol' */
308 
309 #define PM_ICON_FILE        0x190
310 #define PM_ICON_FILE_TXT    0x191
311 #define PM_SYMBOL_LIST      0x192
312 #define PM_SYMBOL_LIST_TXT  0x193
313 
314 /* Dialog `Execute' */
315 
316 #define PM_COMMAND          0x1a0
317 #define PM_SYMBOL           0x1a1
318 #define PM_BROWSE           0x1a2
319 #define PM_HELP             0x1a3
320 
321 #endif /* PROGMAN_H */
322 
323 /* Local Variables:    */
324 /* c-file-style: "GNU" */
325 /* End:                */
326 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.