ComboSeek: Un combobox que busca en la lista según se escribe - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Controles/Librerías/Componentes (https://gambas-es.org/forum-7.html) +--- Tema: ComboSeek: Un combobox que busca en la lista según se escribe (/thread-922.html) |
RE: ComboSeek: Un combobox que busca en la lista según se escribe - tercoide - 21-06-2022 (18-06-2022, 20:26)Shordi escribió: O sea, un follón. Desde Ubuntu 22.04 y su deprecacion de X11 que empezaron los problemas de ubicacion de ventanas, tanto para GTK3 como para Wayland. Se que Benoit esta trabajando en ello, pero imagino que es un dolor de huevos. Cita:Se me agranda más la imagen de Benoît manteniendo gambas operativo en todos los submundos. Es que siempre dije. El que mucho abarca, poco aprieta. RE: ComboSeek: Un combobox que busca en la lista según se escribe - tincho - 21-06-2022 (21-06-2022, 10:11)Shordi escribió: https://gitlab.com/shordi/ComboSeek Shordi, no existe ese repo en gitlab, o por lo menos no esta accesible RE: ComboSeek: Un combobox que busca en la lista según se escribe - Shordi - 21-06-2022 A mí si me sale. Esta mañana cuando lo subí, gitlab estaba caído, pero se recuperó al cabo de un rato. A ver si era eso... RE: ComboSeek: Un combobox que busca en la lista según se escribe - tincho - 21-06-2022 (21-06-2022, 17:30)Shordi escribió: A mí si me sale. Esta mañana cuando lo subí, gitlab estaba caído, pero se recuperó al cabo de un rato. A ver si era eso... Pues ahora mismo gitlab no esta caído y puedo ver que, dentro de tu repo, tienes varios proyectos ( Ocupacion, gbAmp, CCP, soprano, gbftp, intriga, COCA) pero ninguno se llama ComboSeek es mas tu ultima actividad, segun tu repo de gitlab, fue hace una semana RE: ComboSeek: Un combobox que busca en la lista según se escribe - jguardon - 21-06-2022 Puede que no lo tengas público en las opciones del proyecto. Yo tampoco lo veo. RE: ComboSeek: Un combobox que busca en la lista según se escribe - Shordi - 21-06-2022 Efestiviwonder. Ahora es público. RE: ComboSeek: Un combobox que busca en la lista según se escribe - tincho - 21-06-2022 Ok, ahora tengo acceso. Hice una bifurcación (fork) para cambiar dos lineas de la clase ComboSeek Código: Public Const _Similar As String = "ComboBox" RE: ComboSeek: Un combobox que busca en la lista según se escribe - Shordi - 22-06-2022 Ahora lo veo. Mañana te cuento Saludos RE: ComboSeek: Un combobox que busca en la lista según se escribe - Shordi - 23-06-2022 Realizado el Merge. Ayer me enteré de que, a petición de Gianluigi, Benoît ha implementado la búsqueda según se escribe en el combobox de la rama Master. Por un momento pensé ¡Oh,no, todo el trabajo para nada! A continuación me descargué el código de Benoît y lo comparé con el mío línea a línea y observo que básicamente los dos hemos dado la misma solución, pero hay varias diferencias: Con el combobox: -Tienes que pulsar el botón para desplegar la lista y buscar según tecleas -No se refleja en el textbox los caracteres tecleados mientras buscas en la lista -No se ordenan correctamente las cadenas propias del lenguaje, en concreto los caracteres acentuados -No se busca correctamente los caracteres acentuados Con el comboseek: -La lista se despliega al teclear la primera letra -Se reflejan en el textbox los caracteres tecleados mientras buscas en la lista -Las ordenaciones siguen las reglas del lenguaje (es decir los caracteres acentuados son tratados igual que los no acentuados a la hora de ordenar) -Las búsquedas también funcionan correctamente con los caracteres propios del lenguaje y como novedades: -ComboSeek tiene una nueva propiedad MaxItems, que establece el número de items visibles en la lista (es decir el tamaño del desplegable), antes era una constante fija de 10 items. -También le he eliminado la propiedad Password, que creo que no tiene sentido en un combobox. -Finalmente he retocado ligeramente el aspecto, de manera que la flecha hacia abajo a la derecha del control tenga un fondo del color de los botones. (Funciona muy bien en mi escritorio, pero no lo he probado aún en otros escritorios o librerías gráficas) La diferencia interna básica es que ComboSeek tiene una copia de la lista cuyos elementos han sido despojados de mayúsculas y acentos, usándose esta lista para las búsquedas mientras que ComboBox no tiene este array interno y busca directamente en la lista convirtiendo primero cada elemento en minúsculas. Como el recorrido de toda la lista desde el principio convirtiendo cada elemento a minúsculas se hace cada vez que se pulsa una tecla, al final es más lento que Comboseek aunque ComboSeek ocupe más memoria al manejar las dos listas. Para acercar las dos versiones he cambiado los nombres de las dos variables relacionadas con la búsqueda, $str, $hCtrl y la función de búsqueda SearchList(), para que se llamen igual que las que ha creado Benoít, $sFind, $hCombo y FindItem(), que son mucho más explicativas que las que yo elegí. Soy muy malo buscando nombres, ya lo sabéis. En resumen, me quedo con ComboSeek, que es más ajustado a lo que quiero, más completo y, ¡qué cojones!, es mío Con el Merge de los cambios que ha hecho Tincho, le he subido la versión a 0.1.5. Lo tenéis en el gitlab y en la Granja de Gambas Saludos RE: ComboSeek: Un combobox que busca en la lista según se escribe - tincho - 23-06-2022 (23-06-2022, 09:55)Shordi escribió: Realizado el Merge. Perfecto, lo hice mas como ejercicio, como habrás visto solo eran dos lineas de código. A que mola que con un click todos los cambios se apliquen verdad? |