захват события щелчка правой кнопкой мыши в строке просмотра дерева [haskell gtk2hs]

StackOverflow https://stackoverflow.com/questions/9383878

Вопрос

Я тщательно искал (по крайней мере, я так считаю) и не нашел ответа на свою проблему, поэтому я хотел бы попросить вас о помощи. Я пытаюсь определить, когда пользователь щелкает правой кнопкой мыши строку в моем treeView (списке пользователей), а затем показывает всплывающее окно с параметрами для их редактирования и удаления.

Вот как выглядит мое приложение на данный момент

Вот код, который генерирует treeView:

родовое слово

Я уже пробовал использовать пример на http://www.muitovar.com/gtk2hs/chap7-2.html , но это привело к ошибке компиляции (в нем говорилось, что eventButton используется с одним аргументом, а не требует его).

Любая помощь будет принята с благодарностью :) Ура

Это было полезно?

Решение

Ладно, похоже, я первым найду ответ на свой вопрос :)

(1) Прежде всего, пример на http://www.muitovar.com /gtk2hs/chap7-2.html у меня не сработал, потому что у вас есть две функции eventButton в gtk2hs, и вы должны использовать одну из Graphics.UI.Gtk.Gdk.Events. Итак, вам нужно добавить в начало файла:

родовое слово

, а затем добавьте префикс Ev. к eventButton, RightButton и eventSent. Теперь будет работать :)

(2) Как реагировать на щелчок правой кнопкой мыши по строке treeView:

Решив вышеупомянутую проблему, я наткнулся на этот пример, где он показан как реагировать на выбор строки в treeView. Я смешал эти два решения и придумал что-то вроде этого (большая часть кода взята из примера treeview с некоторыми моими настройками):

родовое слово

Надеюсь, это будет кому-то полезно :)

Ура

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top