#ifndef _PURGEDIALOG_
#define _PURGEDIALOG_

#include <VWSDK.h>
#include "GSString.h"


struct PurgeOptionsType {
	unsigned long	doClasses : 1;
	unsigned long	doHatches : 1;
	unsigned long	doLayers : 1;
	unsigned long	doTextures : 1;
	unsigned long	doRecords : 1;
	unsigned long	doSketchStyles : 1;
	unsigned long	doSymbols : 1;
	unsigned long	doRWBackgrounds : 1;
	unsigned long	doGradients : 1;
	unsigned long	doImageFills : 1;
	unsigned long	doWallStyles : 1;
	unsigned long	doSymbolFolders : 1;
};

const PStr255 sCategory			("PurgeUnusedObjects");
const PStr255 sClasses			("ClassesCheck");
const PStr255 sGradients		("GradientsCheck");
const PStr255 sHatches			("HatchesCheck");
const PStr255 sImageFills		("ImageFillsCheck");
const PStr255 sLayers			("LayersCheck");
const PStr255 sTextures			("TexturesCheck");
const PStr255 sRWBackgrounds	("RWBackgroundsCheck");
const PStr255 sRecords			("RecordsCheck");
const PStr255 sSketchStyles		("SketchStylesCheck");
const PStr255 sSymbols			("SymbolsCheck");
const PStr255 sWallStyles		("WallStylesCheck");
const PStr255 sSymbolFolders	("SymbolFoldersCheck");
const short kSetSavedSettingKludge	= 3652;
const short kGetSavedSettingKludge	= 3653;

// See Kludge 3652, 3653 for documentation on this structure.
struct SavedSettingStruct
{
	PStr255	sCatelog;
	PStr255	sItem;
	PStr255	sValue;
};

bool PurgeDialog(CallBackPtr cbp, PurgeOptionsType& ioPurgeOptions, bool inTexturesEnabled);

#endif	// _PURGEDIALOG_

