package ClaimItGUI;
/**
 * Diese Klasse enthält das Datenmodel, um die Arbeit des RelativeLayout-Managers zu ermöglichen. Sie fäßt
 * die einzelen Werte zusammen, die die Methode "setBounds()" jeder Swing-Komponente benötigt. Das Interface LayoutManager erlaubt für das
 * Hinzufügen von Componten zu einem Layout ggf. ein weiteres Objekt, welches Bedingungen für die Gestaltung definiert. Objekte des
 * Typs Bounds enthalten diese Bedingungen und können neben der Komponente selbst durch addLayoutComponent() an den Layout-Manager übergeben werden. 
 * 
 * @author Dirk Becker
 */
public class Bounds 
{
	int x, y, width, height;		// Die Boundings für die zugehörige Komponente.
	
	/**
	 * Konstruktor. Übergeben wird die Position, welches die zugehörige Komponente anfangs im Container einnehmen soll, sowie die Höhe und Breite.
	 * 
	 * @param x Position innerhalb des übergeordneten Containers.
	 * @param y Position innerhalb des übergeordneten Containers.
	 * @param width Breite der Komponente, für den dieses Objekt zuständig ist. 
	 * @param height Höhe der Komponente, für den dieses Objekt zuständig ist.
	 */
	public Bounds(int x, int y, int width, int height) 
	{
		this.x = x;					// x Position in Relation zum übergeordneten Container.
		this.y = y;					// y Position in Relation zum übergeordneten Container.
		this.width = width;			// Breite der Komponente.
		this.height = height;		// Höhe der Komponente.
	}
	
	// Getter
	/**
	 * Diese Methode gibt die X-Koordinater der zugehörigen Komponente in Relation zum übergegeordneten Container zurück. 
	 * 
	 * @return X Koordinate in Pixel.
	 */
	public int getX() 
	{
		return x;
	}
	/**
	 * Diese Methode gibt die Y-Koordinater der zugehörigen Komponente in Relation zum übergegeordneten Container zurück. 
	 * 
	 * @return Y Koordinate in Pixel.
	 */
	public int getY()
	{
		return y;
	}
	/**
	 * Diese Methode gibt die Breite der zugehörigen Komponente dieses Objekts zurück. 
	 * 
	 * @return Breite des Objekts in Pixel.
	 */
	public int getWidth() 
	{
		return width;
	}
	/**
	 * Diese Methode gibt die Höhe der zugehörigen Komponente dieses Objekts zurück. 
	 * 
	 * @return Höhe des Objekts in Pixel.
	 */
	public int getHeight() 
	{
		return height;
	}
	
	// Setter.
	/**
	 * Diese Methode erlaubt das Anpassen der X Koordinate der zugehörigen Komponente.
	 * 
	 * @param x Neue X-Koordinate.
	 */
	public void setX(int x) 
	{
		this.x = x;
	}
	/**
	 * Diese Methode erlaubt das Anpassen der Y Koordinate der zugehörigen Komponente.
	 * 
	 * @param y Neue Y-Koordinate.
	 */
	public void setY(int y) 
	{
		this.y = y;
	}
	/**
	 * Diese Methode erlaubt das Anpassen der Breite der zugehörigen Komponente.
	 * 
	 * @param width Neue Breite.
	 */
	public void setWidth(int width)
	{
		this.width = width;
	}
	/**
	 * Diese Methode erlaubt das Anpassen der Höhe der zugehörigen Komponente.
	 * 
	 * @param height Neue Höhe.
	 */
	public void setHeight(int height) 
	{
		this.height = height;
	}
}
