/******************************************************************************
 x_CCompilerOptions.h

			Header File For CCompilerOptions Lower-Layer Dialog Class
	

	Copyright (C) 1985-1992  New York University
	Copyright (C) 1994 George Washington University
	 
	This file is part of the GWAdaEd system, an extension of the Ada/Ed-C
	system.  See the Ada/Ed README file for warranty (none) and distribution
	info and also the GNU General Public License for more details.


	Generated by Classyª (Object Factory)

	This file is rewritten each time you generate code. You should not
	make changes to this file; changes should go in the My.h
	file, instead.

	If you want to change how Classy generates this file, you can
	change the template for this file. It is "_Dialog.h" in the Classy
	Templates folder.

 ******************************************************************************/

#pragma once

#include <CDialogDirector.h>

CLASS CButtonProc;
CLASS CStaticText;
CLASS CRadioControlProc;

	// Data struct for initializing dialog items
	// and receiving changed values

typedef struct
{
 										/* Control (radio or checkbox)		*/
	short			fCompilerOptions_Always;
 										/* Control (radio or checkbox)		*/
	short			fCompilerOptions_Errors;
} CCompilerOptionsData;

	// We define a separate struct for UpdateData() which
	// eliminates duplicate data types

typedef struct
{
	Str255		stringvalue;			// CDialogText
	long		longvalue;				// CIntegerText
	short		value;					// All other controls and buttons
	Point		selection;				// CArrayPane
} CCompilerOptionsUpdate;

CLASS CDirectorOwner;
CLASS CPanorama;
CLASS CPane;

class x_CCompilerOptions : public CDialogDirector
{
public:

										// Pointers to panes in window
	CButtonProc	*fCompilerOptions_Butn3;
	CButtonProc	*fCompilerOptions_Butn4;
	CStaticText	*fCompilerOptions_Stat6;
	CRadioControlProc	*fCompilerOptions_Always;
	CRadioControlProc	*fCompilerOptions_Errors;


	void 	Ix_CCompilerOptions(CDirectorOwner *aSupervisor);

	virtual	long	DoModalDialog(long defaultCmd);
	virtual	Boolean	Close(Boolean quitting);
	virtual	void	ProviderChanged(CCollaborator *aProvider, long reason, void* info);

protected:
	Boolean			ignore;
	CCompilerOptionsData	saveData;

	virtual void 	MakeNewWindow(void);
	virtual void 	BeginData(CCompilerOptionsData *initial);
	virtual void 	UpdateData(CCompilerOptionsUpdate *update, long itemNo);
	virtual void 	EndData(CCompilerOptionsData *final);


	CPane	*FindPane(long ID);

private:
	virtual	void 	DoBeginData(void);
	virtual	void 	DoEndData(long theCommand);
};

#define	CVueCCompilerOptions	129
