package com.businesslogic.ireport.ui;

import com.ms.wfc.app.*;
import com.ms.wfc.core.*;
import com.ms.wfc.ui.*;
import com.ms.wfc.html.*;

/**
 * Questa classe puņ accettare un numero variabile di parametri sulla riga
 * di comando. L'esecuzione del programma inizia con il metodo main(). Il costruttore
 * della classe non viene richiamato fino a quando un oggetto di tipo "ReportProperties"
 * non viene creato nel metodo main().
 */
public class ReportProperties extends Form
{
	public ReportProperties()
	{
		super();

		// Necessario per il supporto della finestra di progettazione form di Visual J++
		initForm();		

		// TODO: aggiungere il codice del costruttore dopo la chiamata di initForm.
	}

	/**
	 * ReportProperties esegue l'overriding di dispose e quindi puņ svuotare
	 * l'elenco dei componenti.
	 */
	public void dispose()
	{
		super.dispose();
		components.dispose();
	}

	/**
	 * NOTA: il seguente codice č richiesto dalla finestra di progettazione form 
	 * di Visual J++. Č possibile modificarlo con l'Editor di form.  Non modificarlo
	 * con l'Editor del codice.
	 */
	Container components = new Container();
	Edit editName = new Edit();
	Label label1 = new Label();
	GroupBox groupBox1 = new GroupBox();
	NumberEdit numberEdit1 = new NumberEdit();
	NumberEdit numberEdit2 = new NumberEdit();
	Label label2 = new Label();
	Label label3 = new Label();

	private void initForm()
	{
		this.setText("ReportProperties");
		this.setAutoScaleBaseSize(new Point(5, 13));
		this.setClientSize(new Point(409, 300));

		editName.setLocation(new Point(4, 20));
		editName.setSize(new Point(212, 20));
		editName.setTabIndex(0);
		editName.setText("");

		label1.setLocation(new Point(4, 4));
		label1.setSize(new Point(112, 16));
		label1.setTabIndex(1);
		label1.setTabStop(false);
		label1.setText("Report name");

		groupBox1.setLocation(new Point(4, 44));
		groupBox1.setSize(new Point(152, 80));
		groupBox1.setTabIndex(2);
		groupBox1.setTabStop(false);
		groupBox1.setText("Page size");

		numberEdit1.setLocation(new Point(88, 24));
		numberEdit1.setSize(new Point(56, 20));
		numberEdit1.setTabIndex(0);
		numberEdit1.setText("numberEdit1");
		numberEdit1.setIsDouble(false);
		numberEdit1.setDecimals(0);
		numberEdit1.setValue(0.0d);
		numberEdit1.setViewPlus(false);
		numberEdit1.setSeparatoreMigliaia(true);

		numberEdit2.setLocation(new Point(88, 48));
		numberEdit2.setSize(new Point(56, 20));
		numberEdit2.setTabIndex(1);
		numberEdit2.setText("numberEdit2");
		numberEdit2.setIsDouble(false);
		numberEdit2.setDecimals(0);
		numberEdit2.setValue(0.0d);
		numberEdit2.setViewPlus(false);
		numberEdit2.setSeparatoreMigliaia(true);

		label2.setLocation(new Point(12, 28));
		label2.setSize(new Point(68, 16));
		label2.setTabIndex(3);
		label2.setTabStop(false);
		label2.setText("width");
		label2.setTextAlign(HorizontalAlignment.RIGHT);

		label3.setLocation(new Point(16, 48));
		label3.setSize(new Point(64, 16));
		label3.setTabIndex(2);
		label3.setTabStop(false);
		label3.setText("width");
		label3.setTextAlign(HorizontalAlignment.RIGHT);

		this.setNewControls(new Control[] {
							groupBox1, 
							label1, 
							editName});
		groupBox1.setNewControls(new Control[] {
								 label3, 
								 label2, 
								 numberEdit2, 
								 numberEdit1});
	}

	/**
	 * Punto di ingresso principale per l'applicazione. 
	 *
	 * @param args Matrice di parametri passata all'applicazione
	 * tramite la riga di comando.
	 */
	public static void main(String args[])
	{
		Application.run(new ReportProperties());
	}
}
