'''[[[cog
import element_utilities

element_utilities.generate_element('../schemas/uitext_schema.json')
]]]'''
# GENERATED SECTION, DO NOT HAND EDIT
class UIText(UIElement):
	def __init__(self, type, origin, size, justify, anchor, color, alpha, mod_col, mod_alp, size, padding, text, font):
		self.type = type
		self.origin = origin
		self.size = size
		self.justify = justify
		self.anchor = anchor
		self.color = color
		self.alpha = alpha
		self.mod_col = mod_col
		self.mod_alp = mod_alp
		self.size = size
		self.padding = padding
		self.text = text
		self.font = font

# [ Data Getter / Setter ]
	def _get_size(self):
		 return self.__size

	def _set_size(self, value):
		if not isinstance(value, list):
			raise TypeError("size must be set to an array")
		if len(value) < 2:
			raise TypeError("size must have at least 2 elements")
		if len(value) > 2:
			raise TypeError("size cannot have more than 2 elements")
		for element in value:
			if not isinstance(element, int) and not isinstance(element, float):
				raise TypeError("size must only contain float or int %s" % str(type(element)))
		self.__size = value

	def _get_padding(self):
		 return self.__padding

	def _set_padding(self, value):
		if not isinstance(value, list):
			raise TypeError("padding must be set to an array")
		if len(value) < 2:
			raise TypeError("padding must have at least 2 elements")
		if len(value) > 2:
			raise TypeError("padding cannot have more than 2 elements")
		for element in value:
			if not isinstance(element, int) and not isinstance(element, float):
				raise TypeError("padding must only contain float or int %s" % str(type(element)))
		self.__padding = value

	def _get_text(self):
		return self.__text

	def _set_text(self, value):
		if not isinstance(value, str):
			raise TypeError("text must be set to a string")
		self.__text = value

	def _get_font(self):
		return self.__font

	def _set_font(self, value):
		if not isinstance(value, str):
			raise TypeError("font must be set to a string")
		self.__font = value


# [ Public Properties ]
	size = property(_get_size, _set_size) #number array
	padding = property(_get_padding, _set_padding) #number array
	text = property(_get_text, _set_text) #string
	font = property(_get_font, _set_font) #string

# [ Backing Properties ]
	__size = [] #number array
	__padding = [] #number array
	__text = "" #string
	__font = "" #string
# END GENERATED SECTION
#[[[end]]]