Я пытаюсь создать программу с Gtk2Hs и Haskell, и я задаюсь вопросом, можно ли обмениваться разными виджетами друг с другом.Gtk2Hs: взаимодействие с Widget
У меня есть текстовая запись, которая используется для написания команд, область рисования, которая рисует что-то, когда текст вводится. Эти два виджета прекрасно работают вместе.
Однако я хотел бы добавить «необязательное» древовидное представление в другое окно, которое будет обновляться при выполнении всех команд в текстовой записи (это может занять много времени).
Поскольку treeview является «необязательным» и создается только после этого, я не могу определить обратные вызовы для его обновления в определении текстового ввода (например, в области рисования).
Я хотел бы создать сигнал (событие?), Который будет излучаться, когда все операции будут выполнены и пойманы деревом для обновления его данных.
Мои вопросы:
- Есть ли способ сделать это с Gtk2Hs и Glib?
- Есть ли модуль, который может быть использован для его создания (переносимый в Linux/Windows, если это возможно)?
- Есть ли правильный способ заставить виджет перехватывать/общаться с другими?
Я использую GHC 7.4.1 и Gtk2Hs 0.12.3
Не должно быть ничего особенного в виджетах, созданных после того, как основное окно программы будет показано по сравнению с созданным до его показа. Просто добавьте или измените обработчики текстовой записи после появления нового виджета. –