/* * Controlador Java de la Secretaria de Estado de Administraciones Publicas * para el DNI electronico. * * El Controlador Java para el DNI electronico es un proveedor de seguridad de JCA/JCE * que permite el acceso y uso del DNI electronico en aplicaciones Java de terceros * para la realizacion de procesos de autenticacion, firma electronica y validacion * de firma. Para ello, se implementan las funcionalidades KeyStore y Signature para * el acceso a los certificados y claves del DNI electronico, asi como la realizacion * de operaciones criptograficas de firma con el DNI electronico. El Controlador ha * sido disenado para su funcionamiento independiente del sistema operativo final. * * Copyright (C) 2012 Direccion General de Modernizacion Administrativa, Procedimientos * e Impulso de la Administracion Electronica * * Este programa es software libre y utiliza un licenciamiento dual (LGPL 2.1+ * o EUPL 1.1+), lo cual significa que los usuarios podran elegir bajo cual de las * licencias desean utilizar el codigo fuente. Su eleccion debera reflejarse * en las aplicaciones que integren o distribuyan el Controlador, ya que determinara * su compatibilidad con otros componentes. * * El Controlador puede ser redistribuido y/o modificado bajo los terminos de la * Lesser GNU General Public License publicada por la Free Software Foundation, * tanto en la version 2.1 de la Licencia, o en una version posterior. * * El Controlador puede ser redistribuido y/o modificado bajo los terminos de la * European Union Public License publicada por la Comision Europea, * tanto en la version 1.1 de la Licencia, o en una version posterior. * * Deberia recibir una copia de la GNU Lesser General Public License, si aplica, junto * con este programa. Si no, consultelo en <http://www.gnu.org/licenses/>. * * Deberia recibir una copia de la European Union Public License, si aplica, junto * con este programa. Si no, consultelo en <http://joinup.ec.europa.eu/software/page/eupl>. * * Este programa es distribuido con la esperanza de que sea util, pero * SIN NINGUNA GARANTIA; incluso sin la garantia implicita de comercializacion * o idoneidad para un proposito particular. */ package es.gob.jmulticard.ui.passwordcallback.gui; import javax.swing.JDialog; import javax.swing.JFrame; /** Componente que define un diálogo de alerta. * @author Inteco */ abstract class JAccessibilityCustomDialog extends JDialog { /** * uid. */ private static final long serialVersionUID = 1L; /** * Posicion X actual. */ private static int actualPositionX = -1; /** * Posicion Y actual. */ private static int actualPositionY = -1; /** * Ancho actual. */ private static int actualWidth = -1; /** * Alto actual. */ private static int actualHeight = -1; /** * Indica si el diálogo requiere un tamano grande por defecto. */ private boolean bigSizeDefault = false; /** Si se trata de un diálogo de confirmacion o tiene entradas */ private final boolean isInputDialog; /** Constructor con parámetros. * @param dialog Diálogo base. * @param modal <code>true</code> si el diálogo debe ser modal, * <code>false</code> en caso contrario. * @param isInputDialog <code>true</code> si el diálogo es de entrada de datos, * <code>false</code> en caso contrario. */ JAccessibilityCustomDialog(final JDialog dialog, final boolean modal, final boolean isInputDialog){ super(dialog, modal); this.isInputDialog = isInputDialog; final ResizingAdaptor adaptador = new ResizingAdaptor(this); this.addComponentListener(adaptador); this.setResizable(false); } /** Constructor con parametros. * @param frame Componente base. * @param modal <code>true</code> si el diálogo debe ser modal, * <code>false</code> en caso contrario. * @param isInputDialog <code>true</code> si el diálogo es de entrada de datos, * <code>false</code> en caso contrario. */ JAccessibilityCustomDialog(final JFrame frame, final boolean modal, final boolean isInputDialog){ super(frame, modal); this.isInputDialog = isInputDialog; final ResizingAdaptor adaptador = new ResizingAdaptor(this); this.addComponentListener(adaptador); this.setResizable(false); } /** Constructor. * @param isInputDialog Indica si el diálogo es de entrada de datos. */ JAccessibilityCustomDialog(final boolean isInputDialog){ super(); this.isInputDialog = isInputDialog; final ResizingAdaptor adaptador = new ResizingAdaptor(this); this.addComponentListener(adaptador); this.setResizable(false); } /** Relación mínima que se aplica para la redimensión de los componentes. * Cuanto menor es este número menor es la redimensión aplicada. * @return int Relación mínima */ abstract int getMinimumRelation(); /** Obtiene el componente horizontal de la posición en pantalla del diálogo. * @return Componente horizontal de la posición del diálogo. */ static int getActualPositionX() { return actualPositionX; } /** Establece el componente horizontal de la posición en pantalla del diálogo. * @param actualPositionX Componente horizontal de la posición del diálogo. */ static void setActualPositionX(final int actualPositionX) { JAccessibilityCustomDialog.actualPositionX = actualPositionX; } /** Obtiene el componente vertical de la posición en pantalla del diálogo. * @return Componente vertical de la posición del diálogo. */ static int getActualPositionY() { return actualPositionY; } /** Establece el componente vertical de la posición en pantalla del diálogo. * @param actualPositionY Componente vertical de la posición del diálogo. */ static void setActualPositionY(final int actualPositionY) { JAccessibilityCustomDialog.actualPositionY = actualPositionY; } /** * Getter para la variable ActualWidth. * @return ActualWidth */ static int getActualWidth() { return actualWidth; } /** Establece el ancho del diálogo. * @param actualWidth Ancho del diálogo. */ static void setActualWidth(final int actualWidth) { JAccessibilityCustomDialog.actualWidth = actualWidth; } /** * Getter para la variable ActualHeight. * @return ActualHeight */ static int getActualHeight() { return actualHeight; } /** Establece el alto del diálogo. * @param actualHeight Alto del diálogo. */ static void setActualHeight(final int actualHeight) { JAccessibilityCustomDialog.actualHeight = actualHeight; } /** Indica si el diálogo debe tener un tamaño grande por defecto. * @return boolean */ boolean isBigSizeDefault() { return this.bigSizeDefault; } /** Indica si el diálogo debe tener un tamaño grande por defecto. * @param bigSizeDefault <code>true</code> si el diálogo debe tener un tamaño grande por defecto, * <code>false</code> en caso contrario. */ void setBigSizeDefault(final boolean bigSizeDefault) { this.bigSizeDefault = bigSizeDefault; } /** * Retorna el ancho inicial del diálogo * @return Ancho inicial del diálogo */ int getInitialWidth(){ if(this.isInputDialog){ return Constants.CUSTOMDIALOG_INITIAL_WIDTH; }return Constants.CUSTOMCONFIRMATION_INITIAL_WIDTH; } /** * Retorna el alto inicial del diálogo * @return Alto inicial del diálogo */ int getInitialHeight(){ if(this.isInputDialog){ return Constants.CUSTOMDIALOG_INITIAL_HEIGHT; } return Constants.CUSTOMCONFIRMATION_INITIAL_HEIGHT; } /** * Retorna el ancho maximo del diálogo * @return Ancho maximo del diálogo */ int getMaxWidth(){ if(this.isInputDialog){ return Constants.CUSTOMDIALOG_MAX_WIDTH; } return Constants.CUSTOMCONFIRMATION_MAX_WIDTH; } /** * Retorna el alto maximo del diálogo * @return Alto maximo del diálogo */ int getMaxHeight(){ if(this.isInputDialog){ return Constants.CUSTOMDIALOG_MAX_HEIGHT; } return Constants.CUSTOMCONFIRMATION_MAX_HEIGHT; } }