Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-and-itasks
clean-ide
Commits
e1f4cd2d
Commit
e1f4cd2d
authored
Dec 10, 2001
by
Diederik van Arkel
Browse files
cleanup for Clean2 release
parent
af9b4495
Changes
115
Show whitespace changes
Inline
Side-by-side
Ide/ideoptions.icl
View file @
e1f4cd2d
...
...
@@ -2,6 +2,7 @@ implementation module ideoptions
import
StdFunc
import
StdWindow
import
StdPStClass
import
IdeState
import
ioutil
...
...
@@ -10,10 +11,15 @@ ideOptionsDialog ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
(
wId
,
ps
)
=
openId
ps
#
(
okId
,
ps
)
=
openId
ps
#
(
tpId
,
ps
)
=
openId
ps
#
(
hpId
,
ps
)
=
openId
ps
#
(
prId
,
ps
)
=
openId
ps
#
iniSWMark
=
toMark
prefs
.
switch_close
#
iniTBMark
=
toMark
prefs
.
show_toolbar
// # iniTPMark = toMark prefs.enable_prover
#
iniBVMark
=
toMark
prefs
.
be_verbose
#
iniTPString
=
prefs
.
reg_prefs
.
tp_path
+++
prefs
.
reg_prefs
.
tp_name
#
iniHPString
=
prefs
.
reg_prefs
.
hp_path
+++
prefs
.
reg_prefs
.
hp_name
#
iniPRString
=
prefs
.
reg_prefs
.
pr_path
+++
prefs
.
reg_prefs
.
pr_name
#
(
iniNHIndex
,
iniCVIndex
)
=
case
prefs
.
newline_handling
of
(
LeaveAlone
NewlineConventionNone
)
->
(
1
,
1
)
...
...
@@ -25,13 +31,15 @@ ideOptionsDialog ps
(
AlwaysUse
NewlineConventionUnix
)
->
(
2
,
3
)
(
AlwaysUse
NewlineConventionDos
)
->
(
2
,
4
)
#
iniAWMark
=
toMark
prefs
.
altgr_workaround
#
(_,
ps
)
=
openModalDialog
Void
(
ddef
iniSWMark
iniTBMark
/*iniTPMark*/
iniBVMark
iniNHIndex
iniCVIndex
iniAWMark
okId
wId
)
ps
#
(_,
ps
)
=
openModalDialog
Void
(
ddef
iniSWMark
iniTBMark
iniBVMark
iniNHIndex
iniCVIndex
iniAWMark
iniTPString
iniHPString
iniPRString
tpId
hpId
prId
okId
wId
)
ps
=
ps
ddef
iniSWMark
iniTBMark
/*iniTPMark*/
iniBVMark
iniNHIndex
iniCVIndex
iniAWMark
okId
wId
iniSWMark
iniTBMark
iniBVMark
iniNHIndex
iniCVIndex
iniAWMark
iniTPString
iniHPString
iniPRString
tpId
hpId
prId
okId
wId
=
Dialog
"IDE Options"
(
CheckControl
[(
"Switch windows"
,
Nothing
,
iniSWMark
,
noLS
switchSW
)
...
...
@@ -39,13 +47,6 @@ ddef
,(
"Verbose diagnostics"
,
Nothing
,
iniBVMark
,
noLS
switchBV
)
,(
"AltGr workaround"
,
Nothing
,
iniAWMark
,
noLS
switchAW
)
]
(
Columns
1
)
[]
/*
:+: CheckControl
[("Enable Theorem Prover",Nothing,iniTPMark,id)
] (Columns 1)
[ControlSelectState Unable
,ControlPos (Left,zero)]
*/
:+:
TextControl
"Newline Handling"
[
ControlPos
(
Left
,
zero
)]
:+:
RadioControl
...
...
@@ -66,6 +67,16 @@ ddef
(
Rows
1
)
(
iniCVIndex
)
[
ControlPos
(
Left
,
zero
)]
:+:
TextControl
"Time Profiler:"
[
ControlPos
(
Left
,
zero
),
ControlWidth
(
ContentWidth
"Theorem Prover:"
)]
:+:
EditControl
iniTPString
(
PixelWidth
300
)
1
[
ControlId
tpId
,
ControlSelectState
Unable
]
:+:
ButtonControl
"Select..."
[
ControlFunction
(
noLS
(
setTP
tpId
))]
:+:
TextControl
"Heap Profiler:"
[
ControlPos
(
Left
,
zero
),
ControlWidth
(
ContentWidth
"Theorem Prover:"
)]
:+:
EditControl
iniHPString
(
PixelWidth
300
)
1
[
ControlId
hpId
,
ControlSelectState
Unable
]
:+:
ButtonControl
"Select..."
[
ControlFunction
(
noLS
(
setHP
hpId
))]
:+:
TextControl
"Theorem Prover:"
[
ControlPos
(
Left
,
zero
),
ControlWidth
(
ContentWidth
"Theorem Prover:"
)]
:+:
EditControl
iniPRString
(
PixelWidth
300
)
1
[
ControlId
prId
,
ControlSelectState
Unable
]
:+:
ButtonControl
"Select..."
[
ControlFunction
(
noLS
(
setPR
prId
))]
:+:
ButtonControl
"Clear Registry"
[
ControlPos
(
Left
,
zero
),
ControlFunction
(
noLS
clearRegistry
)]
:+:
ButtonControl
"OK"
[
ControlPos
(
Right
,
zero
),
ControlFunction
(
noLS
(
closeWindow
wId
)),
ControlId
okId
]
)
[
WindowClose
(
noLS
(
closeWindow
wId
)),
WindowId
wId
,
WindowOk
okId
,
WindowCancel
okId
]
...
...
@@ -104,3 +115,72 @@ changeCV cv ps
(
AlwaysUse
_)
->
AlwaysUse
cv
}
=
setPrefs
prefs
ps
//import dodebug
import
first_run
,
UtilIO
setTP
tpId
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
(
result
,
ps
)
=
selectOutputFile
"Select time profiler"
"*.exe"
ps
|
isNothing
result
=
ps
#
full
=
fromJust
result
#
name
=
GetFileName
full
#
short
=
case
GetShortPathName
full
of
(
True
,
short
)
->
short
_
->
full
#
path
=
GetFilePath
short
#
ps
=
appPIO
(
setControlText
tpId
(
path
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
tp_name
=
name
,
reg_prefs
.
tp_path
=
path
}
#
ps
=
setPrefs
prefs
ps
#
(
ide_name
,
ide_path
,
ide_vers
,
errs
)
=
get_ide_from_registry
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
||
ide_vers
==
""
=
ps
#
errs
=
change_pcl_registry_fun
ide_name
ide_path
name
path
|
errs
==
[]
=
ps
=
ps
setHP
hpId
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
(
result
,
ps
)
=
selectOutputFile
"Select heap profiler"
"*.exe"
ps
|
isNothing
result
=
ps
#
full
=
fromJust
result
#
name
=
GetFileName
full
#
short
=
case
GetShortPathName
full
of
(
True
,
short
)
->
short
_
->
full
#
path
=
GetFilePath
short
#
ps
=
appPIO
(
setControlText
hpId
(
path
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
hp_name
=
name
,
reg_prefs
.
hp_path
=
path
}
#
ps
=
setPrefs
prefs
ps
#
(
ide_name
,
ide_path
,
ide_vers
,
errs
)
=
get_ide_from_registry
|
not
(
isEmpty
errs
)
||
ide_name
==
""
||
ide_path
==
""
||
ide_vers
==
""
=
ps
#
errs
=
change_hcl_registry_fun
ide_name
ide_path
name
path
|
errs
==
[]
=
ps
=
ps
setPR
prId
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
(
result
,
ps
)
=
selectOutputFile
"Select theorem prover"
"*.exe"
ps
|
isNothing
result
=
ps
#
full
=
fromJust
result
#
name
=
GetFileName
full
#
short
=
case
GetShortPathName
full
of
(
True
,
short
)
->
short
_
->
full
#
path
=
GetFilePath
short
#
ps
=
appPIO
(
setControlText
prId
(
path
+++
name
))
ps
#
prefs
=
{
prefs
&
reg_prefs
.
pr_name
=
name
,
reg_prefs
.
pr_path
=
path
}
=
setPrefs
prefs
ps
clearRegistry
ps
#
(
errs
,
ps
)
=
uninstall
ps
|
errs
==
[]
=
ps
#
(
okId
,
ps
)
=
openId
ps
#
(
dlogId
,
ps
)
=
openId
ps
#
(_,
ps
)
=
openModalDialog
Void
(
Dialog
"Clear Registry errors"
(
TextControl
"Clear Registry produced an error:"
[]
:+:
TextControl
(
hd
errs
)
[
ControlPos
(
Left
,
zero
)]
:+:
ButtonControl
"OK"
[
ControlId
okId
,
ControlFunction
(
noLS
(
closeWindow
dlogId
))])
[
WindowOk
okId
,
WindowId
dlogId
])
ps
=
ps
Ide/messwin.dcl
View file @
e1f4cd2d
definition
module
messwin
// Display PmDriver messages...
import
StdPSt
from
IdeState
import
::
General
// Display PmDriver messages...
::
Info
// message levels
=
Level1
String
|
Level2
String
...
...
Ide/messwin.icl
View file @
e1f4cd2d
...
...
@@ -36,18 +36,10 @@ showInfoInteractive info ps
#
(
buttonId
,
ps
)
=
openId
ps
#!
ok
=
ButtonControl
"Cancel"
[
ControlId
buttonId
,
ControlPos
(
Right
,
zero
),
ControlFunction
(
noLS
(
closeWindow
dlogId
))]
content
=
(
texts
text1Id
text2Id
)
:+:
ok
// (size,ps) = controlSize content False Nothing Nothing Nothing ps
#!
(
err
,
ps
)
=
openDialog
Void
// modal?
#!
(
err
,
ps
)
=
openDialog
Void
(
Dialog
"Messages"
content
[
WindowId
dlogId
,
WindowPos
(
Fix
,
OffsetVector
{
vx
=
200
,
vy
=
200
})
/* , WindowPos (Fix,OffsetFun 1
(\(dm,ps)->
{vx = (size.w + dm.corner2.x - dm.corner1.x) >> 1
,vy = (size.Size.h + dm.corner2.y - dm.corner1.y) >> 1
}
))
*/
,
WindowClose
(
noLS
(
closeWindow
dlogId
))
,
WindowOk
buttonId
,
WindowCancel
buttonId
...
...
Ide/prefix.icl
View file @
e1f4cd2d
implementation
module
prefix
import
StdOverloaded
,
StdString
,
StdArray
,
StdClass
,
StdInt
,
StdEnum
//import shift
import
EdSelection
,
EdMonad
,
EdClient
,
EdVisualText
,
EdVisualCursor
import
menubar
import
EdCommon
...
...
Ide/projmen.icl
View file @
e1f4cd2d
...
...
@@ -23,11 +23,6 @@ pm_menu_add path ps
// do Project menu...
#
(
prefs
,
ps
)
=
getPrefs
ps
#
projIds
=
removeAt
9
projIds
// Disable theorem prover module...
/*
# projIds = case prefs.enable_prover of
True -> removeAt 9 projIds
False -> removeAt 8 (removeAt 9 projIds)
*/
#
ps
=
appPIO
(
enableMenuElements
projIds
)
ps
// do Module menu...
#
moduleIds
=
[
mn_sav
,
mn_sva
,
md_cmp
,
md_chk
,
md_gen
,
md_cst
,
md_est
]
...
...
@@ -97,11 +92,6 @@ where
#
({
projIds
},
ps
)
=
getMenuIds
ps
#
(
prefs
,
ps
)
=
getPrefs
ps
#
projIds
=
removeAt
9
projIds
// disable module theorem proving...
/*
# projIds = case prefs.enable_prover of
True -> removeAt 9 projIds
False -> removeAt 8 (removeAt 9 projIds)
*/
// if projwin or editwin active disable moduleIds...
// not necessary here because only called from active dialog...
#
ps
=
setModuleIds
[]
ps
...
...
Ide/projwin.icl
View file @
e1f4cd2d
...
...
@@ -8,7 +8,6 @@ import PmProject, PmFiles, UtilStrictLists, PmPath
import
edfiles
,
messwin
,
errwin
import
PmDialogues
,
PmDriver
import
PmCleanSystem
//import ProverOptions
import
flextextcontrol
import
ioutil
,
morecontrols
,
colorpickcontrol
import
projmen
,
menubar
,
colourclip
...
...
@@ -520,28 +519,10 @@ pm_set ps
=
ps
// this should not occur
#
pos
=
fromJust
pos
#
(
siz
,
ps
)
=
accPIO
(
getWindowViewSize
win
)
ps
// # (fnt,ps) = sendToActiveWindow msgGetFont ps
// | isNothing fnt
// = ps // this should not occur
// # fnt = fromJust fnt
// # fnt = getFontDef fnt
// # (tbs,ps) = sendToActiveWindow msgGetTabs ps
// | isNothing tbs
// = ps // this should not occur
// # tbs = fromJust tbs
// # (lns,ps) = sendToActiveWindow getLineNumbers ps
// | isNothing lns
// = ps // this should not occur
// # lns = fromJust lns
#
(
nlc
,
ps
)
=
sendToActiveWindow
getNewlineConvention
ps
|
isNothing
nlc
=
ps
// this should not occur
#
nlc
=
fromJust
nlc
// # (sci,ps) = sendToActiveWindow getFontInfo ps
// | isNothing sci
// = ps // this should not occur
// # {showSyntax} = fromJust sci
#
pos_size
=
{
posx
=
pos
.
vx
,
posy
=
pos
.
vy
,
sizex
=
siz
.
w
,
sizey
=
siz
.
Size
.
h
}
#
eo
=
{
newlines
=
nlc
}
#
weo
=
{
eo
=
eo
,
pos_size
=
pos_size
}
...
...
@@ -607,11 +588,9 @@ where
#
(
app_path
,
ps
)
=
getStup
ps
#
prj_path`
=
RemoveFilename
prj_path
#
execpath
=
fulPath
app_path
prj_path`
execpath
//*
|
lo
.
method
==
LM_Dynamic
#
execpath
=
(
RemoveSuffix`
execpath
)
+++.
".bat"
=
RunProgram
execpath
ps
//*/
=
RunProgram
execpath
ps
pm_run
::
!*(
PSt
*
General
)
->
*
PSt
*
General
;
...
...
@@ -622,11 +601,9 @@ pm_run ps
#
prj_path`
=
RemoveFilename
prj_path
#
execpath
=
fulPath
app_path
prj_path`
execpath
#
(
lo
,
ps
)
=
accProject
(\
project
->(
PR_GetLinkOptions
project
,
project
))
ps
//*
|
lo
.
method
==
LM_Dynamic
#
execpath
=
(
RemoveSuffix`
execpath
)
+++.
".bat"
=
RunProgram
execpath
ps
//*/
=
RunProgram
execpath
ps
//--
...
...
@@ -758,33 +735,6 @@ pm_save_common pathname project ps
]
ps
=
(
project
,
ps
)
#
(
prefs
,
ps
)
=
getPrefs
ps
/*
| not prefs.enable_prover
= (project,ps)
# (syspaths,ps) = getCurrentPaths ps
# prjpaths = PR_GetPaths project
# srcpaths = AppendLists prjpaths syspaths
# stuff = PR_GetModuleStuff project
# dclstuff = StrictListToList (Map (\(m,d,_,_)->(GetModuleName m,d)) stuff)
# iclstuff = StrictListToList (Map (\(_,_,m,d)->(GetModuleName m,d)) stuff)
# [(rootname,rootpath) : iclstuff]
= iclstuff
# proveropts =
{ project_name = RemoveSuffix (RemovePath prjpath)
, project_paths = StrictListToList srcpaths
, main_module_name = rootname
, main_module_path = rootpath
, icl_modules = iclstuff
, dcl_modules = dclstuff
}
# (ok,ps) = accFiles (WriteProverOptions (make_prover_name pathname) proveropts) ps
| not ok
# ps = okNotice
[ "The prover file for "+++RemovePath prjpath+++" could not be saved because"
, "of a file I/O error."
] ps
= (project,ps)
*/
=
(
project
,
ps
)
pm_maybe_save
::
!
Id
!*(
PSt
*
General
)
->
(
Bool
,*
PSt
*
General
)
...
...
@@ -801,14 +751,6 @@ pm_set_window_title pathname ps
#
name
=
RemovePath
pathname
=
appPIO
(
setWindowTitle
wId
(
name
+++
" - "
+++
pathname
))
ps
/*
make_prover_name name
# name = MakeProjectPathname name
# name = RemoveSuffix name
# name = name +++ ".pr_"
= name
*/
pm_get_projwin_possiz
::
*(
PSt
*
General
)
->
*(.(
Vector2
,
Size
),*
PSt
*
General
);
pm_get_projwin_possiz
ps
#
(
wId
,
ps
)
=
getPWW
ps
...
...
Ide/search.icl
View file @
e1f4cd2d
...
...
@@ -121,7 +121,6 @@ fi_messagebox info=:{cleanid,dlogId,stringId,msgId,kind,closeId} pstate
=
pstate
#
pstate
=
closeWindow
dlogId
pstate
(_,
pstate
)
=
openModalDialog
info
dialog
pstate
// (_,pstate) = openDialog info dialog pstate // check if the modality triggers win activation bug...
=
pstate
where
dialog
=
Dialog
...
...
@@ -140,6 +139,7 @@ where
:+:
EditControl
(
hd
cleanid
)
(
PixelWidth
300
)
1
[
ControlPos
(
Left
,
zero
)
,
ControlId
stringId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
stringId
1
0
)))
]
:+:
ButtonControl
"Close"
[
ControlFunction
closefun
...
...
Ide/targetui.icl
View file @
e1f4cd2d
...
...
@@ -265,7 +265,9 @@ newNameDialog ininame cont (ls,ps)
#
((
err
,
en
),
ps
)
=
openModalDialog
Nothing
(
Dialog
"Environment Name"
(
EditControl
ininame
(
PixelWidth
150
)
1
[
ControlId
editId
]
[
ControlId
editId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
editId
1
0
)))
]
:+:
ButtonControl
"OK"
[
ControlPos
(
Right
,
zero
),
ControlFunction
(
okfun
editId
windId
),
ControlId
okId
]
:+:
ButtonControl
"Cancel"
...
...
@@ -524,15 +526,30 @@ title
toolpane
tg
compId
cgenId
linkId
dynlId
versId
methId
=
TextControl
"Compiler: "
[
ControlWidth
textWidth
]
:+:
EditControl
tg
.
target_comp
(
PixelWidth
250
)
1
[
ControlId
compId
]
:+:
EditControl
tg
.
target_comp
(
PixelWidth
250
)
1
[
ControlId
compId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
compId
1
0
)))
]
:+:
TextControl
"Generator: "
[
ControlPos
(
Left
,
zero
),
ControlWidth
textWidth
]
:+:
EditControl
tg
.
target_cgen
(
PixelWidth
250
)
1
[
ControlId
cgenId
]
:+:
EditControl
tg
.
target_cgen
(
PixelWidth
250
)
1
[
ControlId
cgenId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
cgenId
1
0
)))
]
:+:
TextControl
"Static Linker: "
[
ControlPos
(
Left
,
zero
),
ControlWidth
textWidth
]
:+:
EditControl
tg
.
target_link
(
PixelWidth
250
)
1
[
ControlId
linkId
]
:+:
EditControl
tg
.
target_link
(
PixelWidth
250
)
1
[
ControlId
linkId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
linkId
1
0
)))
]
:+:
TextControl
"Dynamic Linker: "
[
ControlPos
(
Left
,
zero
),
ControlWidth
textWidth
]
:+:
EditControl
tg
.
target_dynl
(
PixelWidth
250
)
1
[
ControlId
dynlId
]
:+:
EditControl
tg
.
target_dynl
(
PixelWidth
250
)
1
[
ControlId
dynlId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
dynlId
1
0
)))
]
:+:
TextControl
"ABC version: "
[
ControlPos
(
Left
,
zero
),
ControlWidth
textWidth
]
:+:
EditControl
(
toString
tg
.
target_vers
)
(
PixelWidth
250
)
1
[
ControlId
versId
]
:+:
EditControl
(
toString
tg
.
target_vers
)
(
PixelWidth
250
)
1
[
ControlId
versId
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
versId
1
0
)))
]
:+:
CheckControl
[(
"Console in IDE"
,
Nothing
,
toMark
tg
.
target_redc
,
redcfun
)]
(
Columns
1
)
[
ControlPos
(
Left
,
zero
)]
:+:
RadioControl
[(
"Sync"
,
Nothing
,
methfun
1
)
...
...
@@ -552,10 +569,11 @@ toolpane tg compId cgenId linkId dynlId versId methId
_
->
"1"
)
(
PixelWidth
250
)
1
[
ControlId
methId
,
case
tg
.
target_meth
of
[
ControlId
methId
,
case
tg
.
target_meth
of
(
CompileAsync
_)
->
ControlSelectState
Able
_
->
ControlSelectState
Unable
,
ControlActivate
(
noLS
(
appPIO
(
setEditControlSelection
methId
1
0
)))
]
where
textWidth
=
ContentWidth
"Dynamic Linker: "
...
...
Ide/tools.icl
View file @
e1f4cd2d
...
...
@@ -5,23 +5,14 @@ import ExtNotice, StdPathname
import
IdeState
,
UtilIO
//-- call out to supporting applications...
//-- should make these settable in the ide...
//-- ahhh... problem is then how to inform the change_registry
//-- application of their new location...
timepsuf
=:
" Time Profile.pcl"
timepdir
=:
applicationpath
"Tools
\\
TimeProfiler"
timepapp
=:
quoted_string
(
MakeFullPathname
timepdir
"ShowTimeProfile.exe"
)
timeparg
=:
" -h 4M "
heappsuf
=:
" Heap Profile0.hcl"
heappdir
=:
applicationpath
"Tools
\\
HeapProfiler"
heappapp
=:
quoted_string
(
MakeFullPathname
heappdir
"ShowHeapProfile.exe"
)
heapparg
=:
" -h 4M "
proofsuf
=:
".prj"
proofdir
=:
applicationpath
"Tools
\\
Sparkle"
proofapp
=:
quoted_string
(
MakeFullPathname
proofdir
"Sparkle.exe"
)
proofarg
=:
" "
shoprofun
::
!*(
PSt
General
)
->
*
PSt
General
...
...
@@ -29,9 +20,10 @@ shoprofun ps
#
(
prj
,
ps
)
=
getProject
ps
#
execpath
=
PR_GetExecPath
prj
// approximate name mangling done by RTE
//--> expand pathname...
// should still take into account max filename length
#
profpath
=
quoted_string
(
RemoveSuffix`
execpath
+++
timepsuf
)
#
(
prefs
,
ps
)
=
getPrefs
ps
#
timepapp
=
quoted_string
(
prefs
.
reg_prefs
.
tp_path
+++
prefs
.
reg_prefs
.
tp_name
)
#
sp
=
timepapp
+++
timeparg
+++
profpath
#
stup
=
RemoveFilename
execpath
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
@@ -48,6 +40,8 @@ shoheapfun ps
// approximate name mangling done by RTE
// should still take into account max filename length
#
profpath
=
quoted_string
(
RemoveSuffix`
execpath
+++
heappsuf
)
#
(
prefs
,
ps
)
=
getPrefs
ps
#
heappapp
=
quoted_string
(
prefs
.
reg_prefs
.
hp_path
+++
prefs
.
reg_prefs
.
hp_name
)
#
sp
=
heappapp
+++
heapparg
+++
profpath
#
stup
=
RemoveFilename
execpath
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
@@ -61,6 +55,8 @@ provefun :: !*(PSt General) -> *PSt General
provefun
ps
#
(
pathname
,
ps
)
=
getPath
ps
#
pr_path
=
quoted_string
(
RemoveSuffix`
pathname
+++.
proofsuf
)
#
(
prefs
,
ps
)
=
getPrefs
ps
#
proofapp
=
quoted_string
(
prefs
.
reg_prefs
.
pr_path
+++
prefs
.
reg_prefs
.
pr_name
)
#
cps
=
proofapp
+++
proofarg
+++
pr_path
#
stup
=
RemoveFilename
pathname
#
(
ok
,
ps
)
=
accFiles
(
FExists
stup
)
ps
...
...
Ide/typewin.dcl
View file @
e1f4cd2d
definition
module
typewin
// Types window
import
StdPSt
,
StdId
,
StdWindowDef
from
UtilStrictLists
import
::
List
from
EdMonad
import
::
EditState
,
::
EditMonad
,
::
StateM
from
PmPrefs
import
::
TypPrefs
//--- Types window
from
EdMessage
import
::
EditId
iniTypeWinInfo
::
!
Id
!
Id
![
Id
]
!
TypPrefs
!*
a
->
*(.
TypeWinInfo
,*
a
)
|
Ids
,
accScreenPicture
a
// initialise type window info
...
...
@@ -22,10 +23,6 @@ tw_maybe_close :: !Id !*(PSt *l) -> *(Bool,*(PSt *l)) | Typer l
tw_safe_close
::
!*(
PSt
*
l
)
->
*
PSt
*
l
|
Typer
l
// tw_safe_close :: close types window
//-
from
EdMessage
import
::
EditId
class
Typer
env
where
getTypeWinInfo
::
!*
env
->
*(!
TypeWinInfo
,
!*
env
)
...
...
Ide/typewin.icl
View file @
e1f4cd2d
...
...
@@ -9,6 +9,8 @@ from StrictList import slFromList
from
UtilStrictLists
import
StrictListToList
,::
List
(:!),
IsEmptyList
import
IDE
,
IdeState
,
IdePlatform
import
morecontrols
,
colorpickcontrol
,
ioutil
,
colourclip
import
StdClipboard
//--
...
...
@@ -68,7 +70,6 @@ getTypeWinInf ps = accPLoc getTypeWinInfo ps
setTypeWinInf
::
.
TypeWinInfo
*(
PSt
*
b
)
->
*
PSt
*
b
|
Typer
b
setTypeWinInf
twi
ps
=
appPLoc
(
setTypeWinInfo
twi
)
ps
//--- Types window
iniTypeWinInfo
::
!
Id
!
Id
![
Id
]
!
TypPrefs
!*
a
->
*(.
TypeWinInfo
,*
a
)
|
Ids
,
accScreenPicture
a
...
...
@@ -98,7 +99,7 @@ updateTypeWindow interact name atts message ps // fun to update type info in typ
#
(
iswin
,
ps
)
=
isWindow
wId
ps
#
textfrag
=
slFromList
message
|
iswin
//
alleen
update
//
only
update
#!
(_,
ps
)
=
type_message
eId
(
vAppendLines
textfrag
)
ps
=
ps
// open & update
...
...
@@ -153,8 +154,8 @@ openTypeWindow twi text atts ps
,
WindowId
windowId
,
WindowViewDomain
viewDomain
,
WindowLook
True
editLook
,
WindowHScroll
(
h
ScrollFun
fontInfo
)
,
WindowVScroll
(
v
ScrollFun
fontInfo
)
,
WindowHScroll
(
alt
ScrollFun
ction
Horizontal
fontInfo
.
metrics
.
fMaxWidth
)
,
WindowVScroll
(
align
ScrollFun
ction
Vertical
fontInfo
.
FontInfo
.
lineHeight
)
,
WindowPos
(
Fix
,
OffsetVector
twi
.
tpos
)
,
WindowClose
(
noLS
(
tw_close
o
tw_deactivate
))
// be more careful if editable...
,
WindowActivate
(
noLS
(
tw_activate
))
...
...
@@ -211,18 +212,7 @@ tw_deactivate ps
#
io
=
enableMenuElements
twi
.
ids
io
=
{
ps
&
io
=
io
}
/**********************
* SCROLLBAR HANDLING *
**********************/
hScrollFun
fontInfo
:==
altScrollFunction
Horizontal
fontInfo
.
metrics
.
fMaxWidth
vScrollFun
fontInfo
:==
alignScrollFunction
Vertical
fontInfo
.
FontInfo
.
lineHeight
//-- type win options...
import
morecontrols
,
colorpickcontrol
,
ioutil
,
colourclip
import
StdClipboard
lisFixedWidth
::
.
FontName
*
Picture
->
(
Bool
,*
Picture
)
lisFixedWidth
fontname
env
...
...
@@ -502,7 +492,7 @@ where
#
(
twi
,
ps
)
=
accPLoc
getTypeWinInfo
ps
#
sync
=
TW_GetSync
twi
#
sync
=
sc_update
sync
#
(
font
,
ps
)
=
safeOpen
{
fName
=
fn
,
fSize
=
fs
,
fStyles
=
[]}
ps
#
(
font
,
ps
)
=
safeOpen
Font
{
fName
=
fn
,
fSize
=
fs
,
fStyles
=
[]}
ps
#
twi
=
TW_SetSync
sync
twi
#
twi
=
TW_SetFnt
font
twi
#
ps
=
appPLoc
(
setTypeWinInfo
twi
)
ps
...
...
@@ -523,10 +513,3 @@ where
,
stringColour
=
mod
,
backgroundColour
=
bck
}
safeOpen
fdef
ps
#
((
ok
,
font
),
ps
)
=
accScreenPicture
(
openFont
fdef
)
ps
|
not
ok
=
accScreenPicture
openDefaultFont
ps
=
(
font
,
ps
)
Interfaces/LinkerInterface/linkargs.icl
View file @
e1f4cd2d
implementation
module
linkargs
//import StdEnv
import
StdArray
,
StdBool
,
StdChar
,
StdFile
,
StdFunc
,
StdInt
import
StdMaybe
import
UtilOptions
,
UtilStrictLists
...
...
@@ -36,7 +35,7 @@ emptyLinkInfo` =
,
object_paths
=
Nil
,
dynamic_libs
=
Nil
,
static_libs
=
Nil
,
stack_size
=
0x100000
// 1MB o
ude
linker default
,
stack_size
=
0x100000
// 1MB o
ld
linker default
,
gen_dll
=
False
,
dll_names
=
""
,
dynamics_path
=
""
...
...
@@ -73,7 +72,8 @@ ReadLinkOpts linkargsPath ps
linkargs
=
RLO
options
(
closed
,
ps
)
=
fclose
file
ps
|
not
closed
=
((
linkargs
,
True
,
"The file
\"
"
+++
linkargsPath
+++
"
\"
clould not be closed."
),
ps
)
// warning genereren of zo?
// generate warning?
=
((
linkargs
,
True
,
"The file
\"
"
+++
linkargsPath
+++
"
\"
clould not be closed."
),
ps
)
=
((
linkargs
,
True
,
""
),
ps
)
WLO
::
!
LinkInfo`
->
[
Option
]
...
...
@@ -109,11 +109,8 @@ instance fromString Int where fromString s = toInt s
//-- link errors
//from StdSystem import applicationpath
ReadLinkErrors
::
!
String
!*
Files
->
((
Maybe
[
String
],[
String
]),*
Files
)
ReadLinkErrors
errors_path
files
// # (ok,file,files) = fopen (applicationpath "linkerrs") FReadText files
#
(
ok
,
file
,
files
)
=
fopen
errors_path
FReadText
files
|
not
ok