RE: [genexusextensions] Propiedades estandar como readonly

Hola Edgar,

 

Para que las propiedades sean read-only, puedes hacerlo sobreescribiendo en tu objeto el método que extiende las definiciones, de la siguiente forma:

 

protected override void ExtendObjectPropertyDefinition(PropertiesDefinition propDefinition)

       {

             base.ExtendObjectPropertyDefinition(propDefinition);

             propDefinition.GetPropDefinition(KBObjectProperties.Name).Resolvers.Add(new ReadOnlyResolver());

             propDefinition.GetPropDefinition(KBObjectProperties.Description).Resolvers.Add(new ReadOnlyResolver());

             ...

       }

 

Donde ReadOnlyResolver es una clase que implementa la interfaz Artech.Common.Properties.IReadOnlyResolver y devuelve true en el método IsReadOnly().

 

Sobre el otro tema, para que no sea “creable por el usuario”, debes ponerle el flag NoCreateble entre los ObjectTypeFlags del descriptor. O sea:

 

       [KBObjectDescriptor("", "My Object Type", "", <icono>, ObjectTypeFlags.NoCreateble)]

public class MyObjectType : KBObject

                ...

Saludos,

- Matías

 

 

From: Edgar Jimenez [mailto:gxejimenez@gmail.com]
Sent: Monday, November 01, 2010 18:25
To: genexusextensions@gxlists.com
Subject: [genexusextensions] Propiedades estandar como readonly

 

Hola,

 

En la extension que estoy haciendo, creo nuevos tipos de objetos, y quisera que las propiedades "name", "description" y "folder" sean readonly.

 

El codigo que estoy usando para crear los objetos desde una toolwindow es:

 

MyObjectType

ur = KBObject.Create<MyObjectType>(UIServices.KB.CurrentModel);

Otra pregunta, como puedo hacer que el tipo de objeto no aparezca en el dialogo "new object"?

 

Saludos

 

Edgar Jimenez Demestri
Consultor Genexus

0 Response to "RE: [genexusextensions] Propiedades estandar como readonly"

Publicar un comentario