definition module EdDialogs;

import EdProgramState;

	FoxWid	:== 260;
	FoxHgt	:== 32;
	FoxDim	:== (FoxWid, FoxHgt);

EdSelectInputFile :: !*ProgState !*(IOState *ProgState) -> *(Bool,{#Char},*ProgState,*IOState *ProgState);
EdSelectOutputFile :: !.{#Char} !.{#Char} !*ProgState !*(IOState *ProgState) -> *(Bool,{#Char},*ProgState,*IOState *ProgState);
EdSelectDir :: !*ProgState !*(IOState *ProgState) -> *(Bool,{#Char},*ProgState,*IOState *ProgState);


HelpFileAlert :: !ProgState !IO -> (!ProgState, !IO);
AlertDialog	:: ![String] !ProgState !IO -> (!ProgState, !IO );
Alert :: !IO -> IO;
ShowInfo :: !Bool !Bool ![String] !ProgState !IO -> ProgIO;
CloseInfo :: !IO -> IO;
DFIdle	:: !DialogInfo !(DialogState *prog (IOState *prog)) -> DialogState *prog (IOState *prog);
ButIdle :: !DialogInfo !*prog !(IOState *prog) -> (*prog, IOState *prog);
Cancel :: !DialogInfo !ProgState !IO -> ProgIO;
ActivateCurrentWindow :: !IO -> IO;
MarkToBool :: !MarkState -> Bool;
BoolToMark :: !Bool -> MarkState;
SelectToBool :: !SelectState -> Bool;
BoolToSelect :: !Bool -> SelectState;
IntToMemSize :: !Int -> String;
MemSizeToInt :: !String -> Int;
LazyFox	:: !FontName !FontSize !SelectState -> [DrawFunction];
ChangeSizesList	:: !Int !Int !EditOptions !(DialogState ProgState IO) -> DialogState ProgState IO;
ChangeLazyFox :: !Int !EditOptions !(DialogState ProgState IO) -> DialogState ProgState IO;
MakeFontItems :: [ItemTitle];
MakeSizeItems :: !FontName -> [ItemTitle];
CreateSizeItems	:: ![FontSize] -> [ItemTitle];
MakeExecOutOfDateMessage :: !Pathname !Bool !Bool !Bool -> [String];
MakeABCOutOfDateMessage :: !Modulename !Bool !Bool !Bool !Bool -> [String];
MakeSourceOutOfDateMessage ::	!Modulename
								!Bool !Bool !Bool !Bool !Bool !Bool !Bool !Bool !Bool !Bool
								-> [String];
