"""Suite Enumerations: Enumerations for the Finder
Level 1, version 1

Generated from Macintosh HD:Systeemmap:Finder
AETE/AEUT resource version 0/144, language 0, script 0
"""

import aetools
import MacOS

_code = 'tpnm'

from StdSuites.Type_Names_Suite import *
class Enumerations_Events(Type_Names_Suite_Events):

	pass

_Enum_ipnl = {
	'General Information panel' : 'gpnl',	# 
	'Sharing panel' : 'spnl',	# 
	'Memory panel' : 'mpnl',	# 
	'Status and Configuration panel' : 'scnl',	# 
	'Fonts panel' : 'fpnl',	# 
}

_Enum_pple = {
	'General Preferences panel' : 'pgnp',	# 
	'Label Preferences panel' : 'plbp',	# 
	'Icon View Preferences panel' : 'pivp',	# 
	'Button View Preferences panel' : 'pbvp',	# 
	'List View Preferences panel' : 'plvp',	# 
}

_Enum_earr = {
	'not arranged' : 'narr',	# 
	'snap to grid' : 'grda',	# 
	'arranged by name' : 'nama',	# 
	'arranged by modification date' : 'mdta',	# 
	'arranged by creation date' : 'cdta',	# 
	'arranged by size' : 'siza',	# 
	'arranged by kind' : 'kina',	# 
	'arranged by label' : 'laba',	# 
}

_Enum_sodr = {
	'normal' : 'snrm',	# 
	'reversed' : 'srvs',	# 
}

_Enum_isiz = {
	'mini' : 'miic',	# 
	'small' : 'smic',	# 
	'large' : 'lgic',	# 
}

_Enum_vwby = {
	'conflicts' : 'cflc',	# 
	'existing items' : 'exsi',	# 
	'small icon' : 'smic',	# 
	'icon' : 'iimg',	# 
	'name' : 'pnam',	# 
	'modification date' : 'asmo',	# 
	'size' : 'ptsz',	# 
	'kind' : 'kind',	# 
	'comment' : 'comt',	# 
	'label' : 'labi',	# 
	'version' : 'vers',	# 
	'creation date' : 'ascd',	# 
	'small button' : 'smbu',	# 
	'large button' : 'lgbu',	# 
	'grid' : 'grid',	# 
	'all' : 'kyal',	# 
}

_Enum_gsen = {
	'CPU' : 'proc',	# 
	'FPU' : 'fpu ',	# 
	'MMU' : 'mmu ',	# 
	'hardware' : 'hdwr',	# 
	'operating system' : 'os  ',	# 
	'sound system' : 'snd ',	# 
	'memory available' : 'lram',	# 
	'memory installed' : 'ram ',	# 
}


#
# Indices of types declared in this module
#
_classdeclarations = {
}

_propdeclarations = {
}

_compdeclarations = {
}

_enumdeclarations = {
	'gsen' : _Enum_gsen,
	'earr' : _Enum_earr,
	'isiz' : _Enum_isiz,
	'vwby' : _Enum_vwby,
	'pple' : _Enum_pple,
	'ipnl' : _Enum_ipnl,
	'sodr' : _Enum_sodr,
}
