Te comento un detalle. Muchas veces se programan los métodos isEnabled dependiendo directamente de isVisible. Es decir, cuando se ejecuta isEnabled se dan por hecho que existen unas condiciones porque isVisible devolvió true. Es por eso que creo que posiblemente el error esté en el método que decide cuándo todas esas extensiones son visibles, ya que utilizas extension.isEnabled en lugar extension.isVisible. Cuando comprueba si las extensiones son visibles en realidad está comprobando si están activadas y puede inducir a error porque no se cumple algún requisito previo.
Es decir, yo lo cambiaría a: public boolean isVisible(IExtension extension) { // TODO Auto-generated method stub if (extension instanceof GestorCargador || extension instanceof StopEditing || extension instanceof StartEditing || extension instanceof InsertPointExtension || extension instanceof InsertLineExtension || extension instanceof InsertPolygonExtension || extension instanceof InfoToolExtension || extension instanceof GestorAyuda || extension instanceof ViewControls|| extension instanceof MyPrivateInfo) { return extension.isVisible(); <-- aquí } else { return false; } } El día 10 de noviembre de 2010 10:55, agirrearri <agirrea...@hotmail.com> escribió: > > Hola gracias, quería saber eso, pero te cuento un poco mi historia. Tengo una > clase que desde una extension me desabilita otras, te pero me da los errores > que he descrito anteriormente. Supongo que será porque las extensiones estan > pensadas para que ellas se habiliten o desbiliten. > La clase que he construido para desabilitar otras extensiones desde la mía > es esta. Es una clase que en realidad desabilita todas pero puedes indicar > (como se puede ver en esta clase) cuales quieres que te deje activas. Con > esto quiza me puedan ayudar concretamente en lo que quiero. > > > public class MiExclusiveUIExtension implements ExclusiveUIExtension{ > > > public void execute(String arg0) { > // TODO Auto-generated method stub > JOptionPane.showMessageDialog((Component) > PluginServices.getMainFrame(), > JOptionPane.ERROR_MESSAGE); > > > } > > public IExtensionStatus getStatus() { > // TODO Auto-generated method stub > return null; > } > > public IExtensionStatus getStatus(IExtension arg0) { > // TODO Auto-generated method stub > return null; > } > > public void initialize() { > // TODO Auto-generated method stub > > } > > public boolean isEnabled(IExtension extension) { > > if (extension instanceof GestorCargador || > extension instanceof StopEditing || > extension instanceof StartEditing || > extension instanceof InsertPointExtension || > extension instanceof InsertLineExtension || > extension instanceof InsertPolygonExtension || > extension instanceof InfoToolExtension || > extension instanceof GestorAyuda || > extension instanceof ViewControls || > extension instanceof MyPrivateInfo) { > return extension.isEnabled(); > } else { > return false; > } > > } > > public boolean isVisible(IExtension extension) { > // TODO Auto-generated method stub > if (extension instanceof GestorCargador || > extension instanceof StopEditing || > extension instanceof StartEditing || > extension instanceof InsertPointExtension || > extension instanceof InsertLineExtension || > extension instanceof InsertPolygonExtension || > extension instanceof InfoToolExtension || > extension instanceof GestorAyuda || > extension instanceof ViewControls|| > extension instanceof MyPrivateInfo) { > return extension.isEnabled(); > } else { > return false; > } > } > > public void postInitialize() { > // TODO Auto-generated method stub > > } > > public void terminate() { > // TODO Auto-generated method stub > > } > > public boolean isEnabled() { > // TODO Auto-generated method stub > return false; > } > > public boolean isVisible() { > // TODO Auto-generated method stub > return false; > } > > > > } > > > Gracias por la ayuda, atentamente eñaut. > -- > View this message in context: > http://osgeo-org.1803224.n2.nabble.com/Cuando-ejecuto-una-extension-como-puedo-esconder-otras-tp5724010p5724071.html > Sent from the gvSIG desarrolladores mailing list archive at Nabble.com. > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores@listserv.gva.es > http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > -- Javier Estévez Valiñas Grupo de Desarrollo Cartolab - Laboratorio de Ingeniería Cartográfica http://www.cartolab.es ETS Ingeniería de Caminos, Canales y Puertos Universidade da Coruña Campus de Elviña - 15071 A Coruña (España) (34)981167000 ext. 5493 _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@listserv.gva.es http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores