[Gvsig_desarrolladores] Como usar ExclusiveUIExtension o ExtensionDecorator correctamente para quitar funcionalidades

marta vicente romero mviceromgvsig en gmail.com
Vie Abr 24 22:03:47 CEST 2009


Hola:

gracias al ejemplo de codigo que me pusistes ahi consegui usar
ExclusiveUIExtension para ocultar las extensiones cuando unas
 capas especificas estan en estatus=activa,
 asi si se cargan otras capas distintas se pueden volver a usar esas
funcionalidades,

pero resulta que queria ocultar tambien la edicion,
StartEditing se oculta sin problema,

pero del menu del toc, que sale al pulsar el boton derecho comenzar edicion:
viene de una clase que no es una extension en si misma..
la clase:  StartEditingTocMenuEntry  esta llama a:

 StartEditing
startEditind=(StartEditing)PluginServices.getExtension(StartEditing.class);
 startEditind.execute("STARTEDITING");

he intentado ocultar esto desde mi extension, pero no he podido...
(de momento he cambiado el isEnabled de la clase)

pero querria saber si existe alguna manera de no modificar ese codigo..?
puedo hacer algo desde mi extension?
(si que sea deshabilitar siempre la extension completa?)

Muchas gracias por la atencion
marta

El 15 de abril de 2009 10:21, marta vicente romero
<mviceromgvsig en gmail.com>escribió:

> muchas gracias por la respuesta...
> voy a probar el codigo a ver si consigo  modificarlo
>
> El 15 de abril de 2009 8:20, Jorge Piera <jorge.piera en iver.es> escribió:
>
> Hola Marta.
>>
>> Yo me suelo crear un array que contiene todas las extensiones que quiero
>> ocultar. En tu caso, en el initialize de tu extensión deberías poner algo
>> como:
>>
>> public void initialize() {
>>       extensions = new ArrayList<Class>();
>>       extensions.add(com.iver.cit.gvsig.InfotoolExtension.class);
>>       extensions.add( com.iver.cit.gvsig.ShowTable.class);
>>      PluginServices.setExclusiveUIExtension(this);       }
>>
>> public boolean isEnabled(IExtension extension) {
>>       if (extensions.indexOf(extension.getClass()) < 0){
>>           return extension.isEnabled();
>>       }
>>       return false;
>> }
>>
>> Si la extensión no está en mi lista de extensiones, llamo al isEnabled de
>> la propia extensión. Si sí que está, devuelvo "false". En tu caso deberás
>> modificar esta implementación.
>>
>> Un saludo.
>>
>> Jorge.
>>
>> marta vicente romero wrote:
>>
>>> Hola:
>>>
>>> Estoy intentado ocultar extensiones, que no esten activadas, pero si
>>> visitbles  cuando la capa activa es una determinada,
>>> en la documentacion ( guia de referencia) pone mas omenos los pasos a
>>> seguir para utilizar: ExclusiveUIExtension,
>>>
>>> mi pregunta es si alguien me puede aclarar que seria la forma correcta de
>>> imlementar los metodos is Enable(IExtension extension)
>>> alguien tiene un ejemplo sencillo de esto o me puede explicar un poco mas
>>> de como hacerlo
>>>
>>> (las funcionalidades que quiero deshabilitar seria, pero solo cuando la
>>> capa activa sea una en particular, si cambia la capa activa
>>>  pues voverian a habilitarse
>>> com.iver.cit.gvsig.InfotoolExtension : que es el icono de informacion
>>> com.iver.cit.gvsig.ShowTable : es es la tabla de atributos
>>>
>>> Sino tambien habia pensado en utilizar ExtensionDecorator como pone la
>>> documentacion,
>>> pero tambien me surge la duda de donde debo implementar el codigo para
>>> desabilitar las funcionalidades,
>>> si quiero que cuando este la capa X activa se deshabilite, y cuando este
>>> otra distinta vuelva otra vez a estar disponible..
>>>
>>>
>>> mcuhas gracias de antemano
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> gvSIG_desarrolladores mailing list
>>> gvSIG_desarrolladores en runas.cap.gva.es
>>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>>
>>>
>>
>>
>> --
>> Jorge Piera Llodrá
>> Especialista en Servicios OGC
>> Equipo de desarrollo gvSIG
>> IVER TI S.A.
>> C/ Lérida, 20
>> 46009-Valencia (Spain)
>> Tlf.+34902252540
>> www.iver.es
>> www.gvsig.com
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20090424/27e15283/attachment.htm


Más información sobre la lista de distribución gvSIG_desarrolladores