WMENU.H

Go to the documentation of this file.
00001 #ifndef __WMENU_H__
00002 #define  __WMENU_H__
00003 
00004 
00005 #include <windows.h>
00006 #include <string.h>             /* only use far items */
00007 #include "wresource.h"
00008 #include "wcommon.h"
00009 #include "wtext.h"
00010 
00011 
00012 
00013 /*-----------------------------------------------------------------------------------*/
00014 /* Les Definitions */
00015 /*-----------------------------------------------------------------------------------*/
00016 
00017 
00018 /* limits */
00019 /* #define MAXSTR 255 : already in wtext.h */ 
00020 #define MACROLEN 5000
00021 /* #define NUMMENU 256  defined in wresourc.h */
00022 #define MENUDEPTH 3
00023 
00024 #undef CMDMIN
00025 #undef CMDMAX
00026 #undef EOS
00027 /* menu tokens */
00028 #define CMDMIN                  129
00029 /**********************/
00030 #define NEWSCILAB               CMDMIN
00031 #define EXEC                    CMDMIN+1
00032 #define OPEN                    CMDMIN+2
00033 #define GETF                    CMDMIN+3
00034 #define LOAD                    CMDMIN+4
00035 #define SAVE                    CMDMIN+5
00036 #define GETCWD                  CMDMIN+6
00037 #define CHDIR                   CMDMIN+7
00038 #define PRINTSETUP              CMDMIN+8
00039 #define PRINT                   CMDMIN+9
00040 #define EXIT                    CMDMIN+10
00041 /**********************/
00042 #define SELECTALL               EXIT+1
00043 #define MCOPY                   SELECTALL+1
00044 #define PASTE                   SELECTALL+2
00045 #define EMPTYCLIPBOARD  SELECTALL+3
00046 /**********************/
00047 #define M_CTRL_C                EOS+1
00048 #define M_CTRL_U                M_CTRL_C+1
00049 #define M_CTRL_P                M_CTRL_C+2
00050 #define M_CTRL_B                M_CTRL_C+3
00051 #define M_CTRL_F                M_CTRL_C+4
00052 #define M_CTRL_A                M_CTRL_C+5
00053 #define M_CTRL_E                M_CTRL_C+6
00054 #define M_CTRL_H                M_CTRL_C+7
00055 #define M_CTRL_D                M_CTRL_C+8
00056 #define M_CTRL_W                M_CTRL_C+9
00057 #define M_CTRL_K                M_CTRL_C+10
00058 #define M_CTRL_L                M_CTRL_C+11
00059 #define M_CTRL_N                M_CTRL_C+12
00060 /**********************/
00061 #define FRENCH                          EMPTYCLIPBOARD+1
00062 #define ENGLISH                         FRENCH+1
00063 #define TEXTCOLOR                       FRENCH+2
00064 #define BACKGROUNDCOLOR         FRENCH+3
00065 #define SYSTEMCOLOR                     FRENCH+4
00066 #define FILESASSOCIATION        FRENCH+5
00067 #define TOOLBAR                         FRENCH+6
00068 #define CHOOSETHEFONT           FRENCH+7
00069 #define CLEARHISTORY            FRENCH+8
00070 #define CLEARCOMMANDWINDOW      FRENCH+9
00071 #define CONSOLE                         FRENCH+10
00072 /**********************/
00073 #define RESTART                 CONSOLE+1
00074 #define PAUSE                   RESTART+1
00075 #define RESUME                  RESTART+2
00076 #define ABORT                   RESTART+3
00077 /**********************/
00078 #define SCIPAD                  ABORT+1
00079 /**********************/
00080 #define HELP                    SCIPAD+1
00081 #define CONFIGBROWSER   HELP+1
00082 #define DEMOS                   HELP+2
00083 #define NEWSGROUP               HELP+3
00084 #define EMAIL                   HELP+4
00085 #define WEB                     HELP+5
00086 #define CONTRIBUTIONS   HELP+6
00087 #define BUGZILLA                HELP+7
00088 #define ABOUT                   HELP+8
00089 /**********************/
00090 #define EOS                     ABOUT+1
00091 /**********************/
00092 #define CMDMAX                  M_CTRL_N
00093 /**********************/
00094 #define URLNEWSGROUP "http://groups.google.com/groups?dq=&num=25&hl=en&lr=&ie=UTF-8&group=comp.soft-sys.math.scilab"
00095 #define URLCONTRIBUTIONS "http://scilabsoft.inria.fr/contrib/index_contrib.php?page=howto.html"
00096 #define URL "http://www.scilab.org"
00097 #define URLBUGZILLA "http://scilabsoft.inria.fr/cgi-bin/bugzilla_bug_II/index.cgi"
00098 #define MAILTO "Scilab@inria.fr"
00099 #define CCMAILTO ""
00100 #define SUBJECT "Doctor Scilab Please Help me"
00101 
00102 
00103 #define NEWSTRING(x) if ((x=MALLOC((MAXSTR+1)*sizeof(LPTR))) == (char *)NULL) \
00104 { *ierr=1;return(FALSE);}
00105 
00106 #define BUGGOTOCLEAN(str) \
00107       wsprintf(buf,str,nLine,lpmw->szMenuName); \
00108       MessageBox(lptw->hWndParent,(LPSTR) buf,lptw->Title,MB_ICONEXCLAMATION);\
00109       goto errorcleanup;
00110 
00111 /*-----------------------------------------------------------------------------------*/
00112 /* Les Variables Globales */
00113 /*-----------------------------------------------------------------------------------*/
00114 
00115 
00116 //int LanguageCode=0;
00117 /* 0 ENGLISH 
00118    1 FRENCH
00119    ...
00120 */
00121 static char *keyword[] =
00122 {
00123   "[EMPTYCLIPBOARD]","[SELECTALL]","[CLEARHISTORY]","[CONFIGBROWSER]","[OPEN]","[FRENCH]","[ENGLISH]",
00124   "[TOOLBAR]","[NEWSGROUP]","[CLEARCOMMANDWINDOW]","[NEWSCILAB]","[EXEC]","[GETF]","[LOAD]","[SAVE]","[CHDIR]","[GETCWD]","[EXIT]",
00125   "[MCOPY]","[PASTE]","[PRINTSETUP]","[PRINT]","[CHOOSETHEFONT]","[TEXTCOLOR]","[BACKGROUNDCOLOR]","[SYSTEMCOLOR]","[FILESASSOCIATION]",
00126   "[RESTART]","[PAUSE]","[RESUME]","[ABORT]","[CONSOLE]",
00127   "[SCIPAD]",
00128   "[HELP]","[DEMOS]","[WEB]","[EMAIL]","[CONTRIBUTIONS]","[BUGZILLA]","[ABOUT]",
00129   "{ENTER}", "{ESC}", "{TAB}",
00130   "[M_CTRL_A]", "[M_CTRL_B]", "[M_CTRL_C]", "[M_CTRL_D]", "[M_CTRL_E]", "[M_CTRL_F]", "{^G}", "[M_CTRL_H]",
00131   "{^I}", "{^J}", "[M_CTRL_K]", "[M_CTRL_L]", "{^M}", "[M_CTRL_N]", "{^O}", "[M_CTRL_P]",
00132   "{^Q}", "{^R}", "{^S}", "{^T}", "[M_CTRL_U]", "{^V}", "[M_CTRL_W]", "{^X}",
00133   "{^Y}", "{^Z}", "{^[}", "{^\\}", "{^]}", "{^^}", "{^_}",
00134   NULL};
00135 
00136 static BYTE keyeq[] =
00137 {
00138   EMPTYCLIPBOARD,SELECTALL,CLEARHISTORY,CONFIGBROWSER,OPEN,FRENCH,ENGLISH,
00139   TOOLBAR,NEWSGROUP,CLEARCOMMANDWINDOW,NEWSCILAB,EXEC,GETF,LOAD,SAVE,CHDIR,GETCWD,EXIT,
00140   MCOPY,PASTE,PRINTSETUP,PRINT,CHOOSETHEFONT,TEXTCOLOR,BACKGROUNDCOLOR,SYSTEMCOLOR,FILESASSOCIATION,
00141   RESTART,PAUSE,RESUME,ABORT,CONSOLE,
00142   SCIPAD,
00143   HELP,DEMOS,WEB,EMAIL,CONTRIBUTIONS,BUGZILLA,ABOUT,
00144   13, 27, 9,
00145   M_CTRL_A, M_CTRL_B, M_CTRL_C, M_CTRL_D, M_CTRL_E, M_CTRL_F, 7, M_CTRL_H,
00146   9, 10, M_CTRL_K, M_CTRL_L, 13, M_CTRL_N, 15, M_CTRL_P,
00147   17, 18, 19, 20, M_CTRL_U, 22, M_CTRL_W, 24,
00148   25, 26, 28, 29, 30, 31,
00149   0 /* NULL */ };
00150 
00151 /*-----------------------------------------------------------------------------------*/
00152 /* Les Fonctions */
00153 /*-----------------------------------------------------------------------------------*/
00154 EXPORT BOOL CALLBACK InputBoxDlgProc (HWND, UINT, WPARAM, LPARAM);
00155 EXPORT LRESULT CALLBACK MenuButtonProc (HWND, UINT, WPARAM, LPARAM);
00156 /*--------------------------------*/
00157 void Callback_NEWSCILAB(void);
00158 void Callback_EXEC(void);
00159 void Callback_OPEN(void);
00160 void Callback_GETF(void);
00161 void Callback_LOAD(void);
00162 void Callback_SAVE(void);
00163 void Callback_CHDIR(void);
00164 void Callback_GETCWD(void);
00165 void Callback_SELECTALL(void);
00166 void Callback_EMPTYCLIPBOARD(void);
00167 void Callback_MCOPY(void);
00168 void Callback_PASTE(void);
00169 void Callback_PRINTSETUP(void);
00170 void Callback_PRINT(void);
00171 void Callback_TOOLBAR(void);
00172 void Callback_FRENCH(void);
00173 void Callback_ENGLISH(void);
00174 void Callback_TEXTCOLOR(void);
00175 void Callback_BACKGROUNDCOLOR(void);
00176 void Callback_SYSTEMCOLOR(void);
00177 void Callback_FILESASSOCIATIONBOX(void);
00178 void Callback_CHOOSETHEFONT(void);
00179 void Callback_RESTART(void);
00180 void Callback_ABORT(void);
00181 void Callback_PAUSE(void);
00182 void Callback_RESUME(void);
00183 void Callback_CONSOLE(void);
00184 void Callback_SCIPAD(void);
00185 void Callback_HELP(void);
00186 void Callback_DEMOS(void);
00187 void Callback_WEB(void);
00188 void Callback_CONTRIBUTIONS(void);
00189 void Callback_BUGZILLA(void);
00190 void Callback_EMAIL(void);
00191 void Callback_NEWSGROUP(void);
00192 void Callback_ABOUT(void);
00193 void Callback_CLEARCOMMANDWINDOW(void);
00194 void Callback_CONFIGUREBROWSER(void);
00195 void Callback_CLEARHISTORY(void);
00196 /*--------------------------------*/
00197 void SendMacro (LPTW lptw, UINT m);
00198 BOOL SciOpenSave (HWND hWndParent, BYTE ** s,BOOL save, char **d, int *ierr);
00199 void MenuFixCurrentWin (int ivalue);
00200 GFILE * Gfopen (LPSTR lpszFileName, int fnOpenMode);
00201 void Gfclose (GFILE * gfile);
00202 int Gfgets (LPSTR lp, int size, GFILE * gfile);
00203 int GetLine (char *buffer, int len, GFILE * gfile);
00204 void LeftJustify (char *d, char *s);
00205 void TranslateMacro (char *string);
00206 void LoadMacros (LPTW lptw);
00207 void CloseMacros (LPTW lptw);
00208 
00209 /*Boite de dialogue Load ou Save */
00210 BOOL OpenSaveSCIFile(HWND hWndParent,char *titre,BOOL read,char *FileExt,char *file);
00211 /* Remplace \ par / dans un chemin */
00212 void ReplaceSlash(char *pathout,char *pathin);
00213 
00214 /*--------------------------------*/
00215 /* Envoye le signal CTRL+une touche */
00216 void SendCTRLandAKey(int code);
00217 /*--------------------------------*/
00218 void ResetMenu(void);
00219 /*--------------------------------*/
00220 void ShowToolBar(LPTW lptw);
00221 void HideToolBar(LPTW lptw);
00222 void ToolBarOnOff(LPTW lptw);
00223 /*--------------------------------*/
00224 void ReLoadMenus(LPTW lptw);
00225 void UpdateFileNameMenu(LPTW lptw);
00226 /*--------------------------------*/
00227 /* Cree une infobulle */
00228 void CreateMyTooltip (HWND hwnd,char ToolTipString[30]);
00229 /*--------------------------------*/
00230 void SwitchLanguage(LPTW lptw);
00231 /*--------------------------------*/
00232 void CreateButton(LPTW lptw, char *ButtonText[BUTTONMAX], int index,int ButtonSizeX, int ButtonSizeY);
00233 int GetXPosButton(LPTW lptw,int index,int SizeXButtonText,int SizeXButtonIcon);
00234 /*--------------------------------*/
00235 void ConfigureScilabStar(int LangCode);
00236 int ModifyFile(char *fichier,char *motclef,char *chaine);
00237 /*--------------------------------*/
00238 int HideToolBarWin32(int WinNum);
00239 /*--------------------------------*/
00240 void CutLineForDisplay(char *CutLine,char *Line,int NumberOfCharByLine);
00241 /*--------------------------------*/
00242 void SetLanguageMenu(char *Language);
00243 /*--------------------------------*/
00244 int GetLanguageCodeInScilabDotStar(void);
00245 /*--------------------------------*/
00246 #endif /*  __WMENU_H__ */

Generated on Sun Mar 4 15:03:54 2007 for Scilab [trunk] by  doxygen 1.5.1