В Haskell, как вы можете перетаскивать узел представления дерева между представлениями дерева в gtk2hs (Gtk3)?

Я пытался выяснить, как перетащить узел дерева (поддерживая его путь) между представлениями дерева в одном окне приложения GTK.

Если у меня есть следующее в TreeView...

  • Один
      • пункт 1А
    • В
      • пункт 1B
  • Два
      • пункт 2А

Как я могу перетащить "элемент 1A" в другой TreeView в том же окне, чтобы получить следующий TreeView...

  • Один
      • пункт 1А

Я пытался следовать ListDND.hs пример в каталоге demos исходного кода gtk2hs (что очень полезно); однако, поскольку я использую gtk3, API-интерфейс достаточно изменился, чтобы он не казался полностью применимым.

Я видел ответ здесь: gtk2hs dnd объяснение

Я думал об использовании строки, поместив путь дерева и текст узла в кортеж, а затем вызвав show на кортеж и передавая это как выбор в treeDragDestDragDataReceived обратный звонок в DragDestIface интерфейс... но я не могу заставить этот обратный вызов вызываться.

Я видел строку об ошибке Gtk в ListDND.hs файл. Поэтому я попытался включить следующую строку в свой собственный код, но это не сработало:

tl <- targetListNew                       
treeViewEnableModelDragDest treeView tl []

...Куда treeView мой источник сопротивления

Заранее благодарю за внимание.

0 ответов

Другие вопросы по тегам