/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2006.12.17 * ³» ¿ë : ³×ºñÇÊµå »öÄ¥ ´ÙÀ̾ó·Î±× * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UI/Dialog.h" #include "UI/CheckButton.h" #include "UI/CheckButtonGroup.h" #include "UI/ColorBox.h" #include "UI/NumericEdit.h" #include "Resource.h" class cMapEditorView; /// ³×ºñÇÊµå »öÄ¥ ´ÙÀ̾ó·Î±× class cNaviFieldPaintDialog : public cDialog { DECLARE_DYNAMIC(cNaviFieldPaintDialog) public: cNaviFieldPaintDialog(); virtual ~cNaviFieldPaintDialog(); /// °»½Å void UpdateRadius( float radius ); /// ¹öư void SetCheckedButton( int id ); unsigned int GetCheckedButton() const; /// ¹ÝÁö¸§ float GetRadius() const; /// »ö COLORREF GetColor() const; /// Çʵ尪 void SetValue( unsigned char value ); unsigned char GetValue() const; protected: void DoDataExchange( CDataExchange* dx ); BOOL OnInitDialog(); virtual void OnOK() {} virtual void OnCancel() {} protected: DECLARE_MESSAGE_MAP() afx_msg void OnClickedButton(); afx_msg void OnHScroll( UINT code, UINT pos, CScrollBar* bar ); afx_msg LRESULT OnChangedValue( WPARAM id, LPARAM ); private: /// ¹öư cCheckButton mColorButton; cCheckButton mPickButton; cCheckButtonGroup mGroup; /// »ö »óÀÚ cColorBox mColorBox; COLORREF mColor[16]; /// ¼ýÀÚ ¿¡µðÆ® cNumericEdit mValueEdit; }; inline unsigned int cNaviFieldPaintDialog::GetCheckedButton() const { cCheckButton* btn = mGroup.GetCheckedButton(); if( btn == 0 ) return 0; else return btn->GetDlgCtrlID(); } inline float cNaviFieldPaintDialog::GetRadius() const { CSliderCtrl* slider = (CSliderCtrl*)GetDlgItem( IDC_SLIDER_NPAINT_RADIUS ); return slider->GetPos() / 10.0f; } inline COLORREF cNaviFieldPaintDialog::GetColor() const { return mColorBox.GetColor(); } inline void cNaviFieldPaintDialog::SetValue( unsigned char i ) { assert( i < 16 ); mColorBox.SetColor( mColor[i] ); mValueEdit.SetValue( i ); } inline unsigned char cNaviFieldPaintDialog::GetValue() const { return (unsigned char)mValueEdit.GetValue(); }