Definir libremente el aspecto de la GUI - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html) +--- Tema: Definir libremente el aspecto de la GUI (/thread-1422.html) |
Definir libremente el aspecto de la GUI - tincho - 27-06-2023 Hola crustáceos. A raíz de un hilo de Alberto sobre los SVG me puse a programar un ejemplo que al final terminó llevándome mas días de lo previsto. El caso es que, aprovechando que Linux ya tiene una forma de ordenar los iconos, los listé y me puse a contrastarlos con los que usa gambas (Stock) No me gusta Stock es complicar la cosa, así que hice otro sistema pero respetando el estándar de Linux, luego, ya que estaba, hice un método que pone Dark o Light el formulario sin tener en cuenta el tema de escritorio. Aquí le muestro el resultado: Dejé de lado los PNG ya que Shordi hizo un programa para eso, yo me dediqué a los SVG. RE: Orden en la sala (de los iconos) - Shordi - 28-06-2023 ¿Y el código? RE: Orden en la sala (de los iconos) - tincho - 28-06-2023 (28-06-2023, 10:18)Shordi escribió: ¿Y el código? Jeje, lo estoy poniendo a punto para poder usarlo para "buscar" iconos, en un toque lo subo Ahí esta, subí el código. Puede que funcione como buscador de iconos del sistema para los programas, pero seguramente sera de utilidad a aquellos que deseen trabajar con iconos SVG y cambiar el aspecto del formulario en tiempo de ejecución. Nota: El programa trabaja con los sets de iconos SVG como Papirus, Adwaita, Elementary etc. Luego en /tmp/icons.json se creara una lista json de todos los iconos SVG instalados en el sistema. RE: Orden en la sala (de los iconos) - tercoide - 28-06-2023 muy interesante che, y con eso se puede "robar" iconos del sistema para nuestros programas? RE: Orden en la sala (de los iconos) - tincho - 28-06-2023 (28-06-2023, 12:21)tercoide escribió: y con eso se puede "robar" iconos del sistema para nuestros programas? Si, esa es la idea, ya que siempre hay una parte de los iconos que son comunes, como abrir un archivo o imprimir, entonces al icono del programa le pones el .Tag = "actions/document-print" por ejemplo, y eso permite que luego puedas cambiar el "Skin" del programa en tiempo de ejecución. RE: Orden en la sala (de los iconos) - Shordi - 29-06-2023 Ta chulo. Dos cositas. Si seleccionas en el treeview superior un Tema que no tenga la sección previamente seleccionada de un tema anterior, da un error. La solución es cambiar el código de la línea 165 a: Código: If Not TreeThemes.Exist($Section) Then Y cuando seleccionas un tema que no dispone de todos los iconos de la barra superior, te pasa ésto: o esto: Habría que implementar, quizá, que si no encuentra el icono en el tema elegido utilice uno de los que se incluyen en el proyecto (var/svg/actions) o algo así. Pero, repito: Ta chulo. Buen trabajo. Saludos RE: Orden en la sala (de los iconos) - Shordi - 29-06-2023 Un último feed-back: Los iconos no aparecen ordenados. Si añades .sort(gb.ascent) a la línea 277 de la clase icons, ya lo tienes [code] Saludos RE: Orden en la sala (de los iconos) - tincho - 29-06-2023 (29-06-2023, 10:40)Shordi escribió: If Not TreeThemes.Exist($Section) Then ok, lo implemente pero creo que te refieres a TreeSections no a TreeThemes. (29-06-2023, 10:40)Shordi escribió: Habría que implementar, quizá, que si no encuentra el icono en el tema elegido utilice uno de los que se incluyen en el proyecto (var/svg/actions) o algo así. Si, estoy dándole vueltas a eso, porque creo que hay dos escenarios el escenario de este programa que es para analizar, probar y buscar iconos disponibles en el sistema y por otra parte están los programas a los que se desea agregar estos métodos para gestionar iconos y temas. En los programas si no se encuentra el icono el en tema, le tiene que poner el del tema por defecto, el icono rojo ese no queda nada bien en un programa, en eso estoy completamente de acuerdo, en el "testing" tal vez sea útil ver el farol rojo para saber si el tema tiene el icono necesario. (29-06-2023, 11:50)Shordi escribió: Los iconos no aparecen ordenados. Si añades .sort(gb.ascent) a la línea 277 de la clase icons, ya lo tienes Implementado. Gracias por el feedback. Creo que, si quiero hacer una clase que funcione para todos los iconos, tengo que interpretar el archivo "index.theme" antes de crear la lista RE: Orden en la sala (de los iconos) - Shell - 30-06-2023 (29-06-2023, 11:50)Shordi escribió: File.ScanFiles Ey, ¿ de donde sale eso ?, forastero. No se encuentra ni en gb.util. Saludos RE: Orden en la sala (de los iconos) - tincho - 28-08-2023 Hola a todos. Agregue una nueva función que permite cambiar también el idioma a voluntad independientemente del idioma del sistema, que en el caso de los programas de CAD suele ser así. |