#define	kUseOneLineHeight			(-1)
#define	kUseTwoLineHeight			(-2)
#define	kUseThreeLineHeight		(-3)
#define	kUseFourLineHeight		(-4)

#define	relToVertPercent	(0x0100)

#define	arrangeNone						0		// Ignore any direction attributes
#define	arrangeVertically			1		// This object is to be positioned vertically, relative to other objects in a group
#define	arrangeHorizontally	  2		// This object is to be positioned horizontally, relative to other objects in a group

// Object flags
#define	objectFlagNone						0x00000000
#define	objectFlagAcceptsFocus		0x00000001
#define	objectFlagExportable			0x00000002
#define	objectFlagAll							0xFFFFFFFF

#define	labelNoFlags							0x00000000
#define	labelAutoSize							0x00000001
#define	labelDisplayAboveField		0x00000002
#define	labelWrapLabel						0x00000004
#define	labelWrapField						0x00000008
#define	labelAutoSizeFieldHeight	0x00000010

#define	peVScroll						0x00000001
#define	peHScroll						0x00000002
#define	peGrowBox						0x00000004
#define	peUseHLineWidth			0x00000008
#define	peUseOffscreen			0x00000010
#define	peDrawDebugSymbols	0x00000020
#define	peDragOnControl			0x00000040
#define	peNoStyledPaste			0x00000080
#define	peClearAllReturns		0x00000100

#define	rfNone										0x00000000
#define	rfDefaultMargin						0x00000001
#define	rfNegativeMargin					0x00000002
#define	rfPETEPart								0x00000004
#define	rfLabelPart								0x00000008
#define	rfNegativeDefaultMargin		(rfDefaultMargin | rfNegativeMargin)

// Control Object flags
#define	coNone							0x00000000
#define	coFit								0x00000001

// Control behavior flags (though these are bit fields, they should not be combined in unreasonable ways)
#define	noBehavior								0x00000000
#define	behaveCheckBox						0x00000001
#define	behaveSwapper							0x00000002
#define	behaveThisTab							0x00000004
#define	behaveTwoTabs							0x00000008
#define	behaveAllTabs							0x00000010
#define	behaveFields							0x00000020
#define	behaveMutuallyExclusive		0x00000040
#define	behaveMatchTitle					0x00000080
#define	behaveMatchTag						0x00000100
#define	behaveStringOneIsTrue			0x00000200			// Indicates that "string one" of the BehaviorRec should be assigned as the object value when the control value is true
#define	behaveStringTwoIsFalse		0x00000400			// Indicates that "string two" of the BehaviorRec should be assigned as the object value when the control value is false
#define	behaveNavigation					0x00000800			// Display a Nav services dialog
#define	behaveColorPicker					0x00001000 			// Display the color picker
#define	behaveAll									0xFFFFFFFF

#define	primaryCheckboxBehavior		behaveCheckBox | behaveAllTabs | behaveMutuallyExclusive | behaveMatchTag | behaveStringOneIsTrue
#define	swapFirstLastBehavior			behaveSwapper | behaveFields | behaveMatchTag
#define	swapHomeWorkBehavior			behaveSwapper | behaveTwoTabs | behaveMatchTitle

