registry.h File Reference

#include <windows.h>
#include "stack-c.h"
#include "version.h"
#include "bcg.h"

Include dependency graph for registry.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ReadRegistryTxt (LPTW lptw)
void WriteRegistryTxt (LPTW lptw)
void ReadRegistryGraph (struct BCG *ScilabGC)
void WriteRegistryGraph (struct BCG *ScilabGC)


Function Documentation

void ReadRegistryGraph ( struct BCG ScilabGC  ) 

Definition at line 315 of file registry.c.

00316 {
00317         /* Modification Restauration depuis la base de registre dans 
00318                         HKEY_CURRENT_USER\\SOFTWARE\\Scilab\\"VERSION"\\Graph Settings
00319         "Version" correspondant à la version de Scilab
00320         */
00321         HKEY key;
00322         DWORD result,size=4;
00323         long GraphSizeX,GraphSizeY;
00324         char Clef[MAX_PATH];
00325         int Toolbar;
00326         
00327         RECT rect;
00328 
00329         wsprintf(Clef,"SOFTWARE\\Scilab\\%s\\Graph Settings",SCI_VERSION_STRING);
00330         result=RegOpenKeyEx(HKEY_CURRENT_USER, Clef, 0, KEY_QUERY_VALUE , &key);
00331 
00332         if ( RegQueryValueEx(key, "GraphOriginX", 0, NULL, (LPBYTE)&rect.left, &size) !=  ERROR_SUCCESS )
00333         {
00334                 ScilabGC->lpgw->Origin.x = CW_USEDEFAULT;
00335         }
00336         else
00337         {
00338                 ScilabGC->lpgw->Origin.x = rect.left;
00339         }
00340 
00341         if ( RegQueryValueEx(key, "GraphOriginY", 0, NULL, (LPBYTE)&rect.top, &size) !=  ERROR_SUCCESS )
00342         {
00343                 ScilabGC->lpgw->Origin.y = CW_USEDEFAULT;
00344         }
00345         else
00346         {
00347                 ScilabGC->lpgw->Origin.y = rect.top;
00348         }
00349 
00350         if ( RegQueryValueEx(key, "GraphSizeX", 0, NULL, (LPBYTE)&GraphSizeX, &size) !=  ERROR_SUCCESS )
00351         {
00352                 ScilabGC->lpgw->Size.x = CW_USEDEFAULT;
00353         }
00354         else
00355         {
00356         ScilabGC->lpgw->Size.x = GraphSizeX;
00357         }
00358 
00359         if ( RegQueryValueEx(key, "GraphSizeY", 0, NULL, (LPBYTE)&GraphSizeY, &size) !=  ERROR_SUCCESS )
00360         {
00361                 ScilabGC->lpgw->Size.y = CW_USEDEFAULT;
00362         }
00363         else
00364         {
00365                 ScilabGC->lpgw->Size.y = GraphSizeY;
00366         }
00367 
00368         if ( RegQueryValueEx(key, "ToolBar", 0, NULL, (LPBYTE)&Toolbar, &size) !=  ERROR_SUCCESS )
00369         {
00370                 ScilabGC->lpmw.ShowToolBar = TRUE;
00371         }
00372         else
00373         {
00374                 ScilabGC->lpmw.ShowToolBar  = Toolbar;
00375         }
00376 
00377     SetDefaultShowToolBar(ScilabGC->lpmw.ShowToolBar);
00378         ScilabGC->lpmw.LockToolBar=FALSE;
00379 
00380         if ( result == ERROR_SUCCESS ) RegCloseKey(key);
00381 }

void ReadRegistryTxt ( LPTW  lptw  ) 

Definition at line 22 of file registry.c.

00023 {
00024         /* Modification Restauration depuis la base de registre dans 
00025                         HKEY_CURRENT_USER\\SOFTWARE\\Scilab\\"VERSION"\\Settings
00026         "Version" correspondant à la version de Scilab
00027         */
00028         HKEY key;
00029         DWORD result,Length,size=4;
00030         char Clef[MAX_PATH];
00031         int Iconic,iconic;
00032         int SizeX;
00033         int SizeY;
00034         int SysColors;
00035         DWORD TextColor;
00036     DWORD BackgroundColor;
00037         int Toolbar;
00038 //      int Language;
00039         char TextFontName[MAX_PATH];
00040         int TextFontSize;
00041         RECT rect;
00042         
00043         Length=MAX_PATH;
00044         
00045         wsprintf(Clef,"SOFTWARE\\Scilab\\%s\\Settings",SCI_VERSION_STRING);
00046         result=RegOpenKeyEx(HKEY_CURRENT_USER, Clef, 0, KEY_QUERY_VALUE , &key);
00047 
00048         if ( RegQueryValueEx(key, "TextOriginX", 0, NULL, (LPBYTE)&rect.left, &size) !=  ERROR_SUCCESS )
00049         {
00050                 lptw->Origin.x = CW_USEDEFAULT;
00051         }
00052         else
00053         {
00054                 lptw->Origin.x = rect.left;
00055         }
00056         
00057         if ( RegQueryValueEx(key, "TextOriginY", 0, NULL, (LPBYTE)&rect.top, &size) !=  ERROR_SUCCESS )
00058         {
00059                 lptw->Origin.y = CW_USEDEFAULT;
00060         }
00061         else
00062         {
00063                 lptw->Origin.y = rect.top;
00064         }
00065         
00066         if ( RegQueryValueEx(key, "TextSizeX", 0, NULL, (LPBYTE)&SizeX, &size) !=  ERROR_SUCCESS )
00067         {
00068                 lptw->Size.x = CW_USEDEFAULT;
00069         }
00070         else
00071         {
00072                 lptw->Size.x = SizeX;
00073         }
00074         
00075         if ( RegQueryValueEx(key, "TextSizeY", 0, NULL, (LPBYTE)&SizeY, &size) !=  ERROR_SUCCESS )
00076         {
00077                 lptw->Size.y = CW_USEDEFAULT;
00078         }
00079         else
00080         {
00081                 lptw->Size.y = SizeY;
00082         }
00083         
00084         if ( RegQueryValueEx(key, "TextMinimized", 0, NULL, (LPBYTE)&Iconic, &size) !=  ERROR_SUCCESS )
00085         {
00086                         iconic = 0;
00087         }
00088         else
00089         {
00090                         iconic = Iconic;
00091         }
00092         
00093         if ( RegQueryValueEx(key, "TextFontName", 0, NULL,(LPBYTE)TextFontName,&Length) !=  ERROR_SUCCESS )
00094         {
00095                 strcpy (lptw->fontname, TEXTFONTNAME);
00096         }
00097         else
00098         {
00099                 strcpy (lptw->fontname, TextFontName);
00100         }
00101         
00102         if ( RegQueryValueEx(key, "TextFontSize", 0, NULL, (LPBYTE)&TextFontSize, &size) !=  ERROR_SUCCESS )
00103         {
00104                 lptw->fontsize = TEXTFONTSIZE;
00105         }
00106         else
00107         {
00108                 lptw->fontsize = TextFontSize;
00109         }
00110         
00111         if ( RegQueryValueEx(key, "SysColors", 0, NULL, (LPBYTE)&SysColors, &size) !=  ERROR_SUCCESS )
00112         {
00113                 lptw->bSysColors = 1;
00114         }
00115         else
00116         {
00117                 lptw->bSysColors = SysColors;
00118         }
00119         
00120         if (lptw->bSysColors == 0)
00121         {
00122                 if ( RegQueryValueEx(key, "TextColor", 0, NULL, (LPBYTE)&TextColor, &size) !=  ERROR_SUCCESS )
00123                 {
00124                         int R,G,B;
00125                         R=GetRValue(GetSysColor (COLOR_WINDOW));
00126                         G=GetGValue(GetSysColor (COLOR_WINDOW));
00127                         B=GetBValue(GetSysColor (COLOR_WINDOW));
00128                         
00129                         SetIhmTextColor(R,G,B,FALSE);
00130                 }
00131                 else
00132                 {
00133                         int R,G,B;
00134                         R=GetRValue(TextColor);
00135                         G=GetGValue(TextColor);
00136                         B=GetBValue(TextColor);
00137 
00138                         SetIhmTextColor(R,G,B,FALSE);
00139                 }
00140 
00141                 if ( RegQueryValueEx(key, "BackgroundColor", 0, NULL, (LPBYTE)&BackgroundColor, &size) !=  ERROR_SUCCESS )
00142                 {
00143                         int R,G,B;
00144                         R=GetRValue(GetSysColor (COLOR_WINDOW));
00145                         G=GetGValue(GetSysColor (COLOR_WINDOW));
00146                         B=GetBValue(GetSysColor (COLOR_WINDOW));
00147 
00148                         SetIhmTextBackgroundColor(R,G,B,FALSE);
00149                 }
00150                 else
00151                 {
00152                         int R,G,B;
00153                         R=GetRValue(BackgroundColor);
00154                         G=GetGValue(BackgroundColor);
00155                         B=GetBValue(BackgroundColor);
00156 
00157                         SetIhmTextBackgroundColor(R,G,B,FALSE);
00158                 }
00159         }
00160         
00161         if ( RegQueryValueEx(key, "ToolBar", 0, NULL, (LPBYTE)&Toolbar, &size) !=  ERROR_SUCCESS )
00162         {
00163                 lptw->lpmw->ShowToolBar = TRUE;
00164         }
00165         else
00166         {
00167                 lptw->lpmw->ShowToolBar = Toolbar;
00168         }
00169 
00170         //if ( RegQueryValueEx(key, "Language", 0, NULL, (LPBYTE)&Language, &size) !=  ERROR_SUCCESS )
00171  //     {
00172         //      int CodeLanguageInScilabDotStar=GetLanguageCodeInScilabDotStar();
00173 
00174         //      if (CodeLanguageInScilabDotStar != -1)
00175         //      {
00176         //              lptw->lpmw->CodeLanguage = CodeLanguageInScilabDotStar;
00177         //      }
00178         //      else lptw->lpmw->CodeLanguage = 0; /* English Default*/
00179         //}
00180         //else
00181         //{
00182         //      int CodeLanguageInScilabDotStar=GetLanguageCodeInScilabDotStar();
00183 
00184         //      if (Language != CodeLanguageInScilabDotStar)
00185         //      {
00186         //              lptw->lpmw->CodeLanguage = CodeLanguageInScilabDotStar; 
00187         //      }
00188         //      else
00189         //      if  ( (Language == 0) || (Language == 1) )      lptw->lpmw->CodeLanguage = Language;
00190         //      else lptw->lpmw->CodeLanguage = 0; /* English Default*/
00191         //}
00192                 
00193         lptw->lpmw->LockToolBar=FALSE;
00194 
00195         if ( result == ERROR_SUCCESS ) RegCloseKey(key);
00196 
00197         if (iconic) lptw->nCmdShow = SW_SHOWMINIMIZED;
00198 
00199 }

void WriteRegistryGraph ( struct BCG ScilabGC  ) 

Definition at line 273 of file registry.c.

00274 {
00275         /* Modification Sauvegarde dans la base de registre dans 
00276                         HKEY_CURRENT_USER\\SOFTWARE\\Scilab\\"VERSION"\\Graph Settings
00277         "Version" correspondant à la version de Scilab
00278         Sauvegarde dans HKEY_CURRENT_USER car données dépendant de l'utilisateur
00279         */
00280 
00281         HKEY key;
00282         DWORD result,dwsize=4;
00283         char Clef[MAX_PATH];
00284 
00285         RECT rect;
00286         long GraphSizeX,GraphSizeY;
00287         int iconic;
00288         LONG TstRegCreateKeyEx=0;
00289 
00290 
00291         wsprintf(Clef,"SOFTWARE\\Scilab\\%s\\Graph Settings",SCI_VERSION_STRING);       
00292         TstRegCreateKeyEx=RegCreateKeyEx(HKEY_CURRENT_USER, Clef, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, &result);
00293         if (TstRegCreateKeyEx == ERROR_SUCCESS)
00294         {
00295                 iconic = IsIconic (ScilabGC->hWndParent);
00296                 if (iconic) ShowWindow (ScilabGC->hWndParent, SW_SHOWNORMAL);
00297 
00298                 GetWindowRect (ScilabGC->hWndParent, &rect);
00299                 RegSetValueEx(key, "GraphOriginX", 0, REG_DWORD, (LPBYTE)&rect.left, dwsize);
00300                 RegSetValueEx(key, "GraphOriginY", 0, REG_DWORD, (LPBYTE)&rect.top, dwsize);
00301 
00302                 GraphSizeX=rect.right - rect.left;
00303                 GraphSizeY=rect.bottom - rect.top;
00304                 RegSetValueEx(key, "GraphSizeX", 0, REG_DWORD,(LPBYTE)&GraphSizeX, dwsize);
00305                 RegSetValueEx(key, "GraphSizeY", 0, REG_DWORD,(LPBYTE)&GraphSizeY, dwsize);
00306                 RegSetValueEx(key, "ToolBar", 0, REG_DWORD, (LPBYTE)&ScilabGC->lpmw.ShowToolBar, dwsize);
00307 
00308                 RegCloseKey(key);
00309         }
00310         
00311         if (iconic) ShowWindow (ScilabGC->hWndParent, SW_SHOWMINIMIZED);
00312   
00313 }

void WriteRegistryTxt ( LPTW  lptw  ) 

Definition at line 202 of file registry.c.

00203 {
00204         /* Modification Sauvegarde dans la base de registre dans 
00205                         HKEY_CURRENT_USER\\SOFTWARE\\Scilab\\"VERSION"\\Settings
00206         "Version" correspondant à la version de Scilab
00207         Sauvegarde dans HKEY_CURRENT_USER car données dépendant de l'utilisateur
00208         */
00209 
00210         HKEY key = NULL;
00211         DWORD result,dwsize=4;
00212         RECT rect;
00213         int iconic;
00214         char Clef[MAX_PATH];
00215         int SizeX;
00216         int SizeY;
00217         int SysColors;
00218         DWORD TextColor;
00219     DWORD BackgroundColor;
00220         char TextFontName[MAX_PATH];
00221         int TextFontSize;
00222         BOOL ShowButtons;
00223 //      int LanguageCode;
00224         LONG TstRegCreateKeyEx=0;
00225 
00226         wsprintf(Clef,"SOFTWARE\\Scilab\\%s\\Settings",SCI_VERSION_STRING);     
00227         TstRegCreateKeyEx = RegCreateKeyEx(HKEY_CURRENT_USER, Clef, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, &result);
00228         if (TstRegCreateKeyEx == ERROR_SUCCESS)
00229         {
00230                 iconic = IsIconic (lptw->hWndParent);
00231                 if (iconic) ShowWindow (lptw->hWndParent, SW_SHOWNORMAL);
00232 
00233                 GetWindowRect (lptw->hWndParent, &rect);
00234                 RegSetValueEx(key, "TextOriginX", 0, REG_DWORD, (LPBYTE)&rect.left, dwsize);
00235                 RegSetValueEx(key, "TextOriginY", 0, REG_DWORD, (LPBYTE)&rect.top, dwsize);
00236 
00237                 SizeX=rect.right - rect.left;
00238                 SizeY=rect.bottom - rect.top;
00239                 RegSetValueEx(key, "TextSizeX", 0, REG_DWORD, (LPBYTE)&SizeX, dwsize);
00240                 RegSetValueEx(key, "TextSizeY", 0, REG_DWORD, (LPBYTE)&SizeY, dwsize);
00241 
00242                 RegSetValueEx(key, "TextMinimized", 0, REG_DWORD, (LPBYTE)&iconic, dwsize);
00243 
00244                 strcpy(TextFontName,lptw->fontname);
00245                 RegSetValueEx(key, "TextFontName", 0, REG_SZ, (LPBYTE)TextFontName, strlen(TextFontName)+1);
00246 
00247                 TextFontSize=lptw->fontsize;
00248                 RegSetValueEx(key, "TextFontSize", 0, REG_DWORD, (LPBYTE)&TextFontSize, dwsize);
00249 
00250                 SysColors=lptw->bSysColors;
00251                 RegSetValueEx(key, "SysColors", 0, REG_DWORD, (LPBYTE)&SysColors, dwsize);
00252 
00253                 TextColor=GetIhmTextColor();
00254                 RegSetValueEx(key, "TextColor", 0, REG_DWORD, (LPBYTE)&TextColor, dwsize);
00255 
00256                 BackgroundColor= GetIhmTextBackgroundColor();
00257                 RegSetValueEx(key, "BackgroundColor", 0, REG_DWORD, (LPBYTE)&BackgroundColor, dwsize);
00258 
00259                 ShowButtons=lptw->lpmw->ShowToolBar;
00260                 RegSetValueEx(key, "ToolBar", 0, REG_DWORD, (LPBYTE)&ShowButtons, dwsize);
00261 
00262                 /*LanguageCode=lptw->lpmw->CodeLanguage;
00263                 RegSetValueEx(key, "Language", 0, REG_DWORD, (LPBYTE)&LanguageCode, dwsize);
00264                 */
00265 
00266                 RegCloseKey(key);
00267         }
00268         
00269         if (iconic) ShowWindow (lptw->hWndParent, SW_SHOWMINIMIZED);
00270   
00271 }


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