From: <wxh...@al...> - 2004-05-19 04:31:03
|
Hello again, Continuing with my last example, I have been trying to get drag and drop working for trees. Is this implemented yet? The following doesn't seem to work with or without the "veto" line commented out. Any guidance would be appreciated. If it hasn't been implemented yet, how much work would be required to do so? Thanks module Main where import Graphics.UI.WX import Graphics.UI.WXCore imageNone :: Int imageNone = (-1) appendChild tree parent child = treeCtrlAppendItem tree parent child imageNone imageNone objectNull appendList tree parent children = mapM_ (appendChild tree parent) children main :: IO() main = start test test :: IO() test = do f <- frame [text := "Hello!"] tree <- treeCtrl f [] root <- treeCtrlAddRoot tree "Root" imageNone imageNone objectNull child1 <- treeCtrlAppendItem tree root "Child1" imageNone imageNone objectNull child2 <- treeCtrlAppendItem tree root "Child2" imageNone imageNone objectNull appendList tree child1 ["A","B","C"] appendList tree child2 ["1","2","3"] set tree [on treeEvent := onTreeEvent tree] set f [layout := fill $ widget tree, clientSize := sz 500 300] onTreeEvent :: TreeCtrl a -> EventTree -> IO () onTreeEvent t event = case event of TreeBeginDrag item point veto -> do putStrLn "started dragging..." veto propagateEvent TreeEndDrag item point -> do putStrLn "stopped dragging..." propagateEvent other -> propagateEvent |