我一直试图弄清楚如何在单个gtk应用程序窗口的树视图之间拖动树节点(维护其路径)。
如果我在TreeView中有以下内容......
- 一
- 甲
- 第1A项
- 乙
- 第1B项
- 两
- 甲
- 第2A项
如何将“item 1A”拖动到同一窗口上的另一个TreeView以获取以下TreeView ...
- 一
- 甲
- 第1A项
我试图关注gtk2hs源的demos目录中的ListDND.hs
示例(这非常有用);但是,由于我使用的是gtk3,因此API已经发生了很大的变化,使其看起来并不完全适用。
我在这里看到了答案:gtk2hs dnd explanation
我想通过将树路径和节点文本放入元组然后在元组上调用show
并将其作为treeDragDestDragDataReceived
回调中的选择传递给{{}来考虑使用字符串1}} interface ...但我似乎无法调用该回调。
我确实在DragDestIface
文件中看到了关于Gtk错误的内容。所以我尝试在我自己的代码中包含以下行,但它似乎不起作用:
ListDND.hs
...... tl <- targetListNew
treeViewEnableModelDragDest treeView tl []
是我的拖动来源。
提前感谢您的考虑。