/** * Activa o desactiva un componente y todos sus componentes hijos. No se puede activar o * desactivar dos veces seguidas. Siendo ignoradas las peticiones repetitivas. * * @param enabled */ public void setEnabled(boolean enabled) { // Si el estado ha cambiado, hacemos algo if (this.enabled != enabled) { if (enabled) { restoreStatus(component); } else { saveComponentsStatus(component); setDisabled(component); } this.enabled = enabled; } }
/** * Obtiene el bot�n que lanza el panel de selecci�n de proyecciones. * * @return */ private CRSSelectPanel getProjectionDstSelector() { if (projectionDstSelector == null) { projectionDstSelector = CRSSelectPanel.getPanel(projDst); // projectionDstSelector.setTransPanelActive(true); projectionDstSelector.setPreferredSize(null); projectionDstSelector.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (projectionDstSelector.isOkPressed()) { projDst = projectionDstSelector.getCurProj(); } } }); projectionDstSelector.setBorder( BorderFactory.createTitledBorder(RasterToolsUtil.getText(this, "dest_proj"))); if (!isInTOC.booleanValue()) StatusComponent.setDisabled(projectionDstSelector); } return projectionDstSelector; }
/** * Obtiene el bot�n que lanza el panel de selecci�n de proyecciones. * * @return */ private CRSSelectPanel getProjectionSrcSelector() { if (projectionSrcSelector == null) { IProjection projectionAux = null; IWindow activeWindow = PluginServices.getMDIManager().getActiveWindow(); if (activeWindow instanceof BaseView) { BaseView activeView = (BaseView) activeWindow; projectionAux = activeView.getProjection(); activeView.setProjection(projSrc); } projectionSrcSelector = CRSSelectPanel.getPanel(projSrc); if (activeWindow instanceof BaseView) { BaseView activeView = (BaseView) activeWindow; activeView.setProjection(projectionAux); } // projectionSrcSelector.setTransPanelActive(true); projectionSrcSelector.setPreferredSize(null); projectionSrcSelector.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (projectionSrcSelector.isOkPressed()) { projSrc = projectionSrcSelector.getCurProj(); } } }); projectionSrcSelector.setBorder( BorderFactory.createTitledBorder(RasterToolsUtil.getText(this, "src_proj"))); if (isInTOC.booleanValue() && this.lyr.readProjection() != null) StatusComponent.setDisabled(projectionSrcSelector); } return projectionSrcSelector; }
/** * Desactivar el componente y todos sus hijos sin guardar los estados. Hay que tener cuidado con * no confundirlo con setEnabled(false). Este metodo nunca guardara el estado, asi que no se podra * recuperar despues dicho estado. * * @param component */ public static void setDisabled(JComponent component) { component.setEnabled(false); for (int i = 0; i < component.getComponentCount(); i++) if (component.getComponent(i) instanceof JComponent) setDisabled((JComponent) component.getComponent(i)); }