__interface "Main" SimpleForm 1 502 where __export SimpleForm Form FormLabel{formLabel} FormTextField{makeFormString readFormString} FormValue{makeFormEntry} doForm newFormEntry zszs; import Addr; import PrelFloat; import PrelReal; import PrelByteArr; import PrelEnum; import PrelIO; import Monad; import PrelException; import IO; import Maybe; import PrelHandle; import Arc; import BitMap; import BitMapItem; import Box; import ButtonWidget; import Canvas; import CanvasItem; import CanvasTag; import CheckButton; import Colour; import Editor; import EmbeddedCanvasWin; import EmbeddedTextWin; import Font; import ICursor; import Image; import ImageItem; import Index; import LabelFrame; import Line; import ListBox; import Menu; import MenuButton; import MenuCascade; import MenuCheckButton; import MenuCommand; import MenuItem; import MenuRadioButton; import MenuSeparator; import Message; import NoteBook; import OptionMenu; import Oval; import PanedWindow; import Polygon; import RadioButton; import Rectangle; import Scale; import Screen; import ScrollBar; import Selection; import Slider; import Spawn; import Synchronizzed; import TextItem; import TextTag; import Tooltip; import MarkupText; import XSelection; import Debug; import Maybes; import MVar; import List; import GlaExts; import PosixFiles; import PosixIO; import PosixProcPrim; import ProcessClasses; import ExtendedPrelude; import Thread; import DeleteQueue; import FMQueue; import Cells; import FileNames; import System; import ChildProcess; import FdRead; import EqGuard; import GuardedEvents; import WBFiles; import CString; import Posix; import PosixUtil; import PrelPack; import GuardedChannels; import Keyboard; import CanvasItemAux; import Mouse; import PrelDynamic; import Separator; import ModalDialog; import SelectBox; import Space; import HTk :: 1 1 1; import DialogWin :: 2 2 1 newErrorWin 1; import IOExts :: 1; import Char :: 1; import PrelBase ! :: 1; import PrelNum :: 1; import PrelTup :: 1; import PrelIOBase :: 1; import PrelShow :: 1; import PrelRead :: 1; import PrelArr :: 1; import PrelList :: 1; import PrelConc :: 1; import PrelMaybe :: 1; import GUIObject :: 1 1 ConfigID 1 ConfigOption 1 GUIOBJECT 1 GUIObject 1 Methods 1 OST 1 zddmcget 1 zddmcset 1; import Packer :: 1 1 Container 1 pack 1; import Destructible :: 1 1 Destroyable 1; import Window ! :: 1 1 AspectRatio 1 Display 1 Whom 1 Window 1 WindowState 1 zddmaspectRatio 1 zddmdeiconify 1 zddmgetAspectRatio 1 zddmgetClassName 1 zddmgetPositionFrom 1 zddmgetScreen 1 zddmgetSizzeFrom 1 zddmgetWindowState 1 zddmiconify 1 zddmpositionFrom 1 zddmputWinAtBottom 1 zddmputWinOnTop 1 zddmscreen 1 zddmsizzeFrom 1 zddmwithdraw 1 zdfHasTextw 1; import GUIValue :: 1 1 GUIVALUE 1 GUIValue 1 Generator 1 zddmfromGUIValue 1 zddmmaybeGUIValue 1 zddmtoGUIValue 1 zdfGUIValueBool 1 zdfGUIValueInt 1 zdfGUIValueZ0T 1 zdfGUIValueZMZN 1 zdfGUIValueZMZN1 1; import Configuration :: 1 1 HasText 1 zddmgetText 1 zddmtext 1; import BaseClasses :: 1 1 Widget 1 zddmcursor 1 zddmgetCursor 1 zddmgetTakeFocus 1 zddmtakeFocus 1; import Button :: 1 1 Button 1 newButton 1 zdfDestroyableButton 1 zdfEqButton 1 zdfGUIObjectButton 1 zdfHasCommandButton 1 zdfHasTextButton 1 zdfWidgetButton 1; import Channels :: 1 1 Channel 1 newChannel 1 zdfHasReceiveChannel 1 zdfHasSendChannel 1; import Computation :: 1 1 Config 1; import Core ! :: 1 1 HasCommand 1 bindSimple 1 zddmclicked 1 zdfDestroyablea 1; import Cursor :: 1 1 Cursor 1 CursorDesignator 1; import Entry :: 1 1 Entry 1 newEntry 1 zdfDestroyableEntry 1 zdfEqEntry 1 zdfGUIObjectEntry 1 zdfHasVariableEntry 1 zdfWidgetEntry 1; import EventInfo :: 1 1 EventInfoSet 1 EventParameter 1; import Events :: 1 1 Event 1 HasReceive 1 HasSend 1 Result 1 always 1 sendIO 1 spawnEvent 1 sync 1 zdfMonadEvent 1 zpzg 1; import Frame :: 1 1 Frame 1 newFrame 1 zdfContainerFrame 1 zdfDestroyableFrame 1 zdfEqFrame 1 zdfGUIObjectFrame 1 zdfWidgetFrame 1; import Geometry :: 1 1 Coord 1 Distance 1 Position 1; import GridPackOptions :: 1 1 GridPackOption 1 StickyKind 1; import Label :: 1 1 Label 1 newLabel 1 zdfDestroyableLabel 1 zdfEqLabel 1 zdfGUIObjectLabel 1 zdfHasTextLabel 1 zdfWidgetLabel 1; import Mark !; import PackOptions :: 1 1 FillSpec 1 PackOption 1 SideSpec 1 zdfShowPackOption 1 zdfShowSideSpec 1; import Resources :: 1 1 Flexibility 1 Orientation 1 Toggle 1; import Toggle :: 1 1 SimpleToggle 1 Toggle 1; import TkVariables :: 1 1 HasVariable 1 TkVariable 1 createTkVariable 1 readTkVariable 1 zddmvariable 1; import Toplevel :: 1 1 Toplevel 1 createToplevel 1 zdfContainerToplevel 1 zdfDestroyableToplevel 1 zdfEqToplevel 1 zdfGUIObjectToplevel 1 zdfWidgetToplevel 1 zdfWindowToplevel 1; import Wish :: 1 1 BNo 1 BindTag 1 KeySym 1 TclCmd 1 TclScript 1 WishEvent 1 WishEventModifier 1 WishEventType 1 zdfEqKeySym 1 zdfEqWishEventType 1 zdfShowKeySym 1 zdfShowWishEventType 1; import Queue :: 1 1 Queue 1; import Object :: 1 1 ObjectID 1; import GUIObjectKind :: 1 1 CanvasItemKind 1 MenuItemKind 1 ObjectKind 1; import GUIObjectName :: 1 1 CanvasTagOrID 1 ObjectName 1 TextItemName 1; import ReferenceVariables :: 1 1 Ref 1; import Mutex :: 1 1 Mutex 1; import Dynamics !; import Concurrent !; import Exception !; import Dynamic !; import ByteArray !; import Set :: 1; import FiniteMap :: 1; infixl 9 zszs; instance __forall value (FormTextField value) => {FormValue value} = zdfFormValuevalue ; instance __forall a (PrelNum.Num a, PrelShow.Show a, PrelRead.Read a) => {FormTextField a} = zdfFormTextFielda ; instance {FormTextField [PrelBase.Char]} = zdfFormTextFieldZMZN ; instance {FormLabel [PrelBase.Char]} = zdfFormLabelZMZN ; newFormEntry :: __forall label value (FormLabel label, FormValue value) => label -> value -> Form value; doForm :: __forall value => PrelBase.String -> Form value -> (value -> PrelIOBase.IO (PrelMaybe.Maybe PrelBase.String)) -> PrelIOBase.IO (PrelMaybe.Maybe value); zszs :: __forall value1 value2 => Form value1 -> Form value2 -> Form (value1, value2); data EnteredForm value = EnteredForm {packAction :: (PrelIOBase.IO ()), getFormValue :: (PrelIOBase.IO value), destroyAction :: (PrelIOBase.IO ())}; newtype Form value = Form (Toplevel.Toplevel -> PrelIOBase.IO (EnteredForm value)); class FormLabel label where { formLabel :: Frame.Frame -> label -> PrelIOBase.IO (PrelIOBase.IO ()); }; class FormValue value where { makeFormEntry :: Frame.Frame -> value -> PrelIOBase.IO (EnteredForm value); }; class FormTextField value where { makeFormString :: value -> PrelBase.String; readFormString :: PrelBase.String -> PrelMaybe.Either PrelBase.String value; }; zdfFormLabelZMZN :: {FormLabel PrelBase.String}; zdfFormValuevalue :: __forall value (FormTextField value) => {FormValue value}; zdfFormTextFielda :: __forall a (PrelNum.Num a, PrelShow.Show a, PrelRead.Read a) => {FormTextField a}; zdfFormTextFieldZMZN :: {FormTextField PrelBase.String};