Java tutorial
/******* BEGIN LICENSE BLOCK ***** * Versin: GPL 2.0/CDDL 1.0/EPL 1.0 * * Los contenidos de este fichero estn sujetos a la Licencia * Pblica General de GNU versin 2.0 (la "Licencia"); no podr * usar este fichero, excepto bajo las condiciones que otorga dicha * Licencia y siempre de acuerdo con el contenido de la presente. * Una copia completa de las condiciones de de dicha licencia, * traducida en castellano, deber estar incluida con el presente * programa. * * Adicionalmente, puede obtener una copia de la licencia en * http://www.gnu.org/licenses/gpl-2.0.html * * Este fichero es parte del programa opensiXen. * * OpensiXen es software libre: se puede usar, redistribuir, o * modificar; pero siempre bajo los trminos de la Licencia * Pblica General de GNU, tal y como es publicada por la Free * Software Foundation en su versin 2.0, o a su eleccin, en * cualquier versin posterior. * * Este programa se distribuye con la esperanza de que sea til, * pero SIN GARANT?A ALGUNA; ni siquiera la garanta implcita * MERCANTIL o de APTITUD PARA UN PROPSITO DETERMINADO. Consulte * los detalles de la Licencia Pblica General GNU para obtener una * informacin ms detallada. * * TODO EL CDIGO PUBLICADO JUNTO CON ESTE FICHERO FORMA PARTE DEL * PROYECTO OPENSIXEN, PUDIENDO O NO ESTAR GOBERNADO POR ESTE MISMO * TIPO DE LICENCIA O UNA VARIANTE DE LA MISMA. * * El desarrollador/es inicial/es del cdigo es * FUNDESLE (Fundacin para el desarrollo del Software Libre Empresarial). * Indeos Consultoria S.L. - http://www.indeos.es * * Contribuyente(s): * Eloy Gmez Garca <eloy@opensixen.org> * * Alternativamente, y a eleccin del usuario, los contenidos de este * fichero podrn ser usados bajo los trminos de la Licencia Comn del * Desarrollo y la Distribucin (CDDL) versin 1.0 o posterior; o bajo * los trminos de la Licencia Pblica Eclipse (EPL) versin 1.0. Una * copia completa de las condiciones de dichas licencias, traducida en * castellano, debern de estar incluidas con el presente programa. * Adicionalmente, es posible obtener una copia original de dichas * licencias en su versin original en * http://www.opensource.org/licenses/cddl1.php y en * http://www.opensource.org/licenses/eclipse-1.0.php * * Si el usuario desea el uso de SU versin modificada de este fichero * slo bajo los trminos de una o ms de las licencias, y no bajo los * de las otra/s, puede indicar su decisin borrando las menciones a la/s * licencia/s sobrantes o no utilizadas por SU versin modificada. * * Si la presente licencia triple se mantiene ntegra, cualquier usuario * puede utilizar este fichero bajo cualquiera de las tres licencias que * lo gobiernan, GPL 2.0/CDDL 1.0/EPL 1.0. * * ***** END LICENSE BLOCK ***** */ package org.opensixen.omvc.console.dialog; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.opensixen.dev.omvc.model.Developer; import org.opensixen.omvc.client.proxy.RemoteConsoleProxy; /** * * * * @author Eloy Gomez * Indeos Consultoria http://www.indeos.es * */ public class UserEditorDialog extends AbstractDialog { private Developer developer; private Text fUser, fPassword1, fPassword2; public UserEditorDialog(Shell parentShell, Developer developer) { super(parentShell); this.developer = developer; } @Override public void create() { super.create(); setTitle("Usuario"); setMessage("Gestiona los proyectos usuarios.", IMessageProvider.INFORMATION); } @Override protected Control createDialogArea(Composite parent) { GridLayout layout = new GridLayout(); layout.numColumns = 2; // layout.horizontalAlignment = GridData.FILL; parent.setLayout(layout); // The text fields will grow with the size of the dialog GridData gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.horizontalAlignment = GridData.FILL; Label l = new Label(parent, SWT.NONE); l.setText("Nombre"); fUser = new Text(parent, SWT.BORDER); fUser.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); // Si tiene usuario, no se puede editar if (developer.getUserName() != null) { fUser.setText(developer.getUserName()); fUser.setEditable(false); } l = new Label(parent, SWT.NONE); l.setText("Password"); fPassword1 = new Text(parent, SWT.BORDER); fPassword1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); fPassword1.setEchoChar('*'); l = new Label(parent, SWT.NONE); l.setText("Repita password"); fPassword2 = new Text(parent, SWT.BORDER); fPassword2.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); fPassword2.setEchoChar('*'); return parent; } @Override protected boolean isValidInput() { if (fUser.getText() == null || fUser.getText().length() <= 0) { return false; } if (fPassword1.getText() == null || fPassword1.getText().length() <= 0) { return false; } if (!fPassword1.getText().equals(fPassword2.getText())) { return false; } return true; } @Override protected void saveInput() { developer.setUserName(fUser.getText()); developer.setPassword(fPassword1.getText()); RemoteConsoleProxy console = RemoteConsoleProxy.getInstance(); console.save(developer); } }