Editor de Temas y colores - 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: Editor de Temas y colores (/thread-1803.html) |
Editor de Temas y colores - Harpo - 03-10-2024 Saludos, Les traigo una pequeña aplicación que he desarrollado para editar temas de Gambas, por si a alguien le es de utilidad. Estaba con un editor de ficheros SVG y el editor de Gambas no tiene definido ese formato, lo más parecido es HTML. Y en Gnome en modo oscuro se visualiza muy mal. Así que me puse a investigar como cambiarlo. Para quien el interese, el editor de Gambas (gb.form.editor) tiene dos propiedades:
Todo lo relativo al formateo de código está en el componente gb.Highlight. Dentro tenemos 3 clases:
Código: Dim sHighLighter, sState As String
Código: [Gambas Highlighting Theme 1.0] Y aclarado lo anterior, la aplicación. Es un 3 en 1. Editor de Temas, tiene dos áreas:
Colores, básicamente es un selector de colores y dos utilidades: Color Merge y SetAlpha. El código de Gambas usa esas dos funciones muy habitualmente y siempre estaba probando números. Una observación, el selector de colores de este formulario se actualiza cuando seleccionamos un elemento en cualquiera de los dos ColumnView del formulario anterior. Para ello usa una clase Dictionary, un Collection con eventos y algunas cosas más. Palette. Un generador de paletas de colores usando Color.HSV. Se selecciona el valor del Spinbox de arriba a la izquierda y pulsando el botón de debajo genera la paleta en un GridView. Abajo a la derecha es lo mismo pero pudiendo modificar tres parametros: HUE - Saturación - Valor. Clase Dictionary. En ocasiones hecho de menos poder añadir información a una clase Collection, además de el par Key-Value y de ahí que haya desarrollado esta clase. Deriva de Collection pero no usa herencia, reimplementa la clase. En vez de usar un Variant para Value usa una clase _Dictionary_Item, un Variant[2]. Las diferencias son las siguientes: Código: Dim hCol As Collection Y el proyecto con el programa. Espero que les sea de utilidad. Un saludo, Harpo. Una última observación sobre la clase Dictionary, tiene dos eventos:
Código: cThemeColors = New Dictionary As "ThemeColors" Y una última observación, la clase Dictionary también emula a una JSONCollection, admite nulos. Por otro lado importa y exporta JSON:
Y agradecimientos, parte importante del código no es mio. La función para formatear JSON es autoria de Tincho sino recuerdo mal. Las funciones para convertir colores de Shordi. Gracias a los maestros. RE: Editor de Temas y colores - tincho - 03-10-2024 (03-10-2024, 20:44)Harpo escribió: Estaba con un editor de ficheros SVG Me interesa el tema de los SVG, hice algunas funciones para editarlos ya que como sabes son XML y gambas tiene clases para abordarlos. Me descargue tu programa para estudiarlo, luego te cuento. RE: Editor de Temas y colores - Harpo - 03-10-2024 (03-10-2024, 21:25)tincho escribió:(03-10-2024, 20:44)Harpo escribió: Estaba con un editor de ficheros SVG Yo estoy intentando crearme una clase SVGResources, básicamente un fichero de texto con el contenido de SVG sencillos y en un formato uniforme, para usarlos como iconos en las aplicaciones, y gestionarlos y editarlos para cambiar colores y demás. Y una clase SVGPicture para cada fichero individual. La idea creo que se puede ver en esta pantalla: Vamos intercambiando ideas, un saludo. Harpo RE: Editor de Temas y colores - Shordi - 04-10-2024 Buen aporte, sí señor! RE: Editor de Temas y colores - Harpo - 04-10-2024 Actualizo el programa, no me había dado cuenta que estaba usando una versión antigua de la clase Dictionary. Saludos, Harpo. |