kkallio@8: (* Gui framework elements common across individual components. *) kkallio@8: kkallio@8: class gui kkallio@8: (* Types of this class describe gui components. *) kkallio@8: kkallio@8: val toXml : t ::: Type -> gui t -> t -> xbody kkallio@8: (* Currently the only thing a gui component can do is be kkallio@8: * pretty printed to a piece of xml. *) kkallio@8: kkallio@8: val gui_xbody : gui xbody kkallio@8: (* Xml itself can be a gui component. *) kkallio@8: kkallio@8: val mkGui : t ::: Type -> (t -> xbody) -> gui t kkallio@8: (* How to add components to the gui class. *)