/***************************************************************************************/ /* */ /* SCS editor Version 2 */ /* File : Scs.pkg */ /* Version : 14 juin 2000 */ /* Main Scs functions */ /* */ /***************************************************************************************/ fun SITE_ProcessApplicationQuit() = { if SITE_nbModalDialogBoxOpened == 0 then { /* Launch POPUPWIN cleaning process */ POPUPWIN_ReleaseAll ; SCSGUI_Destroy; SCSDATA_Destroy; PARAMS_Quit; /* MAC ICI : si le fichier nest pas en écriture pas de sauvegarde des paramêtres ! */ _closemachine; 0 ; } else 0 ; } ;; fun SCS_ProcessEachSiteInListAndQuit(siteList) = { if siteList != nil then { let siteList -> [site Lnext] in { GUI_SaveSiteIfNeededUponQuitting siteList ; /*SCS_ProcessEachSiteInListAndQuit Lnext ;*/ 0 ; } ; } else 0 ; } ;; fun quit() = { if (SITE_GetQuitFlag == 0 && SITE_nbModalDialogBoxOpened == 0) then { SITE_SetQuitFlag(1) ; let SCSDATA_GetSiteList -> sitelist in if sitelist != nil then { /* Check if user needs to save previously opened sites */ if SCSDATA_IsModificationInSiteList then (SCS_ProcessEachSiteInListAndQuit sitelist ; 0) else (SITE_ProcessApplicationQuit ; 0 ) ; 0 } else { SITE_OnAllModalDialogBoxesClosed ; 0 ; } ; 0 } else 0 ; 0 ; } ;; fun main () = { srand 0; iniLocSCS strcat SCS_PATH "data/Localisation/" "scs"; PARAMS_Init; SCSDATA_Create; SCSGUI_CreateGUIstructure _channel ; /* Init Graphical dressing params */ GRAPHICDRESSING_InitDressing ; GRAPHICDRESSING_SetTheme PARAMS_GetS SCSparameters "SCSDATA_SKIN"; /*GRAPHICDRESSING_SetTransparencyColor scsgui.SCSGUItransparencyColor;*/ let THEME_getInfos GD_THEME "DEFAULT_TEXT_COLOR" -> [bitmapPath _] in GRAPHICDRESSING_SetCurrentDirectoryPath bitmapPath ; GRAPHICDRESSING_CBloadBitmap @BITMAP_Get ; GRAPHICDRESSING_CBdestroyBitmap nil; GRAPHICDRESSING_SetLocaleFunction @_locSCS ; GRAPHICDRESSING_SetBackgroundColor GD_DEFAULT_BACKGROUNDCOLOR; GRAPHICDRESSING_SetDefaultFont scsgui.SCSGUIfont; SCSGUI_FillInGUIstructure _channel ; SITE_New; WINMANAG_InvertVisibility MAINWIN_MODULE ; MAINWIN_Refresh scsgui.SCSGUIwindowManager.WINMANAGmainCont scsgui.SCSGUIwindowManager.WINMANAGwinList; KEYBOARD_Init ; GUI_QuickWizard 0; 0 };;