Rational Developer for System z


Lección 9: Crear el código para la clase CheckboxOptionControl

La clase CheckboxOptionControl cambiará el campo de texto predeterminado de CARMA por un recuadro de selección en el parámetro Option. Dado que este parámetro es de tipo Sí o No, un recuadro de selección será más conveniente para el usuario.

  1. En la vista Explorador de paquetes, abra la clase CheckboxOptionControl que ha creado navegando a com.ibm.carma.plugin.howto > src > com.ibm.carma.plugin.howto.action y efectuando una doble pulsación sobre la clase.
  2. En primer lugar, añadirá un objeto de botón de recuadro de selección como datos de instancia para la clase. Esto permitirá que el botón de recuadro de selección y todos sus metadatos estén disponibles para la clase CheckboxOptionControl. Añada la siguiente línea de código: Button theButton;
  3. A continuación, alterará temporalmente el método createControl para crear el botón de recuadro de selección y devolverlo en lugar del campo de texto predeterminado. A continuación figura un pseudocódigo que muestra lo que debe realizar este método:
    Crear theButton con estilo de recuadro de selección
    Especificar texto para theButton
    Devolver theButton
    Utilice el siguiente código de muestra para alterar temporalmente este método:
    /* Crear un recuadro de selección para la opción de Sí/No */
    public Control createControl(Composite parent, 
                                 RepositoryManager repositoryManager,
                                 Parameter param, 
                                 Action action,
                                 CustomActionAccepter custActionAccepter,
                                 Object defaultValue) 
    {
       theButton = new Button(parent, SWT.CHECK);
       theButton.setText("Seleccionar.");
       return theButton;
    }
  4. A continuación, alterará temporalmente el método getValue. Este método devuelve el valor de los parámetros. Dado que está utilizando un recuadro de selección en lugar de un campo de texto, el código que escribirá deberá convertir el estado de seleccionado o deseleccionado del recuadro de selección al formato de serie esperado. A continuación figura un pseudocódigo que lo muestra:
    si el recuadro de selección está seleccionado
    	devolver "Y" para Sí
    de lo contrario
    	devolver "N" para No
    Utilice el siguiente código de muestra para alterar temporalmente este método:
    public Object getValue() 	{
    		if(theButton.getSelection())
    			return "Y";
    		else
    			return "N";
    	}
  5. El último método que debe alterar temporalmente es el método isUsingDefaultLabel. Si se establece en false (falso), este método no visualizará la etiqueta predeterminada que ha suministrado al añadir el parámetro al RAM. Si se establece en true (verdadero), la etiqueta se visualizará normalmente. En este ejemplo, el código utilizará la etiqueta predeterminada. Utilice el siguiente código de muestra para alterar temporalmente este método:
    public boolean isUsingDefaultLabel()
    {
       return true;
    }
  6. Finalmente, debe asegurarse de que se incluyan todas las importaciones necesarias. Añada cualquiera de las sentencias de importación siguientes que no se encuentre listada en la clase:
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.*;
    
    import com.ibm.carma.model.*;
    
    import com.ibm.carma.ui.action.custom.AbstractCustomParameterControl;
  7. Guarde el código fuente y depure los errores.
El código completo para CheckBoxOptionControl debe ser el siguiente:
package com.ibm.carma.plugin.howto.action;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;

import com.ibm.carma.model.*;

import com.ibm.carma.ui.action.custom.AbstractCustomParameterControl;

public class CheckboxOptionAction extends AbstractCustomParameterControl {
   //Añadir el botón a los datos de instancia
   Button theButton;
   
   /* Crear un recuadro de selección para la opción de Sí/No */
   public Control createControl(Composite parent, 
                                RepositoryManager repositoryManager,
                                Parameter param, 
                                Action action, 
                                CustomActionAccepter customActionAccepter, Object defaultValue) 	{
      theButton = new Button(parent, SWT.CHECK);
      theButton.setText("Seleccionar.");
      return theButton;
   }

   @Override
   public Object getValue() 	{
      if(theButton.getSelection())
	      return "Y";
      de lo contrario
         return "N";
   }

   @Override 
   public boolean isUsingDefaultLabel() 	{
      return true;
   }
}

Términos de uso | Comentarios



Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)