var SCS_PATH = "dms/scs2/";; fun GoPkgTHEME_getInfos(theme,info)= if theme==nil then nil else switchstr theme info;; fun GogetSCSiniInfo(l,s)=hd switchstr l s;; fun getSCSiniCurrentTheme ()= let _checkpack strcat SCS_PATH "scs2.ini" -> SCSiniFILE in let strextr (_getpack SCSiniFILE) -> SCSiniList in let GogetSCSiniInfo SCSiniList "SCSDATA_SKIN" -> currentThemePath in let _checkpack currentThemePath -> ThemeiniFILE in strextr (_getpack ThemeiniFILE) ;; fun SPLASHSCREEN_Open() = let getSCSiniCurrentTheme -> currentThemeList in let GoPkgTHEME_getInfos currentThemeList "BITMAP_PATH" -> [BitmapPath _] in let GoPkgTHEME_getInfos currentThemeList "SPLASHBITMAP" -> [SplashBitmap _] in let GoPkgTHEME_getInfos currentThemeList "SPLASHTEXTCOLOR1" -> [c1 [c2 [c3 _]]] in let make_rgb atoi c1 atoi c2 atoi c3 -> SplashTextColor1 in let GoPkgTHEME_getInfos currentThemeList "SPLASHTEXTCOLOR2" -> [c4 [c5 [c6 _]]] in let make_rgb atoi c4 atoi c5 atoi c6 -> SplashTextColor2 in let GoPkgTHEME_getInfos currentThemeList "SPLASHTEXTPOS" -> [x1 [y1 _]] in let atoi x1 -> xpos in let atoi y1 -> ypos in let _CRfont _channel 14 0 0 "Arial" -> splashfont in let _LDalphaBitmap _channel _checkpack strcat BitmapPath SplashBitmap -> abmp in let _GETalphaBitmapSize abmp -> [abmpw abmph] in let _GETscreenSize -> [screenW screenH] in let _CRcontainerFromObjCont _channel nil (screenW-abmpw)/2 (screenH-abmph)/2 abmpw abmph CO_NOBORDER|CO_NOCAPTION|CO_HIDE make_rgb 255 255 255 "SCS 2 loading..." -> cont in let _CRcompBitmap _channel cont nil [0 0] OBJ_ENABLE|OBJ_VISIBLE 0 abmp 0 0 abmpw abmph -> bmp in let _CRcompText _channel cont nil [xpos ypos] OBJ_ENABLE|OBJ_VISIBLE|CT_LEFT|CT_LABEL|CT_WORDWRAP 0 abmpw-150-10 50 "Loading SCS 2..." splashfont [SplashTextColor1 nil 1 0] [SplashTextColor2 70] nil nil -> cptext in ( _SHOWcontainer _PAINTcontainer cont CONTAINER_UNHIDDEN ; [cont cptext splashfont] ) ;; fun SPLASHSCREEN_Close( param ) = let param -> [container _ splashfont] in ( _DScontainer container; _DSfont splashfont ); 1 ;; fun SCS_LoadPackage(filename, param) = { let param -> [cont cptext splashfont] in { _SETcompText cptext strcatn "Loading :\n"::filename::"..."::nil splashfont [(make_rgb 255 255 255) nil 1 0] CT_NOCHANGE ; _PAINTcontainer cont ; } ; _load filename ; } ;; /* Find thm file in directory */ fun THMfileReach (src,dst)= if (src == nil) then dst else let hd src -> elt in let strlen elt -> len in let strlowercase elt -> etlLow in if !strcmp (substr etlLow (len-4) 4) ".thm" then THMfileReach tl src elt::dst else THMfileReach tl src dst ;; fun SCSini_SetParam (params, key, value) = ( let switchstr params key -> vv in if vv==nil then ( set params = (key::value)::params; 1 ) else ( mutate vv <- [hd value tl value]; 0 ) ; _storepack strbuild params strcat SCS_PATH "scs2.ini"; 0; ) ;; fun THMfileSearch ()= let _listoffiles strcat SCS_PATH "themes/" -> AllfileList in let THMfileReach AllfileList nil -> THMfileList in let _checkpack strcat SCS_PATH "scs2.ini" -> SCSiniFILE in let strextr (_getpack SCSiniFILE) -> SCSiniList in SCSini_SetParam SCSiniList "SCSDATA_SKIN_OPTIONS" THMfileList; 0 ;; fun go()= let SPLASHSCREEN_Open -> param in ( THMfileSearch; SCS_LoadPackage "dms/lib/stdlib.pkg" param; SCS_LoadPackage "dms/lib/_mlistlib.pkg" param; SCS_LoadPackage "dms/lib/_mtree.pkg" param; SCS_LoadPackage "dms/lib/quicksort.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/protogui.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/localisation/kitlocalisation.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/loadsave/core.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/loadsave/def.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/loadsave/doc.pkg" param; SCS_LoadPackage "dms/lib/const.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/dressing/theme/theme.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/dressing/protographicdressing.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/utils.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/colorsgui.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/tree.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/bitmaps.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/errors/errors.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/history/history.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/parameters/parameters.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/link/link.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/moduleclass.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/module.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/moduledefinition.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/zone/zone.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/zone/zoneedge.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/association/association.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/site/site.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/site/siteparse.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/site/sitefile.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/reflex/reflex.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/reflex/selection.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/scsdata.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/reflex/reflexinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/reflex/selectioninterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/history/historyinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/association/associationinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/site/siteinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/link/linkinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/modulelink.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/moduleinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/module/moduledef.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/zone/zoneinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "data/scsdatainterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/keyboard/keyboard.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/keyboard/mainshortcuts.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/editors/editorsmanager.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/dressing/titlebar.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/dressing/createwindow.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/tooltip/tooltip.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/scsgui.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/scsguireflex.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/utilsgui.pkg" param; /* le package suivant doit être ici pour tester que la structure scsgui est différent de nil avant d'afficher la fenêtre des erreurs */ SCS_LoadPackage strcat SCS_PATH "data/errors/errorsinterface.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/dressing/graphicdressing.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/scsgui2.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/menu.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/colormap/protocolormap.pkg" param; SCS_LoadPackage "dms/lib/colormap/_mcolormap.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/zones/zonesview.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/zones/zonesmanipulation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/zones/zonescreation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/zones/mainzoneswindow.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/linksmenu.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/modulesview.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/linksmanipulation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/linksdrawing.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/linkscreation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/modulesmanipulation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/modulescreation.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/emptynode.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/modules/mainmoduleswindow.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/mainwindow.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/popup/popupwindow.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/wizard/wizard.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/popup/comptreeutils.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/popup/sitetree/sitetree.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/window/windowmanager.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/scsguiinterface.pkg" param; /* for the popup error log window */ SCS_LoadPackage strcat SCS_PATH "gui/popup/errorlog/popuperrorlog.pkg" param; SCS_LoadPackage strcat SCS_PATH "gui/upload/upload.pkg" param; SCS_LoadPackage strcat SCS_PATH "scs.pkg" param; SPLASHSCREEN_Close param ; ) ;;