/* ========================================================================== * ÆÄ ÀÏ : TabWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2006-11-16 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" class cTabButton; /// ÅÇ À©µµ¿ì class cTabWindow : public cUIWindow { public: cTabWindow( eUINodeType type = eUINODE_TABWINDOW ); virtual ~cTabWindow(); virtual void Close(); /// ÅÇ ½¬Æ® void AddSheet( cUIWindow* sheet ); /// ÅÇ ¼±Åà void AddTab( cTabButton* tab ); virtual void SetCurrent( unsigned int index ); cUIWindow* GetCurrentSheet() { return mCurrentSheet; } cUIWindow* GetSheetByID( int nID ); protected: virtual bool SetSkin( const cUINodeSkin* pskin ); /// »ý¼º virtual bool OnCreate( cUINodeProperty* pproperty ); /// À̺¥Æ® ó¸® virtual bool HandleEvent( const cUIEvent& event ); virtual void OnTabButtonPressed( cUINode* caller, unsigned int id ); protected: /// Åǹöư typedef tPointerArray cTabButtonArray; cTabButtonArray mTabButtonArray; /// ÅÇ½ÃÆ® typedef tPointerArray cTabSheetArray; cTabSheetArray mTabSheetArray; /// ÇöÀç ÅÇ cTabButton* mCurrentButton; cUIWindow* mCurrentSheet; }; ///////////////////////////////////////////////////////////////////////////// class cTabWindowSkin : public cUIWindowSkin { public: cTabWindowSkin( eUINodeType type = eUINODE_TABWINDOW ); virtual ~cTabWindowSkin(); const tArray& GetSheetList() const; public: /// ÅÇ½ÃÆ® ½ºÅ² ¸®½ºÆ® typedef tArray cSheetList; cSheetList mSheetList; public: /// ´­¸² ¿©ºÎ bool mPressed; }; inline const tArray& cTabWindowSkin::GetSheetList() const { return mSheetList; }