00001 //--------------------------------------------------------------------------- 00002 /// \file CATTab.h 00003 /// \brief GUI Layer object - contains sub-controls 00004 /// \ingroup CATGUI 00005 /// 00006 /// Copyright (c) 2004-2008 by Michael Ellison. 00007 /// See COPYING.txt for the \ref gaslicense License (MIT License). 00008 /// 00009 // $Author: mikeellison $ 00010 // $Date: 2008-01-24 06:27:32 -0600 (Thu, 24 Jan 2008) $ 00011 // $Revision: $ 00012 // $NoKeywords: $ 00013 // 00014 // 00015 // 00016 //--------------------------------------------------------------------------- 00017 #ifndef CATTab_H_ 00018 #define CATTab_H_ 00019 00020 #include "CATLayer.h" 00021 00022 /// \class CATTab CATTab.h 00023 /// \brief GUI Layer object 00024 /// \ingroup CATGUI 00025 class CATTab : public CATLayer 00026 { 00027 public: 00028 /// Constructor - mirrors CATXMLObject() constructor for now. 00029 CATTab( const CATString& element, 00030 const CATString& rootDir); 00031 00032 virtual ~CATTab(); 00033 00034 virtual CATResult SetCurTab( CATUInt32 curTab ); 00035 virtual CATUInt32 GetCurTab( ); 00036 virtual CATUInt32 GetNumTabs(); 00037 00038 /// Load() loads the skin in 00039 virtual CATResult Load(CATPROGRESSCB progressCB = 0, 00040 void* progressParam= 0, 00041 CATFloat32 progMin = 0.0f, 00042 CATFloat32 progMax = 1.0f); 00043 00044 virtual void OnParentCreate(); 00045 00046 bool IsVisible(const CATGuiObj* object = 0) const; 00047 00048 protected: 00049 /// ParseAttributes() parses the known attributes for an object. 00050 virtual CATResult ParseAttributes(); 00051 virtual CATControl* HitTest ( const CATPOINT& point); 00052 virtual void Draw ( CATImage* image, const CATRect& dirtyRect); 00053 virtual void PostDraw ( CATDRAWCONTEXT context, const CATRect& dirtyRect); 00054 00055 /// OnEvent() is called when events occur that we should know about. 00056 virtual CATResult OnEvent ( const CATEvent& event, CATInt32& retVal); 00057 00058 virtual bool GetPostRects(CATStack<CATRect>& rectStack); 00059 00060 CATUInt32 fCurTab; 00061 }; 00062 00063 #endif // CATTab_H_