From: Daan L. <daa...@xs...> - 2004-10-23 11:40:18
|
Daniel Fischer wrote: >Hello! > >I have a strange problem when using splitter windows with a spin >control inside. I reduced my problem to the sample code below. When I >running it on Windows I'm unable to resize the top left area by moving >the vertical splitter bar left or right. But the horizontal splitter >bar works fine. It seems to be a problem with the spin control. When >replacing the spin control by a simple text entry (changing the line >"spin <- spinCtrl panelLeft 0 100 []" to "spin <- textEntry panelLeft []") >both splitter bars work fine. Strangly this problem does not occur >when running it on Linux. > >Is it my fault or is there a bug in wxHaskell or in wxWidgets? >I'm using Windows XP prof SP2, ghc 6.2.1 and wxHaskell 0.8. > > It seems a wxWidgets problem. I will try this out on monday on my windowsXP system. (it also seems that spin controls don't propagate their events correctly, so it might be related to that bug) -- Daan. >And just another related question: how can I make the splitter windows >respect the minimum size needed for the controls in the splitter >panes? > >Many thanks in advance for your help >Daniel Fischer > >---8<---------- sample code ----------8<--- > >module Main where > >import Graphics.UI.WX >import Graphics.UI.WXCore > >main :: IO () >main > = start gui > >gui :: IO () >gui > = do f <- frame [ text := "error?" ] > > hSplit <- splitterWindow f [ style := wxSP_3DSASH ] > vSplit <- splitterWindow hSplit [ style := wxSP_3DSASH ] > panelLeft <- panel vSplit [] > > spin <- spinCtrl panelLeft 0 100 [] > entry <- textEntry panelLeft [] > btn1 <- button panelLeft [ text := "Ok" ] > btn2 <- button panelLeft [ text := "Ok" ] > list1 <- listCtrl panelLeft [ columns := [("foo",AlignLeft,100)] ] > list2 <- listCtrl vSplit [ columns := [("bar",AlignLeft,100)] ] > list3 <- listCtrl hSplit [ columns := [("baz",AlignLeft,100)] ] > > subLayoutLeft <- return $ vfill $ column 5 > [ boxed "box 1" $ row 5 [ fill $ widget spin, widget btn1 ] > , boxed "box 2" $ row 5 [ fill $ widget entry, widget btn2 ] > ] > > layoutLeft <- return $ fill $ row 5 [ fill $ widget list1, subLayoutLeft ] > set panelLeft [ layout := layoutLeft ] > > layoutTop <- return $ vsplit vSplit 5 300 (widget panelLeft) (widget list2) > layoutAll <- return $ hsplit hSplit 5 300 layoutTop (widget list3) > > set f [ layout := minsize (sz 640 400) $ fill layoutAll ] > > > > >------------------------------------------------------- >This SF.net email is sponsored by: IT Product Guide on ITManagersJournal >Use IT products in your business? Tell us what you think of them. Give us >Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more >http://productguide.itmanagersjournal.com/guidepromo.tmpl >_______________________________________________ >wxhaskell-users mailing list >wxh...@li... >https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > > > > |