On 9/14/05, Mark Carter <[EMAIL PROTECTED]> wrote: > Arthur Baars wrote: > > > Hi, > > > > A "Checkbox" is instance of the class Checkable: > > http://wxhaskell.sourceforge.net/doc/ > > Graphics.UI.WX.Classes.html#t%3ACheckable > > > > This means you can "get" and "set" the "checked" property for > > checkboxes. > > for example: > > c <- get cbEdit checked > > set cbEdit [checked := not c ] > > > > The following code makes the checkbox print its state every time it > > is checked or unchecked: > > cbEdit <- checkBox f [text := "Edit Mode" ] > > set cbEdit [ on command := do v <- get cbEdit checked > > print v > > ] > > > AHA! Yes, very useful. > > The problem I was having before was that I was trying to create a > separate function onCbEdit, thus: > cbEdit <- checkBox p1 [text := "Edit Mode", on command := onCbEdit > textlog ] > This had the problem that onCbEdit basically needed to have its control > passed in (i.e. cbEdit) as a parameter in order to inspect its state. So > I wanted to do something like: > cbEdit <- checkBox p1 [text := "Edit Mode", on command := onCbEdit > textlog cbEdit ] > Except you can't do that, because cbEdit isn't yet defined. But your > suggestion gets 'round that. In the main loop, I now do: > cbEdit <- checkBox p1 [text := "Edit Mode" ] > set cbEdit [ on command := onCbEdit textlog cbEdit ]
Some extension (I think) to GHC allows mdo-notation (recursive do). So you can do this: mdo -- yadayada.... cbEdit <- checBox p1 [text := "Edit Mode", on comand := onCbEdit textlog cbEdit] -- yadayada... /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe