LINUX.ORG.RU

[GTK] Как вызвать GtkEntryCompletion?

 


0

1

Приветствую.

Интересует вопрос как можно вызвать GtkEntryComletion ручками? В первую очередь интересует popup completion. Это нужно для реализации автодополнения по Tab (или любому другому сочетанию клавиш).

Пробовал дергать метод gtk_entry_completion_complete() (правда через pygtk) — ничего не происходило. Да и судя по документации он просто обновляет список предложений для автодополнения.

Или, мне сейчас подумалось, я все делаю не правильно, и надо не вызывать автодополнение, а всего лишь разрешать/запрещать его, при нажатии соответствующей комбинации клавиш?

★★★★★

Глянь сорцы gedit.

КОгда я последний раз смотрел код автодополнения, то видел там захардкоженные хоткеи, так что там всё гвоздями прибито. Впрочем, могу и врать, т.к. давно это было.

geekless ★★
()
Ответ на: комментарий от geekless

>gedit

Поменьше ничего нет? Или ткни в каком именно файле лежит код дополнения. А то я не большой любитель чтения сишных сорцов.

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от ananas

Оно вроде толь лишь говорит, что дополнение должно появляться во всплывающем окне? Мне же интересно как можно вызвать ручками это самое всплывающее окно. Если можно конечно.

fat_angel ★★★★★
() автор топика
Ответ на: комментарий от fat_angel

на клавиши вешаешь gtk_entry_completion_set_popup_completion (c, TRUE) и gtk_entry_completion_complete (c); по завершении - gtk_entry_completion_set_popup_completion (c, FALSE)

как-то так

ananas ★★★★★
()
Ответ на: комментарий от ananas

хотя возможно, проще будет из completion model делать свой список, и самому показывать его в окне типа GTK_POPUP

ananas ★★★★★
()
Ответ на: комментарий от ananas

Ага, спасибо! Я тоже к подобному решению склоняюсь, решил просто на всякий случай уточнить, нет ли какого «волшебного» метода, который делает все хорошо.

fat_angel ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.