Comunidad Gambas-es
¿ Conocen el componente gb.gui.base ? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: ¿ Conocen el componente gb.gui.base ? (/thread-1857.html)



¿ Conocen el componente gb.gui.base ? - Shell - 11-02-2025

Buenas!.

Necesitarán el código fuente de Gambas para ello.

Pues bien, digamos que este componente tiene una serie de clases, muchas.
Todo lo referente a lo que solemos usar a diario, pero supongo que orientado a Gnome.

Entre ellas trae la clase Paint ( que re-implementa la clase Paint) en gb.gui.
Debe ser algo como ¿ compatibilizar Qt y  Gnome ?.

Si la abrís en una versión de Gambas 3.20.X, veréis símbolos a los lado de las clases.
Por ejemplo, el símbolo o icono de una tijera. Este símbolo viene a decir "No lo pongas en el ejecutable".
Y es una opción que se puede seleccionar si mostramos su propiedad.  Ejemplo una rama "Test" ( que no pruebas ).

Por cierto, ¿ existe una forma de ver que es cada uno de esos símbolos ?.
Por ejemplo, sabemos que una clase es "C", pero si le añaden la "estrella", es una clase exportada.
Pero es que ademas de todo eso, hay otra que es una aspa dentro de un círculo.

Os muestro un ejemplo:

[Imagen: 3Ub4bj8l.png]


Si muestro sus propiedades, solo me dice que es una clase.
Puede que esta clase, la del título del tema del mensajes, sea bastante interesante, para comenzar a conocer
los "intringulis" de como están hecho los controles principales.

Viendo uno de los métodos de la clase Paint re-implementada:

Código:
'' Draw a rectangle frame
''
'' - ~X~, ~Y~, ~Width~ and ~Height~ define the position and size of the rectangle.
'' - ~Color~ is the color used for painting the rectangle.
'' - ~Size~ is the width of the rectangle border. It's '1' pixel by default. If negative, then the frame will be painted outside of the rectangle, otherwise inside.

Static Public Sub DrawRect(X As Float, Y As Float, Width As Float, Height As Float, (Color) As Integer, Optional Size As Float = 1)

  If Size = 0 Then Return

  If Size < 0 Then
    Size = -Size
    X -= Size
    Y -= Size
    Width += Size * 2
    Height += Size * 2
  Endif

  If Size >= Min(Width, Height) / 2 Then
    Paint.FillRect(X, Y, Width, Height, Color)
    Return
  Endif

  Paint.Save
  Paint.Rectangle(X, Y, Width, Size)
  Paint.Rectangle(X + Width - Size, Y + Size, Size, Height - Size)
  Paint.Rectangle(X, Y + Height - Size, Width - Size, Size)
  Paint.Rectangle(X, Y + Size, Size, Height - Size * 2)
  Paint.Background = Color
  Paint.Fill
  Paint.Restore

End

¿ Qué es (Color) o la forma como se muestra ?. ¿ Es una forma de evitar la clase Color ? ( A su vez es algo confuso ).


Saludos

Ahora que me fijo quizás debería haber creado este post en el tema de controles. Angel

Otros ejemplos con símbolos.

Pero estos parecen que van cambiando según versión de gambas, estética.

[Imagen: 6m6b6Aml.png]