Mam kolekcję widżetów GtkEntry
, z których niektóre można edytować i można je ustawiać, a niektóre z nich nie. Chciałbym się dowiedzieć, które, jeśli jakiekolwiek, mają obecnie zaznaczony tekst, aby zaimplementować element menu Edycja-> Kopiuj. Czy jest jakiś sposób na zrobienie tego innego niż iterowanie po wszystkich widżetach do momentu, aż gtk_editable_get_selection_bounds
zwróci true?Dowiedz się, który widget gtk ma aktualny wybór
Obecnie omijam ten problem, dzwoniąc pod numer gtk_clipboard_get(GDK_SELECTION_PRIMARY)
, ale z tego, co mówią doktorzy, to nie jest przenośne (i będzie także pobierać tekst wybrany w dowolnym miejscu w obrębie bieżącego ekranu, a nie tylko z poziomu mojej aplikacji).
Niestety, nie wydaje się, aby sygnał, gdy widżet twierdzi, wyboru, ale może być w stanie użyć tej samej obsługi sygnału "wyboru-get" dla każdego wpisu, a następnie fałszywy konwersji selekcji, aby uzyskać połączenie dla wpisu z zaznaczeniem (jeśli istnieje). – ergosys
ergosys: co rozumiesz przez fałszywą konwersję selekcji? –
Poproś o konwersję wyboru bez faktycznego zamiaru otrzymania danych. To znaczy. wywołanie gtk_selection_convert(), ale nie ma obsługi sygnału "select-received" (lub może być skrótem). – ergosys