Diseñando un control. Valores por defecto - 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: Diseñando un control. Valores por defecto (/thread-1225.html) |
Diseñando un control. Valores por defecto - Shell - 11-02-2023 Buenas!. No encontré un tema similar en la comunidad, puede que en el antiguo foro se encuentre. Me surgen unas dudas referentes a la construcción del control. Mi caso era que estoy diseñando el control círculo. Creé su clase, añadí nuevas propiedades. Ahora quiero añadir valores por defecto para que nos aparezcan en la lista de propiedades del IDE de Gambas. Dos cuestiones: Supongamos que quiero que en la lista de propiedades del IDE de Gambas aparezca el valor por defecto del radio. 20, 30, etc. Que tenga un valor fijo aunque se pueda cambiar luego. Y ahora supongamos que debe aparecer una lista de valores posibles constantes. 20,30,40 He logrado hacer aparecer el valor 50 en la lista de propiedades haciendo esto: Código: Pero luego al ejecutarse el código, sigue diciendo que el me.radio o hradio es 0. Saludos RE: Diseñando un control. Valores por defecto - Shordi - 11-02-2023 El valor se lo debes dar tú. Las constantes públicas sólo son para que el IDE lo dibuje. Es decir que si en las constantes pones que radio=50, en la función _new debes poner que radio = 50. RE: Diseñando un control. Valores por defecto - Shell - 11-02-2023 (11-02-2023, 13:36)Shordi escribió: Es decir que si en las constantes pones que radio=50, en la función _new debes poner que radio = 50. Así es. De esta forma aparece 50 en la lista de propiedades y ademas usa ese valor luego en el constructor. Lo más curioso es que si cambio el valor en la lista de propiedades el cambio se realiza con el valor que le des. (Aunque parezca lo más normal y habitual ). Si ingreso un valor y lo elimino se restaura el valor 50. Dicho de alguna manera. Que aunque en el constructor tenga asignado 50 a la propiedad radio, sobre esta se encuentra el valor de la lista de propiedades del IDE y es la que manda. En tu vídeo usabas textdefault. Un problema de lo más extraño que me estoy encontrado es que si le aplico algunos colores, como es DarkOrange al borde del círculo, se colapsa el editor de Gambas!. ![]() ![]() ¿ Por un color ?. ![]() RE: Diseñando un control. Valores por defecto - Shordi - 11-02-2023 Ni idea, oiga. Lo mismo es un bug... RE: Diseñando un control. Valores por defecto - Shell - 11-02-2023 (11-02-2023, 18:09)Shordi escribió: Ni idea, oiga. Lo mismo es un bug... El problema es de quien hereda. No debe heredar de DrawingArea, debe heredar de UserControl. - El Timer no es necesario, no es algo en movimiento. - El observador no es necesario. El objeto tipo DrawingArea tiene su propio manejador/manipulador de eventos definido. Quedando de esta forma el código. Código: Export En cuanto al color por defecto, siempre es negro. Si te fijas controles como ColorButton, su propiedad Value no tiene un valor por defecto. ¿ Y cómo lo resolví ?. Pues ya te puedes hacer una idea, aprendiendo del código fuente de Gambas. P.d .¿ Conoces la clase Style ?. Si no es así, como trasteas más con controles quizás te interese conocerla. Clase Style Por cierto al heredar de UserControl en la lista de propiedades de control en el editor ahora se muestran ordenadas alfabéticamente y no salen abajo. Saludos RE: Diseñando un control. Valores por defecto - Shell - 12-02-2023 Algo curioso que también ocurrió. Es que renombré el nombre la propiedad y casualmente el editor recordaba el nombre anterior como si existiese aún. Tuve que cerrar y abrir el editor de nuevo. En parte se solucionó asignándole un valor al nuevo nombre en la lista de propiedades. |