Tengo una colección de widgets GtkEntry
, algunos de los cuales son editables y enfocables, y algunos de los cuales no lo son. Me gustaría averiguar cuál de ellos, en su caso, tiene texto seleccionado, para implementar una opción de menú Editar-> Copiar. ¿Hay alguna manera de hacer esto que no sea iterar sobre todos los widgets hasta que gtk_editable_get_selection_bounds
devuelva verdadero?averiguar qué widget gtk tiene la selección actual
Actualmente estoy eludiendo el problema llamando al gtk_clipboard_get(GDK_SELECTION_PRIMARY)
, pero según lo que dicen los documentos, eso no es portátil (y también seleccionará texto seleccionado en cualquier lugar dentro de la pantalla actual, no solo desde mi aplicación).
Lamentablemente, no parece haber una señal cuando un widget reclama una selección, pero es posible que pueda usar el mismo manejador de señal "selection-get" para cada entrada, y luego falsificar una conversión de selección para que se llame para la entrada con la selección (si la hay). – ergosys
ergosys: ¿qué quiere decir con una conversión de selección falsa? –
Solicite una conversión de selección sin tener la intención de recibir los datos. Es decir. llame a gtk_selection_convert(), pero no tenga (o tal vez un trozo) manejador de señal "selection-received". – ergosys