The Object I/O package: GUI library for Haskell


Table of Contents

1. Object I/O
2. Basics
3. Usage
4. StdIOCommon
5. StdGUI
6. StdId
7. StdWindow
7.1. Windows creation.
7.2. Windows closing.
7.3. Getting and setting active window
7.4. Getting and setting active control inside a window
7.5. Stacking order
7.6. Window margins
7.7. Enable/Disable Window, Keyboard and Mouse
7.8. Drawing
7.9. Window positioning and window resizing
7.10. Windows scrolling
7.11. Mouse cursor
7.12. Window title
7.13. Dialogs: Ok and Cancel buttons
8. StdControl
8.1. Common
8.1.1. Utils
8.1.2. Show/Hide controls
8.1.3. Enabling/Disabling of controls
8.1.4. Getting and setting text of EditControl, TextControl and ButtonControl
8.1.5. Drawing in CustomControl, CustomButtonControl and CompoundControl
8.1.6. Positioning and resizing of controls
8.2. ButtonControl
8.3. CheckControl
8.4. CompoundControl
8.5. CustomButtonControl
8.6. CustomControl
8.7. EditControl
8.8. LayoutControl
8.9. PopUpControl
8.10. RadioControl
8.11. SliderControl
8.12. TextControl
8.13. Controls closing
9. StdKey
10. StdPicture
10.1. Pen
10.2. Font
10.3. Drawables,Fillables and Hilites
11. StdBitmap
12. StdProcess
13. StdReceiver
14. StdControlReceiver, StdMenuReceiver, StdTimerReceiver
15. StdMenu
15.1. Definition
15.2. Menu access functions
15.3. Menu elements access functions
15.3.1. Enable/Disable menu items
15.3.2. Mark/Unmark menu items
15.3.3. Getting and setting of menu item titles
15.3.4. Radio menu items selection
15.3.5. Menu elements access functions
16. StdTimer
17. StdFileSelect
18. StdSound
19. StdClipboard
Index

1. Object I/O

The Original Object I/O library was written in Clean from university of Nijmeegs. At 12th International Workshop on the Implementation of Functional Languages Peter Achten and Simon Peyton Jones, presented, first attempt to port library to Haskell. Initial port has been very simple, but support basic features of complete library. I decided to continue their work and now Object I/O supports a large list of features: Windows, Dialogs, Various kind of controls, Menus, Timers, Graphics and some other. In CVS repository there are some interesting examples. Currently Object I/O works only on Windows Platform but I plan porting to GTK for the next release.