/* ==========================================================================
* 파    일 : OptionSheet.h
* 목    적 : 
* 작 성 자 : 김가람
* 작 성 일 : 2007-10-24
* 주의사항 :
*===========================================================================*/
#pragma once
#include "UIWindow.h"

class cCheckBox;
class cComboBox;
class cOptionGauge;
class cRadioButton;

/// 옵션 시트 윈도우 - 환경
class cOptionSheet1 : public cUIWindow
{
public:
	cOptionSheet1( eUINodeType type = eUINODE_TABSHEET );
	virtual ~cOptionSheet1();

	void InitOptionData();
	void ApplyOptionData();
	void CancelOptionData();

	///
	void UpdateOptionData();

protected:
	bool OnCreate( cUINodeProperty* pproperty );
	void OnShow();

	void OnCheckBoxChanged(cUINode*, unsigned int id);
	void OnRadioPressed(cUINode*, unsigned int id );

protected:
	cCheckBox* mpShowHeroNameCard;
	cRadioButton* mShowHeroTotal[2];

	cCheckBox* mpShowPlayerNameCard;
	cRadioButton* mShowPlayerTotal[2];

	cCheckBox* mpShowNPCNameCard;
	cCheckBox* mpShowMonsterNameCard;
	cCheckBox* mpShowGauge;
	cCheckBox* mpShowBubble;
	cCheckBox* mpShowHelmet;
	cCheckBox* mpShowTip;

	cCheckBox* mpRejectionTrade;
	cCheckBox* mpRejectionDuel;
	cCheckBox* mpRejectionWhisper;
	cCheckBox* mpRejectionParty;
	cCheckBox* mpRejectionFriend;
	cCheckBox* mpRejectionNote;

	bool mOptionChange;
	bool mHelmetStateChange;
};

/// 옵션 시트 윈도우 - 그래픽/사운드
class cOptionSheet2 : public cUIWindow
{
public:
	cOptionSheet2( eUINodeType type = eUINODE_TABSHEET );
	virtual ~cOptionSheet2();

	void InitOptionData();
	void ApplyOptionData();
	void CancelOptionData();

	///
	void UpdateOptionData();

protected:
	bool OnCreate( cUINodeProperty* pproperty );
	void OnShow();

	virtual void OnCheckBoxChanged(cUINode*, unsigned int id);
	virtual void OnComboSelected( cUINode* caller, unsigned int id );
	virtual void OnOptiongaugeUpdate( cUINode*, unsigned int id );

protected:
	void UpdateResolutionComboData();

protected:
	cCheckBox* mpWindowMode;

	cComboBox* mpWindowSize;
	
	cOptionGauge* mpLight;
	cOptionGauge* mpBackSound;
	cOptionGauge* mpEffSound;

	bool mOptionChange;
	bool mSpinMoved;

	float mDefaultRamp;
	float mDefaultEnvVol;
	float mDefaultEffVol;
};