Comunidad Gambas-es
Presentando PicPanel y PicToolButton - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Otros (https://gambas-es.org/forum-18.html)
+--- Foro: Videotutoriales (https://gambas-es.org/forum-20.html)
+--- Tema: Presentando PicPanel y PicToolButton (/thread-1224.html)

Páginas: 1 2


RE: Presentando PicPanel y PicToolButton - Harpo - 07-03-2023

(06-03-2023, 21:08)Shordi escribió: Hecho. Ahora se comporta como un panel normal pero respetando el Radius de las esquinas y demás.
Me gustaría que lo probaseis porque el cálculo de la ubicación de los contenidos al Radius de las esquinas y demás lo he hecho bastante a ojímetro... por lo que no sé qué puede ocurrir en otras máquinas que no sean la mía.

Saludos

A mi no me ajusta bien y no tiene en cuenta el tamaño del borde. Pruebe esto en RoundPanel_Draw():

Código:
Dim fMargin as Float

   'Content Adjust
   'iMargin = Int($iRadius / 3)
   fMargin = Hyp($iRadius, $iRadius) / 4
   iMargin = Round(fMargin, 0) + Me.Padding + IIf($bBorder, $hBorder.Width, 0)

Una idea interesante incluir un panel interno para gestionar los controles.
Saludos, Harpo.

(06-03-2023, 22:23)tincho escribió: Felicitaciones, un gran trabajo.
No se si se podra hacer pero ¿Seria posible decirle al panel que esquinas se redondearan?
En el ejemplo de mas abajo agregue un panel a modo de barra de botones, mas oscura, y redondeo ambos panels pero quedaria mas parecido a gtk3 si la "botonera" redondea solo las esquinas superiores y por el contrario el panel de abajo solo las inferiores.

[Imagen: 6dunzXZ.png]

Se puede. Jugando con Border se pueden definir Radius distintos.

[Imagen: 2eKgjZE.png]

Si el maestro Shordi se anima lo incluimos en RounPanel Big Grin


RE: Presentando PicPanel y PicToolButton - Shordi - 07-03-2023

Pues no se me había ocurrido. Lo investigo.

Saludos


RE: Presentando PicPanel y PicToolButton - tincho - 07-03-2023

(07-03-2023, 13:20)Harpo escribió: Se puede. Jugando con Border se pueden definir Radius distintos.

Que velocidad de respuesta ! 
(07-03-2023, 13:20)Harpo escribió: Si el maestro Shordi se anima lo incluimos en RounPanel Big Grin

Seguro que si.


RE: Presentando PicPanel y PicToolButton - Shordi - 08-03-2023

Vale, dicho y hecho. Ahora PicPanel puede tener sus bordes redondeados por separado además de la imagen de fondo. Lo he hecho con la clase paint todo, sin utilizar la clase Border, sólo Paint.

El formulario de Test es así:
[Imagen: ycyw8Jl.png]

Sustituye al antiguo PicPanel y deja obsoleto el RoundPanel. Por eso también he mezclado los iconos de ambos y se que quedan así:

[Imagen: VTlAOj2.png]

Ha sido divertido. Nunca  había usado Paint y realmente es divertido... aunque complejo que te cagas.

No lo adjunto a este mensaje porque le he incrustado un archivo de imagen para la demo y el foro no admite archivos de más de una mega. Lo he puesto en la Granja de Gams y  en gitlab https://gitlab.com/shordi/PicPanel y será ahí donde tendréis las futuras actualizaciones si es que las hay.

Saludos


RE: Presentando PicPanel y PicToolButton - tincho - 08-03-2023

(08-03-2023, 14:23)Shordi escribió: aunque complejo que te cagas.

Y eso que no te metiste con OpenGL Big Grin
(08-03-2023, 14:23)Shordi escribió: No lo adjunto a este mensaje porque le he incrustado un archivo de imagen para la demo y el foro no admite archivos de más de una mega. Lo he puesto en la Granja de Gams y  en gitlab https://gitlab.com/shordi/PicPanel y será ahí donde tendréis las futuras actualizaciones si es que las hay.

No seria mas prolijo usar algo como:
[code]
Como la variable global ya es una matriz
[code]
Tal vez seria mejor tener un método de escritura y uno de lectura y no 4 + 4.

Bueno, en un rato lo hice yo. Hice las modificaciones, reduje el tamaño del .jpg para que ocupe menos lo adjunto por acá.

Gracias por compartir.


RE: Presentando PicPanel y PicToolButton - Shordi - 08-03-2023

Cita:Tal vez seria mejor tener un método de escritura y uno de lectura y no 4 + 4.
 
Esa fue mi primera aproximación al asunto, pero luego decidí seguir la filosofía que muestra la clase Border.
Todo en una sola propiedad tipo array puede ser más simple en tiempo de diseño, pero aporta problemas nemotécnicos, creo, al momento de usar la clase:  ¿Topleft, TopRight, Bottomleft, BottomRight  (es decir línea de arriba -> línea de abajo) o Topleft, TopRight, BottomRight, BottomLeft (es decir esquinas en sentido horario)? Cuando tengas que redondear una de las esquinas ¿Es el tercer parámetro o el segundo? A mí por lo menos, dentro de unos meses me costaría tener que ir al código a recordarlo. Dando nombre a cada Radius, es el propio IDE el que te dice cuál tienes que retocar.

Creo que lo dejaré con las cuatro, que son cinco, propiedades.

Muchas gracias por tu interés en el tema.

Saludos


RE: Presentando PicPanel y PicToolButton - Shordi - 08-03-2023

Ahora voy a actualizar el PicToolButton... que pasará a llamarse PicButton, creo.

Saludos


RE: Presentando PicPanel y PicToolButton - tincho - 08-03-2023

(08-03-2023, 19:14)Shordi escribió: A mí por lo menos, dentro de unos meses me costaría tener que ir al código a recordarlo

No es complicado en absoluto, son los cuadrantes si arrancas desde cero grados y aumentas los grados tienes el cuadrante 0 (seria el uno pero las listas en gambas ... ) luego el 1  el 2 y finalmente el 3
[Imagen: sPhtuiR.png]
Q1 = Radius[0]
Q2 = Radius[1]
Q3 = Radius[2]
Q4 = Radius[3]

Ademas Paint dibuja todo otra vez aunque solo cambies una esquina Paint borrara todo y volverá a dibujarlo.


RE: Presentando PicPanel y PicToolButton - Shordi - 08-03-2023

Cita:No es complicado en absoluto
Sobreestimas mi memoria de pez, compañero... Confused Confused

Saludos


RE: Presentando PicPanel y PicToolButton - tincho - 08-03-2023

(08-03-2023, 21:25)Shordi escribió: Sobreestimas mi memoria de pez, compañero... Confused Confused

En electricidad y magnetismo teníamos una regla mnemotécnica llamada "regla de la mano derecha"
[Imagen: omXkkIb.png]
https://es.wikipedia.org/wiki/Regla_de_la_mano_derecha