//---------------------------------------------------------------------------// // Neon v2.5 // Copyright (C) 2006,2008 Jordi Ros // www.neonv2.com / www.xplsv.com // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program called license.txt // If not, see // //---------------------------------------------------------------------------// #ifndef _MGPAGECONTROL_H #define _MGPAGECONTROL_H #include "MGControl.h" class CMGPageControl; class CMGPage : public CMGControl { public: CMGPage (CMGPageControl *pPageControl, const string &sCaption); ~CMGPage (); const string &GetCaption() { return m_Caption; } protected: string m_Caption; }; class CMGPageControl : public CMGControl { public: CMGPageControl(CMGControl *pParent, int iX, int iY, int iW, int iH, int Align = MGALIGN_NONE, boost::function fOnSelectPage = NULL); virtual ~CMGPageControl(); void SetActivePage (int Page); void SetActivePage (CMGPage *pPage); void AddPage (CMGPage *pPage); int GetActivePage () const { return m_iActivePage; } virtual void OnMouseDown (int iX, int iY, int iButton); protected: virtual void DerivDraw (); private: CLista m_Pages; CMGPage *m_ActivePage; int m_iActivePage; boost::function m_OnSelectPage; }; #endif