Commit fd54245f authored by John van Groningen's avatar John van Groningen
Browse files

move Platform functions that depend on ObjectIO to PlatformObjectIO

parent aac152c9
...@@ -8,7 +8,7 @@ import UtilNewlinesFile, StateMonad ...@@ -8,7 +8,7 @@ import UtilNewlinesFile, StateMonad
import StdId import StdId
import EdVisualText, EdSelection, EdLook import EdVisualText, EdSelection, EdLook
import EdAction import EdAction
import Platform import Platform,PlatformObjectIO
//import dodebug //import dodebug
trace_n` _ s :== s trace_n` _ s :== s
......
...@@ -28,7 +28,7 @@ import projmen, filehist, ioutil, menubar ...@@ -28,7 +28,7 @@ import projmen, filehist, ioutil, menubar
from PmDirCache import SearchDisk from PmDirCache import SearchDisk
import targetui import targetui
from PmCleanSystem import QuitCleanCompiler from PmCleanSystem import QuitCleanCompiler
import Platform, IdePlatform import Platform,PlatformObjectIO, IdePlatform
import PmDriver import PmDriver
import StdSystem, StdClipboard import StdSystem, StdClipboard
......
...@@ -7,6 +7,10 @@ import clipboard, typewin, fbi, PmAbcMagic, errwin ...@@ -7,6 +7,10 @@ import clipboard, typewin, fbi, PmAbcMagic, errwin
import flextextcontrol, ioutil, UtilStrictLists import flextextcontrol, ioutil, UtilStrictLists
from PmCleanSystem import ::CompilerProcessIds,NoCompilerProcessIds from PmCleanSystem import ::CompilerProcessIds,NoCompilerProcessIds
from StdPStClass import instance FileEnv (PSt .l) from StdPStClass import instance FileEnv (PSt .l)
//-- batch build support
from StdProcess import closeProcess
from StdPStClass import class FileSystem, instance FileSystem PSt
import logfile, PlatformObjectIO
:: InfoDialogInfo = :: InfoDialogInfo =
{pr_info :: !Id // id for info dialog {pr_info :: !Id // id for info dialog
...@@ -506,11 +510,6 @@ getPrefix ps = accPLoc (\p=:{prefix}->(prefix,p)) ps ...@@ -506,11 +510,6 @@ getPrefix ps = accPLoc (\p=:{prefix}->(prefix,p)) ps
setPrefix :: !String !*(PSt *General) -> *PSt *General setPrefix :: !String !*(PSt *General) -> *PSt *General
setPrefix s ps = appPLoc (\p=:{prefix}->{p & prefix = removeDup [s:prefix]}) ps setPrefix s ps = appPLoc (\p=:{prefix}->{p & prefix = removeDup [s:prefix]}) ps
//-- batch build support
from StdProcess import closeProcess
from StdPStClass import class FileSystem, instance FileSystem PSt
import logfile, Platform
getInteract :: !*(PSt *General) -> (!Bool,!*PSt *General) getInteract :: !*(PSt *General) -> (!Bool,!*PSt *General)
getInteract ps = accPLoc (\p=:{interact}->(interact,p)) ps getInteract ps = accPLoc (\p=:{interact}->(interact,p)) ps
......
definition module Platform definition module Platform
import StdPSt, StdString import StdString
import StdIOCommon
PlatformDependant win mac :== win PlatformDependant win mac :== win
initPlatformCommandLineArguments:: !*(PSt .l) -> (![String],!*PSt .l)
installPlatformEventHandlers :: !*(PSt .l) -> *(PSt .l)
openPlatformWindowMenu :: !*(PSt .l) -> *(PSt .l)
getWindowModified :: !Id !(IOSt .l) -> (!Maybe Bool,!IOSt .l)
setWindowModified :: !Id !String !Bool !(IOSt .l) -> IOSt .l
ToolsDir :: String ToolsDir :: String
TempDir :: String TempDir :: String
EnvsDir :: String EnvsDir :: String
...@@ -19,6 +11,5 @@ PrefsDir :: String ...@@ -19,6 +11,5 @@ PrefsDir :: String
batchOptions :: !*World -> (!Bool,Bool,String,*File,!*World) batchOptions :: !*World -> (!Bool,Bool,String,*File,!*World)
wAbort :: !String !*World -> *World wAbort :: !String !*World -> *World
pAbort :: !(PSt .a) -> PSt .a
onOSX :: Bool onOSX :: Bool
\ No newline at end of file
implementation module Platform implementation module Platform
import StdPSt import code from library "platform_kernel_library"
import ArgEnv
import StdArray, StdEnum, StdList, StdClass, StdBool, StdMisc import StdArray, StdEnum, StdList, StdClass, StdBool, StdMisc
import UtilIO import ArgEnv
from StdSystem import dirseparator from StdSystem import dirseparator
import code from library "platform_kernel_library"
import clCCall_12, ostoolbox import clCCall_12, ostoolbox
import StdIOCommon
import logfile, set_return_code import logfile, set_return_code
PlatformDependant win mac :== win PlatformDependant win mac :== win
...@@ -44,17 +42,6 @@ where ...@@ -44,17 +42,6 @@ where
ccall GetPrivateProfileStringA@24 "PsssIIs:I:I" ccall GetPrivateProfileStringA@24 "PsssIIs:I:I"
} }
initPlatformCommandLineArguments :: !*(PSt .l) -> (![String],!*PSt .l)
initPlatformCommandLineArguments ps
# args = cl_args
# args = [arg \\ arg <-: args]
# args = filter_opts args
| isEmpty args
= ([],ps)
# files = tl args
# files = map GetLongPathName files
= (files, ps)
batchOptions :: !*World -> (!Bool,Bool,String,*File,!*World) batchOptions :: !*World -> (!Bool,Bool,String,*File,!*World)
batchOptions world batchOptions world
= case [arg \\ arg <-: getCommandLine] of = case [arg \\ arg <-: getCommandLine] of
...@@ -78,24 +65,6 @@ wAbort message world ...@@ -78,24 +65,6 @@ wAbort message world
# world = set_return_code_world (-1) world # world = set_return_code_world (-1) world
= world = world
pAbort :: !(PSt .a) -> PSt .a
pAbort ps
= set_return_code_pst (-1) ps
installPlatformEventHandlers :: !*(PSt .l) -> *(PSt .l)
installPlatformEventHandlers ps
= ps
openPlatformWindowMenu :: !*(PSt .l) -> *(PSt .l)
openPlatformWindowMenu ps
= ps
getWindowModified :: !Id !(IOSt .l) -> (!Maybe Bool,!IOSt .l)
getWindowModified _ io = (Nothing,io)
setWindowModified :: !Id !String !Bool !(IOSt .l) -> IOSt .l
setWindowModified _ _ _ io = io
//==== //====
inifilename inifilename
......
definition module PlatformObjectIO
import StdPSt, StdString
import StdIOCommon
initPlatformCommandLineArguments:: !*(PSt .l) -> (![String],!*PSt .l)
installPlatformEventHandlers :: !*(PSt .l) -> *(PSt .l)
openPlatformWindowMenu :: !*(PSt .l) -> *(PSt .l)
getWindowModified :: !Id !(IOSt .l) -> (!Maybe Bool,!IOSt .l)
setWindowModified :: !Id !String !Bool !(IOSt .l) -> IOSt .l
pAbort :: !(PSt .a) -> PSt .a
implementation module PlatformObjectIO
import StdArray, StdEnum, StdList, StdClass, StdBool, StdMisc
from ArgEnv import getCommandLine
import set_return_code
import StdPSt
from UtilIO import GetLongPathName
import StdIOCommon
cl_args =: getCommandLine
filter_opts [] = []
filter_opts [h:t]
| h.[0] == '-' = filter_opts (drop 1 t)
= [h:filter_opts t]
initPlatformCommandLineArguments :: !*(PSt .l) -> (![String],!*PSt .l)
initPlatformCommandLineArguments ps
# args = cl_args
# args = [arg \\ arg <-: args]
# args = filter_opts args
| isEmpty args
= ([],ps)
# files = tl args
# files = map GetLongPathName files
= (files, ps)
pAbort :: !(PSt .a) -> PSt .a
pAbort ps
= set_return_code_pst (-1) ps
installPlatformEventHandlers :: !*(PSt .l) -> *(PSt .l)
installPlatformEventHandlers ps
= ps
openPlatformWindowMenu :: !*(PSt .l) -> *(PSt .l)
openPlatformWindowMenu ps
= ps
getWindowModified :: !Id !(IOSt .l) -> (!Maybe Bool,!IOSt .l)
getWindowModified _ io = (Nothing,io)
setWindowModified :: !Id !String !Bool !(IOSt .l) -> IOSt .l
setWindowModified _ _ _ io = io
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment