"""Suite Type Names Suite: Terminology for Registry data types
Level 1, version 1

Generated from flap:System Folder:Extensions:Scripting Additions:Dialects:English Dialect
AETE/AEUT resource version 1/0, language 0, script 0
"""

import aetools
import MacOS

_code = 'tpnm'

class Type_Names_Suite:

	pass


class anything(aetools.ComponentItem):
	"""anything - various types of data"""
	want = '****'

class type_class(aetools.ComponentItem):
	"""type class - class name"""
	want = 'type'

class type_class_info(aetools.ComponentItem):
	"""type class info - information about properties and elements of a class"""
	want = 'gcli'

class type_event_info(aetools.ComponentItem):
	"""type event info - information about an event"""
	want = 'evin'

class string(aetools.ComponentItem):
	"""string - text in a specific language and script system"""
	want = 'itxt'

class writing_code(aetools.ComponentItem):
	"""writing code - codes which identify the language and script system"""
	want = 'intl'

class bounding_rectangle(aetools.ComponentItem):
	"""bounding rectangle - bounding rectangle"""
	want = 'qdrt'

class point(aetools.ComponentItem):
	"""point - point coordinates"""
	want = 'QDpt'

class fixed(aetools.ComponentItem):
	"""fixed - a real number"""
	want = 'fixd'

class location_reference(aetools.ComponentItem):
	"""location reference - """
	want = 'insl'

class application_dictionary(aetools.ComponentItem):
	"""application dictionary - """
	want = 'aete'

class color_table(aetools.ComponentItem):
	"""color table - """
	want = 'clrt'

class dash_style(aetools.ComponentItem):
	"""dash style - """
	want = 'tdas'

class double_integer(aetools.ComponentItem):
	"""double integer - """
	want = 'comp'

class extended_real(aetools.ComponentItem):
	"""extended real - """
	want = 'exte'

class file_specification(aetools.ComponentItem):
	"""file specification - """
	want = 'fss '

class fixed_point(aetools.ComponentItem):
	"""fixed point - """
	want = 'fpnt'

class fixed_rectangle(aetools.ComponentItem):
	"""fixed rectangle - """
	want = 'frct'

class long_fixed(aetools.ComponentItem):
	"""long fixed - """
	want = 'lfxd'

class long_fixed_point(aetools.ComponentItem):
	"""long fixed point - """
	want = 'lfpt'

class long_fixed_rectangle(aetools.ComponentItem):
	"""long fixed rectangle - """
	want = 'lfrc'

class long_point(aetools.ComponentItem):
	"""long point - """
	want = 'lpnt'

class long_rectangle(aetools.ComponentItem):
	"""long rectangle - """
	want = 'lrct'

class machine_location(aetools.ComponentItem):
	"""machine location - """
	want = 'mLoc'

class menu(aetools.ComponentItem):
	"""menu - """
	want = 'cmnu'

class menu_item(aetools.ComponentItem):
	"""menu item - """
	want = 'cmen'

class null(aetools.ComponentItem):
	"""null - """
	want = 'null'

class picture(aetools.ComponentItem):
	"""picture - """
	want = 'PICT'

class pixel_map_record(aetools.ComponentItem):
	"""pixel map record - """
	want = 'tpmm'

class PostScript_picture(aetools.ComponentItem):
	"""PostScript picture - """
	want = 'EPS '

class RGB16_color(aetools.ComponentItem):
	"""RGB16 color - """
	want = 'tr16'

class RGB96_color(aetools.ComponentItem):
	"""RGB96 color - """
	want = 'tr96'

class small_integer(aetools.ComponentItem):
	"""small integer - """
	want = 'shor'

class small_real(aetools.ComponentItem):
	"""small real - """
	want = 'sing'

class system_dictionary(aetools.ComponentItem):
	"""system dictionary - """
	want = 'aeut'

class rotation(aetools.ComponentItem):
	"""rotation - """
	want = 'trot'

class scrap_styles(aetools.ComponentItem):
	"""scrap styles - """
	want = 'styl'

class TIFF_picture(aetools.ComponentItem):
	"""TIFF picture - """
	want = 'TIFF'

class version(aetools.ComponentItem):
	"""version - """
	want = 'vers'

class unsigned_integer(aetools.ComponentItem):
	"""unsigned integer - """
	want = 'magn'

class type_property_info(aetools.ComponentItem):
	"""type property info - """
	want = 'pinf'

class type_element_info(aetools.ComponentItem):
	"""type element info - """
	want = 'elin'

class type_parameter_info(aetools.ComponentItem):
	"""type parameter info - """
	want = 'pmin'

class type_suite_info(aetools.ComponentItem):
	"""type suite info - """
	want = 'suin'

class target_id(aetools.ComponentItem):
	"""target id - """
	want = 'targ'

class plain_text(aetools.ComponentItem):
	"""plain text - """
	want = 'TEXT'

class writing_code(aetools.ComponentItem):
	"""writing code - codes which identify the language and script system"""
	want = 'psct'
anything._propdict = {
}
anything._elemdict = {
}
type_class._propdict = {
}
type_class._elemdict = {
}
type_class_info._propdict = {
}
type_class_info._elemdict = {
}
type_event_info._propdict = {
}
type_event_info._elemdict = {
}
string._propdict = {
}
string._elemdict = {
}
writing_code._propdict = {
}
writing_code._elemdict = {
}
bounding_rectangle._propdict = {
}
bounding_rectangle._elemdict = {
}
point._propdict = {
}
point._elemdict = {
}
fixed._propdict = {
}
fixed._elemdict = {
}
location_reference._propdict = {
}
location_reference._elemdict = {
}
application_dictionary._propdict = {
}
application_dictionary._elemdict = {
}
color_table._propdict = {
}
color_table._elemdict = {
}
dash_style._propdict = {
}
dash_style._elemdict = {
}
double_integer._propdict = {
}
double_integer._elemdict = {
}
extended_real._propdict = {
}
extended_real._elemdict = {
}
file_specification._propdict = {
}
file_specification._elemdict = {
}
fixed_point._propdict = {
}
fixed_point._elemdict = {
}
fixed_rectangle._propdict = {
}
fixed_rectangle._elemdict = {
}
long_fixed._propdict = {
}
long_fixed._elemdict = {
}
long_fixed_point._propdict = {
}
long_fixed_point._elemdict = {
}
long_fixed_rectangle._propdict = {
}
long_fixed_rectangle._elemdict = {
}
long_point._propdict = {
}
long_point._elemdict = {
}
long_rectangle._propdict = {
}
long_rectangle._elemdict = {
}
machine_location._propdict = {
}
machine_location._elemdict = {
}
menu._propdict = {
}
menu._elemdict = {
}
menu_item._propdict = {
}
menu_item._elemdict = {
}
null._propdict = {
}
null._elemdict = {
}
picture._propdict = {
}
picture._elemdict = {
}
pixel_map_record._propdict = {
}
pixel_map_record._elemdict = {
}
PostScript_picture._propdict = {
}
PostScript_picture._elemdict = {
}
RGB16_color._propdict = {
}
RGB16_color._elemdict = {
}
RGB96_color._propdict = {
}
RGB96_color._elemdict = {
}
small_integer._propdict = {
}
small_integer._elemdict = {
}
small_real._propdict = {
}
small_real._elemdict = {
}
system_dictionary._propdict = {
}
system_dictionary._elemdict = {
}
rotation._propdict = {
}
rotation._elemdict = {
}
scrap_styles._propdict = {
}
scrap_styles._elemdict = {
}
TIFF_picture._propdict = {
}
TIFF_picture._elemdict = {
}
version._propdict = {
}
version._elemdict = {
}
unsigned_integer._propdict = {
}
unsigned_integer._elemdict = {
}
type_property_info._propdict = {
}
type_property_info._elemdict = {
}
type_element_info._propdict = {
}
type_element_info._elemdict = {
}
type_parameter_info._propdict = {
}
type_parameter_info._elemdict = {
}
type_suite_info._propdict = {
}
type_suite_info._elemdict = {
}
target_id._propdict = {
}
target_id._elemdict = {
}
plain_text._propdict = {
}
plain_text._elemdict = {
}
writing_code._propdict = {
}
writing_code._elemdict = {
}

#
# Indices of types declared in this module
#
_classdeclarations = {
	'targ' : target_id,
	'fss ' : file_specification,
	'lrct' : long_rectangle,
	'exte' : extended_real,
	'tdas' : dash_style,
	'tr96' : RGB96_color,
	'gcli' : type_class_info,
	'suin' : type_suite_info,
	'evin' : type_event_info,
	'fixd' : fixed,
	'lfrc' : long_fixed_rectangle,
	'frct' : fixed_rectangle,
	'cmnu' : menu,
	'magn' : unsigned_integer,
	'aete' : application_dictionary,
	'styl' : scrap_styles,
	'QDpt' : point,
	'insl' : location_reference,
	'comp' : double_integer,
	'tr16' : RGB16_color,
	'vers' : version,
	'type' : type_class,
	'lfxd' : long_fixed,
	'TIFF' : TIFF_picture,
	'qdrt' : bounding_rectangle,
	'lfpt' : long_fixed_point,
	'pmin' : type_parameter_info,
	'psct' : writing_code,
	'pinf' : type_property_info,
	'****' : anything,
	'PICT' : picture,
	'lpnt' : long_point,
	'trot' : rotation,
	'null' : null,
	'sing' : small_real,
	'tpmm' : pixel_map_record,
	'cmen' : menu_item,
	'itxt' : string,
	'EPS ' : PostScript_picture,
	'mLoc' : machine_location,
	'elin' : type_element_info,
	'intl' : writing_code,
	'fpnt' : fixed_point,
	'clrt' : color_table,
	'aeut' : system_dictionary,
	'shor' : small_integer,
	'TEXT' : plain_text,
}

_propdeclarations = {
}

_compdeclarations = {
}

_enumdeclarations = {
}
