Anonymous user
User input/Graphical: Difference between revisions
→{{header|Tcl}}: + standard ML
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
(→{{header|Tcl}}: + standard ML) |
||
Line 1,945:
</interface></lang>
=={{header|Standard ML}}==
Works with PolyML
<lang Standard ML>open XWindows ;
open Motif ;
val store : string list ref = ref [] ;
val inputWindow = fn () =>
let
val shell = XtAppInitialise "" "demo" "top" [] [ XmNwidth 320, XmNheight 100 ] ;
val main = XmCreateMainWindow shell "main" [ XmNmappedWhenManaged true ] ;
val enter = XmCreateText main "inputarea" [ XmNeditMode XmSINGLE_LINE_EDIT,
XmNscrollHorizontal false ] ;
val getinp = fn (w,s,t) => ( store := XmTextGetString enter :: !store ; t )
in
(
XtSetCallbacks enter [ (XmNactivateCallback , getinp) ] XmNarmCallback ;
XtManageChild enter ;
XtManageChild main ;
XtRealizeWidget shell
)
end ;
inputWindow () ;</lang>
enter text, press enter, delete, enter 75000, press enter, result:
!store ;
List.map Int.fromString (!store) ;
val it = ["75000", "That string"]: string list
val it = [SOME 75000, NONE]: int option list
=={{header|Tcl}}==
|