/**
Khalid
*/
package org.sikuli.slides.shapes;

import org.sikuli.slides.core.SlideComponent;

public abstract class SlideShape {
	private String id;
	private String name;
	private int offx;
	private int offy;
	private int cx;
	private int cy;
	private int width;
	private int height;
	private String text;
	private int order;
	public SlideShape(String id, String name, int order){
		this.id=id;
		this.name=name;
		this.setOrder(order);
	}
	public SlideShape(String id, String name,int offx, int offy, int cx, int cy, 
			int width, int height, String text, int order){
		this.id=id;
		this.name=name;
		this.offx=offx;
		this.offy=offy;
		this.cx=cx;
		this.cy=cy;
		this.width=width;
		this.height=height;
		this.text=text;
		this.setOrder(order);
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getOffx() {
		return offx;
	}
	public void setOffx(int offx) {
		this.offx = offx;
	}
	public int getOffy() {
		return offy;
	}
	public void setOffy(int offy) {
		this.offy = offy;
	}
	public int getCx() {
		return cx;
	}
	public void setCx(int cx) {
		this.cx = cx;
	}
	public int getCy() {
		return cy;
	}
	public void setCy(int cy) {
		this.cy = cy;
	}
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	public String getText() {
		return text;
	}
	public void setText(String text) {
		this.text = text;
	}
	public int getOrder() {
		return order;
	}
	public void setOrder(int order) {
		this.order = order;
	}
	
	public abstract void doSikuliAction(SlideComponent slideComponent);
	
	@Override
	public String toString(){
		return "id="+id+" name="+name+
				"\n offx="+offx+"\n offy="+offy+"\n cx="+cx+"\n cy="+cy
				+"\n"+"width="+width+"\n"+"height="+height
				+"\n"+"text: "+text+"\n order="+order;
	}


	
}

@@ -166,16 +166,44 @@
 g name;%0A
+%09private String shapeType; %0A
 %09private
@@ -213,16 +213,16 @@
 t offx;%0A
-
 %09private
@@ -768,32 +768,68 @@
 rder(order);%0A%09%7D%0A
+%09/**%0A%09 * %0A%09 * @return shape id%0A%09 */%0A
 %09public String g
@@ -1000,32 +1000,521 @@
 name = name;%0A%09%7D%0A
+%09/**%0A%09 * returns the shape type or the geometry of the shape. In Office Open XML%0A%09 * , the pre-defined shape type is specified with an attribute %22prst%22 %0A%09 * on the %3Ca:prstGeom%3E element in each slide file.%0A%09 * @return the geometry or form of a shape %0A%09 */%0A%09public String getShapeType() %7B%0A%09%09return shapeType;%0A%09%7D%0A%09/**%0A%09 * sets the geometry or form of a shape.%0A%09 * @param shapeType the pre-defined shape type%0A%09 */%0A%09public void setShapeType(String shapeType) %7B%0A%09%09this.shapeType = shapeType;%0A%09%7D%0A
 %09public int getO
@@ -2585,13 +2585,10 @@
 er;%0A
+
 %09%7D
-%0A%0A%0A
 %09%0A%7D%0A

add shape geometry or type name