package network;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;

/**
 * TransObj Klasse
 * Stellt ein transportiertes Objekt mit den Parametern 
 * Nr, Name, Radius, Höhe dar
 */
public class TransObj {
	
	// Attribute
	private int iNr;
	private float fRad;
	private float fHeight;
	private String sName;
	private boolean bSync;
	private boolean bDeleted;
	
	/**
	 * Default-Konstruktor
	 */
	public TransObj(){
	 sName="";
	 fRad=0;
	 fHeight=0;
	 bSync=false;
	 bDeleted=true;
	}

	/**
	 * Konstruktor
	 * @param pName Name des Transportobjektes
	 * @param pRad Radius des Transportobjektes
	 * @param pHeight Höhe des Transportobjektes
	 */
	public TransObj(String pName, float pRad, float pHeight){
	 sName=pName;
	 fRad=pRad;
	 fHeight=pHeight;
	 bSync=false;
	 bDeleted=true;
	}

	/**
	 * Konstruktor
	 * @param pNr Nummer des Transportobjektes
	 * @param pName Name des Transportobjektes
	 * @param pRad Radius des Transportobjektes
	 * @param pHeight Höhe des Transportobjektes
	 */
	public TransObj(int pNr, String pName, float pRad, float pHeight){
	 iNr=pNr;
	 sName=pName;
	 fRad=pRad;
	 fHeight=pHeight;
	 bSync=false;
	 bDeleted=true;
	}

	/* ##########################################################################
	 * 						ÖFFENTLICHE METHODEN
	 * ##########################################################################*/	
	
	/**
	 * Fügt die eigenen Werte des TransObj in eine Tabelle hinzu 
	 * @param t Tabelle in die die Werte eingefügt werden sollen
	 */
	public void addToTable(Table t){
		
		TableItem tItem = new TableItem(t,SWT.NONE);
		tItem.setText(0,Integer.toString(this.getNr()));
		tItem.setText(1,this.getName());
		tItem.setText(2,Float.toString(this.getRad()));
		tItem.setText(3,Float.toString(this.getHeight())); 	
	}

    /** GET - Methoden */
	public int getNr(){ return iNr; } 
	public String getName(){ return sName; } 
	public float getRad(){ return fRad; }
	public float getHeight(){ return fHeight; }
	public boolean isSynchronized(){ return bSync; }
	public boolean isDeleted(){ return bDeleted; }

    /** SET - Methoden */
	public void setNr(int pNr){ iNr=pNr; } 
	public void setName(String pName){ sName=pName; } 
	public void setRad(float pRad){ fRad=pRad; }
	public void setHeight(float pHeight){ fHeight=pHeight; }
	public void setSynchronized(boolean pSync){ bSync=pSync; }
	public void setDeleted(boolean pDeleted){ bDeleted=pDeleted; }

}
